| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363 |
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.Mvc;
- using System.Web.Script.Serialization;
- using YTSoft.BaseCallCenter.Model;
- using YTSoft.BaseCallCenter.MVCWeb.Commons;
- using YTSoft.BaseCallCenter.MVCWeb.Models;
- using YTSoft.Common;
- namespace YTSoft.BaseCallCenter.MVCWeb.Controllers
- {
- public class ReportController : BaseController
- {
- BLL.T_Call_CallRecords recordBLL = new BLL.T_Call_CallRecords();
- int rxzhj = 0;
- int wxzhj = 0;
- int wbzhj = 0;
- //
- // GET: /Report/
- public ActionResult Index()
- {
- return View();
- }
- //
- // 主页面来电类型比例分析
- public ActionResult IndexCenterCallPre(string type, string strdate)
- {
- string res = "0^0";
- int c1 = 0;//自助服务
- int c2 = 0;//人工服务
- int count = 0;//总数
- DataTable dt = new DataTable();
- Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
- model.PieTypeArrName = "[]";
- model.PieDataJson = "[]";
- string sql = "";
- try
- {
- //查询按钮
- if (!string.IsNullOrEmpty(strdate))
- {
- string startdate = strdate.Split('~')[0].Trim();
- string enddate = strdate.Split('~')[1].Trim();
- sql += " and F_CREATEDATE>= '" + startdate.Trim()+"'" ;
- sql += " and F_CREATEDATE<= '" + enddate.Trim() + "'";
- }
- dt = new YTSoft.BaseCallCenter.BLL.T_Wo_WorkOrderBase().GetList("1=1 " + sql + " order by F_WORKORDERTYPEID").Tables[0];
- if (dt != null)
- {
- #region
- count = dt.Rows.Count;
- c1 = dt.Select("F_WORKORDERTYPEID=1 ").Length;
- c2 = count - c1;
-
- model.PieTypeArrName = "['自助服务'";
- model.PieDataJson = "[{ value:" + c1 + ",name: '自助服务'}";
- model.PieTypeArrName += ",'人工服务']";
- model.PieDataJson += ",{value:" + c2 + ",name: '人工服务'}]";
- #endregion
- }
- }
- catch (Exception err)
- {
- }
- finally
- {
- dt.Clear();
- dt.Dispose();
- res = c1.ToString() + "^" + c2.ToString();
- }
- return View(model);
- }
- //
- // 主页面工单类型比例分析
- public ActionResult IndexCenterWorkOrderPre(string type, string strdate)
- {
- Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
- model.PieTypeArrName = "[]";
- model.PieDataJson = "[]";
- DataTable dt = new DataTable();
- try
- {
- string startdate = strdate.Split('~')[0].Trim();
- string enddate = strdate.Split('~')[1].Trim();
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList(" F_CREATEDATE>='"+ startdate +"'"+ "and F_CREATEDATE <='"+ enddate+"'").Tables[0];
- string arrname = "";
- string arrjson = "";//{ value: 31, name: '咨询' },
- int i = 0;
- int count = 0;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- if (i == 0)
- {
- arrname += "'" + m.F_Name.Trim() + "'";
- arrjson += "{ value: " + count.ToString() + ", name: '" + m.F_Name.Trim() + "' }";
- }
- else
- {
- arrname += ",'" + m.F_Name.Trim() + "'";
- arrjson += ",{ value: " + count.ToString() + ", name: '" + m.F_Name.Trim() + "' }";
- }
- i++;
- }
- model.PieTypeArrName = "[" + arrname + "]";
- model.PieDataJson = "[" + arrjson + "]";
- }
- }
- catch
- { }
- finally
- {
- dt.Clear();
- dt.Dispose();
- }
- return View(model);
- }
- //
- // 主页面工单类型时间段比例分析
- public ActionResult IndexCenterWorkOrderTimeBar(string type, string strdate)
- {
- Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
- model.PieTypeArrName = "[]";
- model.PieDataJson = "[]";
- DataTable dt = new DataTable();
- try
- {
- string startdate = strdate.Split('~')[0].Trim();
- string enddate = strdate.Split('~')[1].Trim();
- DataTable datas = recordBLL.GetWorkOrderWeekData(startdate, enddate);
- if (datas != null)
- {
- for (int i = 1; i < 8; i++)
- {
- DataRow[] rowsZX = datas.Select("Weeks=" + i + " and BusinessType=" + 6);
- if (rowsZX != null && rowsZX.Length > 0)
- {
- model.Week1 += ",";
- model.Week1 += rowsZX[0]["callInCount"];
- }
- else
- {
- model.Week1 += ",";
- model.Week1 += 0;
- }
- DataRow[] rowsBY = datas.Select("Weeks=" + i + " and BusinessType=" + 18);
- if (rowsBY != null && rowsBY.Length > 0)
- {
- model.Week2 += ",";
- model.Week2 += rowsBY[0]["callInCount"];
- }
- else
- {
- model.Week2 += ",";
- model.Week2 += 0;
- }
- DataRow[] rowsGS = datas.Select("Weeks=" + i + " and BusinessType=" + 19);
- if (rowsGS != null && rowsGS.Length > 0)
- {
- model.Week3 += ",";
- model.Week3 += rowsGS[0]["callInCount"];
- }
- else
- {
- model.Week3 += ",";
- model.Week3 += 0;
- }
- DataRow[] rowsJY = datas.Select("Weeks=" + i + " and BusinessType=" + 14);
- if (rowsJY != null && rowsJY.Length > 0)
- {
- model.Week4 += ",";
- model.Week4 += rowsJY[0]["callInCount"];
- }
- else
- {
- model.Week4 += ",";
- model.Week4 += 0;
- }
- DataRow[] rowsTS = datas.Select("Weeks=" + i + " and BusinessType=" + 3);
- if (rowsTS != null && rowsTS.Length > 0)
- {
- model.Week5 += ",";
- model.Week5 += rowsTS[0]["callInCount"];
- }
- else
- {
- model.Week5 += ",";
- model.Week5 += 0;
- }
- }
- model.Week1 = model.Week1.Trim(',');
- model.Week2 = model.Week2.Trim(',');
- model.Week3 = model.Week3.Trim(',');
- model.Week4 = model.Week4.Trim(',');
- model.Week5 = model.Week5.Trim(',');
- }
- }
- catch
- { }
- finally
- {
- dt.Clear();
- dt.Dispose();
- }
- return View(model);
- }
- #region 来电时间分布图
- public ActionResult CallInMatch()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取曲线数据信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("GetdTypeData")]
- [HttpGet]
- public string GetdTypeData(DateTime? NowDateTime, int? busType, string dType, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- dataModel.code = 0;
- dataModel.data = recordBLL.GetdTypeData(dType, busType, startDate, endDate);
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("CallInMatchData")]
- [HttpGet]
- public string CallInMatchData(DateTime? NowDateTime, string dateParty)
- { //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- dataModel.code = 0;
- dataModel.data = recordBLL.GetHourData(startDate, endDate);
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("CallInMatchDataList")]
- [HttpGet]
- public string CallInMatchDataList(DateTime? NowDateTime, int page, int limit,
- string dateParty, string CallHour,string linkman,string calltype,string ywtype)
- { //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- string sql = " ";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- if (startDate.Trim()== endDate.Trim()) {
- sql += " and BeginTime>= '" + startDate + " 00:00:00'";
- sql += " and BeginTime<= '" + endDate + " 23:59:59'";
- }
- else {
- sql += " and BeginTime>= '" + startDate + "'";
- sql += " and BeginTime<= '" + endDate + "'";
- }
- if (!String.IsNullOrEmpty (CallHour))
- {
- sql += "and CallType=0 and DATEPART(HH, BeginTime)=" + CallHour;
- }
- //坐席工号
- if (!String.IsNullOrEmpty(linkman))
- {
- sql += "and UserCode=" + linkman;
- }
- //呼叫方向,1呼出0呼入calltype
- switch (calltype)
- {
- case "0":sql = sql + "and CallType=0";break;
- case "1": sql = sql + "and CallType=1"; break;
- default: break;
- }
- switch (Server.UrlDecode( ywtype))
- {
- case "1": sql = sql + " and CallType=0 and BusinessType=1"; break;//咨询
- case "2": sql = sql + " and CallType=0 and BusinessType=2"; break;//建议
- case "3": sql = sql + " and CallType=0 and BusinessType=3"; break;//表扬
- case "4": sql = sql + " and CallType=0 and BusinessType=4"; break;//挂失
- case "9": sql = sql + " and CallType=0 and BusinessType=9"; break;//投诉
- case "9999": sql = sql + " and CallType=0 and CallId not in ( select CallId from T_Call_CallRecords where BusinessType in (1,2,3,4,9 ))"; break;//放弃排队
- default: break;
- //case "1": sql = sql + " and CallType=0 and F_ServiceType=1"; break;//咨询
- //case "2": sql = sql + " and CallType=0 and F_ServiceType=2"; break;//投诉
- //case "3": sql = sql + " and CallType=0 and F_ServiceType=3"; break;//建议
- //case "4": sql = sql + " and CallType=0 and F_ServiceType=4"; break;//表扬
- //case "5": sql = sql + " and CallType=0 and F_ServiceType=5"; break;//挂失
- //case "9999": sql = sql + " and CallType=0 and CallId not in ( select CallId from T_Call_CallRecords where F_ServiceType in (1,2,3,4,5 ))"; break;//放弃排队
- //default: break;
- }
- DataTable dt = new DataTable();
- int recordCount = 0;
- Model.PageData<Model.T_Call_CallRecords> pageModel = new Model.PageData<Model.T_Call_CallRecords>();
- dt = BLL.PagerBLL.GetListPager(
- "T_Call_CallRecords",
- "CallId",
- " *,CONVERT(varchar, BeginTime, 120 ) as BeginTimeNew,CONVERT(varchar, TalkStartTime, 120 ) as TalkStartTimeNew,CONVERT(varchar, TalkEndTime, 120 ) as TalkEndTimeNew,CONVERT(varchar, TalkStartTime, 120 ) as TalkStartTimeNew,CONVERT(varchar, TalkEndTime, 120 ) as TalkEndTimeNew"+
- @",(select top 1 F_ScaleResume from T_Cus_CustomerBase n where CallNumber=n.F_Telephone) as F_ScaleResume
- ,case
- when BusinessType=1 then '咨询'
- when BusinessType=2 then '建议'
- when BusinessType=3 then '表扬'
- when BusinessType=4 then '挂失'
- when BusinessType=9 then '投诉'
- when F_ServiceType=1 then '咨询'
- when F_ServiceType = 2 then '投诉'
- when F_ServiceType = 3 then '建议'
- when F_ServiceType = 4 then '表扬'
- when F_ServiceType = 5 then '挂失'
- else '' end as
- BType, case when (isnull(BusinessType,0)>0 or isnull(F_ServiceType,0)>0) then '人工服务' else '' end as ywtype ",
- sql,
- "ORDER BY CallId desc",
- limit,
- page,
- true,
- out recordCount);
- dataModel.code = 0;
- //dataModel.data = recordBLL.GetHourDataList(CallHour,startDate, endDate);
- dataModel.count = recordCount;
- dataModel.data = dt;
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string CallInMatchChartData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable table = recordBLL.GetHourData(startDate, endDate);
- //拼接数据
- if (table != null && table.Rows.Count > 0)
- {
- int[] strArr = new int[24];
- int[] intArr = new int[24];
- for (int i = 0; i < 24; i++)
- {
- strArr[i] = i;
- DataRow[] row = table.Select("CallHour=" + i);
- if (row != null && row.Length > 0)
- {
- intArr[i] = (int)row[0]["callInCount"];
- }
- else
- {
- intArr[i] = 0;
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = JsonConvert.SerializeObject(intArr);
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 咨询业务类型分布图
- public ActionResult zxywtype()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- // 咨询业务比例分析
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("zxywtypeWorkOrderPreData")]
- [HttpGet]
- public string zxywtypeWorkOrderPreData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- DataTable dt = new DataTable();
- int counthj = 0;
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- //startDate = dateParty.Substring(0, 10);
- //endDate = dateParty.Substring(12);
- startDate = dateParty.Split('~')[0].Trim();
- endDate = dateParty.Split('~')[1].Trim();
- }
- else
- {
- startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
- endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- DataTable newTable = new DataTable();
- newTable.Columns.Add("TypeID");
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='"+ startDate + "'and F_CREATEDATE<='"+ endDate+ "' and F_FILEFLAG=6").Tables[0];
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- counthj = counthj + count;
- i++;
- }
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "";
- dataRow["业务类型"] = "总合计";
- dataRow["工单数量"] = counthj.ToString();
- newTable.Rows.Add(dataRow);
- }
-
- dataModel.code = 0;
- dataModel.data = newTable;
- dataModel.count = counthj;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- finally
- {
- dt.Clear();
- dt.Dispose();
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- public string zxywtypeWorkOrderPre(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- DataTable dt = new DataTable();
- try
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- //startDate = dateParty.Substring(0, 10);
- //endDate = dateParty.Substring(12);
- startDate = dateParty.Split('~')[0].Trim();
- endDate = dateParty.Split('~')[1].Trim();
- }
- else
- {
- startDate = DateTime.Now.ToString("yyyy-MM-dd")+" 00:00:00";
- endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate+ "' and F_FILEFLAG=6").Tables[0];
- //dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- i++;
- }
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["业务类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- }
- catch (Exception ex) { LogHelper.Default.WriteError(ex.Message, ex); }
- finally { dt.Clear();dt.Dispose(); }
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 业务类型分布图
- public ActionResult YwTypeReport()
- {
- CallScreenModel callScreenModel = new CallScreenModel();
- //业务类型字典表
- callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
- return View(callScreenModel);
- }
- // 业务比例分析
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("ywtypeWorkOrderPreData")]
- [HttpGet]
- public string ywtypeWorkOrderPreData(DateTime? NowDateTime, string dateParty,string bussType,string bussDetail)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- DataTable dt = new DataTable();
- int counthj = 0;
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- //startDate = dateParty.Substring(0, 10);
- //endDate = dateParty.Substring(12);
- startDate = dateParty.Split('~')[0].Trim();
- endDate = dateParty.Split('~')[1].Trim();
- }
- else
- {
- startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
- endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- DataTable newTable = new DataTable();
- newTable.Columns.Add("TypeID");
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
- if (bussType == "" || bussType ==null)
- {
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int j = dt.Rows.Count;
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- counthj = counthj + count;
- i++;
- }
- //热线业务工单数
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = 0;
- dataRow["业务类型"] = "热线系统工单数合计";
- dataRow["工单数量"] = counthj.ToString();
- newTable.Rows.Add(dataRow);
- //微信业务工单数
- string startDate1 = startDate.Substring(0, 10);
- string endDate1 = endDate.Substring(0, 10);
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "微信系统工单数合计";
- int wxCount = WXWorkOrderCount(3, startDate1, endDate1);
- dataRow["工单数量"] = wxCount;
- newTable.Rows.Add(dataRow);
- //微博业务工单数
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "微博系统工单数合计";
- int wbCount = WXWorkOrderCount(4, startDate1, endDate1);
- dataRow["工单数量"] = wbCount;
- //总合计
- newTable.Rows.Add(dataRow);
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "总合计";
- dataRow["工单数量"] = (counthj + wxCount+ wbCount).ToString();
- newTable.Rows.Add(dataRow);
- }
- }
- else {
- if (bussType=="3")
- {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId in (4,17) " );
- }
- else {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId= "+ bussType);
- }
- if (namelist.Count==0)
- {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_WorkOrderTypeId= " + bussType);
- }
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int j = dt.Rows.Count;
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + " and F_FILEFLAG=" + bussType).Length;
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- counthj = counthj + count;
- i++;
- }
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "总合计";
- dataRow["工单数量"] = counthj.ToString();
- newTable.Rows.Add(dataRow);
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- dataModel.count = counthj;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- finally
- {
- dt.Clear();
- dt.Dispose();
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- public string ywtypeWorkOrderPre(DateTime? NowDateTime, string dateParty, string bussType, string bussDetail)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- DataTable dt = new DataTable();
- try
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- //startDate = dateParty.Substring(0, 10);
- //endDate = dateParty.Substring(12);
- startDate = dateParty.Split('~')[0].Trim();
- endDate = dateParty.Split('~')[1].Trim();
- }
- else
- {
- startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
- endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
- }
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
- if (bussType == "" || bussType == null)
- {
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int j = dt.Rows.Count;
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- i++;
- }
- }
- }
- else
- {
- if (bussType == "3")
- {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId in (4,17) ");
- }
- else
- {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId= " + bussType);
- }
- if (namelist.Count == 0)
- {
- namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_WorkOrderTypeId= " + bussType);
- }
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + " and F_FILEFLAG=" + bussType).Length;
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- i++;
- }
- }
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["业务类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- }
- catch (Exception ex) { }
- finally { dt.Clear(); dt.Dispose(); }
- return JsonConvert.SerializeObject(dataModel);
- }
- /// 获取 微信/微博接口数量--放置咨询类
- /// </summary>
- /// <param name="StartDate">开始日期</param>
- /// <param name="EndDate">结束日期</param>
- /// <returns></returns>
- public int WXWorkOrderCount(int? busType, string startDate, string endDate)
- {
- int totalCount = 0;
- string wxAddUrl = "";
- try
- {
- StringBuilder returnStr = new StringBuilder();
- if (busType==4)
- {
- wxAddUrl = "http://rexian.zzmetro.com/api/external/wbcount";
- }
- else {
- wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
- }
- string paramsStr = "begin=" + startDate + "&end=" + endDate;
- string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
- WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
- if (ResultModel != null)
- {
- if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
- {
- totalCount = ResultModel.service - totalCount;
- }
- }
- }
- catch (Exception ex)
- {
- }
- return totalCount;
- }
- #endregion
- #region 来电类型分布图
- public ActionResult CallInTypeMath()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("CallInTypeMatchData")]
- [HttpGet]
- public string CallInTypeMatchData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetBussTypeData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("来电类型");
- newTable.Columns.Add("来电次数");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- int otherCount = 0;
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "1")
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "咨询";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "2"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "建议";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "表扬";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "4"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "挂失";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "9"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "投诉";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else
- {
- if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
- {
- otherCount += int.Parse(thisRow["callInCount"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "放弃排队";
- dataRow["来电次数"] = otherCount;
- newTable.Rows.Add(dataRow);
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string CallInTypeMatchChartData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetBussTypeData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("来电类型");
- newTable.Columns.Add("来电次数");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- int otherCount = 0;
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "1")
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "咨询";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "2"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "建议";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "表扬";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "4"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "挂失";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "9"))
- {
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "投诉";
- dataRow["来电次数"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else
- {
- if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
- {
- otherCount += int.Parse(thisRow["callInCount"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["来电类型"] = "放弃排队";
- dataRow["来电次数"] = otherCount;
- newTable.Rows.Add(dataRow);
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["来电类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["来电次数"].ToString() + ", name: '" + newTable.Rows[i]["来电类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["来电次数"].ToString() + ", name: '" + newTable.Rows[i]["来电类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 工单类型分布图 接口数据
- public ActionResult WorkOrderTypeMath()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeMathData")]
- [HttpGet]
- public string WorkOrderTypeMathData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- int zhjcount = 0;
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("TypeID");
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "6")
- {
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "6";
- dataRow["业务类型"] = "咨询";
- int totalCount = 0;
- string getCount = thisRow["callInCount"].ToString();
- if (!string.IsNullOrEmpty(getCount))
- {
- totalCount = int.Parse(getCount);
- }
- dataRow["工单数量"] = totalCount;
- newTable.Rows.Add(dataRow);
- zhjcount = zhjcount + totalCount;
- }
- else if ((thisRow["BusinessType"].ToString() == "14"))
- {
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "14";
- dataRow["业务类型"] = "建议";
- dataRow["工单数量"] = thisRow["callInCount"];
- zhjcount = zhjcount +Convert.ToInt32( thisRow["callInCount"].ToString());
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "18"))
- {
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "18";
- dataRow["业务类型"] = "表扬";
- dataRow["工单数量"] = thisRow["callInCount"];
- zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "19"))
- {
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "19";
- dataRow["业务类型"] = "挂失";
- dataRow["工单数量"] = thisRow["callInCount"];
- zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "3";
- dataRow["业务类型"] = "投诉";
- dataRow["工单数量"] = thisRow["callInCount"];
- zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
- newTable.Rows.Add(dataRow);
- }
- }
-
- }
- #region 合计
- //热线系统
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "热线系统合计";
- dataRow["工单数量"] = zhjcount;
- newTable.Rows.Add(dataRow);
- //微信
- int wxCount = WXWorkOrderCount(3, startDate, endDate);
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "微信业务数";
- dataRow["工单数量"] = wxCount;
- newTable.Rows.Add(dataRow);
- //微博
- int wbCount = WXWorkOrderCount(4, startDate, endDate);
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "微博业务数";
- dataRow["工单数量"] = wbCount;
- newTable.Rows.Add(dataRow);
- //合计
- dataRow = newTable.NewRow();
- dataRow["TypeID"] = "0";
- dataRow["业务类型"] = "合计(不含未分类)";
- dataRow["工单数量"] = zhjcount + wxCount + wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string WorkOrderTypeMathChartData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- DataRow dataRow;
- int wxCount = WXWorkOrderCount(3, startDate, endDate);
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "微信";
- dataRow["工单数量"] = wxCount;
- newTable.Rows.Add(dataRow);
- int wbCount = WXWorkOrderCount(4, startDate, endDate);
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "微博";
- dataRow["工单数量"] = wbCount;
- newTable.Rows.Add(dataRow);
- if (datas != null && datas.Rows.Count > 0)
- {
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "6")
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "咨询";
-
- int totalCount=0;
- string getCount=thisRow["callInCount"].ToString();
- if(!string.IsNullOrEmpty(getCount))
- {
- totalCount=int.Parse(getCount);
- }
- dataRow["工单数量"] = totalCount;
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "14"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "建议";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "18"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "表扬";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "19"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "挂失";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "投诉";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
-
- }
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["业务类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- return JsonConvert.SerializeObject(dataModel);
- }
-
- #region 接口数据
- /// <summary>
- /// 接口数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeFromData")]
- [HttpGet]
- public string WorkOrderTypeFromData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeFromData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("语音工单");
- newTable.Columns.Add("微信工单");
- newTable.Columns.Add("微博工单");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- #region 咨询工单
- int callInCount = 0;
- int wxCount = 0;
- int wbCount = 0;
- //来电工单数量
- DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "咨询";
- dataRow["语音工单"] = callInCount;
- dataRow["微信工单"] = wxCount;
- dataRow["微博工单"] = wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- #region 建议工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //来电工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "建议";
- dataRow["语音工单"] = callInCount;
- dataRow["微信工单"] = wxCount;
- dataRow["微博工单"] = wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- #region 表扬工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //来电工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "表扬";
- dataRow["语音工单"] = callInCount;
- dataRow["微信工单"] = wxCount;
- dataRow["微博工单"] = wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- #region 挂失工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //来电工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "挂失";
- dataRow["语音工单"] = callInCount;
- dataRow["微信工单"] = wxCount;
- dataRow["微博工单"] = wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- #region 投诉工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //来电工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
- }
- }
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "投诉";
- dataRow["语音工单"] = callInCount;
- dataRow["微信工单"] = wxCount;
- dataRow["微博工单"] = wbCount;
- newTable.Rows.Add(dataRow);
- #endregion
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 接口数据2
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeFromDataNewbak")]
- [HttpGet]
- public string WorkOrderTypeFromDataNewbak(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("BusinessType");
- newTable.Columns.Add("allcount");
- newTable.Columns.Add("callcount");
- newTable.Columns.Add("callCount_zb");
- newTable.Columns.Add("wxcount");
- newTable.Columns.Add("wbcount");
- newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
- newTable.Columns.Add("Returnvisitproblem_zb");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- #region 咨询工单
- int callInCount = 0;
- int wxCount = 0;
- int wbCount = 0;
- List<string> Returnvisitproblem_zx = new List<string>();
- //string Returnvisitproblem_zx = "[";
- //来电工单数量
- DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //Returnvisitproblem_zx = Returnvisitproblem_zx + "]";
- //微博接口
- int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
- //微信接口
- int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "咨询";
- dataRow["allcount"] = callInCount+ wxCount + wxxtCount+ wbCount + wbxtCount;
- dataRow["callCount_zb"] = 0;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = wxCount+ wxxtCount;
- dataRow["wbcount"] = wbCount+ wbxtCount;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
- dataRow["Returnvisitproblem_zb"] = "";
- newTable.Rows.Add(dataRow);
- #endregion
- #region 建议工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //string Returnvisitproblem_jy = "";
- List<string> Returnvisitproblem_jy = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "建议";
- dataRow["allcount"] = callInCount + wxCount +wbCount;
- dataRow["callcount"] = callInCount;
- dataRow["callCount_zb"] = 0;
- dataRow["wxcount"] = wxCount ;
- dataRow["wbcount"] = wbCount ;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jy) ;
- dataRow["Returnvisitproblem_zb"] = "";
- newTable.Rows.Add(dataRow);
- #endregion
- #region 表扬工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //string Returnvisitproblem_by = "";
- List<string> Returnvisitproblem_by = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "表扬";
- dataRow["allcount"] = callInCount + wxCount + wbCount;
- dataRow["callcount"] = callInCount;
- dataRow["callCount_zb"] = 0;
- dataRow["wxcount"] = wxCount;
- dataRow["wbcount"] = wbCount;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
- dataRow["Returnvisitproblem_zb"] = "";
- newTable.Rows.Add(dataRow);
- #endregion
- #region 挂失工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- //string Returnvisitproblem_gs = "";
- List<string> Returnvisitproblem_gs = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "挂失";
- dataRow["allcount"] = callInCount + wxCount + wbCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = wxCount;
- dataRow["wbcount"] = wbCount;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
- dataRow["callCount_zb"] = 0;
- dataRow["Returnvisitproblem_zb"] = "";
- newTable.Rows.Add(dataRow);
- #endregion
- #region 投诉工单
- callInCount = 0;
- wxCount = 0;
- wbCount = 0;
- int callInCount_zb = 0;
- List<string> Returnvisitproblem_zb = new List<string>();
- List<string> Returnvisitproblem_ts = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微信工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //微博工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=4");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "投诉";
- dataRow["allcount"] = callInCount + wxCount + wbCount;
- dataRow["callcount"] = callInCount;
- dataRow["callCount_zb"] = callInCount_zb;
- dataRow["wxcount"] = wxCount;
- dataRow["wbcount"] = wbCount;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_ts);
- dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zb); ;
- newTable.Rows.Add(dataRow);
- #endregion
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- [ActionName("WorkOrderTypeFromDataNewBK1012")]
- [HttpGet]
- public string WorkOrderTypeFromDataNewBK1012(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("BusinessType");
- newTable.Columns.Add("allcount");
- newTable.Columns.Add("callcount");
- //newTable.Columns.Add("callCount_zb");
- newTable.Columns.Add("wxcount");
- newTable.Columns.Add("wbcount");
- newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
- //newTable.Columns.Add("Returnvisitproblem_zb");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- #region 咨询工单
- int callInCount = 0;
- List<string> Returnvisitproblem_zx = new List<string>();
- //string Returnvisitproblem_zx = "[";
- //来电工单数量
- DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "咨询";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 建议工单
- callInCount = 0;
- //string Returnvisitproblem_jy = "";
- List<string> Returnvisitproblem_jy = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "建议";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jy);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 表扬工单
- callInCount = 0;
- //string Returnvisitproblem_by = "";
- List<string> Returnvisitproblem_by = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "表扬";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 挂失工单
- callInCount = 0;
- //string Returnvisitproblem_gs = "";
- List<string> Returnvisitproblem_gs = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "挂失";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 投诉工单
- callInCount = 0;
- int callInCount_zb = 0;
- List<string> Returnvisitproblem_zb = new List<string>();
- List<string> Returnvisitproblem_ts = new List<string>();
- //转办工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "投诉";
- dataRow["allcount"] = callInCount_zb;
- dataRow["callcount"] = callInCount_zb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zb);
- newTable.Rows.Add(dataRow);
- #endregion
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
-
- /// <summary>
- /// 原接口数据:WorkOrderTypeFromDataNew
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeFromDataNew1104")]
- [HttpGet]
- public string WorkOrderTypeFromDataNew1104(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("BusinessType");
- newTable.Columns.Add("allcount");
- newTable.Columns.Add("callcount");
- //newTable.Columns.Add("callCount_zb");
- newTable.Columns.Add("wxcount");
- newTable.Columns.Add("wbcount");
- newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
- //newTable.Columns.Add("Returnvisitproblem_zb");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- #region 咨询工单
- int callInCount = 0;
- List<string> Returnvisitproblem_zx = new List<string>();
- //string Returnvisitproblem_zx = "[";
- //来电工单数量
- DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
- }
- }
- //for (int i = 0; i < CallRows.Length; i++)
- //{
- // if (i == 0)
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- // else
- // {
- // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
- // }
- //}
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "咨询";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 建议工单
- callInCount = 0;
- int callInCount_jyzb = 0;
- List<string> Returnvisitproblem_jyzb = new List<string>();
- //string Returnvisitproblem_jy = "";
- List<string> Returnvisitproblem_jy = new List<string>();
- ////来电工单数量
- //CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
- //if (CallRows != null && CallRows.Length > 0)
- //{
- // for (int i = 0; i < CallRows.Length; i++)
- // {
- // if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- // {
- // callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- // }
- // if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- // {
- // Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- // }
- // }
- //}
- //转办工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_jyzb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jyzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- ////留言工单数量
- //CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
- //if (CallRows != null && CallRows.Length > 0)
- //{
- // for (int i = 0; i < CallRows.Length; i++)
- // {
- // if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- // {
- // callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- // }
- // if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- // {
- // Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- // }
- // }
- //}
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "建议";
- dataRow["allcount"] = callInCount_jyzb;
- dataRow["callcount"] = callInCount_jyzb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 表扬工单
- callInCount = 0;
- //string Returnvisitproblem_by = "";
- List<string> Returnvisitproblem_by = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "表扬";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 挂失工单
- callInCount = 0;
- //string Returnvisitproblem_gs = "";
- List<string> Returnvisitproblem_gs = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //留言工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "挂失";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 投诉工单
- callInCount = 0;
- int callInCount_zb = 0;
- List<string> Returnvisitproblem_zb = new List<string>();
- List<string> Returnvisitproblem_ts = new List<string>();
- //转办工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "投诉";
- dataRow["allcount"] = callInCount_zb;
- dataRow["callcount"] = callInCount_zb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zb);
- newTable.Rows.Add(dataRow);
- #endregion
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 接口数据11.04:总数、转办数量、化解数量、转办工单列表、化解工单列表
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeFromDataNew")]
- public string WorkOrderTypeFromDataNew(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("BusinessType");
- newTable.Columns.Add("allcount");
- newTable.Columns.Add("callcount");
- newTable.Columns.Add("wxcount");
- newTable.Columns.Add("wbcount");
- //newTable.Columns.Add("callCount_zb");
- //newTable.Columns.Add("callCount_kfhj");
- newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
- //newTable.Columns.Add("Returnvisitproblem_zb");
- //newTable.Columns.Add("Returnvisitproblem_kfhj");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- if (datas != null && datas.Rows.Count > 0)
- {
- #region 咨询工单
- int callInCount = 0;
- int callInCount_zxzb = 0;
- int callInCount_zxkfhj = 0;
- List<string> Returnvisitproblem_zxzb = new List<string>();
- List<string> Returnvisitproblem_zxkfhj = new List<string>();
- //来电工单\留言工单数量
- DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2)");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- }
- }
- //转办工单数量 1转办 3客服处理
- CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2)");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_zxzb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zxzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量 1转办 3客服处理
- /*CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_zxkfhj += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_zxkfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }*/
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "咨询";
- dataRow["allcount"] = callInCount;
- dataRow["callcount"] = callInCount;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
- //dataRow["callCount_zb"] = callInCount_zxzb;
- //dataRow["callCount_kfhj"] = callInCount_zxkfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_zxkfhj);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 建议工单
- callInCount = 0;
- int callInCount_jyzb = 0;
- int callInCount_jykfhj = 0;
- List<string> Returnvisitproblem_jyzb = new List<string>();
- List<string> Returnvisitproblem_jykfhj = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2)");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- }
- }
- //转办工单数量 1转办 3客服处理
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_jyzb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jyzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量 1转办 3客服处理
- CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_jykfhj += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_jykfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "建议";
- dataRow["allcount"] = callInCount_jyzb;
- dataRow["callcount"] = callInCount_jyzb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
- //dataRow["callCount_zb"] = callInCount_jyzb;
- //dataRow["callCount_kfhj"] = callInCount_jykfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_jykfhj);
- newTable.Rows.Add(dataRow);
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "建议(客服已解释)";
- dataRow["allcount"] = callInCount_jykfhj;
- dataRow["callcount"] = callInCount_jykfhj;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jykfhj);
- //dataRow["callCount_zb"] = callInCount_zxzb;
- //dataRow["callCount_kfhj"] = callInCount_zxkfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_zxkfhj);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 表扬工单
- callInCount = 0;
- int callInCount_byzb = 0;
- int callInCount_bykfhj = 0;
- List<string> Returnvisitproblem_byzb = new List<string>();
- List<string> Returnvisitproblem_bykfhj = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) ");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- }
- }
- //转办工单数量 1转办
- CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) ");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_byzb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_byzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量 3客服处理
- /*CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_bykfhj += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_bykfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }*/
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "表扬";
- dataRow["allcount"] = callInCount_byzb;
- dataRow["callcount"] = callInCount_byzb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_byzb);
- //dataRow["callCount_zb"] = callInCount_byzb;
- //dataRow["callCount_kfhj"] = callInCount_bykfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_byzb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_bykfhj);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 挂失工单
- callInCount = 0;
- int callInCount_gszb = 0;
- int callInCount_gskfhj = 0;
- List<string> Returnvisitproblem_gszb = new List<string>();
- List<string> Returnvisitproblem_gskfhj = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) ");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- }
- }
- //转办工单数量 1转办
- CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) ");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_gszb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gszb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量 3客服处理
- /*CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_gskfhj += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_gskfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }*/
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "挂失";
- dataRow["allcount"] = callInCount_gszb;
- dataRow["callcount"] = callInCount_gszb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gszb);
- //dataRow["callCount_zb"] = callInCount_gszb;
- //dataRow["callCount_kfhj"] = callInCount_gskfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_gszb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_gskfhj);
- newTable.Rows.Add(dataRow);
- #endregion
- #region 投诉工单
- callInCount = 0;
- int callInCount_tszb = 0;
- int callInCount_tskfhj = 0;
- List<string> Returnvisitproblem_tszb = new List<string>();
- List<string> Returnvisitproblem_tskfhj = new List<string>();
- //来电工单数量
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2)");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- }
- }
- //转办工单数量 1转办
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_tszb += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_tszb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- //转办工单数量 3客服处理
- CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
- if (CallRows != null && CallRows.Length > 0)
- {
- for (int i = 0; i < CallRows.Length; i++)
- {
- if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
- {
- callInCount_tskfhj += int.Parse(CallRows[i]["callInCount"].ToString());
- }
- if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
- {
- Returnvisitproblem_tskfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
- }
- }
- }
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "投诉";
- dataRow["allcount"] = callInCount_tszb;
- dataRow["callcount"] = callInCount_tszb;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_tszb);
- //dataRow["callCount_zb"] = callInCount_tszb;
- //dataRow["callCount_kfhj"] = callInCount_tskfhj;
- //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_tszb);
- //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_tskfhj);
- newTable.Rows.Add(dataRow);
- dataRow = newTable.NewRow();
- dataRow["BusinessType"] = "投诉(客服已化解)";
- dataRow["allcount"] = callInCount_tskfhj;
- dataRow["callcount"] = callInCount_tskfhj;
- dataRow["wxcount"] = 0;
- dataRow["wbcount"] = 0;
- dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_tskfhj);
- newTable.Rows.Add(dataRow);
- #endregion
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #endregion
- #region 坐席业务量统计
- public ActionResult WorkOrderTypeUserMath()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- BLL.UserAccount userBLL = new BLL.UserAccount();
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTypeUserMathData")]
- [HttpGet]
- public string WorkOrderTypeUserMathData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderUeserData(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- DataTable newTable = new DataTable();
- newTable.Columns.Add("坐席工号");
- newTable.Columns.Add("坐席姓名");
- newTable.Columns.Add("业务数量");
- newTable.Columns.Add("语音业务数量");
- newTable.Columns.Add("在线业务数量");
- newTable.Columns.Add("微信业务数量");
- newTable.Columns.Add("微博业务数量");
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- DataRow newRow = newTable.NewRow();
- newRow[0] = row["F_UserCode"];
- newRow[1] = row["F_UserName"];
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["业务量"].ToString()))
- {
- int thisCount = int.Parse(collRow["业务量"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["渠道"].ToString()))
- {
- int qudaoID = int.Parse(collRow["渠道"].ToString());
- if (qudaoID == 1)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 2)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 3)
- {
- totalCount4 += thisCount;
- totalCount5 += thisCount;
- }
- else if (qudaoID == 4)
- {
- totalCount4 += thisCount;
- totalCount6 += thisCount;
- }
- }
- else
- {
- totalCount3 += thisCount;
- }
- }
- }
- }
- newRow[2] = totalCount2;
- newRow[3] = totalCount3;
- newRow[4] = totalCount4;
- newRow[5] = totalCount5;
- newRow[6] = totalCount6;
- newTable.Rows.Add(newRow);
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string WorkOrderTypeUserMathChartData(DateTime? NowDateTime, string dateParty)
- {
- WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
- resultModel.bottom = "";
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderUeserData(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- DataTable newTable = new DataTable();
- newTable.Columns.Add("坐席工号");
- newTable.Columns.Add("坐席姓名");
- newTable.Columns.Add("业务数量");
- newTable.Columns.Add("语音业务数量");
- newTable.Columns.Add("在线业务数量");
- newTable.Columns.Add("微信业务数量");
- newTable.Columns.Add("微博业务数量");
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["业务量"].ToString()))
- {
- int thisCount = int.Parse(collRow["业务量"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["渠道"].ToString()))
- {
- int qudaoID = int.Parse(collRow["渠道"].ToString());
- if (qudaoID == 1)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 2)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 3)
- {
- totalCount4 += thisCount;
- totalCount5 += thisCount;
- }
- else if (qudaoID == 4)
- {
- totalCount4 += thisCount;
- totalCount6 += thisCount;
- }
- }
- else
- {
- totalCount3 += thisCount;
- }
- }
- }
- }
- resultModel.d1 += "," + totalCount2;
- resultModel.d2 += "," + totalCount3;
- resultModel.d3 += "," + totalCount4;
- resultModel.d4 += "," + totalCount5;
- resultModel.d5 += "," + totalCount6;
- }
- }
- resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
- resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
- resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
- resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
- resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
- resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
- return JsonConvert.SerializeObject(resultModel);
- }
- #endregion
- #region 分渠道业务统计
- public ActionResult WorkOrderFrom()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderFromData")]
- [HttpGet]
- public string WorkOrderFromData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderFrom(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("渠道");
- newTable.Columns.Add("工单数量");
- //微信业务工单数
- int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
- //微博业务工单数
- int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
- //语音数量
- int callCount = 0;
- //微信数量
- int wxCount = 0;
- //微博数量
- int wbCount = 0;
- if (datas != null && datas.Rows.Count > 0)
- {
- foreach (DataRow thisRow in datas.Rows)
- {
- //工单数量
- int thisRowCount = 0;
- if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
- {
- thisRowCount = int.Parse(thisRow["callInCount"].ToString());
- }
- //业务渠道
- string bussFrtom = thisRow["渠道"].ToString();
- if (!string.IsNullOrEmpty(bussFrtom))
- {
- if (bussFrtom == "1" || bussFrtom == "2")
- {
- callCount += thisRowCount;
- }
- else if (bussFrtom == "3")
- {
- wxCount += thisRowCount;
- }
- else if (bussFrtom == "4")
- {
- wbCount += thisRowCount;
- }
- }
- else
- {
- callCount += thisRowCount;
- }
- }
- }
- wxCount = wxCount + wxxtCount;
- wbCount = wbCount + wbxtCount;
- DataRow dataRow = newTable.NewRow();
- dataRow["渠道"] = "语音业务数";
- dataRow["工单数量"] = callCount;
- newTable.Rows.Add(dataRow);
- DataRow dataRow1 = newTable.NewRow();
- dataRow1["渠道"] = "微信业务数";
- dataRow1["工单数量"] = wxCount;
- newTable.Rows.Add(dataRow1);
- DataRow dataRow2 = newTable.NewRow();
- dataRow2["渠道"] = "微博业务数";
- dataRow2["工单数量"] = wbCount;
- newTable.Rows.Add(dataRow2);
- DataRow dataRow3 = newTable.NewRow();
- dataRow3["渠道"] = "合计(不含未分类)";
- dataRow3["工单数量"] = callCount + wxCount + wbCount;
- newTable.Rows.Add(dataRow3);
- dataModel.code = 0;
- dataModel.data = newTable;
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string WorkOrderFromChartData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderFrom(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("渠道");
- newTable.Columns.Add("工单数量");
- //微信业务工单数
- int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
- //微博业务工单数
- int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
- if (datas != null && datas.Rows.Count > 0)
- {
- //语音数量
- int callCount = 0;
- //微信数量
- int wxCount = 0;
- //微博数量
- int wbCount = 0;
- foreach (DataRow thisRow in datas.Rows)
- {
- //工单数量
- int thisRowCount = 0;
- if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
- {
- thisRowCount = int.Parse(thisRow["callInCount"].ToString());
- }
- //业务渠道
- string bussFrtom = thisRow["渠道"].ToString();
- if (!string.IsNullOrEmpty(bussFrtom))
- {
- if (bussFrtom == "1" || bussFrtom == "2")
- {
- callCount += thisRowCount;
- }
- else if (bussFrtom == "3")
- {
- wxCount += thisRowCount;
- }
- else if (bussFrtom == "4")
- {
- wbCount += thisRowCount;
- }
- }
- else
- {
- callCount += thisRowCount;
- }
- }
- DataRow dataRow = newTable.NewRow();
- dataRow["渠道"] = "语音";
- dataRow["工单数量"] = callCount;
- newTable.Rows.Add(dataRow);
- DataRow dataRow1 = newTable.NewRow();
- dataRow1["渠道"] = "微信";
- dataRow1["工单数量"] = wxCount+ wxxtCount;
- newTable.Rows.Add(dataRow1);
- DataRow dataRow2 = newTable.NewRow();
- dataRow2["渠道"] = "微博";
- dataRow2["工单数量"] = wbCount+ wbxtCount;
- newTable.Rows.Add(dataRow2);
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["渠道"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["渠道"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["渠道"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- #endregion
- #region 坐席处理方式业务量统计
- public ActionResult WorkOrderTrainFunctionMath()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderTrainFunctionMathData")]
- [HttpGet]
- public string WorkOrderTrainFunctionMathData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderTrainFunction(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- DataTable newTable = new DataTable();
- newTable.Columns.Add("坐席工号");
- newTable.Columns.Add("坐席姓名");
- newTable.Columns.Add("业务数量");
- newTable.Columns.Add("咨询");
- newTable.Columns.Add("建议");
- newTable.Columns.Add("表扬");
- newTable.Columns.Add("挂失");
- newTable.Columns.Add("投诉");
- newTable.Columns.Add("转办投诉");
- newTable.Columns.Add("现场处理投诉");
- newTable.Columns.Add("客服处理投诉");
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- DataRow newRow = newTable.NewRow();
- newRow[0] = row["F_UserCode"];
- newRow[1] = row["F_UserName"];
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- int totalCount7 = 0;
- int totalCount8 = 0;
- int totalCount9 = 0;
- int totalCount10 = 0;
- DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
- {
- int thisCount = int.Parse(collRow["业务量"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
- {
- int qudaoID = int.Parse(collRow["业务类别"].ToString());
- int blFunction = int.Parse(collRow["处理方式"].ToString());
- if (qudaoID == 6)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 14)
- {
- totalCount4 += thisCount;
- }
- else if (qudaoID == 18)
- {
- totalCount5 += thisCount;
- }
- else if (qudaoID == 19)
- {
- totalCount6 += thisCount;
- }
- else if (qudaoID == 3)
- {
- totalCount7 += thisCount;
- if (blFunction == 1)
- {
- totalCount8 += thisCount;
- }
- else if (blFunction == 2)
- {
- totalCount9 += thisCount;
- }
- else if (blFunction == 3)
- {
- totalCount10 += thisCount;
- }
- }
- }
- }
- }
- }
- newRow[2] = totalCount2;
- newRow[3] = totalCount3;
- newRow[4] = totalCount4;
- newRow[5] = totalCount5;
- newRow[6] = totalCount6;
- newRow[7] = totalCount7;
- newRow[8] = totalCount8;
- newRow[9] = totalCount9;
- newRow[10] = totalCount10;
- newTable.Rows.Add(newRow);
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string WorkOrderTrainFunctionMathChartData(DateTime? NowDateTime, string dateParty)
- {
- WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
- //数据结果集
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderTrainFunction(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- int totalCount7 = 0;
- int totalCount8 = 0;
- int totalCount9 = 0;
- int totalCount10 = 0;
- DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
- {
- int thisCount = int.Parse(collRow["业务量"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
- {
- int qudaoID = int.Parse(collRow["业务类别"].ToString());
- int blFunction = int.Parse(collRow["处理方式"].ToString());
- if (qudaoID == 6)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 14)
- {
- totalCount4 += thisCount;
- }
- else if (qudaoID == 18)
- {
- totalCount5 += thisCount;
- }
- else if (qudaoID == 19)
- {
- totalCount6 += thisCount;
- }
- else if (qudaoID == 3)
- {
- totalCount7 += thisCount;
- if (blFunction == 1)
- {
- totalCount8 += thisCount;
- }
- else if (blFunction == 2)
- {
- totalCount9 += thisCount;
- }
- else if (blFunction == 3)
- {
- totalCount10 += thisCount;
- }
- }
- }
- }
- }
- }
- resultModel.d1 += "," + totalCount2;
- resultModel.d2 += "," + totalCount3;
- resultModel.d3 += "," + totalCount4;
- resultModel.d4 += "," + totalCount5;
- resultModel.d5 += "," + totalCount6;
- resultModel.d6 += "," + totalCount7;
- resultModel.d7 += "," + totalCount8;
- resultModel.d8 += "," + totalCount9;
- resultModel.d9 += "," + totalCount10;
- }
- resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
- resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
- resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
- resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
- resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
- resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
- resultModel.d6 = "[" + resultModel.d6.Trim(',') + "]";
- resultModel.d7 = "[" + resultModel.d7.Trim(',') + "]";
- resultModel.d8 = "[" + resultModel.d8.Trim(',') + "]";
- resultModel.d9 = "[" + resultModel.d9.Trim(',') + "]";
- }
- return JsonConvert.SerializeObject(resultModel);
- }
- #endregion
- #region 坐席话务量统计
- public ActionResult CallTimeMath()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("CallTimeMathData")]
- [HttpGet]
- public string CallTimeMathData(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.CallTimeMath(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- DataTable newTable = new DataTable();
- newTable.Columns.Add("坐席工号");
- newTable.Columns.Add("坐席姓名");
- newTable.Columns.Add("总通话次数");
- newTable.Columns.Add("接听电话次数");
- newTable.Columns.Add("呼出电话次数");
- newTable.Columns.Add("通话总时长");
- newTable.Columns.Add("平均通话时长");
- newTable.Columns.Add("流失率");
- newTable.Columns.Add("接通率");
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- DataRow newRow = newTable.NewRow();
- newRow[0] = row["F_UserCode"];
- newRow[1] = row["F_UserName"];
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- DataRow[] thisUserRows = datas.Select("userId=" + row["F_UserId"]);
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["呼叫次数"].ToString()))
- {
- int thisCount = int.Parse(collRow["呼叫次数"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["呼叫类型"].ToString()))
- {
- int qudaoID = int.Parse(collRow["呼叫类型"].ToString());
- if (qudaoID == 0)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 1)
- {
- totalCount4 += thisCount;
- }
- }
- }
- if (!string.IsNullOrEmpty(collRow["通话时长"].ToString()))
- {
- int thisCount = int.Parse(collRow["通话时长"].ToString());
- totalCount5 += thisCount;
- }
- }
- }
- if (totalCount2 > 0)
- {
- totalCount6 = (int)totalCount5 / totalCount2;
- }
- #region 计算流失率 通过率
- //string startDatestr = "";
- //string endDatestr = "";
- //if (!string.IsNullOrEmpty(startDate))
- //{
- // startDatestr=" and BeginTime>='" + startDate + " 00:00:00' ";
- //}
- //if (!string.IsNullOrEmpty(endDate))
- //{
- // endDatestr=" and BeginTime<='" + endDate + " 23:59:59' ";
- //}
- //decimal ls= recordBLL.GetRecordCount(string.Format("Userid={0} and RingLongTime>3 and CallState=0 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- //decimal tg =recordBLL.GetRecordCount(string.Format("Userid={0} and CallState=1 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- //decimal zs = 1.00M*recordBLL.GetRecordCount(string.Format("Userid={0} {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- string lsl = "0%";//流失率
- string jtl = "0%";//通过率
- //if (zs!=0)
- //{
- // lsl = (ls / zs).ToString("P");
- // jtl = (tg / zs).ToString("P");
- //}
- #endregion
- newRow[2] = totalCount2;
- newRow[3] = totalCount3;
- newRow[4] = totalCount4;
- newRow[5] = totalCount5;
- newRow[6] = totalCount6;
- newRow[7] = lsl;
- newRow[8] = jtl;
- newTable.Rows.Add(newRow);
- }
- }
- dataModel.code = 0;
- dataModel.data = newTable;
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 图标数据
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- public string CallTimeMathChartData(DateTime? NowDateTime, string dateParty)
- {
- WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
- //数据结果集
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.CallTimeMath(startDate, endDate);
- DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
- if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
- {
- foreach (DataRow row in userTable.Rows)
- {
- resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
- int totalCount2 = 0;
- int totalCount3 = 0;
- int totalCount4 = 0;
- int totalCount5 = 0;
- int totalCount6 = 0;
- DataRow[] thisUserRows = datas.Select("userId=" + row["F_UserId"]);
- if (thisUserRows != null && thisUserRows.Length > 0)
- {
- foreach (DataRow collRow in thisUserRows)
- {
- if (!string.IsNullOrEmpty(collRow["呼叫次数"].ToString()))
- {
- int thisCount = int.Parse(collRow["呼叫次数"].ToString());
- totalCount2 += thisCount;
- if (!string.IsNullOrEmpty(collRow["呼叫类型"].ToString()))
- {
- int qudaoID = int.Parse(collRow["呼叫类型"].ToString());
- if (qudaoID == 0)
- {
- totalCount3 += thisCount;
- }
- else if (qudaoID == 1)
- {
- totalCount4 += thisCount;
- }
- }
- }
- if (!string.IsNullOrEmpty(collRow["通话时长"].ToString()))
- {
- int thisCount = int.Parse(collRow["通话时长"].ToString());
- totalCount5 += thisCount;
- }
- }
- }
- if (totalCount2 > 0)
- {
- totalCount6 = (int)totalCount5 / totalCount2;
- }
- #region 计算流失率 通过率
- string startDatestr = "";
- string endDatestr = "";
- if (!string.IsNullOrEmpty(startDate))
- {
- startDatestr = " and BeginTime>='" + startDate + " 00:00:00' ";
- }
- if (!string.IsNullOrEmpty(endDate))
- {
- endDatestr = " and BeginTime<='" + endDate + " 23:59:59' ";
- }
- decimal ls = recordBLL.GetRecordCount(string.Format("Userid={0} and RingLongTime>3 and CallState=0 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- decimal tg = recordBLL.GetRecordCount(string.Format("Userid={0} and CallState=1 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- decimal zs = 1.00M * recordBLL.GetRecordCount(string.Format("Userid={0} {1} {2}", row["F_UserId"], startDatestr, endDatestr));
- string lsl = "0%";//流失率
- string jtl = "0%";//通过率
- if (zs != 0)
- {
- lsl = (ls / zs).ToString("P");
- jtl = (tg / zs).ToString("P");
- }
- #endregion
- resultModel.d1 += "," + totalCount2;
- resultModel.d2 += "," + totalCount3;
- resultModel.d3 += "," + totalCount4;
- resultModel.d4 += "," + totalCount5;
- resultModel.d5 += "," + totalCount6;
- resultModel.d6 += "," + lsl;
- resultModel.d7 += "," + jtl;
- }
- resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
- resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
- resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
- resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
- resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
- resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
- resultModel.d6 = "[" + resultModel.d6.Trim(',') + "]";
- resultModel.d7 = "[" + resultModel.d7.Trim(',') + "]";
- }
- return JsonConvert.SerializeObject(resultModel);
- }
- #endregion
- #region 热线工作分析报告
- public ActionResult ReportWorkOrderInfo()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- public ActionResult ReportWorkOrderInfoWord(string dateParty,string type)
- {
- string res = "";
- string name = "周";
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- }
- try
- {
- switch (type)
- {
- case "0":
- name = "周";
- res = ReportWorkOrderInfoOneWeek(dateParty);
- res = res.Split('^')[0];
- break;
- case "1":
- name = "两周";
- res = ReportWorkOrderInfoTwoWeek(dateParty);
- res = res.Split('^')[0];
- break;
- case "2":
- name = "季度";
- string data1 = ReportWorkOrderInfoQuarterNew(dateParty);
- string[] arr = data1.Split('^');
- string[] strcount = arr[0].Split(',');
- #region 参数
- DateTime now = Convert.ToDateTime(startDate);
- int nowMonth = now.Month; //当前月
- int nowYear = now.Year; //当前年
- int preYear = now.Year - 1;//前一年
- int preMonth = now.Month-1; //上月
- string nowQuarter = "";
- if (nowMonth >= 1 && nowMonth <= 3)
- {
- nowQuarter = "一";
- }
- else if (nowMonth >= 4 && nowMonth <= 6)
- {
- nowQuarter = "二";
- }
- else if (nowMonth >= 7 && nowMonth <= 9)
- {
- nowQuarter = "三";
- }
- else { nowQuarter = "四"; }
- string preQuarter = "";
- if (preMonth >= 1 && preMonth <= 3)
- {
- preQuarter = "一";
- }
- else if (preMonth >= 4 && preMonth <= 6)
- {
- preQuarter = "二";
- }
- else if (preMonth >= 7 && preMonth <= 9)
- {
- preQuarter = "三";
- }
- else { preQuarter = "四"; }
- string bgyear = nowYear + "年";
- string preyear = preYear + "年";
- string bgQuarter = "第" + nowQuarter + "季度";
- string prebgQuarter = "第" + preQuarter + "季度";
- string bgname = bgyear + bgQuarter;
- string prename = "";
- if (nowMonth <= 3)
- {
- prename = preyear + "第四季度";
- }
- else
- {
- prename = bgyear + prebgQuarter;
- }
- #endregion
- #region 报告
- string bgmc = bgname + "服务热线工作分析报告";
- string bgmc1 = "一、" + bgname + "全媒体客服平台受理量统计及分析";
- string bgmc1_nr1 = " 郑州地铁服务热线" + bgname + "全媒体客服平台共受理乘客事务" + strcount[0] + "件,其中热线电话" + strcount[1] + "通、微博互动 " + strcount[2] + "人次、微信互动" + strcount[3] + "人次。";
- string bgmc1_nr2 = " 由上图所示," + bgQuarter + "主要受理量比较平均。同比" + prename + "全媒体客服平台总受理量" + strcount[4] + ",其中热线电话受理量" + strcount[5] + ",微博互动量" + strcount[6] + ",微信互动量" + strcount[7] + "。(" + prebgQuarter + "全媒体客服平台共受理乘客事务" + strcount[8] + "件,其中热线电话" + strcount[9] + "通、微博互动" + strcount[10] + "人次、微信互动" + strcount[11] + "人次)。";
- string bgmc1_tb1 = arr[1];
- string bgmc2 = "二、" + bgname + "服务热线电话受理量统计及分析";
- string bgmc2_nr1 = bgname + "热线电话共受理乘客事务" + strcount[1] + "通,占全媒体客服平台总受理量的" + strcount[12] + ",";
- string data2 = ReportWorkOrderInfoQuarterNewTwo(dateParty);
- arr = data2.Split('^');
- strcount = arr[0].Split(',');
- string bgmc2_nr2 = "日均受理乘客事务约" + strcount[1] + "通/天,人工接听" + strcount[2] + "通,接通率为" + strcount[3] + "。直接答复" + strcount[4] + "通,直接答复率" + strcount[5] + "。转办办理" + strcount[6] + "件,按期回复率" + strcount[7] + "。办理结果回访满意率___%。热线服务满意率___%,平均通话时长___分,来电高峰主要集中在___点至___点,热线客户评价总体满意率___%,乘客满意度较好。";
- string bgmc2_tb1 = arr[1];
- string bgmc2_part1 = "(一)乘客咨询部分";
- string bgmc2_part1_nr1 = "共接听咨询来电" + arr[4] + "通,其中" + arr[5] + "(其他类咨询主要包含咨询地铁计次票售卖相关事宜及郑州地铁·商易行APP相关事宜等。)";
- string bgmc2_part1_nr2 = "其中列车时刻类信息占比最高,占咨询总量的" + arr[6] + ",其次是在线购票类信息占咨询总量的" + arr[7] + "。除常规咨询类问题外,本季度较为突出的咨询问题集中在郑州地铁·商易行APP相关购票业务咨询及违禁品相关规定咨询内容。";
- string data3 = ReportWorkOrderInfoQuarterNewTwoZXMX(dateParty);
- arr = data3.Split('^');
- strcount = arr[0].Split(',');
- string bgmc2_tb2 = arr[1];
- string bgmc2_part2 = "(二)乘客投诉部分";
- string bgmc2_part2_nr1 = bgname + "热线电话共受理乘客来电投诉" + arr[4] + "件,其中转办相关责任部门" + arr[5] + "件,由服务热线化解的投诉" + arr[6] + "件,化解率达高达" + arr[7] + "。";
- string bgmc2_part2_1 = "1、以受理方式为标准的分析情况";
- string bgmc2_tb4= arr[8];
- string bgmc2_part2_1_nr1 = "根据上表数据显示,热线电话受理的投诉量占总投诉量的" + arr[10] + "。";
- string bgmc2_part2_2 = "2、以责任部门为标准的分析情况(转办)";
- string bgmc2_tb5 = arr[9];
- string bgmc2_part2_2_nr1 = "根据上表数据显示,客运服务类投诉占总投诉量的___%,安保类投诉占总投诉量___%。员工服务类投诉___件。客运类主要是员工服务态度不好造成的投诉居多,安保类投诉主要是安检处对喷雾、刀具等物品的检查标准不一致及员工服务态度欠佳等方面。";
- string data4 = ReportWorkOrderInfoQuarterNewTwoQTMX(dateParty);
- arr = data4.Split('^');
- strcount = arr[0].Split(',');
- string bgmc2_part3 = "(三)乘客建议部分";
- string bgmc2_part3_nr1 = "确保地铁安全运营和倡导市民文明低碳出行服务热线也在第一时间将广大乘客反馈的合理化建议及意见反馈给公司。第一季度热线电话受理有效建议" + arr[4] + "件。";
- string bgmc2_part4 = "(四)乘客表扬、挂失部分";
- string bgmc2_part4_nr1 = bgname + "服务热线共帮助乘客找寻失物" + arr[5] + "件,受到乘客来电表扬" + arr[6] + "件。";
- string data5 = ReportWorkOrderInfoQuarterNewTwoWBMX(dateParty);
- arr = data5.Split('^');
- strcount = arr[0].Split(',');
- string bgmc3 = "三、" + bgname + "微博互动受理量统计及分析";
- string bgmc3_nr1 = bgname + "微博互动受理乘客事务" + arr[4] + "件,其中私信___人次、评论___人次、 ___人次。";
- string bgmc3_nr2 = "由上图所示," + bgQuarter + "主要受理量在___月份,___月份受理量突增的原因是受12月20日列车信号故障及春运期间客流急剧增加的影响所致。其中所反映的问题较突出的有:延误证明开具时间及要求;咨询列车时刻信息;咨询列车时刻信息。";
- string data6 = ReportWorkOrderInfoQuarterNewTwoWXMX(dateParty);
- arr = data6.Split('^');
- strcount = arr[0].Split(',');
- string bgmc4 = "四、" + bgname + "微信互动受理量统计及分析";
- string bgmc4_nr1 = bgname + "微信互动受理乘客事务" + arr[4] + "人次。";
- string bgmc4_nr2 = "由上图所示," + bgname + "微信主要受理量在___月份。其中___月份受理量突增的原因与微博突增的原因一致。其中所反映的问题较突出的有:列车时刻信息咨询。";
- res += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">";
- res += "<tr><td><h1 style=\"text-align:center;font-family:方正小标宋简体;\">";
- res += "<label id=\"bgmc\">" + bgmc + "</label></h1></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc1\">" + bgmc1 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc1_nr1\">" + bgmc1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + bgmc1_tb1 + "</td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc1_nr2\">" + bgmc1_nr2 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc2\">" + bgmc2 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_nr1\">" + bgmc2_nr1 + "</label>";
- res += "<label id=\"bgmc2_nr2\">" + bgmc2_nr2 + "</label></h3></td></tr>";
- res += "<tr><td>" + bgmc2_tb1 + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part1\">" + bgmc2_part1 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part1_nr1\">" + bgmc2_part1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part1_nr2\">" + bgmc2_part1_nr2 + "</label></h3></td></tr>";
- res += "<tr><td>" + bgmc2_tb2 + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2\">" + bgmc2_part2 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_nr1\">" + bgmc2_part2_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2_1\">" + bgmc2_part2_1 + "</label></b></h2></td></tr>";
- res += "<tr><td>" + bgmc2_tb4 + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_1_nr1\">" + bgmc2_part2_1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2_2\">" + bgmc2_part2_2 + "</label></b></h2></td></tr>";
- res += "<tr><td>" + bgmc2_tb5+ "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_2_nr1\">" + bgmc2_part2_2_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_2_nr2\">" + "" + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part3\">" + bgmc2_part3 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part3_nr1\">" + bgmc2_part3_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part4\">" + bgmc2_part4 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part4_nr1\">" + bgmc2_part4_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc3\">" + bgmc3 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc3_nr1\">" + bgmc3_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc3_nr2\">" + bgmc3_nr2 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc4\">" + bgmc4 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc4_nr1\">" + bgmc4_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc4_nr2\">" + bgmc4_nr2 + "</label></h3></td></tr></table>";
- #endregion
- break;
- case "3":
- name = "年度";
- string ydata1 = ReportWorkOrderInfoQuarterNew(dateParty);
- string[] yarr = ydata1.Split('^');
- string[] ystrcount = yarr[0].Split(',');
- #region 参数
- DateTime ynow = Convert.ToDateTime(startDate);
- int ynowMonth = ynow.Month; //当前月
- int ynowYear = ynow.Year; //当前年
- int ypreYear = ynow.Year - 1;//前一年
- int ypreMonth = ynow.Month-1; //上月
- string ynowQuarter = "";
- if (ynowMonth >= 1 && ynowMonth <= 3)
- {
- ynowQuarter = "一";
- }
- else if (ynowMonth >= 4 && ynowMonth <= 6)
- {
- ynowQuarter = "二";
- }
- else if (ynowMonth >= 7 && ynowMonth <= 9)
- {
- ynowQuarter = "三";
- }
- else { ynowQuarter = "四"; }
- string ypreQuarter = "";
- if (ypreMonth >= 1 && ypreMonth <= 3)
- {
- ypreQuarter = "一";
- }
- else if (ypreMonth >= 4 && ypreMonth <= 6)
- {
- ypreQuarter = "二";
- }
- else if (ypreMonth >= 7 && ypreMonth <= 9)
- {
- ypreQuarter = "三";
- }
- else { ypreQuarter = "四"; }
- string ybgyear = ynowYear + "年";
- string ypreyear = ypreYear + "年";
- #endregion
- #region 报告
- string ybgmc = ybgyear + "服务热线工作分析报告";
- string ybgmc1 = "一、" + ybgyear + "全媒体客服平台受理量统计及分析";
- string ybgmc1_nr1 = " 郑州地铁服务热线" + ybgyear + "全媒体客服平台共受理乘客事务" + ystrcount[0] + "件,其中热线电话" + ystrcount[1] + "通、微博互动 " + ystrcount[2] + "人次、微信互动" + ystrcount[3] + "人次。";
- string ybgmc1_nr2 = "同比" + ypreyear + "全媒体客服平台总受理量" + ystrcount[4] + ",其中热线电话受理量" + ystrcount[5] + ",微博互动量" + ystrcount[6] + ",微信互动量" + ystrcount[7] + "。(" + ypreyear + "全媒体客服平台共受理乘客事务" + ystrcount[8] + "件,其中热线电话" + ystrcount[9] + "通、微博互动" + ystrcount[10] + "人次、微信互动" + ystrcount[11] + "人次)。由上图所示,全年主要受理量在_________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致______月份业务量增加。";
- string ybgmc1_tb1 = yarr[1];
- string ybgmc2 = "二、" + ybgyear + "服务热线电话受理量统计及分析";
- string ybgmc2_nr1 = ybgyear + "热线电话共受理乘客事务" + ystrcount[1] + "通,占全媒体客服平台总受理量的" + ystrcount[12] + ",";
- string ydata2 = ReportWorkOrderInfoQuarterNewTwo(dateParty);
- yarr = ydata2.Split('^');
- ystrcount = yarr[0].Split(',');
- string ybgmc2_nr2 = "日均受理乘客事务约" + ystrcount[1] + "通/天,共接通" + ystrcount[2] + "通,接通率为" + ystrcount[3] + "。直接答复" + ystrcount[4] + "通,直接答复率" + ystrcount[5] + "。转办办理" + ystrcount[6] + "件,按期回复率" + ystrcount[7] + "。办理结果回访满意率___%。热线满意率___%,平均通话时长___分,来电高峰主要集中在___点至___点,热线客户评价总体满意率___%,乘客满意度较好。与" + ypreyear + "年相比,受理乘客事务总量____倍。";
- string ybgmc2_tb1 = yarr[1];
- string ybgmc2_part1 = "(一)乘客咨询部分";
- string ybgmc2_part1_nr1 = "共接听咨询来电" + yarr[4] + "通,其中" + yarr[5] + "(其他类咨询主要包含咨询地铁计次票售卖相关事宜及列车车厢内广播相关事宜等。)";
- string ybgmc2_part1_nr2 = "其中互联网购票类咨询占总咨询量的____。从互联网购票上线以来,多集中在以下几个问题:1、互联网支付成功,未出票;2、互联网购票多张,少出票;3、互联网购票订单显示已完成,未出票;4、目前1号线二期不支持互联网购票等相关问题。建议:1、在互联网购票机上提示乘客可使用扫码或者商户单号后八位取票;2、在1号线二期开展互联网购票相关事宜。";
- string ydata3 = ReportWorkOrderInfoQuarterNewTwoZXMX(dateParty);
- yarr = ydata3.Split('^');
- ystrcount = yarr[0].Split(',');
- string ybgmc2_tb2 = yarr[1];
- string ybgmc2_part2 = "(二)乘客投诉部分";
- string ybgmc2_part2_nr1 = ybgyear + "热线电话共受理乘客来电投诉" + yarr[4] + "件,其中转办相关责任部门" + yarr[5] + "件,由服务热线化解的投诉" + yarr[6] + "件,化解率达高达" + yarr[7] + "。同时,十九大期间全媒体客服平台共受理投诉____件,投诉化解率达___%,共计_____件,期间未产生不良报道。(附件一《安检等级升级期间全媒体客服平台信息统计报告》)";
- string ybgmc2_part2_1 = "1、以受理方式为标准的分析情况";
- string ybgmc2_tb4 = yarr[8];
- string ybgmc2_part2_1_nr1 = "根据上表数据显示,热线电话受理的投诉量占总投诉量的"+ yarr[10] + "。";
- string ybgmc2_part2_2 = "2、以责任部门为标准的分析情况(转办)";
- string ybgmc2_tb5 = yarr[9];
- string ybgmc2_part2_2_nr1 = "根据上表数据显示,客运服务类投诉占总投诉量的____%,安保类投诉占总投诉量____%。员工服务类投诉____件。客运类主要是员工服务态度不好造成的投诉居多,安保类投诉主要是安检处对喷雾等物品的检查标准不一致及员工服务态度欠佳等方面。下图所示,由于十九大会议期间安检升级导致投诉量直线暴增,并于____月逐步下降。其中,员工服务类投诉较多,占安检总投诉量的____ %。";
- string ybgmc2_part2_2_nr2 = "由上图所示,员工服务类投诉占客运服务类总投诉量的____%。";
- string ydata4 = ReportWorkOrderInfoQuarterNewTwoQTMX(dateParty);
- yarr = ydata4.Split('^');
- ystrcount = yarr[0].Split(',');
- string ybgmc2_part3 = "(三)乘客建议部分";
- string ybgmc2_part3_nr1 = "为确保地铁安全运营和倡导市民文明低碳出行服务热线也在第一时间将广大乘客反馈的合理化建议及意见反馈给公司。全年热线电话受理有效建议" + yarr[4] + "件,已反馈给相关责任部门并跟进处理完毕。";
- string ybgmc2_part4 = "(四)乘客表扬、挂失部分";
- string ybgmc2_part4_nr1 = ybgyear + "服务热线共帮助乘客找寻失物" + yarr[5] + "件,受到乘客来电表扬" + yarr[6] + "件。";
- string ydata5 = ReportWorkOrderInfoQuarterNewTwoWBMX(dateParty);
- yarr = ydata5.Split('^');
- ystrcount = yarr[0].Split(',');
- string ybgmc3 = "三、" + ybgyear + "微博互动受理量统计及分析";
- string ybgmc3_nr1 = ybgyear + "微博互动受理乘客事务" + yarr[4] + "件,其中私信___人次、评论___人次、 ___人次。";
- string ybgmc3_nr2 = "由上图所示,全年主要受理量在__________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致_______月份业务量增加。";
- string ydata6 = ReportWorkOrderInfoQuarterNewTwoWXMX(dateParty);
- yarr = ydata6.Split('^');
- ystrcount = yarr[0].Split(',');
- string ybgmc4 = "四、" + ybgyear + "微信互动受理量统计及分析";
- string ybgmc4_nr1 = ybgyear + "微信互动受理乘客事务" + yarr[4] + "人次。";
- string ybgmc4_nr2 = "由上图所示,全年主要受理量在______________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致______月份业务量增加,恶略天气及节前延迟运营时间等问题导致_____月份互动咨询量增加。";
- res += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">";
- res += "<tr><td><h1 style=\"text-align:center;font-family:方正小标宋简体;\">";
- res += "<label id=\"bgmc\">" + ybgmc + "</label></h1></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc1\">" + ybgmc1 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc1_nr1\">" + ybgmc1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + ybgmc1_tb1 + "</td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc1_nr2\">" + ybgmc1_nr2 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc2\">" + ybgmc2 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_nr1\">" + ybgmc2_nr1 + "</label>";
- res += "<label id=\"bgmc2_nr2\">" + ybgmc2_nr2 + "</label></h3></td></tr>";
- res += "<tr><td>" + ybgmc2_tb1 + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part1\">" + ybgmc2_part1 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part1_nr1\">" + ybgmc2_part1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part1_nr2\">" + ybgmc2_part1_nr2 + "</label></h3></td></tr>";
- res += "<tr><td>" + ybgmc2_tb2 + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2\">" + ybgmc2_part2 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_nr1\">" + ybgmc2_part2_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2_1\">" + ybgmc2_part2_1 + "</label></b></h2></td></tr>";
- res += "<tr><td>" + ybgmc2_tb4 + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_1_nr1\">" + ybgmc2_part2_1_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part2_2\">" + ybgmc2_part2_2 + "</label></b></h2></td></tr>";
- res += "<tr><td>" + ybgmc2_tb5 + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_2_nr1\">" + ybgmc2_part2_2_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part2_2_nr2\">" + ybgmc2_part2_2_nr2 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part3\">" + ybgmc2_part3 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part3_nr1\">" + ybgmc2_part3_nr1 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
- res += "<label id=\"bgmc2_part4\">" + ybgmc2_part4 + "</label></b></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc2_part4_nr1\">" + ybgmc2_part4_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc3\">" + ybgmc3 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc3_nr1\">" + ybgmc3_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc3_nr2\">" + ybgmc3_nr2 + "</label></h3></td></tr>";
- res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
- res += "<label id=\"bgmc4\">" + ybgmc4 + "</label></h2></td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc4_nr1\">" + ybgmc4_nr1 + "</label></h3></td></tr>";
- res += "<tr><td>" + "" + "</td></tr>";
- res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
- res += "<label id=\"bgmc4_nr2\">" + ybgmc4_nr2 + "</label></h3></td></tr></table>";
- #endregion
- break;
- case "4":
- name = "舆情周";
- res = ReportWorkOrderInfoProduct(dateParty);
- res = res.Split('^')[0];
- break;
- }
- }
- catch
- { }
- string fileName = name+"报表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
- Response.Clear();
- Response.Charset = "GB2312";
- Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
- Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName));
- Response.ContentType = "application/msword";
- Response.Write("<meta http-equiv=\"content-type\" content=\"application/msword; charset=gb2312\"/>" + res.ToString());
- Response.End();
- return null;
- }
- public DataTable WorkOrderTypeData(DateTime? NowDateTime, string dateParty)
- {
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- if (datas != null && datas.Rows.Count > 0)
- {
- DataRow dataRow;
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "6")
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "咨询";
- int totalCount = 0;
- string getCount = thisRow["callInCount"].ToString();
- if (!string.IsNullOrEmpty(getCount))
- {
- totalCount = int.Parse(getCount);
- }
- dataRow["工单数量"] = totalCount;
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "14"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "建议";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "18"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "表扬";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "19"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "挂失";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "投诉";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- }
- datas.Clear();
- datas.Dispose();
- }
- return newTable;
- }
- /// <summary>
- /// 周报
- /// </summary>
- /// <returns></returns>
- [ActionName("ReportWorkOrderInfoOneWeek")]
- [HttpGet]
- public string ReportWorkOrderInfoOneWeek(string dateParty)
- {
- // dateParty = "2019-01-01 - 2019-12-31";
- string res = "^divWorkOrderInfoOneWeekPie";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddDays(-7).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddDays(-7).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddDays(-7).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddDays(-7).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- StringBuilder StrContent = new StringBuilder();
- StrContent.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
- StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
- StrContent.Append("<td style=\"width:70.85pt;\">同比上周</td>");
- StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
- StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
- StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
- //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
- //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
- string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- #region 微信
- int wxallcount = 0;
- int wxpreallcount = 0;
- int wxzxcount = 0;
- int wxprezxcount = 0;
- string wxzxzb = "";
- int wxjycount = 0;
- int wxprejycount = 0;
- int wxbycount = 0;
- int wxprebycount = 0;
- int wxgscount = 0;
- int wxpregscount = 0;
- int wxtscount = 0;
- int wxpretscount = 0;
- string wxtszb = "0";
- string wxtb = "0";
- #endregion
- #region 微博
- int wballcount = 0;
- int wbpreallcount = 0;
- int wbzxcount = 0;
- int wbprezxcount = 0;
- string wbzxzb = "";
- int wbjycount = 0;
- int wbprejycount = 0;
- int wbbycount = 0;
- int wbprebycount = 0;
- int wbgscount = 0;
- int wbpregscount = 0;
- int wbtscount = 0;
- int wbpretscount = 0;
- string wbtszb = "0";
- string wbtb = "0";
- #endregion
- #region 投诉化解
- int tscounthj = 0;
- int kfclcount = 0;
- string tshjl = "";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- int allcount = 0;
- int preallcount = 0;
- int zxcount = 0;
- int prezxcount = 0;
- string zxzb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- prezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- int jycount = 0;
- int prejycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- prejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- int bycount = 0;
- int prebycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- prebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- int gscount = 0;
- int pregscount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- pregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- int tscount = 0;
- int pretscount = 0;
- string tszb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- pretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- allcount = zxcount + jycount + bycount + gscount + tscount;
- preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
- string tb = "";
- if (preallcount > allcount)
- {
- decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "减少" + tbint.ToString("f") + "%";
- }
- else
- {
- if (preallcount == allcount)
- {
- tb = "相同";
- }
- else
- {
- if (preallcount > 0)
- {
- decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "增加" + tbint.ToString("f") + "%";
- }
- }
- }
- if (allcount > 0)
- {
- zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- }
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>" + allcount.ToString() + "</td><td>" + tb + "</td><td>" + zxcount.ToString() + "<br />" + zxzb + "</td><td>" + tscount.ToString() + "<br />" + tszb + "</td><td>-</td></tr>");
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wxzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wxprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wxjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wxprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wxbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wxprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wxgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wxpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wxtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wxpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate, preendDate
- wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wbzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wbprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wbjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wbprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wbbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wbprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wbgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wbpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wbtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wbpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate,preendDate
- wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- #region 投诉化解
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscounthj += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
- foreach (DataRow row in rows)
- {
- kfclcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- }
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- #region 微信
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
-
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>" + wxallcount.ToString() + "</td><td>" + wxtb + "</td><td>" + wxzxcount.ToString() + "<br />" + wxzxzb + "</td><td>" + wxtscount.ToString() + "<br />" + wxtszb + "</td><td>-</td></tr>");
- //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>" + wballcount.ToString() + "</td><td>" + wbtb + "</td><td>" + wbzxcount.ToString() + "<br />" + wbzxzb + "</td><td>" + wbtscount.ToString() + "<br />" + wbtszb + "</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- StrContent.Append("</tbody></table>");
- #region 投诉化解率
- if (tscounthj > 0)
- {
- decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
- tshjl = kfclcountint.ToString("f") + "%";
- }
- else
- {
- tshjl = "0%";
- }
- #endregion
- string divWorkOrderInfoOneWeekPie = "<br /><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 80px; width: 100%;text-align:center; background-color: #ffffff\"><br /><br />(本周客服已化解投诉共"+ kfclcount + "件,投诉化解率为:"+ tshjl + ")<br /><br /></div>";
- return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
- }
- /// <summary>
- /// 舆情周报
- /// </summary>
- /// <returns></returns>
- [ActionName("ReportWorkOrderInfoProduct")]
- [HttpGet]
- public string ReportWorkOrderInfoProduct(string dateParty)
- {
- //dateParty = "2019-01-01 - 2019-12-31";
- //数据结果集
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
- }
- StringBuilder StrContent = new StringBuilder();
- StrContent.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">全媒体客服平台</td>");
- StrContent.Append("<td style=\"width:120.5pt;\">受理量(件)</td></tr>");
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- #region 微信
- int wxallcount = 0;
- #endregion
- #region 微博
- int wballcount = 0;
- #endregion
- #region 语音
- int allcount = 0;
- #endregion
- #region 投诉化解
- int tscounthj = 0;
- int kfclcount = 0;
- string tshjl = "";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博'");
- foreach (DataRow row in rows)
- {
- wballcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' ");
- foreach (DataRow row in rows)
- {
- wxallcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 语音
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' ");
- foreach (DataRow row in rows)
- {
- allcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 投诉化解
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscounthj += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
- foreach (DataRow row in rows)
- {
- kfclcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- }
- }
- #region 投诉化解率
- if (tscounthj > 0)
- {
- decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
- tshjl = kfclcountint.ToString("f") + "%";
- }
- else
- {
- tshjl = "0%";
- }
- #endregion
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>新浪微博</td><td>" + wballcount.ToString() + "</td>" + "</tr>");
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信服务号</td><td>" + wxallcount.ToString() + "</td>" + "</tr>");
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信订阅号</td><td>/</td>" + "</tr>");
- StrContent.Append("<tr style=\"height:36.95pt\"><td>官方网站</td><td>/</td>" + "</tr>");
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线电话</td><td>" + allcount.ToString() + "</td>" + "</tr>");
- StrContent.Append("</tbody></table>");
- string divWorkOrderInfoProductPie = "<br /><div id=\"divWorkOrderInfoProductPie\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><div id=\"divWorkOrderInfoProductPie\" style=\"height: 80px; width: 100%;text-align:center; background-color: #ffffff\"><br /><br />(本周客服已化解投诉共"+ kfclcount + "件,投诉化解率为:"+ tshjl + ")<br />网站数据无法获取,仅生成微信、微博、电话受理量报表<br /></div>";
- return StrContent.ToString() + "^" + divWorkOrderInfoProductPie + "^divWorkOrderInfoProductPie" + "^" + json;
- }
- /// <summary>
- /// 两周报
- /// </summary>
- /// <returns></returns>
- [ActionName("ReportWorkOrderInfoTwoWeek")]
- [HttpGet]
- public string ReportWorkOrderInfoTwoWeek(string dateParty)
- {
- //数据结果集
- // dateParty = "2019-01-01 - 2019-12-31";
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddDays(-14).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddDays(-14).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.AddDays(-14).ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddDays(-14).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddDays(-14).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- StringBuilder StrContent = new StringBuilder();
- StrContent.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"90%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
- StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
- StrContent.Append("<td style=\"width:70.85pt;\">同比上两周</td>");
- StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
- StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
- StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //StrContent.Append("</tbody></table>");
- #region 两周报数据
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
- //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
- //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
- string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- #region 微信
- int wxallcount = 0;
- int wxpreallcount = 0;
- int wxzxcount = 0;
- int wxprezxcount = 0;
- string wxzxzb = "";
- int wxjycount = 0;
- int wxprejycount = 0;
- int wxbycount = 0;
- int wxprebycount = 0;
- int wxgscount = 0;
- int wxpregscount = 0;
- int wxtscount = 0;
- int wxpretscount = 0;
- string wxtszb = "0";
- string wxtb = "0";
- #endregion
- #region 微博
- int wballcount = 0;
- int wbpreallcount = 0;
- int wbzxcount = 0;
- int wbprezxcount = 0;
- string wbzxzb = "";
- int wbjycount = 0;
- int wbprejycount = 0;
- int wbbycount = 0;
- int wbprebycount = 0;
- int wbgscount = 0;
- int wbpregscount = 0;
- int wbtscount = 0;
- int wbpretscount = 0;
- string wbtszb = "0";
- string wbtb = "0";
- #endregion
- #region 投诉化解
- int tscounthj = 0;
- int kfclcount = 0;
- string tshjl = "";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- int allcount = 0;
- int preallcount = 0;
- int zxcount = 0;
- int prezxcount = 0;
- string zxzb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- prezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- int jycount = 0;
- int prejycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- prejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- int bycount = 0;
- int prebycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- prebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- int gscount = 0;
- int pregscount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- pregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- int tscount = 0;
- int pretscount = 0;
- string tszb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- pretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- allcount = zxcount + jycount + bycount + gscount + tscount;
- preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
- string tb = "";
- if (preallcount > allcount)
- {
- decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "减少" + tbint.ToString("f") + "%";
- }
- else
- {
- if (preallcount == allcount)
- {
- tb = "相同";
- }
- else
- {
- if (preallcount > 0)
- {
- decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "增加" + tbint.ToString("f") + "%";
- }
- }
- }
- if (allcount > 0)
- {
- zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- }
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>" + allcount.ToString() + "</td><td>" + tb + "</td><td>" + zxcount.ToString() + "<br />" + zxzb + "</td><td>" + tscount.ToString() + "<br />" + tszb + "</td><td>-</td></tr>");
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wxzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wxprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wxjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wxprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wxbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wxprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wxgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wxpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wxtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wxpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate, preendDate
- wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wbzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wbprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wbjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wbprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wbbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wbprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wbgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wbpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wbtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wbpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate,preendDate
- wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- #region 投诉化解
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscounthj += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
- foreach (DataRow row in rows)
- {
- kfclcount += int.Parse(row["总数"].ToString());
- }
- }
- catch
- { }
- #endregion
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- }
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- #region 微信
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>" + wxallcount.ToString() + "</td><td>" + wxtb + "</td><td>" + wxzxcount.ToString() + "<br />" + wxzxzb + "</td><td>" + wxtscount.ToString() + "<br />" + wxtszb + "</td><td>-</td></tr>");
- //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>" + wballcount.ToString() + "</td><td>" + wbtb + "</td><td>" + wbzxcount.ToString() + "<br />" + wbzxzb + "</td><td>" + wbtscount.ToString() + "<br />" + wbtszb + "</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- StrContent.Append("</tbody></table>");
-
- #region 投诉化解率
- if (tscounthj > 0)
- {
- decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
- tshjl = kfclcountint.ToString("f") + "%";
- }
- else
- {
- tshjl = "0%";
- }
- #endregion
- string divWorkOrderInfoOneWeekPie = "<br /><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 80px; width: 100%;text-align:center; background-color: #ffffff\"><br /><br />(本周客服已化解投诉共"+ kfclcount + "件,投诉化解率为:"+ tshjl + ")<br /><br /></div>";
- #endregion
- //return StrContent.ToString();
- return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
- }
- [ActionName("ReportWorkOrderInfoQuarterNew")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNew(string dateParty)
- {
- string StrContent = "";
- string bgnrtb_1 = "<br /><div id=\"bgnrtb_1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
- //string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- string json = WorkOrderFromChartData(DateTime.Now, dateParty);
-
- #region 语音
- int allcount = 0;
- int preallcount = 0;
- int zxcount = 0;
- int prezxcount = 0;
- string zxzb = "";
- int jycount = 0;
- int prejycount = 0;
- int bycount = 0;
- int prebycount = 0;
- int gscount = 0;
- int pregscount = 0;
- int tscount = 0;
- int pretscount = 0;
- string tszb = "";
- string tb = "";
- string zzdttb = "";
- #endregion
- #region 微信
- int wxallcount = 0;
- int wxpreallcount = 0;
- int wxzxcount = 0;
- int wxprezxcount = 0;
- string wxzxzb = "";
- int wxjycount = 0;
- int wxprejycount = 0;
- int wxbycount = 0;
- int wxprebycount = 0;
- int wxgscount = 0;
- int wxpregscount = 0;
- int wxtscount = 0;
- int wxpretscount = 0;
- string wxtszb = "0";
- string wxtb = "0";
- #endregion
- #region 微博
- int wballcount = 0;
- int wbpreallcount = 0;
- int wbzxcount = 0;
- int wbprezxcount = 0;
- string wbzxzb = "";
- int wbjycount = 0;
- int wbprejycount = 0;
- int wbbycount = 0;
- int wbprebycount = 0;
- int wbgscount = 0;
- int wbpregscount = 0;
- int wbtscount = 0;
- int wbpretscount = 0;
- string wbtszb = "0";
- string wbtb = "0";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- prezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- prejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- prebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- pregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- pretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- allcount = zxcount + jycount + bycount + gscount + tscount;
- preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
-
- if (preallcount > allcount)
- {
- decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "减少" + tbint.ToString("f") + "%";
- }
- else
- {
- if (preallcount == allcount)
- {
- tb = "相同";
- }
- else
- {
- if (preallcount > 0)
- {
- decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "增加" + tbint.ToString("f") + "%";
- }
- }
- }
- if (allcount > 0)
- {
- zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- }
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wxzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wxprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wxjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wxprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wxbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wxprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wxgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wxpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wxtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wxpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate, preendDate
- wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wbzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wbprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wbjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wbprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wbbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wbprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wbgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wbpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wbtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wbpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate,preendDate
- wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- } else
- {
- #region 微信
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- #region 平台总数
- int zzdtallcout = allcount + wballcount + wxallcount;
- int prezzdtallcout = preallcount + wbpreallcount + wxpreallcount;
- if (prezzdtallcout > zzdtallcout)
- {
- decimal zzdttbint = (Convert.ToDecimal(prezzdtallcout) - Convert.ToDecimal(zzdtallcout)) * 100 / Convert.ToDecimal(prezzdtallcout);
- zzdttb = "减少" + zzdttbint.ToString("f") + "%";
- }
- else
- {
- if (prezzdtallcout == zzdtallcout)
- {
- zzdttb = "相同";
- }
- else
- {
- if (prezzdtallcout > 0)
- {
- decimal zzdttbint = (Convert.ToDecimal(zzdtallcout) - Convert.ToDecimal(prezzdtallcout)) * 100 / Convert.ToDecimal(prezzdtallcout);
- zzdttb = "增加" + zzdttbint.ToString("f") + "%";
- }
- }
- }
- #endregion
- string rxzb = "";
- if (zzdtallcout > 0)
- {
- decimal rxzbint = Convert.ToDecimal(allcount) * 100 / Convert.ToDecimal(zzdtallcout);
- rxzb = rxzbint.ToString("f") + "%";
- }
- else {
- rxzb = "0%";
- }
- StrContent = zzdtallcout.ToString() + "," + allcount.ToString() +","+ wballcount.ToString() + "," + wxallcount.ToString() + ","
- + zzdttb.ToString() + "," + tb.ToString() + "," + wbtb.ToString() + "," + wxtb.ToString() + ","
- + prezzdtallcout.ToString() + "," + preallcount.ToString() + "," + wbpreallcount.ToString() + "," + wxpreallcount.ToString() + ","
- + rxzb;
- return StrContent.ToString() + "^" + bgnrtb_1 + "^bgnrtb_1" + "^" + json;
- }
- [ActionName("ReportWorkOrderInfoQuarterNewTwo")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNewTwo(string dateParty)
- {
- string StrContent = "";
- string bgmc2tb1 = "<br /><div id=\"bgmc2tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRX(startDate, endDate);
- DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRX(prestartDate, preendDate);
- DataTable nowZXYWMXDataTable = recordBLL.GetWorkOrderTrainFunctionRXMX(startDate, endDate, " F_FILEFLAG=6 and F_REPAIRLEVEL <>39");
- //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
- string json = WorkOrderTypeMathChartDataRX(DateTime.Now, dateParty);
- #region 语音
- int allcount = 0;
- int zxcount = 0;
- int kfclcount = 0;
- int zbclcount = 0;
- string strzxywmx = "";
- int zxcounthj = 0;
- int lcskhj = 0;
- string lcskfx = "";
- int gpxxhj = 0;
- string gpxxfx = "";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- #region 处理方式
- //1转办,3客服处理
- try
- {
- DataRow[] rows = nowDataTable.Select("处理方式='3'");
- foreach (DataRow row in rows)
- {
- kfclcount += int.Parse(row["业务量"].ToString());
- }
- } catch { }
- try
- {
- DataRow[] rows = nowDataTable.Select("处理方式='1'");
- foreach (DataRow row in rows)
- {
- zbclcount += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 业务类型
- //3投诉 ,6咨询,14建议,18表扬,19挂失
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='6'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["业务量"].ToString());
- }
- }
- catch { }
- #endregion
- #region 咨询业务明细
- DataTable dt = new DataTable();
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate + "'").Tables[0];
- int i = 0;
- int count = 0;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "and F_FILEFLAG=6").Length;
- strzxywmx = strzxywmx + m.F_Name.Trim()+ count.ToString()+ "件,";
- zxcounthj = zxcounthj + count;
- i++;
- }
- }
- try
- {
- DataRow[] rows = nowZXYWMXDataTable.Select("F_REPAIRLEVEL='20'");
- foreach (DataRow row in rows)
- {
- lcskhj += int.Parse(row["YWSL"].ToString());
- }
- if (zxcounthj>0)
- {
- decimal lcskhjint = Convert.ToDecimal(lcskhj) * 100 / Convert.ToDecimal(zxcounthj);
- lcskfx = lcskhjint.ToString("f") + "%";
- }
- else
- {
- lcskfx = "0%";
- }
- }
- catch { }
- try
- {
- DataRow[] rows = nowZXYWMXDataTable.Select("F_REPAIRLEVEL='24'");
- foreach (DataRow row in rows)
- {
- gpxxhj += int.Parse(row["YWSL"].ToString());
- }
- if (zxcounthj > 0)
- {
- decimal gpxxhjint = Convert.ToDecimal(gpxxhj) * 100 / Convert.ToDecimal(zxcounthj);
- gpxxfx = gpxxhjint.ToString("f") + "%";
- }
- else
- {
- gpxxfx = "0%";
- }
- }
- catch { }
- #endregion
- allcount = kfclcount+ zbclcount;
- #endregion
- }
- }
- string rjsl = "";
- int rgjtcount = zxcount;
- string rgjtl = "";
- string zjhfl = "";
- string zbaqhfl = "100%";
- if (allcount > 0)
- {
- decimal rgjtint = Convert.ToDecimal(rgjtcount) * 100 / Convert.ToDecimal(allcount);
- rgjtl = rgjtint.ToString("f") + "%";
- decimal zjhfint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(allcount);
- zjhfl = zjhfint.ToString("f") + "%";
- rjsl=(Convert.ToDecimal(allcount)/90).ToString("f") + "%";
- }
- else
- {
- rgjtl = "0%";
- zjhfl = "0%";
- }
- StrContent = allcount.ToString() + "," + rjsl.ToString() + "," + rgjtcount.ToString() + ","
- + rgjtl.ToString()+","+ kfclcount.ToString()+ "," + zjhfl.ToString() + ","
- + zbclcount.ToString()+ "," + zbaqhfl.ToString();
- return StrContent.ToString() + "^" + bgmc2tb1 + "^bgmc2tb1" + "^" + json + "^" + zxcounthj.ToString() + "^" + strzxywmx+ "^" + lcskfx+ "^" + gpxxfx;
- }
- [ActionName("ReportWorkOrderInfoQuarterNewTwoZXMX")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNewTwoZXMX(string dateParty)
- {
- string StrContent = "";
- StringBuilder bgmc2tb4 = new StringBuilder();
- StringBuilder bgmc2tb5 = new StringBuilder();
- string bgmc2tb2 = "<br /><div id=\"bgmc2tb2\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- #region 以受理方式为标准的分析情况
- int TotalCount = 0;
- int TotalCount_wb = 0;
- int TotalCount_wx = 0;
- int TotalCount_dh = 0;
- string tsbl_wb = "";
- string tsbl_wx = "";
- string tsbl_dh = "";
- #endregion
- #region 以责任部门为标准的分析情况(转办)
- int TotalCount_ajry = 0;
- int TotalCount_kyry = 0;
- int TotalCount_qtry = 0;
- int TotalCountZB = 0;
- #endregion
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(startDate, endDate);
- DataTable dataContent = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(prestartDate, preendDate);
- //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
- string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
- #region 投诉
- int kfclcount = 0;
- int zbclcount = 0;
- int tscounthj = 0;
- string tshjl = "";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- #region 处理方式
- //1转办,3客服处理
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='3' ");
- foreach (DataRow row in rows)
- {
- tscounthj += int.Parse(row["业务量"].ToString());
- }
- }
- catch { }
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='3' and 处理方式='3'");
- foreach (DataRow row in rows)
- {
- kfclcount += int.Parse(row["业务量"].ToString());
- }
- }
- catch { }
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='3' and 处理方式='1'");
- foreach (DataRow row in rows)
- {
- zbclcount += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- #endregion
- #endregion
- #region 以受理方式为标准的分析情况
- bgmc2tb4.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- bgmc2tb4.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:102.5pt;\">受理方式</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">投诉件数</td><td style=\"width:120.5pt;\">处理方式</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">回访率</td><td style=\"width:120.5pt;\">满意度</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
- if (dataContent != null)
- {
- #region 投诉总量和总投诉占比
- DataRow[] rowswb = dataContent.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rowswb)
- {
- TotalCount_wb += int.Parse(row["总数"].ToString());
- }
- DataRow[] rowswx = dataContent.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rowswx)
- {
- TotalCount_wx += int.Parse(row["总数"].ToString());
- }
- DataRow[] rowsyy = dataContent.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rowsyy)
- {
- TotalCount_dh += int.Parse(row["总数"].ToString());
- }
- TotalCount = TotalCount_wb + TotalCount_wx + TotalCount_dh;
- if (TotalCount > 0)
- {
- decimal tsbl_wbint = Convert.ToDecimal(TotalCount_wb) * 100 / Convert.ToDecimal(TotalCount);
- tsbl_wb = tsbl_wbint.ToString("f") + "%";
- decimal tsbl_wxint = Convert.ToDecimal(TotalCount_wx) * 100 / Convert.ToDecimal(TotalCount);
- tsbl_wx = tsbl_wxint.ToString("f") + "%";
- decimal tsbl_dhint = Convert.ToDecimal(TotalCount_dh) * 100 / Convert.ToDecimal(TotalCount);
- tsbl_dh = tsbl_dhint.ToString("f") + "%";
- }
- else
- {
- tsbl_wb = "0%"; tsbl_wx = "0%"; tsbl_dh = "0%";
- }
- #endregion
- #region 满意度
- #endregion
- }
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>" + TotalCount_wb.ToString() + "</td><td>转办</td><td>100%</td><td>满意</td><td>" + tsbl_wb + "</td>" + "</tr>");
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>" + TotalCount_wx.ToString() + "</td><td>转办</td><td>100%</td><td>满意</td><td>" + tsbl_wx + "</td>" + "</tr>");
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>电话</td><td>" + TotalCount_dh.ToString() + "</td><td>转办+客服化解</td><td>100%</td><td>满意</td><td>" + tsbl_dh + "</td>" + "</tr>");
- bgmc2tb4.Append("</tbody></table>");
- #endregion
- #region 以责任部门为标准的分析情况(转办)
- bgmc2tb5.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- bgmc2tb5.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:120.55pt;\">部门</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">员工服务</td><td style=\"width:120.5pt;\">政策规定</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">设备</td><td style=\"width:120.5pt;\">合计</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
- if (dataContent != null)
- {
- DataRow[] rowsZB = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' ");
- foreach (DataRow row in rowsZB)
- {
- TotalCountZB += int.Parse(row["总数"].ToString());
- }
- DataRow[] rowsajry = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' and F_ADSLACCOUNT='投诉安检工作人员'");
- foreach (DataRow row in rowsajry)
- {
- TotalCount_ajry += int.Parse(row["总数"].ToString());
- }
- DataRow[] rowskyry = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' and F_ADSLACCOUNT='投诉客运工作人员'");
- foreach (DataRow row in rowskyry)
- {
- TotalCount_kyry += int.Parse(row["总数"].ToString());
- }
- TotalCount_qtry = TotalCountZB - TotalCount_ajry - TotalCount_kyry;
- }
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>安保部</td><td>" + TotalCount_ajry.ToString() + "</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>站务中心</td><td>" + TotalCount_kyry.ToString() + " </td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>其他</td><td>" + TotalCount_qtry.ToString() + "</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("</tbody></table>");
- #endregion
- #region 化解率
- kfclcount = tscounthj - zbclcount;
- if (tscounthj > 0)
- {
- decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
- tshjl = kfclcountint.ToString("f") + "%";
- }
- else
- {
- tshjl = "0%";
- }
- #endregion
- }
- }
- else {
- bgmc2tb4.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- bgmc2tb4.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:102.5pt;\">受理方式</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">投诉件数</td><td style=\"width:120.5pt;\">处理方式</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">回访率</td><td style=\"width:120.5pt;\">满意度</td>");
- bgmc2tb4.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>0</td><td>转办</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>0</td><td>转办</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>电话</td><td>0</td><td>转办+客服化解</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb4.Append("</tbody></table>");
- tsbl_dh = "0%";
- bgmc2tb5.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- bgmc2tb5.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:120.55pt;\">部门</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">员工服务</td><td style=\"width:120.5pt;\">政策规定</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">设备</td><td style=\"width:120.5pt;\">合计</td>");
- bgmc2tb5.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>安保部</td><td>0</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>站务中心</td><td>0 </td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>其他</td><td>0</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
- bgmc2tb5.Append("</tbody></table>");
- }
- return StrContent.ToString() + "^" + bgmc2tb2 + "^bgmc2tb2" + "^" + json + "^" + tscounthj.ToString()
- + "^" + zbclcount.ToString()+"^" + kfclcount.ToString()+ "^" + tshjl + "^" + bgmc2tb4 + "^" + bgmc2tb5
- + "^" + tsbl_dh;
- }
- [ActionName("ReportWorkOrderInfoQuarterNewTwoQTMX")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNewTwoQTMX(string dateParty)
- {
- string StrContent = "";
- string bgmc2tb2 = "<br /><div id=\"bgmc2tb2\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(startDate, endDate);
- DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(prestartDate, preendDate);
- //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
- string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
- #region
- int jycount = 0;
- int bycount = 0;
- int gscount = 0;
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 建议
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='14'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 表扬
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='18'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- #endregion
- #region 挂失
- try
- {
- DataRow[] rows = nowDataTable.Select("业务类别='19'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- #endregion
- }
- }
- return StrContent.ToString() + "^" + bgmc2tb2 + "^bgmc2tb2" + "^" + json + "^" + jycount.ToString()
- + "^" + gscount.ToString() + "^" + bycount.ToString();
- }
- [ActionName("ReportWorkOrderInfoQuarterNewTwoWXMX")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNewTwoWXMX(string dateParty)
- {
- string StrContent = "";
- string bgmc4tb1 = "<br /><div id=\"bgmc4tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable wxDataTable = recordBLL.GetWorkOrderTrainFunctionRXWX(startDate, endDate,"3");
- string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
- #region
- int wxcount = 0;
- int wxcountrx = 0;
- int wxxtCount = 0;
- #endregion
- #region 微信
- //微信业务工单数
- wxxtCount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0);
- if (wxDataTable != null)
- {
- if (wxDataTable.Rows.Count > 0)
- {
-
- try
- {
- DataRow[] rows = wxDataTable.Select("");
- foreach (DataRow row in rows)
- {
- wxcountrx += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- }
- }
- wxcount = wxcountrx + wxxtCount;
- #endregion
- return StrContent.ToString() + "^" + bgmc4tb1 + "^bgmc4tb1" + "^" + json + "^" + wxcount.ToString();
- }
- [ActionName("ReportWorkOrderInfoQuarterNewTwoWBMX")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarterNewTwoWBMX(string dateParty)
- {
- string StrContent = "";
- string bgmc3tb1 = "<br /><div id=\"bgmc3tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- //dateParty = "2019-01-01 - 2019-12-31";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- DataTable wbDataTable = recordBLL.GetWorkOrderTrainFunctionRXWX(startDate, endDate, "4");
- string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
- #region
- int wbcount = 0;
- int wbcountrx = 0;
- int wbxtCount = 0;
- #endregion
- #region 微信
- //微博业务工单数
- wbxtCount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0);
- if (wbDataTable != null)
- {
- if (wbDataTable.Rows.Count > 0)
- {
- try
- {
- DataRow[] rows = wbDataTable.Select("");
- foreach (DataRow row in rows)
- {
- wbcountrx += int.Parse(row["业务量"].ToString());
- }
- }
- catch
- { }
- }
- }
- wbcount = wbcountrx + wbxtCount;
- #endregion
- return StrContent.ToString() + "^" + bgmc3tb1 + "^bgmc3tb1" + "^" + json + "^" + wbcount.ToString();
- }
- //热线类型 图表
- public string WorkOrderTypeMathChartDataRX(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable datas = recordBLL.GetWorkOrderBussTypeDataRX(startDate, endDate);
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- DataRow dataRow;
-
- if (datas != null && datas.Rows.Count > 0)
- {
- foreach (DataRow thisRow in datas.Rows)
- {
- if (thisRow["BusinessType"].ToString() == "6")
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "咨询";
- int totalCount = 0;
- string getCount = thisRow["callInCount"].ToString();
- if (!string.IsNullOrEmpty(getCount))
- {
- totalCount = int.Parse(getCount);
- }
- dataRow["工单数量"] = totalCount;
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "14"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "建议";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "18"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "表扬";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "19"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "挂失";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- else if ((thisRow["BusinessType"].ToString() == "3"))
- {
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = "投诉";
- dataRow["工单数量"] = thisRow["callInCount"];
- newTable.Rows.Add(dataRow);
- }
- }
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["业务类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- return JsonConvert.SerializeObject(dataModel);
- }
- //热线咨询明细图表
- public string zxywtypeWorkOrderPreMX(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- MainChartModel dataModel = new MainChartModel();
- string startDate = "";
- string endDate = "";
- DataTable dt = new DataTable();
- try
- {
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- DataTable newTable = new DataTable();
- newTable.Columns.Add("业务类型");
- newTable.Columns.Add("工单数量");
- List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
- if (namelist != null)
- {
- dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate + "' and F_FILEFLAG=6").Tables[0];
- //dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
- int i = 0;
- int count = 0;
- DataRow dataRow;
- foreach (Model.T_Wo_WorkOrderType m in namelist)
- {
- count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
- dataRow = newTable.NewRow();
- dataRow["业务类型"] = m.F_Name.Trim();
- dataRow["工单数量"] = count.ToString();
- newTable.Rows.Add(dataRow);
- i++;
- }
- }
- if (newTable != null && newTable.Rows.Count > 0)
- {
- string[] strArr = new string[newTable.Rows.Count];
- string contentArr = "";
- for (int i = 0; i < newTable.Rows.Count; i++)
- {
- strArr[i] = newTable.Rows[i]["业务类型"].ToString();
- if (i == 0)
- {
- contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- else
- {
- contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
- }
- }
- dataModel.bottom = JsonConvert.SerializeObject(strArr);
- dataModel.datas = "[" + contentArr + "]";
- }
- }
- catch (Exception ex) { }
- finally { dt.Clear(); dt.Dispose(); }
- return JsonConvert.SerializeObject(dataModel);
- }
- /// <summary>
- /// 季度
- /// </summary>
- /// <returns></returns>
- [ActionName("ReportWorkOrderInfoQuarter")]
- [HttpGet]
- public string ReportWorkOrderInfoQuarter(string dateParty)
- {
- string res = "^divWorkOrderInfoOneWeekPie";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- StringBuilder StrContent = new StringBuilder();
- StrContent.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
- StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
- StrContent.Append("<td style=\"width:70.85pt;\">同比上季度</td>");
- StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
- StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
- StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
- //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
- //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
- string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- #region 微信
- int wxallcount = 0;
- int wxpreallcount = 0;
- int wxzxcount = 0;
- int wxprezxcount = 0;
- string wxzxzb = "";
- int wxjycount = 0;
- int wxprejycount = 0;
- int wxbycount = 0;
- int wxprebycount = 0;
- int wxgscount = 0;
- int wxpregscount = 0;
- int wxtscount = 0;
- int wxpretscount = 0;
- string wxtszb = "0";
- string wxtb = "0";
- #endregion
- #region 微博
- int wballcount = 0;
- int wbpreallcount = 0;
- int wbzxcount = 0;
- int wbprezxcount = 0;
- string wbzxzb = "";
- int wbjycount = 0;
- int wbprejycount = 0;
- int wbbycount = 0;
- int wbprebycount = 0;
- int wbgscount = 0;
- int wbpregscount = 0;
- int wbtscount = 0;
- int wbpretscount = 0;
- string wbtszb = "0";
- string wbtb = "0";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- int allcount = 0;
- int preallcount = 0;
- int zxcount = 0;
- int prezxcount = 0;
- string zxzb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- prezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- int jycount = 0;
- int prejycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- prejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- int bycount = 0;
- int prebycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- prebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- int gscount = 0;
- int pregscount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- pregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- int tscount = 0;
- int pretscount = 0;
- string tszb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- pretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- allcount = zxcount + jycount + bycount + gscount + tscount;
- preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
- string tb = "";
- if (preallcount > allcount)
- {
- decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "减少" + tbint.ToString("f") + "%";
- }
- else
- {
- if (preallcount == allcount)
- {
- tb = "相同";
- }
- else
- {
- if (preallcount > 0)
- {
- decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "增加" + tbint.ToString("f") + "%";
- }
- }
- }
- if (allcount > 0)
- {
- zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- }
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>" + allcount.ToString() + "</td><td>" + tb + "</td><td>" + zxcount.ToString() + "<br />" + zxzb + "</td><td>" + tscount.ToString() + "<br />" + tszb + "</td><td>-</td></tr>");
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wxzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wxprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wxjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wxprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wxbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wxprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wxgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wxpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wxtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wxpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate, preendDate
- wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wbzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wbprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wbjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wbprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wbbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wbprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wbgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wbpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wbtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wbpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate,preendDate
- wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- }
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- #region 微信
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>" + wxallcount.ToString() + "</td><td>" + wxtb + "</td><td>" + wxzxcount.ToString() + "<br />" + wxzxzb + "</td><td>" + wxtscount.ToString() + "<br />" + wxtszb + "</td><td>-</td></tr>");
- //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>" + wballcount.ToString() + "</td><td>" + wbtb + "</td><td>" + wbzxcount.ToString() + "<br />" + wbzxzb + "</td><td>" + wbtscount.ToString() + "<br />" + wbtszb + "</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- StrContent.Append("</tbody></table>");
- string divWorkOrderInfoOneWeekPie = "<br /><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 80px; width: 100%;text-align:center; background-color: #ffffff\"><br /><br />(本周客服已化解投诉共16件,投诉化解率为:76%)<br /><br /></div>";
- return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
- }
- /// <summary>
- /// 年度
- /// </summary>
- /// <returns></returns>
- [ActionName("ReportWorkOrderInfoYear")]
- [HttpGet]
- public string ReportWorkOrderInfoYear(string dateParty)
- {
- string res = "^divWorkOrderInfoOneWeekPie";
- //数据结果集
- string startDate = "";
- string endDate = "";
- string prestartDate = "";
- string preendDate = "";
- string predateParty = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- prestartDate = Convert.ToDateTime(startDate).AddYears(-1).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddYears(-1).ToString("yyyy-MM-dd");
- }
- else
- {
- endDate = DateTime.Now.ToString("yyyy-MM-dd");
- startDate = DateTime.Now.ToString("yyyy-MM-dd");
- prestartDate = Convert.ToDateTime(startDate).AddYears(-1).ToString("yyyy-MM-dd");
- preendDate = Convert.ToDateTime(endDate).AddYears(-1).ToString("yyyy-MM-dd");
- }
- predateParty = prestartDate + " - " + preendDate;
- StringBuilder StrContent = new StringBuilder();
- StrContent.Append("<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">");
- StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
- StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
- StrContent.Append("<td style=\"width:70.85pt;\">同比上年度</td>");
- StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
- StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
- StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
- DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
- DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
- //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
- //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
- string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
- #region 微信
- int wxallcount = 0;
- int wxpreallcount = 0;
- int wxzxcount = 0;
- int wxprezxcount = 0;
- string wxzxzb = "";
- int wxjycount = 0;
- int wxprejycount = 0;
- int wxbycount = 0;
- int wxprebycount = 0;
- int wxgscount = 0;
- int wxpregscount = 0;
- int wxtscount = 0;
- int wxpretscount = 0;
- string wxtszb = "0";
- string wxtb = "0";
- #endregion
- #region 微博
- int wballcount = 0;
- int wbpreallcount = 0;
- int wbzxcount = 0;
- int wbprezxcount = 0;
- string wbzxzb = "";
- int wbjycount = 0;
- int wbprejycount = 0;
- int wbbycount = 0;
- int wbprebycount = 0;
- int wbgscount = 0;
- int wbpregscount = 0;
- int wbtscount = 0;
- int wbpretscount = 0;
- string wbtszb = "0";
- string wbtb = "0";
- #endregion
- if (nowDataTable != null)
- {
- if (nowDataTable.Rows.Count > 0)
- {
- #region 语音
- int allcount = 0;
- int preallcount = 0;
- int zxcount = 0;
- int prezxcount = 0;
- string zxzb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- zxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- prezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- int jycount = 0;
- int prejycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- jycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- prejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- int bycount = 0;
- int prebycount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- bycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- prebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- int gscount = 0;
- int pregscount = 0;
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- gscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- pregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- int tscount = 0;
- int pretscount = 0;
- string tszb = "";
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- tscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- pretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- allcount = zxcount + jycount + bycount + gscount + tscount;
- preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
- string tb = "";
- if (preallcount > allcount)
- {
- decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "减少" + tbint.ToString("f") + "%";
- }
- else
- {
- if (preallcount == allcount)
- {
- tb = "相同";
- }
- else
- {
- if (preallcount > 0)
- {
- decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
- tb = "增加" + tbint.ToString("f") + "%";
- }
- }
- }
- if (allcount > 0)
- {
- zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
- }
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>" + allcount.ToString() + "</td><td>" + tb + "</td><td>" + zxcount.ToString() + "<br />" + zxzb + "</td><td>" + tscount.ToString() + "<br />" + tszb + "</td><td>-</td></tr>");
- #endregion
- #region 微信
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wxzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wxprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wxjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wxprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wxbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wxprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wxgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wxpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wxtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wxpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate, preendDate
- wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows)
- {
- wbzxcount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
- foreach (DataRow row in rows1)
- {
- wbprezxcount += int.Parse(row["总数"].ToString());
- }
- //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows)
- {
- wbjycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
- foreach (DataRow row in rows1)
- {
- wbprejycount += int.Parse(row["总数"].ToString());
- }
- //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows)
- {
- wbbycount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
- foreach (DataRow row in rows1)
- {
- wbprebycount += int.Parse(row["总数"].ToString());
- }
- //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows)
- {
- wbgscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
- foreach (DataRow row in rows1)
- {
- wbpregscount += int.Parse(row["总数"].ToString());
- }
- //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
- }
- catch
- { }
- try
- {
- DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows)
- {
- wbtscount += int.Parse(row["总数"].ToString());
- }
- DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
- foreach (DataRow row in rows1)
- {
- wbpretscount += int.Parse(row["总数"].ToString());
- }
- //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
- }
- catch
- { }
- //prestartDate,preendDate
- wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- }
- }
- else
- {
- StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr>");
- #region 微信
- wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
- if (wxpreallcount > wxallcount)
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "减少" + wxtbint.ToString("f") + "%";
- }
- }
- else
- {
- if (wxpreallcount == wxallcount)
- {
- wxtb = "相同";
- }
- else
- {
- if (wxpreallcount > 0)
- {
- decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
- wxtb = "增加" + wxtbint.ToString("f") + "%";
- }
- }
- }
- if (wxallcount > 0)
- {
- wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
- }
- #endregion
- #region 微博
- wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
- wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
- if (wbpreallcount > wballcount)
- {
- decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "减少" + wbtbint.ToString("f") + "%";
- }
- else
- {
- if (wbpreallcount == wballcount)
- {
- wbtb = "相同";
- }
- else
- {
- if (wbpreallcount > 0)
- {
- decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
- wbtb = "增加" + wbtbint.ToString("f") + "%";
- }
- }
- }
- if (wballcount > 0)
- {
- wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
- }
- #endregion
- }
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>" + wxallcount.ToString() + "</td><td>" + wxtb + "</td><td>" + wxzxcount.ToString() + "<br />" + wxzxzb + "</td><td>" + wxtscount.ToString() + "<br />" + wxtszb + "</td><td>-</td></tr>");
- //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
- StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>" + wballcount.ToString() + "</td><td>" + wbtb + "</td><td>" + wbzxcount.ToString() + "<br />" + wbzxzb + "</td><td>" + wbtscount.ToString() + "<br />" + wbtszb + "</td><td>-</td></tr>");
- //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
- StrContent.Append("</tbody></table>");
- string divWorkOrderInfoOneWeekPie = "<br /><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><div id=\"divWorkOrderInfoOneWeekPie\" style=\"height: 80px; width: 100%;text-align:center; background-color: #ffffff\"><br /><br />(本周客服已化解投诉共16件,投诉化解率为:76%)<br /><br /></div>";
- return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
- }
- #endregion
- #region 获取业务工单数据
- public ActionResult WorkOrderShow()
- {
- WorkOrderMyModel model = new WorkOrderMyModel();
- return View(model);
- }
- /// <summary>
- /// 获取工单信息
- /// </summary>
- /// <param name="page">当前页码</param>
- /// <param name="limit">每页数据量</param>
- /// <param name="sqlWhere">查询条件</param>
- /// <returns></returns>
- [ActionName("WorkOrderDate")]
- [HttpGet]
- public string WorkOrderDate(DateTime? NowDateTime, string dateParty)
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- string startDate = "";
- string endDate = "";
- if (!string.IsNullOrEmpty(dateParty))
- {
- startDate = dateParty.Substring(0, 10);
- endDate = dateParty.Substring(12);
- }
- else
- {
- startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
- }
- StringBuilder StrContent = new StringBuilder();
- DataTable datas = recordBLL.WorkOrderDate(startDate, endDate);
- //工单类型
- List<Model.T_Wo_WorkOrderType> orderTypeList = GetWorkTypeModelList();
- StrContent.Append("<table class=\"layui-table\" style=\"height:calc(100% -10px);overflow-y:scroll;\" lay-size=\"sm\">");
- StrContent.Append(" <colgroup>");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col width=\"100\">");
- StrContent.Append(" <col>");
- StrContent.Append(" </colgroup>");
- StrContent.Append(" <thead>");
- StrContent.Append(" <tr>");
- StrContent.Append(" <th>一级指标</th>");
- StrContent.Append("<th>数量</th>");
- StrContent.Append("<th>二级指标</th>");
- StrContent.Append(" <th>数量</th>");
- StrContent.Append(" <th>三级指标</th>");
- StrContent.Append(" <th>数量</th>");
- StrContent.Append(" <th>四级指标</th>");
- StrContent.Append(" <th>数量</th>");
- StrContent.Append(" </tr> ");
- StrContent.Append(" </thead>");
- StrContent.Append("<tbody>");
-
- if (datas != null)
- {
- int rootOrder = 0;
- foreach (T_Wo_WorkOrderType model in orderTypeList)
- {
- GetDataRow(StrContent, "语音", datas, model, rootOrder, startDate, endDate, "1");
- rootOrder++;
- }
- rootOrder = 0;
- foreach (T_Wo_WorkOrderType model in orderTypeList)
- {
- GetDataRow(StrContent, "微信", datas, model, rootOrder, startDate, endDate, "3");
- rootOrder++;
- }
- rootOrder = 0;
- foreach (T_Wo_WorkOrderType model in orderTypeList)
- {
- GetDataRow(StrContent, "微博", datas, model, rootOrder, startDate, endDate, "4");
- rootOrder++;
- }
- }
- else
- {
- StrContent.Append(" <tr >");
- StrContent.Append(" <td colspan=\"8\" style=\"text-align:center\">暂无数据!</td>");
- StrContent.Append(" </tr>");
- }
- //int zhj = RxworkCount + WxworkCount;
- int zhj = rxzhj + wxzhj + wbzhj ;
- StrContent.Append(" <tr>");
- StrContent.Append(" <td>业务工单总合计:");
- StrContent.Append(" </td>");
- //StrContent.Append(" <td>" + zhj.ToString() + "</td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + "业务工单数\",\"\",\"\",\"\",\"\",\"\")'>");
- StrContent.Append(zhj.ToString());
- StrContent.Append("</a></b></td>");
- StrContent.Append("<td> </td>");
- StrContent.Append(" <td> </td>");
- StrContent.Append(" <td> </td>");
- StrContent.Append(" <td> </td>");
- StrContent.Append(" <td> </td>");
- StrContent.Append(" <td> </td>");
- StrContent.Append(" </tr>");
- StrContent.Append(" </tbody>");
- StrContent.Append("</table>");
- return StrContent.ToString();
- }
- /// <summary>
- /// 获取行数据
- /// </summary>
- /// <param name="StrContent">字符串总html</param>
- /// <param name="tittleType">类型</param>
- /// <param name="dataContent">数据内容</param>
- /// <param name="orderTypeName">类型</param>
- public void GetDataRow(StringBuilder StrContent, string tittleType, DataTable dataContent, T_Wo_WorkOrderType orderTypeModel, int rootOrder, string startDate, string endDate,string Qdyw)
- {
- //string Qdyw = "";
- if (rootOrder == 0)
- {
- //总数
- int TotalCount = 0;
- if (dataContent != null)
- {
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "'");
- foreach (DataRow row in rows)
- {
- TotalCount += int.Parse(row["总数"].ToString());
- }
- if (tittleType == "语音")
- {
- rxzhj = TotalCount;
- }
- if (tittleType == "微信")
- {
- int WxRealTotal = WXWorkOrderCount(3, startDate, endDate);
- TotalCount = WxRealTotal + TotalCount;
- wxzhj = TotalCount;
- }
- if (tittleType == "微博")
- {
- int WxRealTotal = WXWorkOrderCount(4, startDate, endDate);
- TotalCount = WxRealTotal + TotalCount;
- wbzhj = TotalCount;
- }
- }
- StrContent.Append(" <tr>");
- StrContent.Append(" <td>" + tittleType + "业务工单数</td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "业务工单数\",\"\",\"\","+ Qdyw + ",\"\",\"\")'>");
- StrContent.Append(TotalCount.ToString());
- StrContent.Append("</a></b></td>");
- StrContent.Append(" <td>" + orderTypeModel.F_Name + "</td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType+"-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"\","+ Qdyw + ",\"\",\"\")'>");
- //子集总数
- int ChildTotalCount = 0;
- if (dataContent != null)
- {
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "'");
- foreach (DataRow row in rows)
- {
- ChildTotalCount += int.Parse(row["总数"].ToString());
- }
- if (tittleType == "微信" && orderTypeModel.F_Name=="咨询")
- {
- int WxRealTotal = WXWorkOrderCount(3, startDate, endDate);
- if (WxRealTotal >= ChildTotalCount)
- {
- ChildTotalCount = WxRealTotal + ChildTotalCount;
- }
- }
- if (tittleType == "微博" && orderTypeModel.F_Name == "咨询")
- {
- int WxRealTotal = WXWorkOrderCount(4, startDate, endDate);
- if (WxRealTotal >= ChildTotalCount)
- {
- ChildTotalCount = WxRealTotal + ChildTotalCount;
- }
- }
- }
- StrContent.Append(ChildTotalCount.ToString());
- StrContent.Append("</a></b></td>");
- //子集
- if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
- {
- StrContent.Append(" <td>" + orderTypeModel.WorkTypeModelList[0].F_Name + "</td>");
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + orderTypeModel.WorkTypeModelList[0].F_Name + "'");
- if (rows.Length > 0)
- {
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\""+ orderTypeModel.WorkTypeModelList[0].F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- StrContent.Append(rows[0]["总数"].ToString());
- StrContent.Append("</a></b></td>");
- //StrContent.Append(" <td>" + rows[0]["总数"].ToString() + "</td>");
- }
- else
- {
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + orderTypeModel.WorkTypeModelList[0].F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- StrContent.Append("0");
- StrContent.Append("</a></b></td>");
- //StrContent.Append(" <td>0</td>");
- }
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- }
- else
- {
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- }
- StrContent.Append(" </tr>");
- //子集
- if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
- {
- int i = 0;
- foreach (T_Wo_WorkOrderType childNode in orderTypeModel.WorkTypeModelList)
- {
- if (i > 0)
- {
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>" + childNode.F_Name + "</td>");
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + childNode.F_Name + "'");
- if (rows.Length > 0)
- {
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + childNode.F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- StrContent.Append(rows[0]["总数"].ToString());
- StrContent.Append("</a></b></td>");
- //StrContent.Append(" <td>" + rows[0]["总数"].ToString() + "</td>");
- }
- else
- {
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + childNode.F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- StrContent.Append("0");
- StrContent.Append("</a></b></td>");
- //StrContent.Append(" <td>0</td>");
- }
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" </tr>");
- }
- i++;
- }
- }
- }
- else
- {
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>" + orderTypeModel.F_Name + "</td>");
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"\","+ Qdyw + ",\"\",\"\")'>");
- //子集总数
- int ChildTotalCount = 0;
- if (dataContent != null)
- {
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "'");
- foreach (DataRow row in rows)
- {
- ChildTotalCount += int.Parse(row["总数"].ToString());
- }
- }
- StrContent.Append(ChildTotalCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- //子集
- if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
- {
- StrContent.Append(" <td>" + orderTypeModel.WorkTypeModelList[0].F_Name + "</td>");
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + orderTypeModel.WorkTypeModelList[0].F_Name + "'");
- int nodeCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + orderTypeModel.WorkTypeModelList[0].F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- foreach (DataRow nodeRow in rows)
- {
- nodeCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(nodeCount.ToString());
- StrContent.Append("</a></b></td>");
- //StrContent.Append(" </td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- }
- else
- {
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- }
- StrContent.Append(" </tr>");
- //子集
- if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
- {
- int i = 0;
- foreach (T_Wo_WorkOrderType childNode in orderTypeModel.WorkTypeModelList)
- {
- if (i > 0)
- {
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>" + childNode.F_Name + "</td>");
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + childNode.F_Name + "'");
- int nodeCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + childNode.F_WorkOrderTypeId + "\"," + Qdyw + ",\"\",\"\")'>");
- foreach (DataRow nodeRow in rows)
- {
- nodeCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(nodeCount.ToString());
- StrContent.Append("</a></b></td>");
- //StrContent.Append("</td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" </tr>");
- }
- i++;
- }
- }
- if (orderTypeModel.F_Name == "投诉")
- {
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>客服处理</td>");
- DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='客服处理'");
- int nodeCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + "3" + "\"," + Qdyw + ",\"3\",\"\")'>");
- foreach (DataRow nodeRow in rows)
- {
- nodeCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(nodeCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" </tr>");
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>转办</td>");
- DataRow[] transRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办'");
- int transCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"" + orderTypeModel.F_WorkOrderTypeId.ToString() + "\",\"" + "3" + "\"," + Qdyw + ",\"1\",\"\")'>");
- foreach (DataRow nodeRow in transRows)
- {
- transCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(transCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- StrContent.Append(" <td>回访满意</td>");
- DataRow[] manyiRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='满意'");
- int manyiRowsCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"\",\"" + "3" + "\"," + Qdyw + ",\"1\",\"1\")'>");
- foreach (DataRow nodeRow in manyiRows)
- {
- manyiRowsCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(manyiRowsCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- StrContent.Append(" </tr>");
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>回访一般</td>");
- DataRow[] yibanRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='一般'");
- int yibanRowsCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"\",\"" + "3" + "\"," + Qdyw + ",\"1\",\"2\")'>");
- foreach (DataRow nodeRow in yibanRows)
- {
- yibanRowsCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(yibanRowsCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- StrContent.Append(" </tr>");
- StrContent.Append(" <tr>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td></td>");
- StrContent.Append(" <td>回访不满意</td>");
- DataRow[] bumanyiRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='不满意'");
- int bumanyiRowsCount = 0;
- //StrContent.Append(" <td>");
- StrContent.Append(" <td><b style='color: black; cursor:pointer'><a onclick='OpenWorkOrderList(\"" + Convert.ToDateTime(startDate).ToString("yyyy-MM-dd 00:00:00") + " ~ " + Convert.ToDateTime(endDate).ToString("yyyy-MM-dd 23:59:59") + "\",\"" + tittleType + "-" + orderTypeModel.F_Name + "业务工单数\",\"\",\"" + "3" + "\"," + Qdyw + ",\"1\",\"3\")'>");
- foreach (DataRow nodeRow in bumanyiRows)
- {
- bumanyiRowsCount += int.Parse(nodeRow["总数"].ToString());
- }
- StrContent.Append(bumanyiRowsCount.ToString());
- //StrContent.Append("</td>");
- StrContent.Append("</a></b></td>");
- StrContent.Append(" </tr>");
- }
- }
-
- }
- /// <summary>
- /// 获取业务类型
- /// </summary>
- public List<Model.T_Wo_WorkOrderType> GetWorkTypeModelList()
- {
- //最终需要返回的菜单
- List<Model.T_Wo_WorkOrderType> newModelList = new List<T_Wo_WorkOrderType>();
- Model.PageData<Model.T_Wo_WorkOrderType> pageModel = new Model.PageData<Model.T_Wo_WorkOrderType>();
- BLL.T_Wo_WorkOrderType bll = new BLL.T_Wo_WorkOrderType();
- //获取业务类型列表
- List<Model.T_Wo_WorkOrderType> WorkTypeModelList = bll.GetModelList("");
- if (WorkTypeModelList != null && WorkTypeModelList.Count > 0)
- {
- //获取默认根节点
- Model.T_Wo_WorkOrderType rootNode = WorkTypeModelList.FirstOrDefault(m => m.F_ParentId == 0);
- //获取一级节点
- List<Model.T_Wo_WorkOrderType> rootModelList = WorkTypeModelList.Where(t => t.F_ParentId == rootNode.F_WorkOrderTypeId).ToList();
- if (rootModelList != null && rootModelList.Count > 0)
- {
- foreach (T_Wo_WorkOrderType WorkOrderTypeModel in rootModelList)
- {
- List<Model.T_Wo_WorkOrderType> nullModelList = new List<T_Wo_WorkOrderType>();
- WorkOrderTypeModel.WorkTypeModelList = nullModelList;
- newModelList.Add(GetWorkTypeModelChild(WorkOrderTypeModel, WorkOrderTypeModel, WorkTypeModelList));
- }
- }
- }
- return newModelList;
- }
- //获取所有子集
- public Model.T_Wo_WorkOrderType GetWorkTypeModelChild(T_Wo_WorkOrderType rootNode, T_Wo_WorkOrderType WorkOrderTypeModel, List<Model.T_Wo_WorkOrderType> WorkTypeModelList)
- {
- //获取子集节点
- List<Model.T_Wo_WorkOrderType> sonModelList = WorkTypeModelList.Where(t => t.F_ParentId == WorkOrderTypeModel.F_WorkOrderTypeId).ToList();
- if (sonModelList != null && sonModelList.Count > 0)
- {
- foreach (T_Wo_WorkOrderType workOrderTypeModel in sonModelList)
- {
- //获取子子集
- List<Model.T_Wo_WorkOrderType> childModelList = WorkTypeModelList.Where(t => t.F_ParentId == workOrderTypeModel.F_WorkOrderTypeId).ToList();
- if (childModelList != null && childModelList.Count > 0)
- {
- GetWorkTypeModelChild(rootNode, workOrderTypeModel, WorkTypeModelList);
- }
- else
- {
- rootNode.WorkTypeModelList.Add(workOrderTypeModel);
- }
- }
- }
- return rootNode;
- }
- #endregion
- #region 获取在线坐席
- /// <summary>
- /// 获取在线坐席
- /// </summary>
- /// <returns></returns>
- [ActionName("GetLoginUserInfo")]
- [HttpGet]
- public string GetLoginUserInfo()
- {
- //数据结果集
- ResponseData dataModel = new ResponseData();
- try
- {
- dataModel.code = 0;
- dataModel.data = recordBLL.GetLoginUserInfo();
- return JsonConvert.SerializeObject(dataModel);
- }
- catch (Exception ex)
- {
- dataModel.code = 200;
- dataModel.msg = ex.Message;
- return JsonConvert.SerializeObject(dataModel);
- }
- }
- #endregion
- #region 获取坐席微信/微博工单数量
- /// <summary>
- /// 获取坐席微信/微博工单数量
- /// </summary>
- /// <param name="StartDate">开始日期</param>
- /// <param name="EndDate">结束日期</param>
- /// <returns></returns>
- public int wxwbWorkOrderCount(string type, string startDate, string endDate, int wxwbtotalCount)
- {
- int totalCount = 0;
- try
- {
- StringBuilder returnStr = new StringBuilder();
- string wxAddUrl = "http://rexian.zzmetro.com/api/external/" + type;
- string paramsStr = "begin=" + startDate + "&end=" + endDate;
- string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
- WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
- if (ResultModel != null)
- {
- if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > wxwbtotalCount)
- {
- totalCount = ResultModel.service - wxwbtotalCount;
- }
- }
- }
- catch (Exception ex)
- {
- }
- return totalCount;
- }
- /// <summary>
- /// 获取坐席微信/微博工单数量
- /// </summary>
- /// <param name="StartDate">开始日期</param>
- /// <param name="EndDate">结束日期</param>
- /// <returns></returns>
- public int WorkOrderCount(int? busType, string startDate, string endDate)
- {
- int totalCount = 0;
- try
- {
- //工单数量busType=1, F_REPAIRMANID<=2是语音;busType=2, F_REPAIRMANID=3微信;busType=3, F_REPAIRMANID==4微博
- totalCount = recordBLL.WorkOrderCount(busType, startDate, endDate);
- StringBuilder returnStr = new StringBuilder();
- string wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
-
- string paramsStr = "begin=" + startDate + "&end=" + endDate;
- string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
- WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
- if (ResultModel != null)
- {
- if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
- {
- totalCount = ResultModel.service - totalCount;
- }
- }
- }
- catch(Exception ex)
- {
- }
- return totalCount;
- }
- /// <summary>
- /// 获取其他坐席微信/微博工单数量
- /// </summary>
- /// <param name="StartDate">开始日期</param>
- /// <param name="EndDate">结束日期</param>
- /// <returns></returns>
- public int WorkOrderOtherCount(int? busType, string startDate, string endDate)
- {
- int totalCount = 0;
- try
- {
- //工单数量
- int allWXCount = recordBLL.WorkOrderCount(busType, startDate, endDate);
- StringBuilder returnStr = new StringBuilder();
- string wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
- // rexian.zzmetro.com
- string paramsStr = "begin=" + startDate + "&end=" + endDate;
- string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
- WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
- if (ResultModel != null)
- {
- if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
- {
- totalCount = ResultModel.service - allWXCount - allWXCount;
- }
- }
- }
- catch(Exception ex)
- {
- }
- return totalCount;
- }
- #endregion
- #region 其他报表 流失率
- #endregion
- }
- }
|