地铁二期项目正式开始

ReportController.cs 457KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363
  1. using Newtonsoft.Json;
  2. using Newtonsoft.Json.Linq;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Web;
  9. using System.Web.Mvc;
  10. using System.Web.Script.Serialization;
  11. using YTSoft.BaseCallCenter.Model;
  12. using YTSoft.BaseCallCenter.MVCWeb.Commons;
  13. using YTSoft.BaseCallCenter.MVCWeb.Models;
  14. using YTSoft.Common;
  15. namespace YTSoft.BaseCallCenter.MVCWeb.Controllers
  16. {
  17. public class ReportController : BaseController
  18. {
  19. BLL.T_Call_CallRecords recordBLL = new BLL.T_Call_CallRecords();
  20. int rxzhj = 0;
  21. int wxzhj = 0;
  22. int wbzhj = 0;
  23. //
  24. // GET: /Report/
  25. public ActionResult Index()
  26. {
  27. return View();
  28. }
  29. //
  30. // 主页面来电类型比例分析
  31. public ActionResult IndexCenterCallPre(string type, string strdate)
  32. {
  33. string res = "0^0";
  34. int c1 = 0;//自助服务
  35. int c2 = 0;//人工服务
  36. int count = 0;//总数
  37. DataTable dt = new DataTable();
  38. Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
  39. model.PieTypeArrName = "[]";
  40. model.PieDataJson = "[]";
  41. string sql = "";
  42. try
  43. {
  44. //查询按钮
  45. if (!string.IsNullOrEmpty(strdate))
  46. {
  47. string startdate = strdate.Split('~')[0].Trim();
  48. string enddate = strdate.Split('~')[1].Trim();
  49. sql += " and F_CREATEDATE>= '" + startdate.Trim()+"'" ;
  50. sql += " and F_CREATEDATE<= '" + enddate.Trim() + "'";
  51. }
  52. dt = new YTSoft.BaseCallCenter.BLL.T_Wo_WorkOrderBase().GetList("1=1 " + sql + " order by F_WORKORDERTYPEID").Tables[0];
  53. if (dt != null)
  54. {
  55. #region
  56. count = dt.Rows.Count;
  57. c1 = dt.Select("F_WORKORDERTYPEID=1 ").Length;
  58. c2 = count - c1;
  59. model.PieTypeArrName = "['自助服务'";
  60. model.PieDataJson = "[{ value:" + c1 + ",name: '自助服务'}";
  61. model.PieTypeArrName += ",'人工服务']";
  62. model.PieDataJson += ",{value:" + c2 + ",name: '人工服务'}]";
  63. #endregion
  64. }
  65. }
  66. catch (Exception err)
  67. {
  68. }
  69. finally
  70. {
  71. dt.Clear();
  72. dt.Dispose();
  73. res = c1.ToString() + "^" + c2.ToString();
  74. }
  75. return View(model);
  76. }
  77. //
  78. // 主页面工单类型比例分析
  79. public ActionResult IndexCenterWorkOrderPre(string type, string strdate)
  80. {
  81. Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
  82. model.PieTypeArrName = "[]";
  83. model.PieDataJson = "[]";
  84. DataTable dt = new DataTable();
  85. try
  86. {
  87. string startdate = strdate.Split('~')[0].Trim();
  88. string enddate = strdate.Split('~')[1].Trim();
  89. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
  90. if (namelist != null)
  91. {
  92. dt = new BLL.T_Wo_WorkOrderBase().GetList(" F_CREATEDATE>='"+ startdate +"'"+ "and F_CREATEDATE <='"+ enddate+"'").Tables[0];
  93. string arrname = "";
  94. string arrjson = "";//{ value: 31, name: '咨询' },
  95. int i = 0;
  96. int count = 0;
  97. foreach (Model.T_Wo_WorkOrderType m in namelist)
  98. {
  99. count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  100. if (i == 0)
  101. {
  102. arrname += "'" + m.F_Name.Trim() + "'";
  103. arrjson += "{ value: " + count.ToString() + ", name: '" + m.F_Name.Trim() + "' }";
  104. }
  105. else
  106. {
  107. arrname += ",'" + m.F_Name.Trim() + "'";
  108. arrjson += ",{ value: " + count.ToString() + ", name: '" + m.F_Name.Trim() + "' }";
  109. }
  110. i++;
  111. }
  112. model.PieTypeArrName = "[" + arrname + "]";
  113. model.PieDataJson = "[" + arrjson + "]";
  114. }
  115. }
  116. catch
  117. { }
  118. finally
  119. {
  120. dt.Clear();
  121. dt.Dispose();
  122. }
  123. return View(model);
  124. }
  125. //
  126. // 主页面工单类型时间段比例分析
  127. public ActionResult IndexCenterWorkOrderTimeBar(string type, string strdate)
  128. {
  129. Models.WorkOrderPieModel model = new Models.WorkOrderPieModel();
  130. model.PieTypeArrName = "[]";
  131. model.PieDataJson = "[]";
  132. DataTable dt = new DataTable();
  133. try
  134. {
  135. string startdate = strdate.Split('~')[0].Trim();
  136. string enddate = strdate.Split('~')[1].Trim();
  137. DataTable datas = recordBLL.GetWorkOrderWeekData(startdate, enddate);
  138. if (datas != null)
  139. {
  140. for (int i = 1; i < 8; i++)
  141. {
  142. DataRow[] rowsZX = datas.Select("Weeks=" + i + " and BusinessType=" + 6);
  143. if (rowsZX != null && rowsZX.Length > 0)
  144. {
  145. model.Week1 += ",";
  146. model.Week1 += rowsZX[0]["callInCount"];
  147. }
  148. else
  149. {
  150. model.Week1 += ",";
  151. model.Week1 += 0;
  152. }
  153. DataRow[] rowsBY = datas.Select("Weeks=" + i + " and BusinessType=" + 18);
  154. if (rowsBY != null && rowsBY.Length > 0)
  155. {
  156. model.Week2 += ",";
  157. model.Week2 += rowsBY[0]["callInCount"];
  158. }
  159. else
  160. {
  161. model.Week2 += ",";
  162. model.Week2 += 0;
  163. }
  164. DataRow[] rowsGS = datas.Select("Weeks=" + i + " and BusinessType=" + 19);
  165. if (rowsGS != null && rowsGS.Length > 0)
  166. {
  167. model.Week3 += ",";
  168. model.Week3 += rowsGS[0]["callInCount"];
  169. }
  170. else
  171. {
  172. model.Week3 += ",";
  173. model.Week3 += 0;
  174. }
  175. DataRow[] rowsJY = datas.Select("Weeks=" + i + " and BusinessType=" + 14);
  176. if (rowsJY != null && rowsJY.Length > 0)
  177. {
  178. model.Week4 += ",";
  179. model.Week4 += rowsJY[0]["callInCount"];
  180. }
  181. else
  182. {
  183. model.Week4 += ",";
  184. model.Week4 += 0;
  185. }
  186. DataRow[] rowsTS = datas.Select("Weeks=" + i + " and BusinessType=" + 3);
  187. if (rowsTS != null && rowsTS.Length > 0)
  188. {
  189. model.Week5 += ",";
  190. model.Week5 += rowsTS[0]["callInCount"];
  191. }
  192. else
  193. {
  194. model.Week5 += ",";
  195. model.Week5 += 0;
  196. }
  197. }
  198. model.Week1 = model.Week1.Trim(',');
  199. model.Week2 = model.Week2.Trim(',');
  200. model.Week3 = model.Week3.Trim(',');
  201. model.Week4 = model.Week4.Trim(',');
  202. model.Week5 = model.Week5.Trim(',');
  203. }
  204. }
  205. catch
  206. { }
  207. finally
  208. {
  209. dt.Clear();
  210. dt.Dispose();
  211. }
  212. return View(model);
  213. }
  214. #region 来电时间分布图
  215. public ActionResult CallInMatch()
  216. {
  217. WorkOrderMyModel model = new WorkOrderMyModel();
  218. return View(model);
  219. }
  220. /// <summary>
  221. /// 获取曲线数据信息
  222. /// </summary>
  223. /// <param name="page">当前页码</param>
  224. /// <param name="limit">每页数据量</param>
  225. /// <param name="sqlWhere">查询条件</param>
  226. /// <returns></returns>
  227. [ActionName("GetdTypeData")]
  228. [HttpGet]
  229. public string GetdTypeData(DateTime? NowDateTime, int? busType, string dType, string dateParty)
  230. {
  231. //数据结果集
  232. ResponseData dataModel = new ResponseData();
  233. try
  234. {
  235. string startDate = "";
  236. string endDate = "";
  237. if (!string.IsNullOrEmpty(dateParty))
  238. {
  239. startDate = dateParty.Substring(0, 10);
  240. endDate = dateParty.Substring(12);
  241. }
  242. else
  243. {
  244. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  245. }
  246. dataModel.code = 0;
  247. dataModel.data = recordBLL.GetdTypeData(dType, busType, startDate, endDate);
  248. return JsonConvert.SerializeObject(dataModel);
  249. }
  250. catch (Exception ex)
  251. {
  252. dataModel.code = 200;
  253. dataModel.msg = ex.Message;
  254. return JsonConvert.SerializeObject(dataModel);
  255. }
  256. }
  257. /// <summary>
  258. /// 获取工单信息
  259. /// </summary>
  260. /// <param name="page">当前页码</param>
  261. /// <param name="limit">每页数据量</param>
  262. /// <param name="sqlWhere">查询条件</param>
  263. /// <returns></returns>
  264. [ActionName("CallInMatchData")]
  265. [HttpGet]
  266. public string CallInMatchData(DateTime? NowDateTime, string dateParty)
  267. { //数据结果集
  268. ResponseData dataModel = new ResponseData();
  269. try
  270. {
  271. string startDate = "";
  272. string endDate = "";
  273. if (!string.IsNullOrEmpty(dateParty))
  274. {
  275. startDate = dateParty.Substring(0, 10);
  276. endDate = dateParty.Substring(12);
  277. }
  278. else
  279. {
  280. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  281. }
  282. dataModel.code = 0;
  283. dataModel.data = recordBLL.GetHourData(startDate, endDate);
  284. return JsonConvert.SerializeObject(dataModel);
  285. }
  286. catch (Exception ex)
  287. {
  288. dataModel.code = 200;
  289. dataModel.msg = ex.Message;
  290. return JsonConvert.SerializeObject(dataModel);
  291. }
  292. }
  293. /// <summary>
  294. /// 获取工单信息
  295. /// </summary>
  296. /// <param name="page">当前页码</param>
  297. /// <param name="limit">每页数据量</param>
  298. /// <param name="sqlWhere">查询条件</param>
  299. /// <returns></returns>
  300. [ActionName("CallInMatchDataList")]
  301. [HttpGet]
  302. public string CallInMatchDataList(DateTime? NowDateTime, int page, int limit,
  303. string dateParty, string CallHour,string linkman,string calltype,string ywtype)
  304. { //数据结果集
  305. ResponseData dataModel = new ResponseData();
  306. try
  307. {
  308. string startDate = "";
  309. string endDate = "";
  310. string sql = " ";
  311. if (!string.IsNullOrEmpty(dateParty))
  312. {
  313. startDate = dateParty.Substring(0, 10);
  314. endDate = dateParty.Substring(12);
  315. }
  316. else
  317. {
  318. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  319. }
  320. if (startDate.Trim()== endDate.Trim()) {
  321. sql += " and BeginTime>= '" + startDate + " 00:00:00'";
  322. sql += " and BeginTime<= '" + endDate + " 23:59:59'";
  323. }
  324. else {
  325. sql += " and BeginTime>= '" + startDate + "'";
  326. sql += " and BeginTime<= '" + endDate + "'";
  327. }
  328. if (!String.IsNullOrEmpty (CallHour))
  329. {
  330. sql += "and CallType=0 and DATEPART(HH, BeginTime)=" + CallHour;
  331. }
  332. //坐席工号
  333. if (!String.IsNullOrEmpty(linkman))
  334. {
  335. sql += "and UserCode=" + linkman;
  336. }
  337. //呼叫方向,1呼出0呼入calltype
  338. switch (calltype)
  339. {
  340. case "0":sql = sql + "and CallType=0";break;
  341. case "1": sql = sql + "and CallType=1"; break;
  342. default: break;
  343. }
  344. switch (Server.UrlDecode( ywtype))
  345. {
  346. case "1": sql = sql + " and CallType=0 and BusinessType=1"; break;//咨询
  347. case "2": sql = sql + " and CallType=0 and BusinessType=2"; break;//建议
  348. case "3": sql = sql + " and CallType=0 and BusinessType=3"; break;//表扬
  349. case "4": sql = sql + " and CallType=0 and BusinessType=4"; break;//挂失
  350. case "9": sql = sql + " and CallType=0 and BusinessType=9"; break;//投诉
  351. 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;//放弃排队
  352. default: break;
  353. //case "1": sql = sql + " and CallType=0 and F_ServiceType=1"; break;//咨询
  354. //case "2": sql = sql + " and CallType=0 and F_ServiceType=2"; break;//投诉
  355. //case "3": sql = sql + " and CallType=0 and F_ServiceType=3"; break;//建议
  356. //case "4": sql = sql + " and CallType=0 and F_ServiceType=4"; break;//表扬
  357. //case "5": sql = sql + " and CallType=0 and F_ServiceType=5"; break;//挂失
  358. //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;//放弃排队
  359. //default: break;
  360. }
  361. DataTable dt = new DataTable();
  362. int recordCount = 0;
  363. Model.PageData<Model.T_Call_CallRecords> pageModel = new Model.PageData<Model.T_Call_CallRecords>();
  364. dt = BLL.PagerBLL.GetListPager(
  365. "T_Call_CallRecords",
  366. "CallId",
  367. " *,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"+
  368. @",(select top 1 F_ScaleResume from T_Cus_CustomerBase n where CallNumber=n.F_Telephone) as F_ScaleResume
  369. ,case
  370. when BusinessType=1 then '咨询'
  371. when BusinessType=2 then '建议'
  372. when BusinessType=3 then '表扬'
  373. when BusinessType=4 then '挂失'
  374. when BusinessType=9 then '投诉'
  375. when F_ServiceType=1 then '咨询'
  376. when F_ServiceType = 2 then '投诉'
  377. when F_ServiceType = 3 then '建议'
  378. when F_ServiceType = 4 then '表扬'
  379. when F_ServiceType = 5 then '挂失'
  380. else '' end as
  381. BType, case when (isnull(BusinessType,0)>0 or isnull(F_ServiceType,0)>0) then '人工服务' else '' end as ywtype ",
  382. sql,
  383. "ORDER BY CallId desc",
  384. limit,
  385. page,
  386. true,
  387. out recordCount);
  388. dataModel.code = 0;
  389. //dataModel.data = recordBLL.GetHourDataList(CallHour,startDate, endDate);
  390. dataModel.count = recordCount;
  391. dataModel.data = dt;
  392. return JsonConvert.SerializeObject(dataModel);
  393. }
  394. catch (Exception ex)
  395. {
  396. dataModel.code = 200;
  397. dataModel.msg = ex.Message;
  398. return JsonConvert.SerializeObject(dataModel);
  399. }
  400. }
  401. /// <summary>
  402. /// 图标数据
  403. /// </summary>
  404. /// <param name="page">当前页码</param>
  405. /// <param name="limit">每页数据量</param>
  406. /// <param name="sqlWhere">查询条件</param>
  407. /// <returns></returns>
  408. public string CallInMatchChartData(DateTime? NowDateTime, string dateParty)
  409. {
  410. //数据结果集
  411. MainChartModel dataModel = new MainChartModel();
  412. string startDate = "";
  413. string endDate = "";
  414. if (!string.IsNullOrEmpty(dateParty))
  415. {
  416. startDate = dateParty.Substring(0, 10);
  417. endDate = dateParty.Substring(12);
  418. }
  419. else
  420. {
  421. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  422. }
  423. DataTable table = recordBLL.GetHourData(startDate, endDate);
  424. //拼接数据
  425. if (table != null && table.Rows.Count > 0)
  426. {
  427. int[] strArr = new int[24];
  428. int[] intArr = new int[24];
  429. for (int i = 0; i < 24; i++)
  430. {
  431. strArr[i] = i;
  432. DataRow[] row = table.Select("CallHour=" + i);
  433. if (row != null && row.Length > 0)
  434. {
  435. intArr[i] = (int)row[0]["callInCount"];
  436. }
  437. else
  438. {
  439. intArr[i] = 0;
  440. }
  441. }
  442. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  443. dataModel.datas = JsonConvert.SerializeObject(intArr);
  444. }
  445. return JsonConvert.SerializeObject(dataModel);
  446. }
  447. #endregion
  448. #region 咨询业务类型分布图
  449. public ActionResult zxywtype()
  450. {
  451. WorkOrderMyModel model = new WorkOrderMyModel();
  452. return View(model);
  453. }
  454. // 咨询业务比例分析
  455. /// <summary>
  456. /// 获取工单信息
  457. /// </summary>
  458. /// <param name="page">当前页码</param>
  459. /// <param name="limit">每页数据量</param>
  460. /// <param name="sqlWhere">查询条件</param>
  461. /// <returns></returns>
  462. [ActionName("zxywtypeWorkOrderPreData")]
  463. [HttpGet]
  464. public string zxywtypeWorkOrderPreData(DateTime? NowDateTime, string dateParty)
  465. {
  466. //数据结果集
  467. ResponseData dataModel = new ResponseData();
  468. DataTable dt = new DataTable();
  469. int counthj = 0;
  470. try
  471. {
  472. string startDate = "";
  473. string endDate = "";
  474. if (!string.IsNullOrEmpty(dateParty))
  475. {
  476. //startDate = dateParty.Substring(0, 10);
  477. //endDate = dateParty.Substring(12);
  478. startDate = dateParty.Split('~')[0].Trim();
  479. endDate = dateParty.Split('~')[1].Trim();
  480. }
  481. else
  482. {
  483. startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
  484. endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
  485. }
  486. DataTable newTable = new DataTable();
  487. newTable.Columns.Add("TypeID");
  488. newTable.Columns.Add("业务类型");
  489. newTable.Columns.Add("工单数量");
  490. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
  491. if (namelist != null)
  492. {
  493. dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='"+ startDate + "'and F_CREATEDATE<='"+ endDate+ "' and F_FILEFLAG=6").Tables[0];
  494. int i = 0;
  495. int count = 0;
  496. DataRow dataRow;
  497. foreach (Model.T_Wo_WorkOrderType m in namelist)
  498. {
  499. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  500. dataRow = newTable.NewRow();
  501. dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
  502. dataRow["业务类型"] = m.F_Name.Trim();
  503. dataRow["工单数量"] = count.ToString();
  504. newTable.Rows.Add(dataRow);
  505. counthj = counthj + count;
  506. i++;
  507. }
  508. dataRow = newTable.NewRow();
  509. dataRow["TypeID"] = "";
  510. dataRow["业务类型"] = "总合计";
  511. dataRow["工单数量"] = counthj.ToString();
  512. newTable.Rows.Add(dataRow);
  513. }
  514. dataModel.code = 0;
  515. dataModel.data = newTable;
  516. dataModel.count = counthj;
  517. }
  518. catch (Exception ex)
  519. {
  520. dataModel.code = 200;
  521. dataModel.msg = ex.Message;
  522. }
  523. finally
  524. {
  525. dt.Clear();
  526. dt.Dispose();
  527. }
  528. return JsonConvert.SerializeObject(dataModel);
  529. }
  530. public string zxywtypeWorkOrderPre(DateTime? NowDateTime, string dateParty)
  531. {
  532. //数据结果集
  533. MainChartModel dataModel = new MainChartModel();
  534. string startDate = "";
  535. string endDate = "";
  536. DataTable dt = new DataTable();
  537. try
  538. {
  539. if (!string.IsNullOrEmpty(dateParty))
  540. {
  541. //startDate = dateParty.Substring(0, 10);
  542. //endDate = dateParty.Substring(12);
  543. startDate = dateParty.Split('~')[0].Trim();
  544. endDate = dateParty.Split('~')[1].Trim();
  545. }
  546. else
  547. {
  548. startDate = DateTime.Now.ToString("yyyy-MM-dd")+" 00:00:00";
  549. endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
  550. }
  551. DataTable newTable = new DataTable();
  552. newTable.Columns.Add("业务类型");
  553. newTable.Columns.Add("工单数量");
  554. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
  555. if (namelist != null)
  556. {
  557. dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate+ "' and F_FILEFLAG=6").Tables[0];
  558. //dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  559. int i = 0;
  560. int count = 0;
  561. DataRow dataRow;
  562. foreach (Model.T_Wo_WorkOrderType m in namelist)
  563. {
  564. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  565. dataRow = newTable.NewRow();
  566. dataRow["业务类型"] = m.F_Name.Trim();
  567. dataRow["工单数量"] = count.ToString();
  568. newTable.Rows.Add(dataRow);
  569. i++;
  570. }
  571. }
  572. if (newTable != null && newTable.Rows.Count > 0)
  573. {
  574. string[] strArr = new string[newTable.Rows.Count];
  575. string contentArr = "";
  576. for (int i = 0; i < newTable.Rows.Count; i++)
  577. {
  578. strArr[i] = newTable.Rows[i]["业务类型"].ToString();
  579. if (i == 0)
  580. {
  581. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  582. }
  583. else
  584. {
  585. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  586. }
  587. }
  588. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  589. dataModel.datas = "[" + contentArr + "]";
  590. }
  591. }
  592. catch (Exception ex) { LogHelper.Default.WriteError(ex.Message, ex); }
  593. finally { dt.Clear();dt.Dispose(); }
  594. return JsonConvert.SerializeObject(dataModel);
  595. }
  596. #endregion
  597. #region 业务类型分布图
  598. public ActionResult YwTypeReport()
  599. {
  600. CallScreenModel callScreenModel = new CallScreenModel();
  601. //业务类型字典表
  602. callScreenModel.WorkOrderTypeModelList = GetWorkTypeModelList();
  603. return View(callScreenModel);
  604. }
  605. // 业务比例分析
  606. /// <summary>
  607. /// 获取工单信息
  608. /// </summary>
  609. /// <param name="page">当前页码</param>
  610. /// <param name="limit">每页数据量</param>
  611. /// <param name="sqlWhere">查询条件</param>
  612. /// <returns></returns>
  613. [ActionName("ywtypeWorkOrderPreData")]
  614. [HttpGet]
  615. public string ywtypeWorkOrderPreData(DateTime? NowDateTime, string dateParty,string bussType,string bussDetail)
  616. {
  617. //数据结果集
  618. ResponseData dataModel = new ResponseData();
  619. DataTable dt = new DataTable();
  620. int counthj = 0;
  621. try
  622. {
  623. string startDate = "";
  624. string endDate = "";
  625. if (!string.IsNullOrEmpty(dateParty))
  626. {
  627. //startDate = dateParty.Substring(0, 10);
  628. //endDate = dateParty.Substring(12);
  629. startDate = dateParty.Split('~')[0].Trim();
  630. endDate = dateParty.Split('~')[1].Trim();
  631. }
  632. else
  633. {
  634. startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
  635. endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
  636. }
  637. DataTable newTable = new DataTable();
  638. newTable.Columns.Add("TypeID");
  639. newTable.Columns.Add("业务类型");
  640. newTable.Columns.Add("工单数量");
  641. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
  642. if (bussType == "" || bussType ==null)
  643. {
  644. if (namelist != null)
  645. {
  646. dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  647. int j = dt.Rows.Count;
  648. int i = 0;
  649. int count = 0;
  650. DataRow dataRow;
  651. foreach (Model.T_Wo_WorkOrderType m in namelist)
  652. {
  653. count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  654. dataRow = newTable.NewRow();
  655. dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
  656. dataRow["业务类型"] = m.F_Name.Trim();
  657. dataRow["工单数量"] = count.ToString();
  658. newTable.Rows.Add(dataRow);
  659. counthj = counthj + count;
  660. i++;
  661. }
  662. //热线业务工单数
  663. dataRow = newTable.NewRow();
  664. dataRow["TypeID"] = 0;
  665. dataRow["业务类型"] = "热线系统工单数合计";
  666. dataRow["工单数量"] = counthj.ToString();
  667. newTable.Rows.Add(dataRow);
  668. //微信业务工单数
  669. string startDate1 = startDate.Substring(0, 10);
  670. string endDate1 = endDate.Substring(0, 10);
  671. dataRow = newTable.NewRow();
  672. dataRow["TypeID"] = "0";
  673. dataRow["业务类型"] = "微信系统工单数合计";
  674. int wxCount = WXWorkOrderCount(3, startDate1, endDate1);
  675. dataRow["工单数量"] = wxCount;
  676. newTable.Rows.Add(dataRow);
  677. //微博业务工单数
  678. dataRow = newTable.NewRow();
  679. dataRow["TypeID"] = "0";
  680. dataRow["业务类型"] = "微博系统工单数合计";
  681. int wbCount = WXWorkOrderCount(4, startDate1, endDate1);
  682. dataRow["工单数量"] = wbCount;
  683. //总合计
  684. newTable.Rows.Add(dataRow);
  685. dataRow = newTable.NewRow();
  686. dataRow["TypeID"] = "0";
  687. dataRow["业务类型"] = "总合计";
  688. dataRow["工单数量"] = (counthj + wxCount+ wbCount).ToString();
  689. newTable.Rows.Add(dataRow);
  690. }
  691. }
  692. else {
  693. if (bussType=="3")
  694. {
  695. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId in (4,17) " );
  696. }
  697. else {
  698. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId= "+ bussType);
  699. }
  700. if (namelist.Count==0)
  701. {
  702. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_WorkOrderTypeId= " + bussType);
  703. }
  704. if (namelist != null)
  705. {
  706. dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  707. int j = dt.Rows.Count;
  708. int i = 0;
  709. int count = 0;
  710. DataRow dataRow;
  711. foreach (Model.T_Wo_WorkOrderType m in namelist)
  712. {
  713. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + " and F_FILEFLAG=" + bussType).Length;
  714. dataRow = newTable.NewRow();
  715. dataRow["TypeID"] = m.F_WorkOrderTypeId.ToString();
  716. dataRow["业务类型"] = m.F_Name.Trim();
  717. dataRow["工单数量"] = count.ToString();
  718. newTable.Rows.Add(dataRow);
  719. counthj = counthj + count;
  720. i++;
  721. }
  722. dataRow = newTable.NewRow();
  723. dataRow["TypeID"] = "0";
  724. dataRow["业务类型"] = "总合计";
  725. dataRow["工单数量"] = counthj.ToString();
  726. newTable.Rows.Add(dataRow);
  727. }
  728. }
  729. dataModel.code = 0;
  730. dataModel.data = newTable;
  731. dataModel.count = counthj;
  732. }
  733. catch (Exception ex)
  734. {
  735. dataModel.code = 200;
  736. dataModel.msg = ex.Message;
  737. }
  738. finally
  739. {
  740. dt.Clear();
  741. dt.Dispose();
  742. }
  743. return JsonConvert.SerializeObject(dataModel);
  744. }
  745. public string ywtypeWorkOrderPre(DateTime? NowDateTime, string dateParty, string bussType, string bussDetail)
  746. {
  747. //数据结果集
  748. MainChartModel dataModel = new MainChartModel();
  749. string startDate = "";
  750. string endDate = "";
  751. DataTable dt = new DataTable();
  752. try
  753. {
  754. if (!string.IsNullOrEmpty(dateParty))
  755. {
  756. //startDate = dateParty.Substring(0, 10);
  757. //endDate = dateParty.Substring(12);
  758. startDate = dateParty.Split('~')[0].Trim();
  759. endDate = dateParty.Split('~')[1].Trim();
  760. }
  761. else
  762. {
  763. startDate = DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00";
  764. endDate = DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59";
  765. }
  766. DataTable newTable = new DataTable();
  767. newTable.Columns.Add("业务类型");
  768. newTable.Columns.Add("工单数量");
  769. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=1 ");
  770. if (bussType == "" || bussType == null)
  771. {
  772. if (namelist != null)
  773. {
  774. dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  775. int j = dt.Rows.Count;
  776. int i = 0;
  777. int count = 0;
  778. DataRow dataRow;
  779. foreach (Model.T_Wo_WorkOrderType m in namelist)
  780. {
  781. count = dt.Select("F_FILEFLAG=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  782. dataRow = newTable.NewRow();
  783. dataRow["业务类型"] = m.F_Name.Trim();
  784. dataRow["工单数量"] = count.ToString();
  785. newTable.Rows.Add(dataRow);
  786. i++;
  787. }
  788. }
  789. }
  790. else
  791. {
  792. if (bussType == "3")
  793. {
  794. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId in (4,17) ");
  795. }
  796. else
  797. {
  798. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId= " + bussType);
  799. }
  800. if (namelist.Count == 0)
  801. {
  802. namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_WorkOrderTypeId= " + bussType);
  803. }
  804. if (namelist != null)
  805. {
  806. dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  807. int i = 0;
  808. int count = 0;
  809. DataRow dataRow;
  810. foreach (Model.T_Wo_WorkOrderType m in namelist)
  811. {
  812. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + " and F_FILEFLAG=" + bussType).Length;
  813. dataRow = newTable.NewRow();
  814. dataRow["业务类型"] = m.F_Name.Trim();
  815. dataRow["工单数量"] = count.ToString();
  816. newTable.Rows.Add(dataRow);
  817. i++;
  818. }
  819. }
  820. }
  821. if (newTable != null && newTable.Rows.Count > 0)
  822. {
  823. string[] strArr = new string[newTable.Rows.Count];
  824. string contentArr = "";
  825. for (int i = 0; i < newTable.Rows.Count; i++)
  826. {
  827. strArr[i] = newTable.Rows[i]["业务类型"].ToString();
  828. if (i == 0)
  829. {
  830. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  831. }
  832. else
  833. {
  834. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  835. }
  836. }
  837. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  838. dataModel.datas = "[" + contentArr + "]";
  839. }
  840. }
  841. catch (Exception ex) { }
  842. finally { dt.Clear(); dt.Dispose(); }
  843. return JsonConvert.SerializeObject(dataModel);
  844. }
  845. /// 获取 微信/微博接口数量--放置咨询类
  846. /// </summary>
  847. /// <param name="StartDate">开始日期</param>
  848. /// <param name="EndDate">结束日期</param>
  849. /// <returns></returns>
  850. public int WXWorkOrderCount(int? busType, string startDate, string endDate)
  851. {
  852. int totalCount = 0;
  853. string wxAddUrl = "";
  854. try
  855. {
  856. StringBuilder returnStr = new StringBuilder();
  857. if (busType==4)
  858. {
  859. wxAddUrl = "http://rexian.zzmetro.com/api/external/wbcount";
  860. }
  861. else {
  862. wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
  863. }
  864. string paramsStr = "begin=" + startDate + "&end=" + endDate;
  865. string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
  866. WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
  867. if (ResultModel != null)
  868. {
  869. if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
  870. {
  871. totalCount = ResultModel.service - totalCount;
  872. }
  873. }
  874. }
  875. catch (Exception ex)
  876. {
  877. }
  878. return totalCount;
  879. }
  880. #endregion
  881. #region 来电类型分布图
  882. public ActionResult CallInTypeMath()
  883. {
  884. WorkOrderMyModel model = new WorkOrderMyModel();
  885. return View(model);
  886. }
  887. /// <summary>
  888. /// 获取工单信息
  889. /// </summary>
  890. /// <param name="page">当前页码</param>
  891. /// <param name="limit">每页数据量</param>
  892. /// <param name="sqlWhere">查询条件</param>
  893. /// <returns></returns>
  894. [ActionName("CallInTypeMatchData")]
  895. [HttpGet]
  896. public string CallInTypeMatchData(DateTime? NowDateTime, string dateParty)
  897. {
  898. //数据结果集
  899. ResponseData dataModel = new ResponseData();
  900. string startDate = "";
  901. string endDate = "";
  902. if (!string.IsNullOrEmpty(dateParty))
  903. {
  904. startDate = dateParty.Substring(0, 10);
  905. endDate = dateParty.Substring(12);
  906. }
  907. else
  908. {
  909. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  910. }
  911. DataTable datas = recordBLL.GetBussTypeData(startDate, endDate);
  912. DataTable newTable = new DataTable();
  913. newTable.Columns.Add("来电类型");
  914. newTable.Columns.Add("来电次数");
  915. if (datas != null && datas.Rows.Count > 0)
  916. {
  917. DataRow dataRow;
  918. int otherCount = 0;
  919. foreach (DataRow thisRow in datas.Rows)
  920. {
  921. if (thisRow["BusinessType"].ToString() == "1")
  922. {
  923. dataRow = newTable.NewRow();
  924. dataRow["来电类型"] = "咨询";
  925. dataRow["来电次数"] = thisRow["callInCount"];
  926. newTable.Rows.Add(dataRow);
  927. }
  928. else if ((thisRow["BusinessType"].ToString() == "2"))
  929. {
  930. dataRow = newTable.NewRow();
  931. dataRow["来电类型"] = "建议";
  932. dataRow["来电次数"] = thisRow["callInCount"];
  933. newTable.Rows.Add(dataRow);
  934. }
  935. else if ((thisRow["BusinessType"].ToString() == "3"))
  936. {
  937. dataRow = newTable.NewRow();
  938. dataRow["来电类型"] = "表扬";
  939. dataRow["来电次数"] = thisRow["callInCount"];
  940. newTable.Rows.Add(dataRow);
  941. }
  942. else if ((thisRow["BusinessType"].ToString() == "4"))
  943. {
  944. dataRow = newTable.NewRow();
  945. dataRow["来电类型"] = "挂失";
  946. dataRow["来电次数"] = thisRow["callInCount"];
  947. newTable.Rows.Add(dataRow);
  948. }
  949. else if ((thisRow["BusinessType"].ToString() == "9"))
  950. {
  951. dataRow = newTable.NewRow();
  952. dataRow["来电类型"] = "投诉";
  953. dataRow["来电次数"] = thisRow["callInCount"];
  954. newTable.Rows.Add(dataRow);
  955. }
  956. else
  957. {
  958. if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
  959. {
  960. otherCount += int.Parse(thisRow["callInCount"].ToString());
  961. }
  962. }
  963. }
  964. dataRow = newTable.NewRow();
  965. dataRow["来电类型"] = "放弃排队";
  966. dataRow["来电次数"] = otherCount;
  967. newTable.Rows.Add(dataRow);
  968. }
  969. dataModel.code = 0;
  970. dataModel.data = newTable;
  971. return JsonConvert.SerializeObject(dataModel);
  972. }
  973. /// <summary>
  974. /// 图标数据
  975. /// </summary>
  976. /// <param name="page">当前页码</param>
  977. /// <param name="limit">每页数据量</param>
  978. /// <param name="sqlWhere">查询条件</param>
  979. /// <returns></returns>
  980. public string CallInTypeMatchChartData(DateTime? NowDateTime, string dateParty)
  981. {
  982. //数据结果集
  983. MainChartModel dataModel = new MainChartModel();
  984. string startDate = "";
  985. string endDate = "";
  986. if (!string.IsNullOrEmpty(dateParty))
  987. {
  988. startDate = dateParty.Substring(0, 10);
  989. endDate = dateParty.Substring(12);
  990. }
  991. else
  992. {
  993. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  994. }
  995. DataTable datas = recordBLL.GetBussTypeData(startDate, endDate);
  996. DataTable newTable = new DataTable();
  997. newTable.Columns.Add("来电类型");
  998. newTable.Columns.Add("来电次数");
  999. if (datas != null && datas.Rows.Count > 0)
  1000. {
  1001. DataRow dataRow;
  1002. int otherCount = 0;
  1003. foreach (DataRow thisRow in datas.Rows)
  1004. {
  1005. if (thisRow["BusinessType"].ToString() == "1")
  1006. {
  1007. dataRow = newTable.NewRow();
  1008. dataRow["来电类型"] = "咨询";
  1009. dataRow["来电次数"] = thisRow["callInCount"];
  1010. newTable.Rows.Add(dataRow);
  1011. }
  1012. else if ((thisRow["BusinessType"].ToString() == "2"))
  1013. {
  1014. dataRow = newTable.NewRow();
  1015. dataRow["来电类型"] = "建议";
  1016. dataRow["来电次数"] = thisRow["callInCount"];
  1017. newTable.Rows.Add(dataRow);
  1018. }
  1019. else if ((thisRow["BusinessType"].ToString() == "3"))
  1020. {
  1021. dataRow = newTable.NewRow();
  1022. dataRow["来电类型"] = "表扬";
  1023. dataRow["来电次数"] = thisRow["callInCount"];
  1024. newTable.Rows.Add(dataRow);
  1025. }
  1026. else if ((thisRow["BusinessType"].ToString() == "4"))
  1027. {
  1028. dataRow = newTable.NewRow();
  1029. dataRow["来电类型"] = "挂失";
  1030. dataRow["来电次数"] = thisRow["callInCount"];
  1031. newTable.Rows.Add(dataRow);
  1032. }
  1033. else if ((thisRow["BusinessType"].ToString() == "9"))
  1034. {
  1035. dataRow = newTable.NewRow();
  1036. dataRow["来电类型"] = "投诉";
  1037. dataRow["来电次数"] = thisRow["callInCount"];
  1038. newTable.Rows.Add(dataRow);
  1039. }
  1040. else
  1041. {
  1042. if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
  1043. {
  1044. otherCount += int.Parse(thisRow["callInCount"].ToString());
  1045. }
  1046. }
  1047. }
  1048. dataRow = newTable.NewRow();
  1049. dataRow["来电类型"] = "放弃排队";
  1050. dataRow["来电次数"] = otherCount;
  1051. newTable.Rows.Add(dataRow);
  1052. }
  1053. if (newTable != null && newTable.Rows.Count > 0)
  1054. {
  1055. string[] strArr = new string[newTable.Rows.Count];
  1056. string contentArr = "";
  1057. for (int i = 0; i < newTable.Rows.Count; i++)
  1058. {
  1059. strArr[i] = newTable.Rows[i]["来电类型"].ToString();
  1060. if (i == 0)
  1061. {
  1062. contentArr += " { value: " + newTable.Rows[i]["来电次数"].ToString() + ", name: '" + newTable.Rows[i]["来电类型"].ToString() + "' }";
  1063. }
  1064. else
  1065. {
  1066. contentArr += " ,{ value: " + newTable.Rows[i]["来电次数"].ToString() + ", name: '" + newTable.Rows[i]["来电类型"].ToString() + "' }";
  1067. }
  1068. }
  1069. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  1070. dataModel.datas = "[" + contentArr + "]";
  1071. }
  1072. return JsonConvert.SerializeObject(dataModel);
  1073. }
  1074. #endregion
  1075. #region 工单类型分布图 接口数据
  1076. public ActionResult WorkOrderTypeMath()
  1077. {
  1078. WorkOrderMyModel model = new WorkOrderMyModel();
  1079. return View(model);
  1080. }
  1081. /// <summary>
  1082. /// 获取工单信息
  1083. /// </summary>
  1084. /// <param name="page">当前页码</param>
  1085. /// <param name="limit">每页数据量</param>
  1086. /// <param name="sqlWhere">查询条件</param>
  1087. /// <returns></returns>
  1088. [ActionName("WorkOrderTypeMathData")]
  1089. [HttpGet]
  1090. public string WorkOrderTypeMathData(DateTime? NowDateTime, string dateParty)
  1091. {
  1092. //数据结果集
  1093. ResponseData dataModel = new ResponseData();
  1094. try
  1095. {
  1096. string startDate = "";
  1097. string endDate = "";
  1098. int zhjcount = 0;
  1099. if (!string.IsNullOrEmpty(dateParty))
  1100. {
  1101. startDate = dateParty.Substring(0, 10);
  1102. endDate = dateParty.Substring(12);
  1103. }
  1104. else
  1105. {
  1106. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  1107. }
  1108. DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
  1109. DataTable newTable = new DataTable();
  1110. newTable.Columns.Add("TypeID");
  1111. newTable.Columns.Add("业务类型");
  1112. newTable.Columns.Add("工单数量");
  1113. DataRow dataRow;
  1114. if (datas != null && datas.Rows.Count > 0)
  1115. {
  1116. foreach (DataRow thisRow in datas.Rows)
  1117. {
  1118. if (thisRow["BusinessType"].ToString() == "6")
  1119. {
  1120. dataRow = newTable.NewRow();
  1121. dataRow["TypeID"] = "6";
  1122. dataRow["业务类型"] = "咨询";
  1123. int totalCount = 0;
  1124. string getCount = thisRow["callInCount"].ToString();
  1125. if (!string.IsNullOrEmpty(getCount))
  1126. {
  1127. totalCount = int.Parse(getCount);
  1128. }
  1129. dataRow["工单数量"] = totalCount;
  1130. newTable.Rows.Add(dataRow);
  1131. zhjcount = zhjcount + totalCount;
  1132. }
  1133. else if ((thisRow["BusinessType"].ToString() == "14"))
  1134. {
  1135. dataRow = newTable.NewRow();
  1136. dataRow["TypeID"] = "14";
  1137. dataRow["业务类型"] = "建议";
  1138. dataRow["工单数量"] = thisRow["callInCount"];
  1139. zhjcount = zhjcount +Convert.ToInt32( thisRow["callInCount"].ToString());
  1140. newTable.Rows.Add(dataRow);
  1141. }
  1142. else if ((thisRow["BusinessType"].ToString() == "18"))
  1143. {
  1144. dataRow = newTable.NewRow();
  1145. dataRow["TypeID"] = "18";
  1146. dataRow["业务类型"] = "表扬";
  1147. dataRow["工单数量"] = thisRow["callInCount"];
  1148. zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
  1149. newTable.Rows.Add(dataRow);
  1150. }
  1151. else if ((thisRow["BusinessType"].ToString() == "19"))
  1152. {
  1153. dataRow = newTable.NewRow();
  1154. dataRow["TypeID"] = "19";
  1155. dataRow["业务类型"] = "挂失";
  1156. dataRow["工单数量"] = thisRow["callInCount"];
  1157. zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
  1158. newTable.Rows.Add(dataRow);
  1159. }
  1160. else if ((thisRow["BusinessType"].ToString() == "3"))
  1161. {
  1162. dataRow = newTable.NewRow();
  1163. dataRow["TypeID"] = "3";
  1164. dataRow["业务类型"] = "投诉";
  1165. dataRow["工单数量"] = thisRow["callInCount"];
  1166. zhjcount = zhjcount + Convert.ToInt32(thisRow["callInCount"].ToString());
  1167. newTable.Rows.Add(dataRow);
  1168. }
  1169. }
  1170. }
  1171. #region 合计
  1172. //热线系统
  1173. dataRow = newTable.NewRow();
  1174. dataRow["TypeID"] = "0";
  1175. dataRow["业务类型"] = "热线系统合计";
  1176. dataRow["工单数量"] = zhjcount;
  1177. newTable.Rows.Add(dataRow);
  1178. //微信
  1179. int wxCount = WXWorkOrderCount(3, startDate, endDate);
  1180. dataRow = newTable.NewRow();
  1181. dataRow["TypeID"] = "0";
  1182. dataRow["业务类型"] = "微信业务数";
  1183. dataRow["工单数量"] = wxCount;
  1184. newTable.Rows.Add(dataRow);
  1185. //微博
  1186. int wbCount = WXWorkOrderCount(4, startDate, endDate);
  1187. dataRow = newTable.NewRow();
  1188. dataRow["TypeID"] = "0";
  1189. dataRow["业务类型"] = "微博业务数";
  1190. dataRow["工单数量"] = wbCount;
  1191. newTable.Rows.Add(dataRow);
  1192. //合计
  1193. dataRow = newTable.NewRow();
  1194. dataRow["TypeID"] = "0";
  1195. dataRow["业务类型"] = "合计(不含未分类)";
  1196. dataRow["工单数量"] = zhjcount + wxCount + wbCount;
  1197. newTable.Rows.Add(dataRow);
  1198. #endregion
  1199. dataModel.code = 0;
  1200. dataModel.data = newTable;
  1201. }
  1202. catch (Exception ex)
  1203. {
  1204. dataModel.code = 200;
  1205. dataModel.msg = ex.Message;
  1206. }
  1207. return JsonConvert.SerializeObject(dataModel);
  1208. }
  1209. /// <summary>
  1210. /// 图标数据
  1211. /// </summary>
  1212. /// <param name="page">当前页码</param>
  1213. /// <param name="limit">每页数据量</param>
  1214. /// <param name="sqlWhere">查询条件</param>
  1215. /// <returns></returns>
  1216. public string WorkOrderTypeMathChartData(DateTime? NowDateTime, string dateParty)
  1217. {
  1218. //数据结果集
  1219. MainChartModel dataModel = new MainChartModel();
  1220. string startDate = "";
  1221. string endDate = "";
  1222. if (!string.IsNullOrEmpty(dateParty))
  1223. {
  1224. startDate = dateParty.Substring(0, 10);
  1225. endDate = dateParty.Substring(12);
  1226. }
  1227. else
  1228. {
  1229. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  1230. }
  1231. DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
  1232. DataTable newTable = new DataTable();
  1233. newTable.Columns.Add("业务类型");
  1234. newTable.Columns.Add("工单数量");
  1235. DataRow dataRow;
  1236. int wxCount = WXWorkOrderCount(3, startDate, endDate);
  1237. dataRow = newTable.NewRow();
  1238. dataRow["业务类型"] = "微信";
  1239. dataRow["工单数量"] = wxCount;
  1240. newTable.Rows.Add(dataRow);
  1241. int wbCount = WXWorkOrderCount(4, startDate, endDate);
  1242. dataRow = newTable.NewRow();
  1243. dataRow["业务类型"] = "微博";
  1244. dataRow["工单数量"] = wbCount;
  1245. newTable.Rows.Add(dataRow);
  1246. if (datas != null && datas.Rows.Count > 0)
  1247. {
  1248. foreach (DataRow thisRow in datas.Rows)
  1249. {
  1250. if (thisRow["BusinessType"].ToString() == "6")
  1251. {
  1252. dataRow = newTable.NewRow();
  1253. dataRow["业务类型"] = "咨询";
  1254. int totalCount=0;
  1255. string getCount=thisRow["callInCount"].ToString();
  1256. if(!string.IsNullOrEmpty(getCount))
  1257. {
  1258. totalCount=int.Parse(getCount);
  1259. }
  1260. dataRow["工单数量"] = totalCount;
  1261. newTable.Rows.Add(dataRow);
  1262. }
  1263. else if ((thisRow["BusinessType"].ToString() == "14"))
  1264. {
  1265. dataRow = newTable.NewRow();
  1266. dataRow["业务类型"] = "建议";
  1267. dataRow["工单数量"] = thisRow["callInCount"];
  1268. newTable.Rows.Add(dataRow);
  1269. }
  1270. else if ((thisRow["BusinessType"].ToString() == "18"))
  1271. {
  1272. dataRow = newTable.NewRow();
  1273. dataRow["业务类型"] = "表扬";
  1274. dataRow["工单数量"] = thisRow["callInCount"];
  1275. newTable.Rows.Add(dataRow);
  1276. }
  1277. else if ((thisRow["BusinessType"].ToString() == "19"))
  1278. {
  1279. dataRow = newTable.NewRow();
  1280. dataRow["业务类型"] = "挂失";
  1281. dataRow["工单数量"] = thisRow["callInCount"];
  1282. newTable.Rows.Add(dataRow);
  1283. }
  1284. else if ((thisRow["BusinessType"].ToString() == "3"))
  1285. {
  1286. dataRow = newTable.NewRow();
  1287. dataRow["业务类型"] = "投诉";
  1288. dataRow["工单数量"] = thisRow["callInCount"];
  1289. newTable.Rows.Add(dataRow);
  1290. }
  1291. }
  1292. }
  1293. if (newTable != null && newTable.Rows.Count > 0)
  1294. {
  1295. string[] strArr = new string[newTable.Rows.Count];
  1296. string contentArr = "";
  1297. for (int i = 0; i < newTable.Rows.Count; i++)
  1298. {
  1299. strArr[i] = newTable.Rows[i]["业务类型"].ToString();
  1300. if (i == 0)
  1301. {
  1302. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  1303. }
  1304. else
  1305. {
  1306. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  1307. }
  1308. }
  1309. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  1310. dataModel.datas = "[" + contentArr + "]";
  1311. }
  1312. return JsonConvert.SerializeObject(dataModel);
  1313. }
  1314. #region 接口数据
  1315. /// <summary>
  1316. /// 接口数据
  1317. /// </summary>
  1318. /// <param name="page">当前页码</param>
  1319. /// <param name="limit">每页数据量</param>
  1320. /// <param name="sqlWhere">查询条件</param>
  1321. /// <returns></returns>
  1322. [ActionName("WorkOrderTypeFromData")]
  1323. [HttpGet]
  1324. public string WorkOrderTypeFromData(DateTime? NowDateTime, string dateParty)
  1325. {
  1326. //数据结果集
  1327. ResponseData dataModel = new ResponseData();
  1328. try
  1329. {
  1330. string startDate = "";
  1331. string endDate = "";
  1332. if (!string.IsNullOrEmpty(dateParty))
  1333. {
  1334. startDate = dateParty.Substring(0, 10);
  1335. endDate = dateParty.Substring(12);
  1336. }
  1337. else
  1338. {
  1339. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  1340. }
  1341. DataTable datas = recordBLL.GetWorkOrderBussTypeFromData(startDate, endDate);
  1342. DataTable newTable = new DataTable();
  1343. newTable.Columns.Add("业务类型");
  1344. newTable.Columns.Add("语音工单");
  1345. newTable.Columns.Add("微信工单");
  1346. newTable.Columns.Add("微博工单");
  1347. if (datas != null && datas.Rows.Count > 0)
  1348. {
  1349. DataRow dataRow;
  1350. if (datas != null && datas.Rows.Count > 0)
  1351. {
  1352. #region 咨询工单
  1353. int callInCount = 0;
  1354. int wxCount = 0;
  1355. int wbCount = 0;
  1356. //来电工单数量
  1357. DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
  1358. if (CallRows != null && CallRows.Length > 0)
  1359. {
  1360. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1361. {
  1362. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1363. }
  1364. }
  1365. //留言工单数量
  1366. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
  1367. if (CallRows != null && CallRows.Length > 0)
  1368. {
  1369. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1370. {
  1371. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1372. }
  1373. }
  1374. //微信工单数量
  1375. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=3");
  1376. if (CallRows != null && CallRows.Length > 0)
  1377. {
  1378. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1379. {
  1380. wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1381. }
  1382. }
  1383. //微博工单数量
  1384. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=4");
  1385. if (CallRows != null && CallRows.Length > 0)
  1386. {
  1387. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1388. {
  1389. wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1390. }
  1391. }
  1392. dataRow = newTable.NewRow();
  1393. dataRow["业务类型"] = "咨询";
  1394. dataRow["语音工单"] = callInCount;
  1395. dataRow["微信工单"] = wxCount;
  1396. dataRow["微博工单"] = wbCount;
  1397. newTable.Rows.Add(dataRow);
  1398. #endregion
  1399. #region 建议工单
  1400. callInCount = 0;
  1401. wxCount = 0;
  1402. wbCount = 0;
  1403. //来电工单数量
  1404. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
  1405. if (CallRows != null && CallRows.Length > 0)
  1406. {
  1407. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1408. {
  1409. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1410. }
  1411. }
  1412. //留言工单数量
  1413. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
  1414. if (CallRows != null && CallRows.Length > 0)
  1415. {
  1416. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1417. {
  1418. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1419. }
  1420. }
  1421. //微信工单数量
  1422. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=3");
  1423. if (CallRows != null && CallRows.Length > 0)
  1424. {
  1425. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1426. {
  1427. wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1428. }
  1429. }
  1430. //微博工单数量
  1431. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=4");
  1432. if (CallRows != null && CallRows.Length > 0)
  1433. {
  1434. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1435. {
  1436. wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1437. }
  1438. }
  1439. dataRow = newTable.NewRow();
  1440. dataRow["业务类型"] = "建议";
  1441. dataRow["语音工单"] = callInCount;
  1442. dataRow["微信工单"] = wxCount;
  1443. dataRow["微博工单"] = wbCount;
  1444. newTable.Rows.Add(dataRow);
  1445. #endregion
  1446. #region 表扬工单
  1447. callInCount = 0;
  1448. wxCount = 0;
  1449. wbCount = 0;
  1450. //来电工单数量
  1451. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
  1452. if (CallRows != null && CallRows.Length > 0)
  1453. {
  1454. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1455. {
  1456. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1457. }
  1458. }
  1459. //留言工单数量
  1460. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
  1461. if (CallRows != null && CallRows.Length > 0)
  1462. {
  1463. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1464. {
  1465. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1466. }
  1467. }
  1468. //微信工单数量
  1469. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=3");
  1470. if (CallRows != null && CallRows.Length > 0)
  1471. {
  1472. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1473. {
  1474. wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1475. }
  1476. }
  1477. //微博工单数量
  1478. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=4");
  1479. if (CallRows != null && CallRows.Length > 0)
  1480. {
  1481. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1482. {
  1483. wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1484. }
  1485. }
  1486. dataRow = newTable.NewRow();
  1487. dataRow["业务类型"] = "表扬";
  1488. dataRow["语音工单"] = callInCount;
  1489. dataRow["微信工单"] = wxCount;
  1490. dataRow["微博工单"] = wbCount;
  1491. newTable.Rows.Add(dataRow);
  1492. #endregion
  1493. #region 挂失工单
  1494. callInCount = 0;
  1495. wxCount = 0;
  1496. wbCount = 0;
  1497. //来电工单数量
  1498. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
  1499. if (CallRows != null && CallRows.Length > 0)
  1500. {
  1501. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1502. {
  1503. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1504. }
  1505. }
  1506. //留言工单数量
  1507. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
  1508. if (CallRows != null && CallRows.Length > 0)
  1509. {
  1510. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1511. {
  1512. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1513. }
  1514. }
  1515. //微信工单数量
  1516. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=3");
  1517. if (CallRows != null && CallRows.Length > 0)
  1518. {
  1519. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1520. {
  1521. wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1522. }
  1523. }
  1524. //微博工单数量
  1525. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=4");
  1526. if (CallRows != null && CallRows.Length > 0)
  1527. {
  1528. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1529. {
  1530. wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1531. }
  1532. }
  1533. dataRow = newTable.NewRow();
  1534. dataRow["业务类型"] = "挂失";
  1535. dataRow["语音工单"] = callInCount;
  1536. dataRow["微信工单"] = wxCount;
  1537. dataRow["微博工单"] = wbCount;
  1538. newTable.Rows.Add(dataRow);
  1539. #endregion
  1540. #region 投诉工单
  1541. callInCount = 0;
  1542. wxCount = 0;
  1543. wbCount = 0;
  1544. //来电工单数量
  1545. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=1");
  1546. if (CallRows != null && CallRows.Length > 0)
  1547. {
  1548. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1549. {
  1550. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1551. }
  1552. }
  1553. //留言工单数量
  1554. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=2");
  1555. if (CallRows != null && CallRows.Length > 0)
  1556. {
  1557. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1558. {
  1559. callInCount += int.Parse(CallRows[0]["callInCount"].ToString());
  1560. }
  1561. }
  1562. //微信工单数量
  1563. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=3");
  1564. if (CallRows != null && CallRows.Length > 0)
  1565. {
  1566. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1567. {
  1568. wxCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1569. }
  1570. }
  1571. //微博工单数量
  1572. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=4");
  1573. if (CallRows != null && CallRows.Length > 0)
  1574. {
  1575. if (CallRows[0]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[0]["callInCount"].ToString()))
  1576. {
  1577. wbCount = int.Parse(CallRows[0]["callInCount"].ToString());
  1578. }
  1579. }
  1580. dataRow = newTable.NewRow();
  1581. dataRow["业务类型"] = "投诉";
  1582. dataRow["语音工单"] = callInCount;
  1583. dataRow["微信工单"] = wxCount;
  1584. dataRow["微博工单"] = wbCount;
  1585. newTable.Rows.Add(dataRow);
  1586. #endregion
  1587. }
  1588. }
  1589. dataModel.code = 0;
  1590. dataModel.data = newTable;
  1591. }
  1592. catch (Exception ex)
  1593. {
  1594. dataModel.code = 200;
  1595. dataModel.msg = ex.Message;
  1596. }
  1597. return JsonConvert.SerializeObject(dataModel);
  1598. }
  1599. /// <summary>
  1600. /// 接口数据2
  1601. /// </summary>
  1602. /// <param name="page">当前页码</param>
  1603. /// <param name="limit">每页数据量</param>
  1604. /// <param name="sqlWhere">查询条件</param>
  1605. /// <returns></returns>
  1606. [ActionName("WorkOrderTypeFromDataNewbak")]
  1607. [HttpGet]
  1608. public string WorkOrderTypeFromDataNewbak(DateTime? NowDateTime, string dateParty)
  1609. {
  1610. //数据结果集
  1611. ResponseData dataModel = new ResponseData();
  1612. try
  1613. {
  1614. string startDate = "";
  1615. string endDate = "";
  1616. if (!string.IsNullOrEmpty(dateParty))
  1617. {
  1618. startDate = dateParty.Substring(0, 10);
  1619. endDate = dateParty.Substring(12);
  1620. }
  1621. else
  1622. {
  1623. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  1624. }
  1625. DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
  1626. DataTable newTable = new DataTable();
  1627. newTable.Columns.Add("BusinessType");
  1628. newTable.Columns.Add("allcount");
  1629. newTable.Columns.Add("callcount");
  1630. newTable.Columns.Add("callCount_zb");
  1631. newTable.Columns.Add("wxcount");
  1632. newTable.Columns.Add("wbcount");
  1633. newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
  1634. newTable.Columns.Add("Returnvisitproblem_zb");
  1635. if (datas != null && datas.Rows.Count > 0)
  1636. {
  1637. DataRow dataRow;
  1638. if (datas != null && datas.Rows.Count > 0)
  1639. {
  1640. #region 咨询工单
  1641. int callInCount = 0;
  1642. int wxCount = 0;
  1643. int wbCount = 0;
  1644. List<string> Returnvisitproblem_zx = new List<string>();
  1645. //string Returnvisitproblem_zx = "[";
  1646. //来电工单数量
  1647. DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
  1648. if (CallRows != null && CallRows.Length > 0)
  1649. {
  1650. for (int i = 0; i < CallRows.Length; i++)
  1651. {
  1652. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1653. {
  1654. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1655. }
  1656. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1657. {
  1658. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  1659. }
  1660. }
  1661. //for (int i = 0; i < CallRows.Length; i++)
  1662. //{
  1663. // if (i == 0)
  1664. // {
  1665. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1666. // }
  1667. // else
  1668. // {
  1669. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1670. // }
  1671. //}
  1672. }
  1673. //留言工单数量
  1674. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
  1675. if (CallRows != null && CallRows.Length > 0)
  1676. {
  1677. for (int i = 0; i < CallRows.Length; i++)
  1678. {
  1679. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1680. {
  1681. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1682. }
  1683. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1684. {
  1685. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  1686. }
  1687. }
  1688. //for (int i = 0; i < CallRows.Length; i++)
  1689. //{
  1690. // if (i == 0)
  1691. // {
  1692. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1693. // }
  1694. // else
  1695. // {
  1696. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1697. // }
  1698. //}
  1699. }
  1700. //微信工单数量
  1701. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=3");
  1702. if (CallRows != null && CallRows.Length > 0)
  1703. {
  1704. for (int i = 0; i < CallRows.Length; i++)
  1705. {
  1706. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1707. {
  1708. wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1709. }
  1710. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1711. {
  1712. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  1713. }
  1714. }
  1715. //for (int i = 0; i < CallRows.Length; i++)
  1716. //{
  1717. // if (i == 0)
  1718. // {
  1719. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1720. // }
  1721. // else
  1722. // {
  1723. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1724. // }
  1725. //}
  1726. }
  1727. //微博工单数量
  1728. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=4");
  1729. if (CallRows != null && CallRows.Length > 0)
  1730. {
  1731. for (int i = 0; i < CallRows.Length; i++)
  1732. {
  1733. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1734. {
  1735. wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1736. }
  1737. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1738. {
  1739. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  1740. }
  1741. }
  1742. //for (int i = 0; i < CallRows.Length; i++)
  1743. //{
  1744. // if (i == 0)
  1745. // {
  1746. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1747. // }
  1748. // else
  1749. // {
  1750. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  1751. // }
  1752. //}
  1753. }
  1754. //Returnvisitproblem_zx = Returnvisitproblem_zx + "]";
  1755. //微博接口
  1756. int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
  1757. //微信接口
  1758. int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
  1759. dataRow = newTable.NewRow();
  1760. dataRow["BusinessType"] = "咨询";
  1761. dataRow["allcount"] = callInCount+ wxCount + wxxtCount+ wbCount + wbxtCount;
  1762. dataRow["callCount_zb"] = 0;
  1763. dataRow["callcount"] = callInCount;
  1764. dataRow["wxcount"] = wxCount+ wxxtCount;
  1765. dataRow["wbcount"] = wbCount+ wbxtCount;
  1766. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
  1767. dataRow["Returnvisitproblem_zb"] = "";
  1768. newTable.Rows.Add(dataRow);
  1769. #endregion
  1770. #region 建议工单
  1771. callInCount = 0;
  1772. wxCount = 0;
  1773. wbCount = 0;
  1774. //string Returnvisitproblem_jy = "";
  1775. List<string> Returnvisitproblem_jy = new List<string>();
  1776. //来电工单数量
  1777. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
  1778. if (CallRows != null && CallRows.Length > 0)
  1779. {
  1780. for (int i = 0; i < CallRows.Length; i++)
  1781. {
  1782. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1783. {
  1784. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1785. }
  1786. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1787. {
  1788. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1789. }
  1790. }
  1791. }
  1792. //留言工单数量
  1793. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
  1794. if (CallRows != null && CallRows.Length > 0)
  1795. {
  1796. for (int i = 0; i < CallRows.Length; i++)
  1797. {
  1798. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1799. {
  1800. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1801. }
  1802. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1803. {
  1804. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1805. }
  1806. }
  1807. }
  1808. //微信工单数量
  1809. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=3");
  1810. if (CallRows != null && CallRows.Length > 0)
  1811. {
  1812. for (int i = 0; i < CallRows.Length; i++)
  1813. {
  1814. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1815. {
  1816. wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1817. }
  1818. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1819. {
  1820. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1821. }
  1822. }
  1823. }
  1824. //微博工单数量
  1825. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=4");
  1826. if (CallRows != null && CallRows.Length > 0)
  1827. {
  1828. for (int i = 0; i < CallRows.Length; i++)
  1829. {
  1830. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1831. {
  1832. wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1833. }
  1834. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1835. {
  1836. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1837. }
  1838. }
  1839. }
  1840. dataRow = newTable.NewRow();
  1841. dataRow["BusinessType"] = "建议";
  1842. dataRow["allcount"] = callInCount + wxCount +wbCount;
  1843. dataRow["callcount"] = callInCount;
  1844. dataRow["callCount_zb"] = 0;
  1845. dataRow["wxcount"] = wxCount ;
  1846. dataRow["wbcount"] = wbCount ;
  1847. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jy) ;
  1848. dataRow["Returnvisitproblem_zb"] = "";
  1849. newTable.Rows.Add(dataRow);
  1850. #endregion
  1851. #region 表扬工单
  1852. callInCount = 0;
  1853. wxCount = 0;
  1854. wbCount = 0;
  1855. //string Returnvisitproblem_by = "";
  1856. List<string> Returnvisitproblem_by = new List<string>();
  1857. //来电工单数量
  1858. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
  1859. if (CallRows != null && CallRows.Length > 0)
  1860. {
  1861. for (int i = 0; i < CallRows.Length; i++)
  1862. {
  1863. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1864. {
  1865. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1866. }
  1867. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1868. {
  1869. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1870. }
  1871. }
  1872. }
  1873. //留言工单数量
  1874. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
  1875. if (CallRows != null && CallRows.Length > 0)
  1876. {
  1877. for (int i = 0; i < CallRows.Length; i++)
  1878. {
  1879. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1880. {
  1881. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1882. }
  1883. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1884. {
  1885. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1886. }
  1887. }
  1888. }
  1889. //微信工单数量
  1890. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=3");
  1891. if (CallRows != null && CallRows.Length > 0)
  1892. {
  1893. for (int i = 0; i < CallRows.Length; i++)
  1894. {
  1895. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1896. {
  1897. wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1898. }
  1899. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1900. {
  1901. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1902. }
  1903. }
  1904. }
  1905. //微博工单数量
  1906. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=4");
  1907. if (CallRows != null && CallRows.Length > 0)
  1908. {
  1909. for (int i = 0; i < CallRows.Length; i++)
  1910. {
  1911. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1912. {
  1913. wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1914. }
  1915. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1916. {
  1917. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1918. }
  1919. }
  1920. }
  1921. dataRow = newTable.NewRow();
  1922. dataRow["BusinessType"] = "表扬";
  1923. dataRow["allcount"] = callInCount + wxCount + wbCount;
  1924. dataRow["callcount"] = callInCount;
  1925. dataRow["callCount_zb"] = 0;
  1926. dataRow["wxcount"] = wxCount;
  1927. dataRow["wbcount"] = wbCount;
  1928. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
  1929. dataRow["Returnvisitproblem_zb"] = "";
  1930. newTable.Rows.Add(dataRow);
  1931. #endregion
  1932. #region 挂失工单
  1933. callInCount = 0;
  1934. wxCount = 0;
  1935. wbCount = 0;
  1936. //string Returnvisitproblem_gs = "";
  1937. List<string> Returnvisitproblem_gs = new List<string>();
  1938. //来电工单数量
  1939. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
  1940. if (CallRows != null && CallRows.Length > 0)
  1941. {
  1942. for (int i = 0; i < CallRows.Length; i++)
  1943. {
  1944. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1945. {
  1946. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1947. }
  1948. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1949. {
  1950. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1951. }
  1952. }
  1953. }
  1954. //留言工单数量
  1955. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
  1956. if (CallRows != null && CallRows.Length > 0)
  1957. {
  1958. for (int i = 0; i < CallRows.Length; i++)
  1959. {
  1960. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1961. {
  1962. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  1963. }
  1964. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1965. {
  1966. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1967. }
  1968. }
  1969. }
  1970. //微信工单数量
  1971. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=3");
  1972. if (CallRows != null && CallRows.Length > 0)
  1973. {
  1974. for (int i = 0; i < CallRows.Length; i++)
  1975. {
  1976. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1977. {
  1978. wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1979. }
  1980. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1981. {
  1982. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1983. }
  1984. }
  1985. }
  1986. //微博工单数量
  1987. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=4");
  1988. if (CallRows != null && CallRows.Length > 0)
  1989. {
  1990. for (int i = 0; i < CallRows.Length; i++)
  1991. {
  1992. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  1993. {
  1994. wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
  1995. }
  1996. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  1997. {
  1998. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  1999. }
  2000. }
  2001. }
  2002. dataRow = newTable.NewRow();
  2003. dataRow["BusinessType"] = "挂失";
  2004. dataRow["allcount"] = callInCount + wxCount + wbCount;
  2005. dataRow["callcount"] = callInCount;
  2006. dataRow["wxcount"] = wxCount;
  2007. dataRow["wbcount"] = wbCount;
  2008. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
  2009. dataRow["callCount_zb"] = 0;
  2010. dataRow["Returnvisitproblem_zb"] = "";
  2011. newTable.Rows.Add(dataRow);
  2012. #endregion
  2013. #region 投诉工单
  2014. callInCount = 0;
  2015. wxCount = 0;
  2016. wbCount = 0;
  2017. int callInCount_zb = 0;
  2018. List<string> Returnvisitproblem_zb = new List<string>();
  2019. List<string> Returnvisitproblem_ts = new List<string>();
  2020. //来电工单数量
  2021. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=1");
  2022. if (CallRows != null && CallRows.Length > 0)
  2023. {
  2024. for (int i = 0; i < CallRows.Length; i++)
  2025. {
  2026. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2027. {
  2028. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2029. }
  2030. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2031. {
  2032. Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2033. }
  2034. }
  2035. }
  2036. //留言工单数量
  2037. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=2");
  2038. if (CallRows != null && CallRows.Length > 0)
  2039. {
  2040. for (int i = 0; i < CallRows.Length; i++)
  2041. {
  2042. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2043. {
  2044. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2045. }
  2046. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2047. {
  2048. Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2049. }
  2050. }
  2051. }
  2052. //微信工单数量
  2053. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=3");
  2054. if (CallRows != null && CallRows.Length > 0)
  2055. {
  2056. for (int i = 0; i < CallRows.Length; i++)
  2057. {
  2058. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2059. {
  2060. wxCount = int.Parse(CallRows[i]["callInCount"].ToString());
  2061. }
  2062. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2063. {
  2064. Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2065. }
  2066. }
  2067. }
  2068. //微博工单数量
  2069. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID=4");
  2070. if (CallRows != null && CallRows.Length > 0)
  2071. {
  2072. for (int i = 0; i < CallRows.Length; i++)
  2073. {
  2074. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2075. {
  2076. wbCount = int.Parse(CallRows[i]["callInCount"].ToString());
  2077. }
  2078. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2079. {
  2080. Returnvisitproblem_ts.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2081. }
  2082. }
  2083. }
  2084. //转办工单数量
  2085. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  2086. if (CallRows != null && CallRows.Length > 0)
  2087. {
  2088. for (int i = 0; i < CallRows.Length; i++)
  2089. {
  2090. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2091. {
  2092. callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
  2093. }
  2094. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2095. {
  2096. Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2097. }
  2098. }
  2099. }
  2100. dataRow = newTable.NewRow();
  2101. dataRow["BusinessType"] = "投诉";
  2102. dataRow["allcount"] = callInCount + wxCount + wbCount;
  2103. dataRow["callcount"] = callInCount;
  2104. dataRow["callCount_zb"] = callInCount_zb;
  2105. dataRow["wxcount"] = wxCount;
  2106. dataRow["wbcount"] = wbCount;
  2107. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_ts);
  2108. dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zb); ;
  2109. newTable.Rows.Add(dataRow);
  2110. #endregion
  2111. }
  2112. }
  2113. dataModel.code = 0;
  2114. dataModel.data = newTable;
  2115. }
  2116. catch (Exception ex)
  2117. {
  2118. dataModel.code = 200;
  2119. dataModel.msg = ex.Message;
  2120. }
  2121. return JsonConvert.SerializeObject(dataModel);
  2122. }
  2123. [ActionName("WorkOrderTypeFromDataNewBK1012")]
  2124. [HttpGet]
  2125. public string WorkOrderTypeFromDataNewBK1012(DateTime? NowDateTime, string dateParty)
  2126. {
  2127. //数据结果集
  2128. ResponseData dataModel = new ResponseData();
  2129. try
  2130. {
  2131. string startDate = "";
  2132. string endDate = "";
  2133. if (!string.IsNullOrEmpty(dateParty))
  2134. {
  2135. startDate = dateParty.Substring(0, 10);
  2136. endDate = dateParty.Substring(12);
  2137. }
  2138. else
  2139. {
  2140. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  2141. }
  2142. DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
  2143. DataTable newTable = new DataTable();
  2144. newTable.Columns.Add("BusinessType");
  2145. newTable.Columns.Add("allcount");
  2146. newTable.Columns.Add("callcount");
  2147. //newTable.Columns.Add("callCount_zb");
  2148. newTable.Columns.Add("wxcount");
  2149. newTable.Columns.Add("wbcount");
  2150. newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
  2151. //newTable.Columns.Add("Returnvisitproblem_zb");
  2152. if (datas != null && datas.Rows.Count > 0)
  2153. {
  2154. DataRow dataRow;
  2155. if (datas != null && datas.Rows.Count > 0)
  2156. {
  2157. #region 咨询工单
  2158. int callInCount = 0;
  2159. List<string> Returnvisitproblem_zx = new List<string>();
  2160. //string Returnvisitproblem_zx = "[";
  2161. //来电工单数量
  2162. DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
  2163. if (CallRows != null && CallRows.Length > 0)
  2164. {
  2165. for (int i = 0; i < CallRows.Length; i++)
  2166. {
  2167. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2168. {
  2169. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2170. }
  2171. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2172. {
  2173. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  2174. }
  2175. }
  2176. //for (int i = 0; i < CallRows.Length; i++)
  2177. //{
  2178. // if (i == 0)
  2179. // {
  2180. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2181. // }
  2182. // else
  2183. // {
  2184. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2185. // }
  2186. //}
  2187. }
  2188. //留言工单数量
  2189. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
  2190. if (CallRows != null && CallRows.Length > 0)
  2191. {
  2192. for (int i = 0; i < CallRows.Length; i++)
  2193. {
  2194. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2195. {
  2196. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2197. }
  2198. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2199. {
  2200. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  2201. }
  2202. }
  2203. //for (int i = 0; i < CallRows.Length; i++)
  2204. //{
  2205. // if (i == 0)
  2206. // {
  2207. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2208. // }
  2209. // else
  2210. // {
  2211. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2212. // }
  2213. //}
  2214. }
  2215. dataRow = newTable.NewRow();
  2216. dataRow["BusinessType"] = "咨询";
  2217. dataRow["allcount"] = callInCount;
  2218. dataRow["callcount"] = callInCount;
  2219. dataRow["wxcount"] = 0;
  2220. dataRow["wbcount"] = 0;
  2221. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
  2222. newTable.Rows.Add(dataRow);
  2223. #endregion
  2224. #region 建议工单
  2225. callInCount = 0;
  2226. //string Returnvisitproblem_jy = "";
  2227. List<string> Returnvisitproblem_jy = new List<string>();
  2228. //来电工单数量
  2229. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
  2230. if (CallRows != null && CallRows.Length > 0)
  2231. {
  2232. for (int i = 0; i < CallRows.Length; i++)
  2233. {
  2234. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2235. {
  2236. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2237. }
  2238. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2239. {
  2240. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2241. }
  2242. }
  2243. }
  2244. //留言工单数量
  2245. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
  2246. if (CallRows != null && CallRows.Length > 0)
  2247. {
  2248. for (int i = 0; i < CallRows.Length; i++)
  2249. {
  2250. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2251. {
  2252. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2253. }
  2254. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2255. {
  2256. Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2257. }
  2258. }
  2259. }
  2260. dataRow = newTable.NewRow();
  2261. dataRow["BusinessType"] = "建议";
  2262. dataRow["allcount"] = callInCount;
  2263. dataRow["callcount"] = callInCount;
  2264. dataRow["wxcount"] = 0;
  2265. dataRow["wbcount"] = 0;
  2266. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jy);
  2267. newTable.Rows.Add(dataRow);
  2268. #endregion
  2269. #region 表扬工单
  2270. callInCount = 0;
  2271. //string Returnvisitproblem_by = "";
  2272. List<string> Returnvisitproblem_by = new List<string>();
  2273. //来电工单数量
  2274. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
  2275. if (CallRows != null && CallRows.Length > 0)
  2276. {
  2277. for (int i = 0; i < CallRows.Length; i++)
  2278. {
  2279. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2280. {
  2281. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2282. }
  2283. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2284. {
  2285. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2286. }
  2287. }
  2288. }
  2289. //留言工单数量
  2290. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
  2291. if (CallRows != null && CallRows.Length > 0)
  2292. {
  2293. for (int i = 0; i < CallRows.Length; i++)
  2294. {
  2295. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2296. {
  2297. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2298. }
  2299. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2300. {
  2301. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2302. }
  2303. }
  2304. }
  2305. dataRow = newTable.NewRow();
  2306. dataRow["BusinessType"] = "表扬";
  2307. dataRow["allcount"] = callInCount;
  2308. dataRow["callcount"] = callInCount;
  2309. dataRow["wxcount"] = 0;
  2310. dataRow["wbcount"] = 0;
  2311. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
  2312. newTable.Rows.Add(dataRow);
  2313. #endregion
  2314. #region 挂失工单
  2315. callInCount = 0;
  2316. //string Returnvisitproblem_gs = "";
  2317. List<string> Returnvisitproblem_gs = new List<string>();
  2318. //来电工单数量
  2319. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
  2320. if (CallRows != null && CallRows.Length > 0)
  2321. {
  2322. for (int i = 0; i < CallRows.Length; i++)
  2323. {
  2324. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2325. {
  2326. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2327. }
  2328. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2329. {
  2330. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2331. }
  2332. }
  2333. }
  2334. //留言工单数量
  2335. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
  2336. if (CallRows != null && CallRows.Length > 0)
  2337. {
  2338. for (int i = 0; i < CallRows.Length; i++)
  2339. {
  2340. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2341. {
  2342. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2343. }
  2344. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2345. {
  2346. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2347. }
  2348. }
  2349. }
  2350. dataRow = newTable.NewRow();
  2351. dataRow["BusinessType"] = "挂失";
  2352. dataRow["allcount"] = callInCount;
  2353. dataRow["callcount"] = callInCount;
  2354. dataRow["wxcount"] = 0;
  2355. dataRow["wbcount"] = 0;
  2356. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
  2357. newTable.Rows.Add(dataRow);
  2358. #endregion
  2359. #region 投诉工单
  2360. callInCount = 0;
  2361. int callInCount_zb = 0;
  2362. List<string> Returnvisitproblem_zb = new List<string>();
  2363. List<string> Returnvisitproblem_ts = new List<string>();
  2364. //转办工单数量
  2365. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  2366. if (CallRows != null && CallRows.Length > 0)
  2367. {
  2368. for (int i = 0; i < CallRows.Length; i++)
  2369. {
  2370. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2371. {
  2372. callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
  2373. }
  2374. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2375. {
  2376. Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2377. }
  2378. }
  2379. }
  2380. dataRow = newTable.NewRow();
  2381. dataRow["BusinessType"] = "投诉";
  2382. dataRow["allcount"] = callInCount_zb;
  2383. dataRow["callcount"] = callInCount_zb;
  2384. dataRow["wxcount"] = 0;
  2385. dataRow["wbcount"] = 0;
  2386. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zb);
  2387. newTable.Rows.Add(dataRow);
  2388. #endregion
  2389. }
  2390. }
  2391. dataModel.code = 0;
  2392. dataModel.data = newTable;
  2393. }
  2394. catch (Exception ex)
  2395. {
  2396. dataModel.code = 200;
  2397. dataModel.msg = ex.Message;
  2398. }
  2399. return JsonConvert.SerializeObject(dataModel);
  2400. }
  2401. /// <summary>
  2402. /// 原接口数据:WorkOrderTypeFromDataNew
  2403. /// </summary>
  2404. /// <param name="page">当前页码</param>
  2405. /// <param name="limit">每页数据量</param>
  2406. /// <param name="sqlWhere">查询条件</param>
  2407. /// <returns></returns>
  2408. [ActionName("WorkOrderTypeFromDataNew1104")]
  2409. [HttpGet]
  2410. public string WorkOrderTypeFromDataNew1104(DateTime? NowDateTime, string dateParty)
  2411. {
  2412. //数据结果集
  2413. ResponseData dataModel = new ResponseData();
  2414. try
  2415. {
  2416. string startDate = "";
  2417. string endDate = "";
  2418. if (!string.IsNullOrEmpty(dateParty))
  2419. {
  2420. startDate = dateParty.Substring(0, 10);
  2421. endDate = dateParty.Substring(12);
  2422. }
  2423. else
  2424. {
  2425. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  2426. }
  2427. DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
  2428. DataTable newTable = new DataTable();
  2429. newTable.Columns.Add("BusinessType");
  2430. newTable.Columns.Add("allcount");
  2431. newTable.Columns.Add("callcount");
  2432. //newTable.Columns.Add("callCount_zb");
  2433. newTable.Columns.Add("wxcount");
  2434. newTable.Columns.Add("wbcount");
  2435. newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
  2436. //newTable.Columns.Add("Returnvisitproblem_zb");
  2437. if (datas != null && datas.Rows.Count > 0)
  2438. {
  2439. DataRow dataRow;
  2440. if (datas != null && datas.Rows.Count > 0)
  2441. {
  2442. #region 咨询工单
  2443. int callInCount = 0;
  2444. List<string> Returnvisitproblem_zx = new List<string>();
  2445. //string Returnvisitproblem_zx = "[";
  2446. //来电工单数量
  2447. DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=1");
  2448. if (CallRows != null && CallRows.Length > 0)
  2449. {
  2450. for (int i = 0; i < CallRows.Length; i++)
  2451. {
  2452. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2453. {
  2454. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2455. }
  2456. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2457. {
  2458. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  2459. }
  2460. }
  2461. //for (int i = 0; i < CallRows.Length; i++)
  2462. //{
  2463. // if (i == 0)
  2464. // {
  2465. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2466. // }
  2467. // else
  2468. // {
  2469. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2470. // }
  2471. //}
  2472. }
  2473. //留言工单数量
  2474. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID=2");
  2475. if (CallRows != null && CallRows.Length > 0)
  2476. {
  2477. for (int i = 0; i < CallRows.Length; i++)
  2478. {
  2479. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2480. {
  2481. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2482. }
  2483. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2484. {
  2485. Returnvisitproblem_zx.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim());
  2486. }
  2487. }
  2488. //for (int i = 0; i < CallRows.Length; i++)
  2489. //{
  2490. // if (i == 0)
  2491. // {
  2492. // Returnvisitproblem_zx = Returnvisitproblem_zx + "\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2493. // }
  2494. // else
  2495. // {
  2496. // Returnvisitproblem_zx = Returnvisitproblem_zx + ",\"" + CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() + "\"";
  2497. // }
  2498. //}
  2499. }
  2500. dataRow = newTable.NewRow();
  2501. dataRow["BusinessType"] = "咨询";
  2502. dataRow["allcount"] = callInCount;
  2503. dataRow["callcount"] = callInCount;
  2504. dataRow["wxcount"] = 0;
  2505. dataRow["wbcount"] = 0;
  2506. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zx);
  2507. newTable.Rows.Add(dataRow);
  2508. #endregion
  2509. #region 建议工单
  2510. callInCount = 0;
  2511. int callInCount_jyzb = 0;
  2512. List<string> Returnvisitproblem_jyzb = new List<string>();
  2513. //string Returnvisitproblem_jy = "";
  2514. List<string> Returnvisitproblem_jy = new List<string>();
  2515. ////来电工单数量
  2516. //CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=1");
  2517. //if (CallRows != null && CallRows.Length > 0)
  2518. //{
  2519. // for (int i = 0; i < CallRows.Length; i++)
  2520. // {
  2521. // if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2522. // {
  2523. // callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2524. // }
  2525. // if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2526. // {
  2527. // Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2528. // }
  2529. // }
  2530. //}
  2531. //转办工单数量
  2532. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  2533. if (CallRows != null && CallRows.Length > 0)
  2534. {
  2535. for (int i = 0; i < CallRows.Length; i++)
  2536. {
  2537. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2538. {
  2539. callInCount_jyzb += int.Parse(CallRows[i]["callInCount"].ToString());
  2540. }
  2541. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2542. {
  2543. Returnvisitproblem_jyzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2544. }
  2545. }
  2546. }
  2547. ////留言工单数量
  2548. //CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID=2");
  2549. //if (CallRows != null && CallRows.Length > 0)
  2550. //{
  2551. // for (int i = 0; i < CallRows.Length; i++)
  2552. // {
  2553. // if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2554. // {
  2555. // callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2556. // }
  2557. // if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2558. // {
  2559. // Returnvisitproblem_jy.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2560. // }
  2561. // }
  2562. //}
  2563. dataRow = newTable.NewRow();
  2564. dataRow["BusinessType"] = "建议";
  2565. dataRow["allcount"] = callInCount_jyzb;
  2566. dataRow["callcount"] = callInCount_jyzb;
  2567. dataRow["wxcount"] = 0;
  2568. dataRow["wbcount"] = 0;
  2569. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
  2570. newTable.Rows.Add(dataRow);
  2571. #endregion
  2572. #region 表扬工单
  2573. callInCount = 0;
  2574. //string Returnvisitproblem_by = "";
  2575. List<string> Returnvisitproblem_by = new List<string>();
  2576. //来电工单数量
  2577. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=1");
  2578. if (CallRows != null && CallRows.Length > 0)
  2579. {
  2580. for (int i = 0; i < CallRows.Length; i++)
  2581. {
  2582. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2583. {
  2584. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2585. }
  2586. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2587. {
  2588. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2589. }
  2590. }
  2591. }
  2592. //留言工单数量
  2593. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID=2");
  2594. if (CallRows != null && CallRows.Length > 0)
  2595. {
  2596. for (int i = 0; i < CallRows.Length; i++)
  2597. {
  2598. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2599. {
  2600. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2601. }
  2602. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2603. {
  2604. Returnvisitproblem_by.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2605. }
  2606. }
  2607. }
  2608. dataRow = newTable.NewRow();
  2609. dataRow["BusinessType"] = "表扬";
  2610. dataRow["allcount"] = callInCount;
  2611. dataRow["callcount"] = callInCount;
  2612. dataRow["wxcount"] = 0;
  2613. dataRow["wbcount"] = 0;
  2614. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_by);
  2615. newTable.Rows.Add(dataRow);
  2616. #endregion
  2617. #region 挂失工单
  2618. callInCount = 0;
  2619. //string Returnvisitproblem_gs = "";
  2620. List<string> Returnvisitproblem_gs = new List<string>();
  2621. //来电工单数量
  2622. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=1");
  2623. if (CallRows != null && CallRows.Length > 0)
  2624. {
  2625. for (int i = 0; i < CallRows.Length; i++)
  2626. {
  2627. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2628. {
  2629. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2630. }
  2631. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2632. {
  2633. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2634. }
  2635. }
  2636. }
  2637. //留言工单数量
  2638. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID=2");
  2639. if (CallRows != null && CallRows.Length > 0)
  2640. {
  2641. for (int i = 0; i < CallRows.Length; i++)
  2642. {
  2643. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2644. {
  2645. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2646. }
  2647. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2648. {
  2649. Returnvisitproblem_gs.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2650. }
  2651. }
  2652. }
  2653. dataRow = newTable.NewRow();
  2654. dataRow["BusinessType"] = "挂失";
  2655. dataRow["allcount"] = callInCount;
  2656. dataRow["callcount"] = callInCount;
  2657. dataRow["wxcount"] = 0;
  2658. dataRow["wbcount"] = 0;
  2659. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gs);
  2660. newTable.Rows.Add(dataRow);
  2661. #endregion
  2662. #region 投诉工单
  2663. callInCount = 0;
  2664. int callInCount_zb = 0;
  2665. List<string> Returnvisitproblem_zb = new List<string>();
  2666. List<string> Returnvisitproblem_ts = new List<string>();
  2667. //转办工单数量
  2668. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  2669. if (CallRows != null && CallRows.Length > 0)
  2670. {
  2671. for (int i = 0; i < CallRows.Length; i++)
  2672. {
  2673. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2674. {
  2675. callInCount_zb += int.Parse(CallRows[i]["callInCount"].ToString());
  2676. }
  2677. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2678. {
  2679. Returnvisitproblem_zb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2680. }
  2681. }
  2682. }
  2683. dataRow = newTable.NewRow();
  2684. dataRow["BusinessType"] = "投诉";
  2685. dataRow["allcount"] = callInCount_zb;
  2686. dataRow["callcount"] = callInCount_zb;
  2687. dataRow["wxcount"] = 0;
  2688. dataRow["wbcount"] = 0;
  2689. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zb);
  2690. newTable.Rows.Add(dataRow);
  2691. #endregion
  2692. }
  2693. }
  2694. dataModel.code = 0;
  2695. dataModel.data = newTable;
  2696. }
  2697. catch (Exception ex)
  2698. {
  2699. dataModel.code = 200;
  2700. dataModel.msg = ex.Message;
  2701. }
  2702. return JsonConvert.SerializeObject(dataModel);
  2703. }
  2704. /// <summary>
  2705. /// 接口数据11.04:总数、转办数量、化解数量、转办工单列表、化解工单列表
  2706. /// </summary>
  2707. /// <param name="page">当前页码</param>
  2708. /// <param name="limit">每页数据量</param>
  2709. /// <param name="sqlWhere">查询条件</param>
  2710. /// <returns></returns>
  2711. [ActionName("WorkOrderTypeFromDataNew")]
  2712. public string WorkOrderTypeFromDataNew(DateTime? NowDateTime, string dateParty)
  2713. {
  2714. //数据结果集
  2715. ResponseData dataModel = new ResponseData();
  2716. try
  2717. {
  2718. string startDate = "";
  2719. string endDate = "";
  2720. if (!string.IsNullOrEmpty(dateParty))
  2721. {
  2722. startDate = dateParty.Substring(0, 10);
  2723. endDate = dateParty.Substring(12);
  2724. }
  2725. else
  2726. {
  2727. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  2728. }
  2729. DataTable datas = recordBLL.GetWorkOrderBussTypeFromDataNew(startDate, endDate);
  2730. DataTable newTable = new DataTable();
  2731. newTable.Columns.Add("BusinessType");
  2732. newTable.Columns.Add("allcount");
  2733. newTable.Columns.Add("callcount");
  2734. newTable.Columns.Add("wxcount");
  2735. newTable.Columns.Add("wbcount");
  2736. //newTable.Columns.Add("callCount_zb");
  2737. //newTable.Columns.Add("callCount_kfhj");
  2738. newTable.Columns.Add("Returnvisitproblem"); //概要:F_RETURNVISITPROBLEM
  2739. //newTable.Columns.Add("Returnvisitproblem_zb");
  2740. //newTable.Columns.Add("Returnvisitproblem_kfhj");
  2741. if (datas != null && datas.Rows.Count > 0)
  2742. {
  2743. DataRow dataRow;
  2744. if (datas != null && datas.Rows.Count > 0)
  2745. {
  2746. #region 咨询工单
  2747. int callInCount = 0;
  2748. int callInCount_zxzb = 0;
  2749. int callInCount_zxkfhj = 0;
  2750. List<string> Returnvisitproblem_zxzb = new List<string>();
  2751. List<string> Returnvisitproblem_zxkfhj = new List<string>();
  2752. //来电工单\留言工单数量
  2753. DataRow[] CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2)");
  2754. if (CallRows != null && CallRows.Length > 0)
  2755. {
  2756. for (int i = 0; i < CallRows.Length; i++)
  2757. {
  2758. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2759. {
  2760. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2761. }
  2762. }
  2763. }
  2764. //转办工单数量 1转办 3客服处理
  2765. CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2)");
  2766. if (CallRows != null && CallRows.Length > 0)
  2767. {
  2768. for (int i = 0; i < CallRows.Length; i++)
  2769. {
  2770. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2771. {
  2772. callInCount_zxzb += int.Parse(CallRows[i]["callInCount"].ToString());
  2773. }
  2774. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2775. {
  2776. Returnvisitproblem_zxzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2777. }
  2778. }
  2779. }
  2780. //转办工单数量 1转办 3客服处理
  2781. /*CallRows = datas.Select("BusinessType=6 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
  2782. if (CallRows != null && CallRows.Length > 0)
  2783. {
  2784. for (int i = 0; i < CallRows.Length; i++)
  2785. {
  2786. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2787. {
  2788. callInCount_zxkfhj += int.Parse(CallRows[i]["callInCount"].ToString());
  2789. }
  2790. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2791. {
  2792. Returnvisitproblem_zxkfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2793. }
  2794. }
  2795. }*/
  2796. dataRow = newTable.NewRow();
  2797. dataRow["BusinessType"] = "咨询";
  2798. dataRow["allcount"] = callInCount;
  2799. dataRow["callcount"] = callInCount;
  2800. dataRow["wxcount"] = 0;
  2801. dataRow["wbcount"] = 0;
  2802. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
  2803. //dataRow["callCount_zb"] = callInCount_zxzb;
  2804. //dataRow["callCount_kfhj"] = callInCount_zxkfhj;
  2805. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
  2806. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_zxkfhj);
  2807. newTable.Rows.Add(dataRow);
  2808. #endregion
  2809. #region 建议工单
  2810. callInCount = 0;
  2811. int callInCount_jyzb = 0;
  2812. int callInCount_jykfhj = 0;
  2813. List<string> Returnvisitproblem_jyzb = new List<string>();
  2814. List<string> Returnvisitproblem_jykfhj = new List<string>();
  2815. //来电工单数量
  2816. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2)");
  2817. if (CallRows != null && CallRows.Length > 0)
  2818. {
  2819. for (int i = 0; i < CallRows.Length; i++)
  2820. {
  2821. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2822. {
  2823. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2824. }
  2825. }
  2826. }
  2827. //转办工单数量 1转办 3客服处理
  2828. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  2829. if (CallRows != null && CallRows.Length > 0)
  2830. {
  2831. for (int i = 0; i < CallRows.Length; i++)
  2832. {
  2833. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2834. {
  2835. callInCount_jyzb += int.Parse(CallRows[i]["callInCount"].ToString());
  2836. }
  2837. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2838. {
  2839. Returnvisitproblem_jyzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2840. }
  2841. }
  2842. }
  2843. //转办工单数量 1转办 3客服处理
  2844. CallRows = datas.Select("BusinessType=14 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
  2845. if (CallRows != null && CallRows.Length > 0)
  2846. {
  2847. for (int i = 0; i < CallRows.Length; i++)
  2848. {
  2849. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2850. {
  2851. callInCount_jykfhj += int.Parse(CallRows[i]["callInCount"].ToString());
  2852. }
  2853. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2854. {
  2855. Returnvisitproblem_jykfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2856. }
  2857. }
  2858. }
  2859. dataRow = newTable.NewRow();
  2860. dataRow["BusinessType"] = "建议";
  2861. dataRow["allcount"] = callInCount_jyzb;
  2862. dataRow["callcount"] = callInCount_jyzb;
  2863. dataRow["wxcount"] = 0;
  2864. dataRow["wbcount"] = 0;
  2865. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
  2866. //dataRow["callCount_zb"] = callInCount_jyzb;
  2867. //dataRow["callCount_kfhj"] = callInCount_jykfhj;
  2868. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_jyzb);
  2869. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_jykfhj);
  2870. newTable.Rows.Add(dataRow);
  2871. dataRow = newTable.NewRow();
  2872. dataRow["BusinessType"] = "建议(客服已解释)";
  2873. dataRow["allcount"] = callInCount_jykfhj;
  2874. dataRow["callcount"] = callInCount_jykfhj;
  2875. dataRow["wxcount"] = 0;
  2876. dataRow["wbcount"] = 0;
  2877. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_jykfhj);
  2878. //dataRow["callCount_zb"] = callInCount_zxzb;
  2879. //dataRow["callCount_kfhj"] = callInCount_zxkfhj;
  2880. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_zxzb);
  2881. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_zxkfhj);
  2882. newTable.Rows.Add(dataRow);
  2883. #endregion
  2884. #region 表扬工单
  2885. callInCount = 0;
  2886. int callInCount_byzb = 0;
  2887. int callInCount_bykfhj = 0;
  2888. List<string> Returnvisitproblem_byzb = new List<string>();
  2889. List<string> Returnvisitproblem_bykfhj = new List<string>();
  2890. //来电工单数量
  2891. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) ");
  2892. if (CallRows != null && CallRows.Length > 0)
  2893. {
  2894. for (int i = 0; i < CallRows.Length; i++)
  2895. {
  2896. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2897. {
  2898. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2899. }
  2900. }
  2901. }
  2902. //转办工单数量 1转办
  2903. CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) ");
  2904. if (CallRows != null && CallRows.Length > 0)
  2905. {
  2906. for (int i = 0; i < CallRows.Length; i++)
  2907. {
  2908. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2909. {
  2910. callInCount_byzb += int.Parse(CallRows[i]["callInCount"].ToString());
  2911. }
  2912. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2913. {
  2914. Returnvisitproblem_byzb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2915. }
  2916. }
  2917. }
  2918. //转办工单数量 3客服处理
  2919. /*CallRows = datas.Select("BusinessType=18 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
  2920. if (CallRows != null && CallRows.Length > 0)
  2921. {
  2922. for (int i = 0; i < CallRows.Length; i++)
  2923. {
  2924. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2925. {
  2926. callInCount_bykfhj += int.Parse(CallRows[i]["callInCount"].ToString());
  2927. }
  2928. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2929. {
  2930. Returnvisitproblem_bykfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2931. }
  2932. }
  2933. }*/
  2934. dataRow = newTable.NewRow();
  2935. dataRow["BusinessType"] = "表扬";
  2936. dataRow["allcount"] = callInCount_byzb;
  2937. dataRow["callcount"] = callInCount_byzb;
  2938. dataRow["wxcount"] = 0;
  2939. dataRow["wbcount"] = 0;
  2940. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_byzb);
  2941. //dataRow["callCount_zb"] = callInCount_byzb;
  2942. //dataRow["callCount_kfhj"] = callInCount_bykfhj;
  2943. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_byzb);
  2944. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_bykfhj);
  2945. newTable.Rows.Add(dataRow);
  2946. #endregion
  2947. #region 挂失工单
  2948. callInCount = 0;
  2949. int callInCount_gszb = 0;
  2950. int callInCount_gskfhj = 0;
  2951. List<string> Returnvisitproblem_gszb = new List<string>();
  2952. List<string> Returnvisitproblem_gskfhj = new List<string>();
  2953. //来电工单数量
  2954. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) ");
  2955. if (CallRows != null && CallRows.Length > 0)
  2956. {
  2957. for (int i = 0; i < CallRows.Length; i++)
  2958. {
  2959. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2960. {
  2961. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  2962. }
  2963. }
  2964. }
  2965. //转办工单数量 1转办
  2966. CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) ");
  2967. if (CallRows != null && CallRows.Length > 0)
  2968. {
  2969. for (int i = 0; i < CallRows.Length; i++)
  2970. {
  2971. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2972. {
  2973. callInCount_gszb += int.Parse(CallRows[i]["callInCount"].ToString());
  2974. }
  2975. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2976. {
  2977. Returnvisitproblem_gszb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2978. }
  2979. }
  2980. }
  2981. //转办工单数量 3客服处理
  2982. /*CallRows = datas.Select("BusinessType=19 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
  2983. if (CallRows != null && CallRows.Length > 0)
  2984. {
  2985. for (int i = 0; i < CallRows.Length; i++)
  2986. {
  2987. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  2988. {
  2989. callInCount_gskfhj += int.Parse(CallRows[i]["callInCount"].ToString());
  2990. }
  2991. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  2992. {
  2993. Returnvisitproblem_gskfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  2994. }
  2995. }
  2996. }*/
  2997. dataRow = newTable.NewRow();
  2998. dataRow["BusinessType"] = "挂失";
  2999. dataRow["allcount"] = callInCount_gszb;
  3000. dataRow["callcount"] = callInCount_gszb;
  3001. dataRow["wxcount"] = 0;
  3002. dataRow["wbcount"] = 0;
  3003. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_gszb);
  3004. //dataRow["callCount_zb"] = callInCount_gszb;
  3005. //dataRow["callCount_kfhj"] = callInCount_gskfhj;
  3006. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_gszb);
  3007. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_gskfhj);
  3008. newTable.Rows.Add(dataRow);
  3009. #endregion
  3010. #region 投诉工单
  3011. callInCount = 0;
  3012. int callInCount_tszb = 0;
  3013. int callInCount_tskfhj = 0;
  3014. List<string> Returnvisitproblem_tszb = new List<string>();
  3015. List<string> Returnvisitproblem_tskfhj = new List<string>();
  3016. //来电工单数量
  3017. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2)");
  3018. if (CallRows != null && CallRows.Length > 0)
  3019. {
  3020. for (int i = 0; i < CallRows.Length; i++)
  3021. {
  3022. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  3023. {
  3024. callInCount += int.Parse(CallRows[i]["callInCount"].ToString());
  3025. }
  3026. }
  3027. }
  3028. //转办工单数量 1转办
  3029. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=1");
  3030. if (CallRows != null && CallRows.Length > 0)
  3031. {
  3032. for (int i = 0; i < CallRows.Length; i++)
  3033. {
  3034. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  3035. {
  3036. callInCount_tszb += int.Parse(CallRows[i]["callInCount"].ToString());
  3037. }
  3038. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  3039. {
  3040. Returnvisitproblem_tszb.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  3041. }
  3042. }
  3043. }
  3044. //转办工单数量 3客服处理
  3045. CallRows = datas.Select("BusinessType=3 and F_REPAIRMANID in (1,2) and F_WORKORDERTYPEID=3");
  3046. if (CallRows != null && CallRows.Length > 0)
  3047. {
  3048. for (int i = 0; i < CallRows.Length; i++)
  3049. {
  3050. if (CallRows[i]["callInCount"] != null && !string.IsNullOrEmpty(CallRows[i]["callInCount"].ToString()))
  3051. {
  3052. callInCount_tskfhj += int.Parse(CallRows[i]["callInCount"].ToString());
  3053. }
  3054. if (CallRows[i]["F_RETURNVISITPROBLEM"].ToString().Trim() != "")
  3055. {
  3056. Returnvisitproblem_tskfhj.Add(CallRows[i]["F_RETURNVISITPROBLEM"].ToString());
  3057. }
  3058. }
  3059. }
  3060. dataRow = newTable.NewRow();
  3061. dataRow["BusinessType"] = "投诉";
  3062. dataRow["allcount"] = callInCount_tszb;
  3063. dataRow["callcount"] = callInCount_tszb;
  3064. dataRow["wxcount"] = 0;
  3065. dataRow["wbcount"] = 0;
  3066. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_tszb);
  3067. //dataRow["callCount_zb"] = callInCount_tszb;
  3068. //dataRow["callCount_kfhj"] = callInCount_tskfhj;
  3069. //dataRow["Returnvisitproblem_zb"] = JsonConvert.SerializeObject(Returnvisitproblem_tszb);
  3070. //dataRow["Returnvisitproblem_kfhj"] = JsonConvert.SerializeObject(Returnvisitproblem_tskfhj);
  3071. newTable.Rows.Add(dataRow);
  3072. dataRow = newTable.NewRow();
  3073. dataRow["BusinessType"] = "投诉(客服已化解)";
  3074. dataRow["allcount"] = callInCount_tskfhj;
  3075. dataRow["callcount"] = callInCount_tskfhj;
  3076. dataRow["wxcount"] = 0;
  3077. dataRow["wbcount"] = 0;
  3078. dataRow["Returnvisitproblem"] = JsonConvert.SerializeObject(Returnvisitproblem_tskfhj);
  3079. newTable.Rows.Add(dataRow);
  3080. #endregion
  3081. }
  3082. }
  3083. dataModel.code = 0;
  3084. dataModel.data = newTable;
  3085. }
  3086. catch (Exception ex)
  3087. {
  3088. dataModel.code = 200;
  3089. dataModel.msg = ex.Message;
  3090. }
  3091. return JsonConvert.SerializeObject(dataModel);
  3092. }
  3093. #endregion
  3094. #endregion
  3095. #region 坐席业务量统计
  3096. public ActionResult WorkOrderTypeUserMath()
  3097. {
  3098. WorkOrderMyModel model = new WorkOrderMyModel();
  3099. return View(model);
  3100. }
  3101. BLL.UserAccount userBLL = new BLL.UserAccount();
  3102. /// <summary>
  3103. /// 获取工单信息
  3104. /// </summary>
  3105. /// <param name="page">当前页码</param>
  3106. /// <param name="limit">每页数据量</param>
  3107. /// <param name="sqlWhere">查询条件</param>
  3108. /// <returns></returns>
  3109. [ActionName("WorkOrderTypeUserMathData")]
  3110. [HttpGet]
  3111. public string WorkOrderTypeUserMathData(DateTime? NowDateTime, string dateParty)
  3112. {
  3113. //数据结果集
  3114. ResponseData dataModel = new ResponseData();
  3115. try
  3116. {
  3117. string startDate = "";
  3118. string endDate = "";
  3119. if (!string.IsNullOrEmpty(dateParty))
  3120. {
  3121. startDate = dateParty.Substring(0, 10);
  3122. endDate = dateParty.Substring(12);
  3123. }
  3124. else
  3125. {
  3126. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3127. }
  3128. DataTable datas = recordBLL.GetWorkOrderUeserData(startDate, endDate);
  3129. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3130. DataTable newTable = new DataTable();
  3131. newTable.Columns.Add("坐席工号");
  3132. newTable.Columns.Add("坐席姓名");
  3133. newTable.Columns.Add("业务数量");
  3134. newTable.Columns.Add("语音业务数量");
  3135. newTable.Columns.Add("在线业务数量");
  3136. newTable.Columns.Add("微信业务数量");
  3137. newTable.Columns.Add("微博业务数量");
  3138. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3139. {
  3140. foreach (DataRow row in userTable.Rows)
  3141. {
  3142. DataRow newRow = newTable.NewRow();
  3143. newRow[0] = row["F_UserCode"];
  3144. newRow[1] = row["F_UserName"];
  3145. int totalCount2 = 0;
  3146. int totalCount3 = 0;
  3147. int totalCount4 = 0;
  3148. int totalCount5 = 0;
  3149. int totalCount6 = 0;
  3150. DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
  3151. if (thisUserRows != null && thisUserRows.Length > 0)
  3152. {
  3153. foreach (DataRow collRow in thisUserRows)
  3154. {
  3155. if (!string.IsNullOrEmpty(collRow["业务量"].ToString()))
  3156. {
  3157. int thisCount = int.Parse(collRow["业务量"].ToString());
  3158. totalCount2 += thisCount;
  3159. if (!string.IsNullOrEmpty(collRow["渠道"].ToString()))
  3160. {
  3161. int qudaoID = int.Parse(collRow["渠道"].ToString());
  3162. if (qudaoID == 1)
  3163. {
  3164. totalCount3 += thisCount;
  3165. }
  3166. else if (qudaoID == 2)
  3167. {
  3168. totalCount3 += thisCount;
  3169. }
  3170. else if (qudaoID == 3)
  3171. {
  3172. totalCount4 += thisCount;
  3173. totalCount5 += thisCount;
  3174. }
  3175. else if (qudaoID == 4)
  3176. {
  3177. totalCount4 += thisCount;
  3178. totalCount6 += thisCount;
  3179. }
  3180. }
  3181. else
  3182. {
  3183. totalCount3 += thisCount;
  3184. }
  3185. }
  3186. }
  3187. }
  3188. newRow[2] = totalCount2;
  3189. newRow[3] = totalCount3;
  3190. newRow[4] = totalCount4;
  3191. newRow[5] = totalCount5;
  3192. newRow[6] = totalCount6;
  3193. newTable.Rows.Add(newRow);
  3194. }
  3195. }
  3196. dataModel.code = 0;
  3197. dataModel.data = newTable;
  3198. return JsonConvert.SerializeObject(dataModel);
  3199. }
  3200. catch (Exception ex)
  3201. {
  3202. dataModel.code = 200;
  3203. dataModel.msg = ex.Message;
  3204. return JsonConvert.SerializeObject(dataModel);
  3205. }
  3206. }
  3207. /// <summary>
  3208. /// 图标数据
  3209. /// </summary>
  3210. /// <param name="page">当前页码</param>
  3211. /// <param name="limit">每页数据量</param>
  3212. /// <param name="sqlWhere">查询条件</param>
  3213. /// <returns></returns>
  3214. public string WorkOrderTypeUserMathChartData(DateTime? NowDateTime, string dateParty)
  3215. {
  3216. WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
  3217. resultModel.bottom = "";
  3218. //数据结果集
  3219. ResponseData dataModel = new ResponseData();
  3220. string startDate = "";
  3221. string endDate = "";
  3222. if (!string.IsNullOrEmpty(dateParty))
  3223. {
  3224. startDate = dateParty.Substring(0, 10);
  3225. endDate = dateParty.Substring(12);
  3226. }
  3227. else
  3228. {
  3229. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3230. }
  3231. DataTable datas = recordBLL.GetWorkOrderUeserData(startDate, endDate);
  3232. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3233. DataTable newTable = new DataTable();
  3234. newTable.Columns.Add("坐席工号");
  3235. newTable.Columns.Add("坐席姓名");
  3236. newTable.Columns.Add("业务数量");
  3237. newTable.Columns.Add("语音业务数量");
  3238. newTable.Columns.Add("在线业务数量");
  3239. newTable.Columns.Add("微信业务数量");
  3240. newTable.Columns.Add("微博业务数量");
  3241. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3242. {
  3243. foreach (DataRow row in userTable.Rows)
  3244. {
  3245. resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
  3246. int totalCount2 = 0;
  3247. int totalCount3 = 0;
  3248. int totalCount4 = 0;
  3249. int totalCount5 = 0;
  3250. int totalCount6 = 0;
  3251. DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
  3252. if (thisUserRows != null && thisUserRows.Length > 0)
  3253. {
  3254. foreach (DataRow collRow in thisUserRows)
  3255. {
  3256. if (!string.IsNullOrEmpty(collRow["业务量"].ToString()))
  3257. {
  3258. int thisCount = int.Parse(collRow["业务量"].ToString());
  3259. totalCount2 += thisCount;
  3260. if (!string.IsNullOrEmpty(collRow["渠道"].ToString()))
  3261. {
  3262. int qudaoID = int.Parse(collRow["渠道"].ToString());
  3263. if (qudaoID == 1)
  3264. {
  3265. totalCount3 += thisCount;
  3266. }
  3267. else if (qudaoID == 2)
  3268. {
  3269. totalCount3 += thisCount;
  3270. }
  3271. else if (qudaoID == 3)
  3272. {
  3273. totalCount4 += thisCount;
  3274. totalCount5 += thisCount;
  3275. }
  3276. else if (qudaoID == 4)
  3277. {
  3278. totalCount4 += thisCount;
  3279. totalCount6 += thisCount;
  3280. }
  3281. }
  3282. else
  3283. {
  3284. totalCount3 += thisCount;
  3285. }
  3286. }
  3287. }
  3288. }
  3289. resultModel.d1 += "," + totalCount2;
  3290. resultModel.d2 += "," + totalCount3;
  3291. resultModel.d3 += "," + totalCount4;
  3292. resultModel.d4 += "," + totalCount5;
  3293. resultModel.d5 += "," + totalCount6;
  3294. }
  3295. }
  3296. resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
  3297. resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
  3298. resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
  3299. resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
  3300. resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
  3301. resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
  3302. return JsonConvert.SerializeObject(resultModel);
  3303. }
  3304. #endregion
  3305. #region 分渠道业务统计
  3306. public ActionResult WorkOrderFrom()
  3307. {
  3308. WorkOrderMyModel model = new WorkOrderMyModel();
  3309. return View(model);
  3310. }
  3311. /// <summary>
  3312. /// 获取工单信息
  3313. /// </summary>
  3314. /// <param name="page">当前页码</param>
  3315. /// <param name="limit">每页数据量</param>
  3316. /// <param name="sqlWhere">查询条件</param>
  3317. /// <returns></returns>
  3318. [ActionName("WorkOrderFromData")]
  3319. [HttpGet]
  3320. public string WorkOrderFromData(DateTime? NowDateTime, string dateParty)
  3321. {
  3322. //数据结果集
  3323. ResponseData dataModel = new ResponseData();
  3324. try
  3325. {
  3326. string startDate = "";
  3327. string endDate = "";
  3328. if (!string.IsNullOrEmpty(dateParty))
  3329. {
  3330. startDate = dateParty.Substring(0, 10);
  3331. endDate = dateParty.Substring(12);
  3332. }
  3333. else
  3334. {
  3335. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3336. }
  3337. DataTable datas = recordBLL.GetWorkOrderFrom(startDate, endDate);
  3338. DataTable newTable = new DataTable();
  3339. newTable.Columns.Add("渠道");
  3340. newTable.Columns.Add("工单数量");
  3341. //微信业务工单数
  3342. int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
  3343. //微博业务工单数
  3344. int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
  3345. //语音数量
  3346. int callCount = 0;
  3347. //微信数量
  3348. int wxCount = 0;
  3349. //微博数量
  3350. int wbCount = 0;
  3351. if (datas != null && datas.Rows.Count > 0)
  3352. {
  3353. foreach (DataRow thisRow in datas.Rows)
  3354. {
  3355. //工单数量
  3356. int thisRowCount = 0;
  3357. if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
  3358. {
  3359. thisRowCount = int.Parse(thisRow["callInCount"].ToString());
  3360. }
  3361. //业务渠道
  3362. string bussFrtom = thisRow["渠道"].ToString();
  3363. if (!string.IsNullOrEmpty(bussFrtom))
  3364. {
  3365. if (bussFrtom == "1" || bussFrtom == "2")
  3366. {
  3367. callCount += thisRowCount;
  3368. }
  3369. else if (bussFrtom == "3")
  3370. {
  3371. wxCount += thisRowCount;
  3372. }
  3373. else if (bussFrtom == "4")
  3374. {
  3375. wbCount += thisRowCount;
  3376. }
  3377. }
  3378. else
  3379. {
  3380. callCount += thisRowCount;
  3381. }
  3382. }
  3383. }
  3384. wxCount = wxCount + wxxtCount;
  3385. wbCount = wbCount + wbxtCount;
  3386. DataRow dataRow = newTable.NewRow();
  3387. dataRow["渠道"] = "语音业务数";
  3388. dataRow["工单数量"] = callCount;
  3389. newTable.Rows.Add(dataRow);
  3390. DataRow dataRow1 = newTable.NewRow();
  3391. dataRow1["渠道"] = "微信业务数";
  3392. dataRow1["工单数量"] = wxCount;
  3393. newTable.Rows.Add(dataRow1);
  3394. DataRow dataRow2 = newTable.NewRow();
  3395. dataRow2["渠道"] = "微博业务数";
  3396. dataRow2["工单数量"] = wbCount;
  3397. newTable.Rows.Add(dataRow2);
  3398. DataRow dataRow3 = newTable.NewRow();
  3399. dataRow3["渠道"] = "合计(不含未分类)";
  3400. dataRow3["工单数量"] = callCount + wxCount + wbCount;
  3401. newTable.Rows.Add(dataRow3);
  3402. dataModel.code = 0;
  3403. dataModel.data = newTable;
  3404. return JsonConvert.SerializeObject(dataModel);
  3405. }
  3406. catch (Exception ex)
  3407. {
  3408. dataModel.code = 200;
  3409. dataModel.msg = ex.Message;
  3410. return JsonConvert.SerializeObject(dataModel);
  3411. }
  3412. }
  3413. /// <summary>
  3414. /// 图标数据
  3415. /// </summary>
  3416. /// <param name="page">当前页码</param>
  3417. /// <param name="limit">每页数据量</param>
  3418. /// <param name="sqlWhere">查询条件</param>
  3419. /// <returns></returns>
  3420. public string WorkOrderFromChartData(DateTime? NowDateTime, string dateParty)
  3421. {
  3422. //数据结果集
  3423. MainChartModel dataModel = new MainChartModel();
  3424. string startDate = "";
  3425. string endDate = "";
  3426. if (!string.IsNullOrEmpty(dateParty))
  3427. {
  3428. startDate = dateParty.Substring(0, 10);
  3429. endDate = dateParty.Substring(12);
  3430. }
  3431. else
  3432. {
  3433. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3434. }
  3435. DataTable datas = recordBLL.GetWorkOrderFrom(startDate, endDate);
  3436. DataTable newTable = new DataTable();
  3437. newTable.Columns.Add("渠道");
  3438. newTable.Columns.Add("工单数量");
  3439. //微信业务工单数
  3440. int wxxtCount = WXWorkOrderCount(3, startDate, endDate);
  3441. //微博业务工单数
  3442. int wbxtCount = WXWorkOrderCount(4, startDate, endDate);
  3443. if (datas != null && datas.Rows.Count > 0)
  3444. {
  3445. //语音数量
  3446. int callCount = 0;
  3447. //微信数量
  3448. int wxCount = 0;
  3449. //微博数量
  3450. int wbCount = 0;
  3451. foreach (DataRow thisRow in datas.Rows)
  3452. {
  3453. //工单数量
  3454. int thisRowCount = 0;
  3455. if (!string.IsNullOrEmpty(thisRow["callInCount"].ToString()))
  3456. {
  3457. thisRowCount = int.Parse(thisRow["callInCount"].ToString());
  3458. }
  3459. //业务渠道
  3460. string bussFrtom = thisRow["渠道"].ToString();
  3461. if (!string.IsNullOrEmpty(bussFrtom))
  3462. {
  3463. if (bussFrtom == "1" || bussFrtom == "2")
  3464. {
  3465. callCount += thisRowCount;
  3466. }
  3467. else if (bussFrtom == "3")
  3468. {
  3469. wxCount += thisRowCount;
  3470. }
  3471. else if (bussFrtom == "4")
  3472. {
  3473. wbCount += thisRowCount;
  3474. }
  3475. }
  3476. else
  3477. {
  3478. callCount += thisRowCount;
  3479. }
  3480. }
  3481. DataRow dataRow = newTable.NewRow();
  3482. dataRow["渠道"] = "语音";
  3483. dataRow["工单数量"] = callCount;
  3484. newTable.Rows.Add(dataRow);
  3485. DataRow dataRow1 = newTable.NewRow();
  3486. dataRow1["渠道"] = "微信";
  3487. dataRow1["工单数量"] = wxCount+ wxxtCount;
  3488. newTable.Rows.Add(dataRow1);
  3489. DataRow dataRow2 = newTable.NewRow();
  3490. dataRow2["渠道"] = "微博";
  3491. dataRow2["工单数量"] = wbCount+ wbxtCount;
  3492. newTable.Rows.Add(dataRow2);
  3493. }
  3494. if (newTable != null && newTable.Rows.Count > 0)
  3495. {
  3496. string[] strArr = new string[newTable.Rows.Count];
  3497. string contentArr = "";
  3498. for (int i = 0; i < newTable.Rows.Count; i++)
  3499. {
  3500. strArr[i] = newTable.Rows[i]["渠道"].ToString();
  3501. if (i == 0)
  3502. {
  3503. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["渠道"].ToString() + "' }";
  3504. }
  3505. else
  3506. {
  3507. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["渠道"].ToString() + "' }";
  3508. }
  3509. }
  3510. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  3511. dataModel.datas = "[" + contentArr + "]";
  3512. }
  3513. return JsonConvert.SerializeObject(dataModel);
  3514. }
  3515. #endregion
  3516. #region 坐席处理方式业务量统计
  3517. public ActionResult WorkOrderTrainFunctionMath()
  3518. {
  3519. WorkOrderMyModel model = new WorkOrderMyModel();
  3520. return View(model);
  3521. }
  3522. /// <summary>
  3523. /// 获取工单信息
  3524. /// </summary>
  3525. /// <param name="page">当前页码</param>
  3526. /// <param name="limit">每页数据量</param>
  3527. /// <param name="sqlWhere">查询条件</param>
  3528. /// <returns></returns>
  3529. [ActionName("WorkOrderTrainFunctionMathData")]
  3530. [HttpGet]
  3531. public string WorkOrderTrainFunctionMathData(DateTime? NowDateTime, string dateParty)
  3532. {
  3533. //数据结果集
  3534. ResponseData dataModel = new ResponseData();
  3535. string startDate = "";
  3536. string endDate = "";
  3537. if (!string.IsNullOrEmpty(dateParty))
  3538. {
  3539. startDate = dateParty.Substring(0, 10);
  3540. endDate = dateParty.Substring(12);
  3541. }
  3542. else
  3543. {
  3544. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3545. }
  3546. DataTable datas = recordBLL.GetWorkOrderTrainFunction(startDate, endDate);
  3547. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3548. DataTable newTable = new DataTable();
  3549. newTable.Columns.Add("坐席工号");
  3550. newTable.Columns.Add("坐席姓名");
  3551. newTable.Columns.Add("业务数量");
  3552. newTable.Columns.Add("咨询");
  3553. newTable.Columns.Add("建议");
  3554. newTable.Columns.Add("表扬");
  3555. newTable.Columns.Add("挂失");
  3556. newTable.Columns.Add("投诉");
  3557. newTable.Columns.Add("转办投诉");
  3558. newTable.Columns.Add("现场处理投诉");
  3559. newTable.Columns.Add("客服处理投诉");
  3560. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3561. {
  3562. foreach (DataRow row in userTable.Rows)
  3563. {
  3564. DataRow newRow = newTable.NewRow();
  3565. newRow[0] = row["F_UserCode"];
  3566. newRow[1] = row["F_UserName"];
  3567. int totalCount2 = 0;
  3568. int totalCount3 = 0;
  3569. int totalCount4 = 0;
  3570. int totalCount5 = 0;
  3571. int totalCount6 = 0;
  3572. int totalCount7 = 0;
  3573. int totalCount8 = 0;
  3574. int totalCount9 = 0;
  3575. int totalCount10 = 0;
  3576. DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
  3577. if (thisUserRows != null && thisUserRows.Length > 0)
  3578. {
  3579. foreach (DataRow collRow in thisUserRows)
  3580. {
  3581. if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
  3582. {
  3583. int thisCount = int.Parse(collRow["业务量"].ToString());
  3584. totalCount2 += thisCount;
  3585. if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
  3586. {
  3587. int qudaoID = int.Parse(collRow["业务类别"].ToString());
  3588. int blFunction = int.Parse(collRow["处理方式"].ToString());
  3589. if (qudaoID == 6)
  3590. {
  3591. totalCount3 += thisCount;
  3592. }
  3593. else if (qudaoID == 14)
  3594. {
  3595. totalCount4 += thisCount;
  3596. }
  3597. else if (qudaoID == 18)
  3598. {
  3599. totalCount5 += thisCount;
  3600. }
  3601. else if (qudaoID == 19)
  3602. {
  3603. totalCount6 += thisCount;
  3604. }
  3605. else if (qudaoID == 3)
  3606. {
  3607. totalCount7 += thisCount;
  3608. if (blFunction == 1)
  3609. {
  3610. totalCount8 += thisCount;
  3611. }
  3612. else if (blFunction == 2)
  3613. {
  3614. totalCount9 += thisCount;
  3615. }
  3616. else if (blFunction == 3)
  3617. {
  3618. totalCount10 += thisCount;
  3619. }
  3620. }
  3621. }
  3622. }
  3623. }
  3624. }
  3625. newRow[2] = totalCount2;
  3626. newRow[3] = totalCount3;
  3627. newRow[4] = totalCount4;
  3628. newRow[5] = totalCount5;
  3629. newRow[6] = totalCount6;
  3630. newRow[7] = totalCount7;
  3631. newRow[8] = totalCount8;
  3632. newRow[9] = totalCount9;
  3633. newRow[10] = totalCount10;
  3634. newTable.Rows.Add(newRow);
  3635. }
  3636. }
  3637. dataModel.code = 0;
  3638. dataModel.data = newTable;
  3639. return JsonConvert.SerializeObject(dataModel);
  3640. }
  3641. /// <summary>
  3642. /// 图标数据
  3643. /// </summary>
  3644. /// <param name="page">当前页码</param>
  3645. /// <param name="limit">每页数据量</param>
  3646. /// <param name="sqlWhere">查询条件</param>
  3647. /// <returns></returns>
  3648. public string WorkOrderTrainFunctionMathChartData(DateTime? NowDateTime, string dateParty)
  3649. {
  3650. WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
  3651. //数据结果集
  3652. //数据结果集
  3653. ResponseData dataModel = new ResponseData();
  3654. string startDate = "";
  3655. string endDate = "";
  3656. if (!string.IsNullOrEmpty(dateParty))
  3657. {
  3658. startDate = dateParty.Substring(0, 10);
  3659. endDate = dateParty.Substring(12);
  3660. }
  3661. else
  3662. {
  3663. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3664. }
  3665. DataTable datas = recordBLL.GetWorkOrderTrainFunction(startDate, endDate);
  3666. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3667. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3668. {
  3669. foreach (DataRow row in userTable.Rows)
  3670. {
  3671. resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
  3672. int totalCount2 = 0;
  3673. int totalCount3 = 0;
  3674. int totalCount4 = 0;
  3675. int totalCount5 = 0;
  3676. int totalCount6 = 0;
  3677. int totalCount7 = 0;
  3678. int totalCount8 = 0;
  3679. int totalCount9 = 0;
  3680. int totalCount10 = 0;
  3681. DataRow[] thisUserRows = datas.Select("坐席工号='" + row["F_UserCode"] + "'");
  3682. if (thisUserRows != null && thisUserRows.Length > 0)
  3683. {
  3684. foreach (DataRow collRow in thisUserRows)
  3685. {
  3686. if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
  3687. {
  3688. int thisCount = int.Parse(collRow["业务量"].ToString());
  3689. totalCount2 += thisCount;
  3690. if (!string.IsNullOrEmpty(collRow["业务类别"].ToString()))
  3691. {
  3692. int qudaoID = int.Parse(collRow["业务类别"].ToString());
  3693. int blFunction = int.Parse(collRow["处理方式"].ToString());
  3694. if (qudaoID == 6)
  3695. {
  3696. totalCount3 += thisCount;
  3697. }
  3698. else if (qudaoID == 14)
  3699. {
  3700. totalCount4 += thisCount;
  3701. }
  3702. else if (qudaoID == 18)
  3703. {
  3704. totalCount5 += thisCount;
  3705. }
  3706. else if (qudaoID == 19)
  3707. {
  3708. totalCount6 += thisCount;
  3709. }
  3710. else if (qudaoID == 3)
  3711. {
  3712. totalCount7 += thisCount;
  3713. if (blFunction == 1)
  3714. {
  3715. totalCount8 += thisCount;
  3716. }
  3717. else if (blFunction == 2)
  3718. {
  3719. totalCount9 += thisCount;
  3720. }
  3721. else if (blFunction == 3)
  3722. {
  3723. totalCount10 += thisCount;
  3724. }
  3725. }
  3726. }
  3727. }
  3728. }
  3729. }
  3730. resultModel.d1 += "," + totalCount2;
  3731. resultModel.d2 += "," + totalCount3;
  3732. resultModel.d3 += "," + totalCount4;
  3733. resultModel.d4 += "," + totalCount5;
  3734. resultModel.d5 += "," + totalCount6;
  3735. resultModel.d6 += "," + totalCount7;
  3736. resultModel.d7 += "," + totalCount8;
  3737. resultModel.d8 += "," + totalCount9;
  3738. resultModel.d9 += "," + totalCount10;
  3739. }
  3740. resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
  3741. resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
  3742. resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
  3743. resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
  3744. resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
  3745. resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
  3746. resultModel.d6 = "[" + resultModel.d6.Trim(',') + "]";
  3747. resultModel.d7 = "[" + resultModel.d7.Trim(',') + "]";
  3748. resultModel.d8 = "[" + resultModel.d8.Trim(',') + "]";
  3749. resultModel.d9 = "[" + resultModel.d9.Trim(',') + "]";
  3750. }
  3751. return JsonConvert.SerializeObject(resultModel);
  3752. }
  3753. #endregion
  3754. #region 坐席话务量统计
  3755. public ActionResult CallTimeMath()
  3756. {
  3757. WorkOrderMyModel model = new WorkOrderMyModel();
  3758. return View(model);
  3759. }
  3760. /// <summary>
  3761. /// 获取工单信息
  3762. /// </summary>
  3763. /// <param name="page">当前页码</param>
  3764. /// <param name="limit">每页数据量</param>
  3765. /// <param name="sqlWhere">查询条件</param>
  3766. /// <returns></returns>
  3767. [ActionName("CallTimeMathData")]
  3768. [HttpGet]
  3769. public string CallTimeMathData(DateTime? NowDateTime, string dateParty)
  3770. {
  3771. //数据结果集
  3772. ResponseData dataModel = new ResponseData();
  3773. string startDate = "";
  3774. string endDate = "";
  3775. if (!string.IsNullOrEmpty(dateParty))
  3776. {
  3777. startDate = dateParty.Substring(0, 10);
  3778. endDate = dateParty.Substring(12);
  3779. }
  3780. else
  3781. {
  3782. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3783. }
  3784. DataTable datas = recordBLL.CallTimeMath(startDate, endDate);
  3785. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3786. DataTable newTable = new DataTable();
  3787. newTable.Columns.Add("坐席工号");
  3788. newTable.Columns.Add("坐席姓名");
  3789. newTable.Columns.Add("总通话次数");
  3790. newTable.Columns.Add("接听电话次数");
  3791. newTable.Columns.Add("呼出电话次数");
  3792. newTable.Columns.Add("通话总时长");
  3793. newTable.Columns.Add("平均通话时长");
  3794. newTable.Columns.Add("流失率");
  3795. newTable.Columns.Add("接通率");
  3796. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3797. {
  3798. foreach (DataRow row in userTable.Rows)
  3799. {
  3800. DataRow newRow = newTable.NewRow();
  3801. newRow[0] = row["F_UserCode"];
  3802. newRow[1] = row["F_UserName"];
  3803. int totalCount2 = 0;
  3804. int totalCount3 = 0;
  3805. int totalCount4 = 0;
  3806. int totalCount5 = 0;
  3807. int totalCount6 = 0;
  3808. DataRow[] thisUserRows = datas.Select("userId=" + row["F_UserId"]);
  3809. if (thisUserRows != null && thisUserRows.Length > 0)
  3810. {
  3811. foreach (DataRow collRow in thisUserRows)
  3812. {
  3813. if (!string.IsNullOrEmpty(collRow["呼叫次数"].ToString()))
  3814. {
  3815. int thisCount = int.Parse(collRow["呼叫次数"].ToString());
  3816. totalCount2 += thisCount;
  3817. if (!string.IsNullOrEmpty(collRow["呼叫类型"].ToString()))
  3818. {
  3819. int qudaoID = int.Parse(collRow["呼叫类型"].ToString());
  3820. if (qudaoID == 0)
  3821. {
  3822. totalCount3 += thisCount;
  3823. }
  3824. else if (qudaoID == 1)
  3825. {
  3826. totalCount4 += thisCount;
  3827. }
  3828. }
  3829. }
  3830. if (!string.IsNullOrEmpty(collRow["通话时长"].ToString()))
  3831. {
  3832. int thisCount = int.Parse(collRow["通话时长"].ToString());
  3833. totalCount5 += thisCount;
  3834. }
  3835. }
  3836. }
  3837. if (totalCount2 > 0)
  3838. {
  3839. totalCount6 = (int)totalCount5 / totalCount2;
  3840. }
  3841. #region 计算流失率 通过率
  3842. //string startDatestr = "";
  3843. //string endDatestr = "";
  3844. //if (!string.IsNullOrEmpty(startDate))
  3845. //{
  3846. // startDatestr=" and BeginTime>='" + startDate + " 00:00:00' ";
  3847. //}
  3848. //if (!string.IsNullOrEmpty(endDate))
  3849. //{
  3850. // endDatestr=" and BeginTime<='" + endDate + " 23:59:59' ";
  3851. //}
  3852. //decimal ls= recordBLL.GetRecordCount(string.Format("Userid={0} and RingLongTime>3 and CallState=0 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3853. //decimal tg =recordBLL.GetRecordCount(string.Format("Userid={0} and CallState=1 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3854. //decimal zs = 1.00M*recordBLL.GetRecordCount(string.Format("Userid={0} {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3855. string lsl = "0%";//流失率
  3856. string jtl = "0%";//通过率
  3857. //if (zs!=0)
  3858. //{
  3859. // lsl = (ls / zs).ToString("P");
  3860. // jtl = (tg / zs).ToString("P");
  3861. //}
  3862. #endregion
  3863. newRow[2] = totalCount2;
  3864. newRow[3] = totalCount3;
  3865. newRow[4] = totalCount4;
  3866. newRow[5] = totalCount5;
  3867. newRow[6] = totalCount6;
  3868. newRow[7] = lsl;
  3869. newRow[8] = jtl;
  3870. newTable.Rows.Add(newRow);
  3871. }
  3872. }
  3873. dataModel.code = 0;
  3874. dataModel.data = newTable;
  3875. return JsonConvert.SerializeObject(dataModel);
  3876. }
  3877. /// <summary>
  3878. /// 图标数据
  3879. /// </summary>
  3880. /// <param name="page">当前页码</param>
  3881. /// <param name="limit">每页数据量</param>
  3882. /// <param name="sqlWhere">查询条件</param>
  3883. /// <returns></returns>
  3884. public string CallTimeMathChartData(DateTime? NowDateTime, string dateParty)
  3885. {
  3886. WorkOrderTypeUserMathModel resultModel = new WorkOrderTypeUserMathModel();
  3887. //数据结果集
  3888. //数据结果集
  3889. ResponseData dataModel = new ResponseData();
  3890. string startDate = "";
  3891. string endDate = "";
  3892. if (!string.IsNullOrEmpty(dateParty))
  3893. {
  3894. startDate = dateParty.Substring(0, 10);
  3895. endDate = dateParty.Substring(12);
  3896. }
  3897. else
  3898. {
  3899. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3900. }
  3901. DataTable datas = recordBLL.CallTimeMath(startDate, endDate);
  3902. DataTable userTable = userBLL.GetList(" F_SeatFlag=1").Tables[0];
  3903. if (datas != null && datas.Rows.Count > 0 && userTable != null && userTable.Rows.Count > 0)
  3904. {
  3905. foreach (DataRow row in userTable.Rows)
  3906. {
  3907. resultModel.bottom += ",'" + row["F_UserName"].ToString() + "'";
  3908. int totalCount2 = 0;
  3909. int totalCount3 = 0;
  3910. int totalCount4 = 0;
  3911. int totalCount5 = 0;
  3912. int totalCount6 = 0;
  3913. DataRow[] thisUserRows = datas.Select("userId=" + row["F_UserId"]);
  3914. if (thisUserRows != null && thisUserRows.Length > 0)
  3915. {
  3916. foreach (DataRow collRow in thisUserRows)
  3917. {
  3918. if (!string.IsNullOrEmpty(collRow["呼叫次数"].ToString()))
  3919. {
  3920. int thisCount = int.Parse(collRow["呼叫次数"].ToString());
  3921. totalCount2 += thisCount;
  3922. if (!string.IsNullOrEmpty(collRow["呼叫类型"].ToString()))
  3923. {
  3924. int qudaoID = int.Parse(collRow["呼叫类型"].ToString());
  3925. if (qudaoID == 0)
  3926. {
  3927. totalCount3 += thisCount;
  3928. }
  3929. else if (qudaoID == 1)
  3930. {
  3931. totalCount4 += thisCount;
  3932. }
  3933. }
  3934. }
  3935. if (!string.IsNullOrEmpty(collRow["通话时长"].ToString()))
  3936. {
  3937. int thisCount = int.Parse(collRow["通话时长"].ToString());
  3938. totalCount5 += thisCount;
  3939. }
  3940. }
  3941. }
  3942. if (totalCount2 > 0)
  3943. {
  3944. totalCount6 = (int)totalCount5 / totalCount2;
  3945. }
  3946. #region 计算流失率 通过率
  3947. string startDatestr = "";
  3948. string endDatestr = "";
  3949. if (!string.IsNullOrEmpty(startDate))
  3950. {
  3951. startDatestr = " and BeginTime>='" + startDate + " 00:00:00' ";
  3952. }
  3953. if (!string.IsNullOrEmpty(endDate))
  3954. {
  3955. endDatestr = " and BeginTime<='" + endDate + " 23:59:59' ";
  3956. }
  3957. decimal ls = recordBLL.GetRecordCount(string.Format("Userid={0} and RingLongTime>3 and CallState=0 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3958. decimal tg = recordBLL.GetRecordCount(string.Format("Userid={0} and CallState=1 {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3959. decimal zs = 1.00M * recordBLL.GetRecordCount(string.Format("Userid={0} {1} {2}", row["F_UserId"], startDatestr, endDatestr));
  3960. string lsl = "0%";//流失率
  3961. string jtl = "0%";//通过率
  3962. if (zs != 0)
  3963. {
  3964. lsl = (ls / zs).ToString("P");
  3965. jtl = (tg / zs).ToString("P");
  3966. }
  3967. #endregion
  3968. resultModel.d1 += "," + totalCount2;
  3969. resultModel.d2 += "," + totalCount3;
  3970. resultModel.d3 += "," + totalCount4;
  3971. resultModel.d4 += "," + totalCount5;
  3972. resultModel.d5 += "," + totalCount6;
  3973. resultModel.d6 += "," + lsl;
  3974. resultModel.d7 += "," + jtl;
  3975. }
  3976. resultModel.bottom = "[" + resultModel.bottom.Trim(',') + "]";
  3977. resultModel.d1 = "[" + resultModel.d1.Trim(',') + "]";
  3978. resultModel.d2 = "[" + resultModel.d2.Trim(',') + "]";
  3979. resultModel.d3 = "[" + resultModel.d3.Trim(',') + "]";
  3980. resultModel.d4 = "[" + resultModel.d4.Trim(',') + "]";
  3981. resultModel.d5 = "[" + resultModel.d5.Trim(',') + "]";
  3982. resultModel.d6 = "[" + resultModel.d6.Trim(',') + "]";
  3983. resultModel.d7 = "[" + resultModel.d7.Trim(',') + "]";
  3984. }
  3985. return JsonConvert.SerializeObject(resultModel);
  3986. }
  3987. #endregion
  3988. #region 热线工作分析报告
  3989. public ActionResult ReportWorkOrderInfo()
  3990. {
  3991. WorkOrderMyModel model = new WorkOrderMyModel();
  3992. return View(model);
  3993. }
  3994. public ActionResult ReportWorkOrderInfoWord(string dateParty,string type)
  3995. {
  3996. string res = "";
  3997. string name = "周";
  3998. string startDate = "";
  3999. string endDate = "";
  4000. if (!string.IsNullOrEmpty(dateParty))
  4001. {
  4002. startDate = dateParty.Substring(0, 10);
  4003. endDate = dateParty.Substring(12);
  4004. }
  4005. else
  4006. {
  4007. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  4008. startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
  4009. }
  4010. try
  4011. {
  4012. switch (type)
  4013. {
  4014. case "0":
  4015. name = "周";
  4016. res = ReportWorkOrderInfoOneWeek(dateParty);
  4017. res = res.Split('^')[0];
  4018. break;
  4019. case "1":
  4020. name = "两周";
  4021. res = ReportWorkOrderInfoTwoWeek(dateParty);
  4022. res = res.Split('^')[0];
  4023. break;
  4024. case "2":
  4025. name = "季度";
  4026. string data1 = ReportWorkOrderInfoQuarterNew(dateParty);
  4027. string[] arr = data1.Split('^');
  4028. string[] strcount = arr[0].Split(',');
  4029. #region 参数
  4030. DateTime now = Convert.ToDateTime(startDate);
  4031. int nowMonth = now.Month; //当前月
  4032. int nowYear = now.Year; //当前年
  4033. int preYear = now.Year - 1;//前一年
  4034. int preMonth = now.Month-1; //上月
  4035. string nowQuarter = "";
  4036. if (nowMonth >= 1 && nowMonth <= 3)
  4037. {
  4038. nowQuarter = "一";
  4039. }
  4040. else if (nowMonth >= 4 && nowMonth <= 6)
  4041. {
  4042. nowQuarter = "二";
  4043. }
  4044. else if (nowMonth >= 7 && nowMonth <= 9)
  4045. {
  4046. nowQuarter = "三";
  4047. }
  4048. else { nowQuarter = "四"; }
  4049. string preQuarter = "";
  4050. if (preMonth >= 1 && preMonth <= 3)
  4051. {
  4052. preQuarter = "一";
  4053. }
  4054. else if (preMonth >= 4 && preMonth <= 6)
  4055. {
  4056. preQuarter = "二";
  4057. }
  4058. else if (preMonth >= 7 && preMonth <= 9)
  4059. {
  4060. preQuarter = "三";
  4061. }
  4062. else { preQuarter = "四"; }
  4063. string bgyear = nowYear + "年";
  4064. string preyear = preYear + "年";
  4065. string bgQuarter = "第" + nowQuarter + "季度";
  4066. string prebgQuarter = "第" + preQuarter + "季度";
  4067. string bgname = bgyear + bgQuarter;
  4068. string prename = "";
  4069. if (nowMonth <= 3)
  4070. {
  4071. prename = preyear + "第四季度";
  4072. }
  4073. else
  4074. {
  4075. prename = bgyear + prebgQuarter;
  4076. }
  4077. #endregion
  4078. #region 报告
  4079. string bgmc = bgname + "服务热线工作分析报告";
  4080. string bgmc1 = "一、" + bgname + "全媒体客服平台受理量统计及分析";
  4081. string bgmc1_nr1 = " 郑州地铁服务热线" + bgname + "全媒体客服平台共受理乘客事务" + strcount[0] + "件,其中热线电话" + strcount[1] + "通、微博互动 " + strcount[2] + "人次、微信互动" + strcount[3] + "人次。";
  4082. string bgmc1_nr2 = " 由上图所示," + bgQuarter + "主要受理量比较平均。同比" + prename + "全媒体客服平台总受理量" + strcount[4] + ",其中热线电话受理量" + strcount[5] + ",微博互动量" + strcount[6] + ",微信互动量" + strcount[7] + "。(" + prebgQuarter + "全媒体客服平台共受理乘客事务" + strcount[8] + "件,其中热线电话" + strcount[9] + "通、微博互动" + strcount[10] + "人次、微信互动" + strcount[11] + "人次)。";
  4083. string bgmc1_tb1 = arr[1];
  4084. string bgmc2 = "二、" + bgname + "服务热线电话受理量统计及分析";
  4085. string bgmc2_nr1 = bgname + "热线电话共受理乘客事务" + strcount[1] + "通,占全媒体客服平台总受理量的" + strcount[12] + ",";
  4086. string data2 = ReportWorkOrderInfoQuarterNewTwo(dateParty);
  4087. arr = data2.Split('^');
  4088. strcount = arr[0].Split(',');
  4089. string bgmc2_nr2 = "日均受理乘客事务约" + strcount[1] + "通/天,人工接听" + strcount[2] + "通,接通率为" + strcount[3] + "。直接答复" + strcount[4] + "通,直接答复率" + strcount[5] + "。转办办理" + strcount[6] + "件,按期回复率" + strcount[7] + "。办理结果回访满意率___%。热线服务满意率___%,平均通话时长___分,来电高峰主要集中在___点至___点,热线客户评价总体满意率___%,乘客满意度较好。";
  4090. string bgmc2_tb1 = arr[1];
  4091. string bgmc2_part1 = "(一)乘客咨询部分";
  4092. string bgmc2_part1_nr1 = "共接听咨询来电" + arr[4] + "通,其中" + arr[5] + "(其他类咨询主要包含咨询地铁计次票售卖相关事宜及郑州地铁·商易行APP相关事宜等。)";
  4093. string bgmc2_part1_nr2 = "其中列车时刻类信息占比最高,占咨询总量的" + arr[6] + ",其次是在线购票类信息占咨询总量的" + arr[7] + "。除常规咨询类问题外,本季度较为突出的咨询问题集中在郑州地铁·商易行APP相关购票业务咨询及违禁品相关规定咨询内容。";
  4094. string data3 = ReportWorkOrderInfoQuarterNewTwoZXMX(dateParty);
  4095. arr = data3.Split('^');
  4096. strcount = arr[0].Split(',');
  4097. string bgmc2_tb2 = arr[1];
  4098. string bgmc2_part2 = "(二)乘客投诉部分";
  4099. string bgmc2_part2_nr1 = bgname + "热线电话共受理乘客来电投诉" + arr[4] + "件,其中转办相关责任部门" + arr[5] + "件,由服务热线化解的投诉" + arr[6] + "件,化解率达高达" + arr[7] + "。";
  4100. string bgmc2_part2_1 = "1、以受理方式为标准的分析情况";
  4101. string bgmc2_tb4= arr[8];
  4102. string bgmc2_part2_1_nr1 = "根据上表数据显示,热线电话受理的投诉量占总投诉量的" + arr[10] + "。";
  4103. string bgmc2_part2_2 = "2、以责任部门为标准的分析情况(转办)";
  4104. string bgmc2_tb5 = arr[9];
  4105. string bgmc2_part2_2_nr1 = "根据上表数据显示,客运服务类投诉占总投诉量的___%,安保类投诉占总投诉量___%。员工服务类投诉___件。客运类主要是员工服务态度不好造成的投诉居多,安保类投诉主要是安检处对喷雾、刀具等物品的检查标准不一致及员工服务态度欠佳等方面。";
  4106. string data4 = ReportWorkOrderInfoQuarterNewTwoQTMX(dateParty);
  4107. arr = data4.Split('^');
  4108. strcount = arr[0].Split(',');
  4109. string bgmc2_part3 = "(三)乘客建议部分";
  4110. string bgmc2_part3_nr1 = "确保地铁安全运营和倡导市民文明低碳出行服务热线也在第一时间将广大乘客反馈的合理化建议及意见反馈给公司。第一季度热线电话受理有效建议" + arr[4] + "件。";
  4111. string bgmc2_part4 = "(四)乘客表扬、挂失部分";
  4112. string bgmc2_part4_nr1 = bgname + "服务热线共帮助乘客找寻失物" + arr[5] + "件,受到乘客来电表扬" + arr[6] + "件。";
  4113. string data5 = ReportWorkOrderInfoQuarterNewTwoWBMX(dateParty);
  4114. arr = data5.Split('^');
  4115. strcount = arr[0].Split(',');
  4116. string bgmc3 = "三、" + bgname + "微博互动受理量统计及分析";
  4117. string bgmc3_nr1 = bgname + "微博互动受理乘客事务" + arr[4] + "件,其中私信___人次、评论___人次、 ___人次。";
  4118. string bgmc3_nr2 = "由上图所示," + bgQuarter + "主要受理量在___月份,___月份受理量突增的原因是受12月20日列车信号故障及春运期间客流急剧增加的影响所致。其中所反映的问题较突出的有:延误证明开具时间及要求;咨询列车时刻信息;咨询列车时刻信息。";
  4119. string data6 = ReportWorkOrderInfoQuarterNewTwoWXMX(dateParty);
  4120. arr = data6.Split('^');
  4121. strcount = arr[0].Split(',');
  4122. string bgmc4 = "四、" + bgname + "微信互动受理量统计及分析";
  4123. string bgmc4_nr1 = bgname + "微信互动受理乘客事务" + arr[4] + "人次。";
  4124. string bgmc4_nr2 = "由上图所示," + bgname + "微信主要受理量在___月份。其中___月份受理量突增的原因与微博突增的原因一致。其中所反映的问题较突出的有:列车时刻信息咨询。";
  4125. res += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">";
  4126. res += "<tr><td><h1 style=\"text-align:center;font-family:方正小标宋简体;\">";
  4127. res += "<label id=\"bgmc\">" + bgmc + "</label></h1></td></tr>";
  4128. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4129. res += "<label id=\"bgmc1\">" + bgmc1 + "</label></h2></td></tr>";
  4130. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4131. res += "<label id=\"bgmc1_nr1\">" + bgmc1_nr1 + "</label></h3></td></tr>";
  4132. res += "<tr><td>" + bgmc1_tb1 + "</td></tr>";
  4133. res += "<tr><td>" + "" + "</td></tr>";
  4134. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4135. res += "<label id=\"bgmc1_nr2\">" + bgmc1_nr2 + "</label></h3></td></tr>";
  4136. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4137. res += "<label id=\"bgmc2\">" + bgmc2 + "</label></h2></td></tr>";
  4138. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4139. res += "<label id=\"bgmc2_nr1\">" + bgmc2_nr1 + "</label>";
  4140. res += "<label id=\"bgmc2_nr2\">" + bgmc2_nr2 + "</label></h3></td></tr>";
  4141. res += "<tr><td>" + bgmc2_tb1 + "</td></tr>";
  4142. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4143. res += "<label id=\"bgmc2_part1\">" + bgmc2_part1 + "</label></b></h2></td></tr>";
  4144. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4145. res += "<label id=\"bgmc2_part1_nr1\">" + bgmc2_part1_nr1 + "</label></h3></td></tr>";
  4146. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4147. res += "<label id=\"bgmc2_part1_nr2\">" + bgmc2_part1_nr2 + "</label></h3></td></tr>";
  4148. res += "<tr><td>" + bgmc2_tb2 + "</td></tr>";
  4149. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4150. res += "<label id=\"bgmc2_part2\">" + bgmc2_part2 + "</label></b></h2></td></tr>";
  4151. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4152. res += "<label id=\"bgmc2_part2_nr1\">" + bgmc2_part2_nr1 + "</label></h3></td></tr>";
  4153. res += "<tr><td>" + "" + "</td></tr>";
  4154. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4155. res += "<label id=\"bgmc2_part2_1\">" + bgmc2_part2_1 + "</label></b></h2></td></tr>";
  4156. res += "<tr><td>" + bgmc2_tb4 + "</td></tr>";
  4157. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4158. res += "<label id=\"bgmc2_part2_1_nr1\">" + bgmc2_part2_1_nr1 + "</label></h3></td></tr>";
  4159. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4160. res += "<label id=\"bgmc2_part2_2\">" + bgmc2_part2_2 + "</label></b></h2></td></tr>";
  4161. res += "<tr><td>" + bgmc2_tb5+ "</td></tr>";
  4162. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4163. res += "<label id=\"bgmc2_part2_2_nr1\">" + bgmc2_part2_2_nr1 + "</label></h3></td></tr>";
  4164. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4165. res += "<label id=\"bgmc2_part2_2_nr2\">" + "" + "</label></h3></td></tr>";
  4166. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4167. res += "<label id=\"bgmc2_part3\">" + bgmc2_part3 + "</label></b></h2></td></tr>";
  4168. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4169. res += "<label id=\"bgmc2_part3_nr1\">" + bgmc2_part3_nr1 + "</label></h3></td></tr>";
  4170. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4171. res += "<label id=\"bgmc2_part4\">" + bgmc2_part4 + "</label></b></h2></td></tr>";
  4172. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4173. res += "<label id=\"bgmc2_part4_nr1\">" + bgmc2_part4_nr1 + "</label></h3></td></tr>";
  4174. res += "<tr><td>" + "" + "</td></tr>";
  4175. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4176. res += "<label id=\"bgmc3\">" + bgmc3 + "</label></h2></td></tr>";
  4177. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4178. res += "<label id=\"bgmc3_nr1\">" + bgmc3_nr1 + "</label></h3></td></tr>";
  4179. res += "<tr><td>" + "" + "</td></tr>";
  4180. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4181. res += "<label id=\"bgmc3_nr2\">" + bgmc3_nr2 + "</label></h3></td></tr>";
  4182. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4183. res += "<label id=\"bgmc4\">" + bgmc4 + "</label></h2></td></tr>";
  4184. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4185. res += "<label id=\"bgmc4_nr1\">" + bgmc4_nr1 + "</label></h3></td></tr>";
  4186. res += "<tr><td>" + "" + "</td></tr>";
  4187. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4188. res += "<label id=\"bgmc4_nr2\">" + bgmc4_nr2 + "</label></h3></td></tr></table>";
  4189. #endregion
  4190. break;
  4191. case "3":
  4192. name = "年度";
  4193. string ydata1 = ReportWorkOrderInfoQuarterNew(dateParty);
  4194. string[] yarr = ydata1.Split('^');
  4195. string[] ystrcount = yarr[0].Split(',');
  4196. #region 参数
  4197. DateTime ynow = Convert.ToDateTime(startDate);
  4198. int ynowMonth = ynow.Month; //当前月
  4199. int ynowYear = ynow.Year; //当前年
  4200. int ypreYear = ynow.Year - 1;//前一年
  4201. int ypreMonth = ynow.Month-1; //上月
  4202. string ynowQuarter = "";
  4203. if (ynowMonth >= 1 && ynowMonth <= 3)
  4204. {
  4205. ynowQuarter = "一";
  4206. }
  4207. else if (ynowMonth >= 4 && ynowMonth <= 6)
  4208. {
  4209. ynowQuarter = "二";
  4210. }
  4211. else if (ynowMonth >= 7 && ynowMonth <= 9)
  4212. {
  4213. ynowQuarter = "三";
  4214. }
  4215. else { ynowQuarter = "四"; }
  4216. string ypreQuarter = "";
  4217. if (ypreMonth >= 1 && ypreMonth <= 3)
  4218. {
  4219. ypreQuarter = "一";
  4220. }
  4221. else if (ypreMonth >= 4 && ypreMonth <= 6)
  4222. {
  4223. ypreQuarter = "二";
  4224. }
  4225. else if (ypreMonth >= 7 && ypreMonth <= 9)
  4226. {
  4227. ypreQuarter = "三";
  4228. }
  4229. else { ypreQuarter = "四"; }
  4230. string ybgyear = ynowYear + "年";
  4231. string ypreyear = ypreYear + "年";
  4232. #endregion
  4233. #region 报告
  4234. string ybgmc = ybgyear + "服务热线工作分析报告";
  4235. string ybgmc1 = "一、" + ybgyear + "全媒体客服平台受理量统计及分析";
  4236. string ybgmc1_nr1 = " 郑州地铁服务热线" + ybgyear + "全媒体客服平台共受理乘客事务" + ystrcount[0] + "件,其中热线电话" + ystrcount[1] + "通、微博互动 " + ystrcount[2] + "人次、微信互动" + ystrcount[3] + "人次。";
  4237. string ybgmc1_nr2 = "同比" + ypreyear + "全媒体客服平台总受理量" + ystrcount[4] + ",其中热线电话受理量" + ystrcount[5] + ",微博互动量" + ystrcount[6] + ",微信互动量" + ystrcount[7] + "。(" + ypreyear + "全媒体客服平台共受理乘客事务" + ystrcount[8] + "件,其中热线电话" + ystrcount[9] + "通、微博互动" + ystrcount[10] + "人次、微信互动" + ystrcount[11] + "人次)。由上图所示,全年主要受理量在_________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致______月份业务量增加。";
  4238. string ybgmc1_tb1 = yarr[1];
  4239. string ybgmc2 = "二、" + ybgyear + "服务热线电话受理量统计及分析";
  4240. string ybgmc2_nr1 = ybgyear + "热线电话共受理乘客事务" + ystrcount[1] + "通,占全媒体客服平台总受理量的" + ystrcount[12] + ",";
  4241. string ydata2 = ReportWorkOrderInfoQuarterNewTwo(dateParty);
  4242. yarr = ydata2.Split('^');
  4243. ystrcount = yarr[0].Split(',');
  4244. string ybgmc2_nr2 = "日均受理乘客事务约" + ystrcount[1] + "通/天,共接通" + ystrcount[2] + "通,接通率为" + ystrcount[3] + "。直接答复" + ystrcount[4] + "通,直接答复率" + ystrcount[5] + "。转办办理" + ystrcount[6] + "件,按期回复率" + ystrcount[7] + "。办理结果回访满意率___%。热线满意率___%,平均通话时长___分,来电高峰主要集中在___点至___点,热线客户评价总体满意率___%,乘客满意度较好。与" + ypreyear + "年相比,受理乘客事务总量____倍。";
  4245. string ybgmc2_tb1 = yarr[1];
  4246. string ybgmc2_part1 = "(一)乘客咨询部分";
  4247. string ybgmc2_part1_nr1 = "共接听咨询来电" + yarr[4] + "通,其中" + yarr[5] + "(其他类咨询主要包含咨询地铁计次票售卖相关事宜及列车车厢内广播相关事宜等。)";
  4248. string ybgmc2_part1_nr2 = "其中互联网购票类咨询占总咨询量的____。从互联网购票上线以来,多集中在以下几个问题:1、互联网支付成功,未出票;2、互联网购票多张,少出票;3、互联网购票订单显示已完成,未出票;4、目前1号线二期不支持互联网购票等相关问题。建议:1、在互联网购票机上提示乘客可使用扫码或者商户单号后八位取票;2、在1号线二期开展互联网购票相关事宜。";
  4249. string ydata3 = ReportWorkOrderInfoQuarterNewTwoZXMX(dateParty);
  4250. yarr = ydata3.Split('^');
  4251. ystrcount = yarr[0].Split(',');
  4252. string ybgmc2_tb2 = yarr[1];
  4253. string ybgmc2_part2 = "(二)乘客投诉部分";
  4254. string ybgmc2_part2_nr1 = ybgyear + "热线电话共受理乘客来电投诉" + yarr[4] + "件,其中转办相关责任部门" + yarr[5] + "件,由服务热线化解的投诉" + yarr[6] + "件,化解率达高达" + yarr[7] + "。同时,十九大期间全媒体客服平台共受理投诉____件,投诉化解率达___%,共计_____件,期间未产生不良报道。(附件一《安检等级升级期间全媒体客服平台信息统计报告》)";
  4255. string ybgmc2_part2_1 = "1、以受理方式为标准的分析情况";
  4256. string ybgmc2_tb4 = yarr[8];
  4257. string ybgmc2_part2_1_nr1 = "根据上表数据显示,热线电话受理的投诉量占总投诉量的"+ yarr[10] + "。";
  4258. string ybgmc2_part2_2 = "2、以责任部门为标准的分析情况(转办)";
  4259. string ybgmc2_tb5 = yarr[9];
  4260. string ybgmc2_part2_2_nr1 = "根据上表数据显示,客运服务类投诉占总投诉量的____%,安保类投诉占总投诉量____%。员工服务类投诉____件。客运类主要是员工服务态度不好造成的投诉居多,安保类投诉主要是安检处对喷雾等物品的检查标准不一致及员工服务态度欠佳等方面。下图所示,由于十九大会议期间安检升级导致投诉量直线暴增,并于____月逐步下降。其中,员工服务类投诉较多,占安检总投诉量的____ %。";
  4261. string ybgmc2_part2_2_nr2 = "由上图所示,员工服务类投诉占客运服务类总投诉量的____%。";
  4262. string ydata4 = ReportWorkOrderInfoQuarterNewTwoQTMX(dateParty);
  4263. yarr = ydata4.Split('^');
  4264. ystrcount = yarr[0].Split(',');
  4265. string ybgmc2_part3 = "(三)乘客建议部分";
  4266. string ybgmc2_part3_nr1 = "为确保地铁安全运营和倡导市民文明低碳出行服务热线也在第一时间将广大乘客反馈的合理化建议及意见反馈给公司。全年热线电话受理有效建议" + yarr[4] + "件,已反馈给相关责任部门并跟进处理完毕。";
  4267. string ybgmc2_part4 = "(四)乘客表扬、挂失部分";
  4268. string ybgmc2_part4_nr1 = ybgyear + "服务热线共帮助乘客找寻失物" + yarr[5] + "件,受到乘客来电表扬" + yarr[6] + "件。";
  4269. string ydata5 = ReportWorkOrderInfoQuarterNewTwoWBMX(dateParty);
  4270. yarr = ydata5.Split('^');
  4271. ystrcount = yarr[0].Split(',');
  4272. string ybgmc3 = "三、" + ybgyear + "微博互动受理量统计及分析";
  4273. string ybgmc3_nr1 = ybgyear + "微博互动受理乘客事务" + yarr[4] + "件,其中私信___人次、评论___人次、 ___人次。";
  4274. string ybgmc3_nr2 = "由上图所示,全年主要受理量在__________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致_______月份业务量增加。";
  4275. string ydata6 = ReportWorkOrderInfoQuarterNewTwoWXMX(dateParty);
  4276. yarr = ydata6.Split('^');
  4277. ystrcount = yarr[0].Split(',');
  4278. string ybgmc4 = "四、" + ybgyear + "微信互动受理量统计及分析";
  4279. string ybgmc4_nr1 = ybgyear + "微信互动受理乘客事务" + yarr[4] + "人次。";
  4280. string ybgmc4_nr2 = "由上图所示,全年主要受理量在______________月份,其中城郊线、1号线二期开通运营和春节假期乘车等事宜导致___月份业务量全年最高,由于十九大期间安检升级导致______月份业务量增加,恶略天气及节前延迟运营时间等问题导致_____月份互动咨询量增加。";
  4281. res += "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"text-align:center; border-collapse:collapse;font-family:'Times New Roman';color:black;\">";
  4282. res += "<tr><td><h1 style=\"text-align:center;font-family:方正小标宋简体;\">";
  4283. res += "<label id=\"bgmc\">" + ybgmc + "</label></h1></td></tr>";
  4284. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4285. res += "<label id=\"bgmc1\">" + ybgmc1 + "</label></h2></td></tr>";
  4286. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4287. res += "<label id=\"bgmc1_nr1\">" + ybgmc1_nr1 + "</label></h3></td></tr>";
  4288. res += "<tr><td>" + ybgmc1_tb1 + "</td></tr>";
  4289. res += "<tr><td>" + "" + "</td></tr>";
  4290. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4291. res += "<label id=\"bgmc1_nr2\">" + ybgmc1_nr2 + "</label></h3></td></tr>";
  4292. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4293. res += "<label id=\"bgmc2\">" + ybgmc2 + "</label></h2></td></tr>";
  4294. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4295. res += "<label id=\"bgmc2_nr1\">" + ybgmc2_nr1 + "</label>";
  4296. res += "<label id=\"bgmc2_nr2\">" + ybgmc2_nr2 + "</label></h3></td></tr>";
  4297. res += "<tr><td>" + ybgmc2_tb1 + "</td></tr>";
  4298. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4299. res += "<label id=\"bgmc2_part1\">" + ybgmc2_part1 + "</label></b></h2></td></tr>";
  4300. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4301. res += "<label id=\"bgmc2_part1_nr1\">" + ybgmc2_part1_nr1 + "</label></h3></td></tr>";
  4302. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4303. res += "<label id=\"bgmc2_part1_nr2\">" + ybgmc2_part1_nr2 + "</label></h3></td></tr>";
  4304. res += "<tr><td>" + ybgmc2_tb2 + "</td></tr>";
  4305. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4306. res += "<label id=\"bgmc2_part2\">" + ybgmc2_part2 + "</label></b></h2></td></tr>";
  4307. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4308. res += "<label id=\"bgmc2_part2_nr1\">" + ybgmc2_part2_nr1 + "</label></h3></td></tr>";
  4309. res += "<tr><td>" + "" + "</td></tr>";
  4310. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4311. res += "<label id=\"bgmc2_part2_1\">" + ybgmc2_part2_1 + "</label></b></h2></td></tr>";
  4312. res += "<tr><td>" + ybgmc2_tb4 + "</td></tr>";
  4313. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4314. res += "<label id=\"bgmc2_part2_1_nr1\">" + ybgmc2_part2_1_nr1 + "</label></h3></td></tr>";
  4315. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4316. res += "<label id=\"bgmc2_part2_2\">" + ybgmc2_part2_2 + "</label></b></h2></td></tr>";
  4317. res += "<tr><td>" + ybgmc2_tb5 + "</td></tr>";
  4318. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4319. res += "<label id=\"bgmc2_part2_2_nr1\">" + ybgmc2_part2_2_nr1 + "</label></h3></td></tr>";
  4320. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4321. res += "<label id=\"bgmc2_part2_2_nr2\">" + ybgmc2_part2_2_nr2 + "</label></h3></td></tr>";
  4322. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4323. res += "<label id=\"bgmc2_part3\">" + ybgmc2_part3 + "</label></b></h2></td></tr>";
  4324. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4325. res += "<label id=\"bgmc2_part3_nr1\">" + ybgmc2_part3_nr1 + "</label></h3></td></tr>";
  4326. res += "<tr><td><h2 style=\"text-align:left;font-family:楷体;margin-top:15px;\"><b>";
  4327. res += "<label id=\"bgmc2_part4\">" + ybgmc2_part4 + "</label></b></h2></td></tr>";
  4328. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4329. res += "<label id=\"bgmc2_part4_nr1\">" + ybgmc2_part4_nr1 + "</label></h3></td></tr>";
  4330. res += "<tr><td>" + "" + "</td></tr>";
  4331. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4332. res += "<label id=\"bgmc3\">" + ybgmc3 + "</label></h2></td></tr>";
  4333. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4334. res += "<label id=\"bgmc3_nr1\">" + ybgmc3_nr1 + "</label></h3></td></tr>";
  4335. res += "<tr><td>" + "" + "</td></tr>";
  4336. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4337. res += "<label id=\"bgmc3_nr2\">" + ybgmc3_nr2 + "</label></h3></td></tr>";
  4338. res += "<tr><td><h2 style=\"text-align:left;font-family:黑体;margin-top:15px;\">";
  4339. res += "<label id=\"bgmc4\">" + ybgmc4 + "</label></h2></td></tr>";
  4340. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4341. res += "<label id=\"bgmc4_nr1\">" + ybgmc4_nr1 + "</label></h3></td></tr>";
  4342. res += "<tr><td>" + "" + "</td></tr>";
  4343. res += "<tr><td><h3 style=\"text-align:left;font-family:仿宋_GB2312;margin-top:15px;\">";
  4344. res += "<label id=\"bgmc4_nr2\">" + ybgmc4_nr2 + "</label></h3></td></tr></table>";
  4345. #endregion
  4346. break;
  4347. case "4":
  4348. name = "舆情周";
  4349. res = ReportWorkOrderInfoProduct(dateParty);
  4350. res = res.Split('^')[0];
  4351. break;
  4352. }
  4353. }
  4354. catch
  4355. { }
  4356. string fileName = name+"报表" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc";
  4357. Response.Clear();
  4358. Response.Charset = "GB2312";
  4359. Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
  4360. Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName));
  4361. Response.ContentType = "application/msword";
  4362. Response.Write("<meta http-equiv=\"content-type\" content=\"application/msword; charset=gb2312\"/>" + res.ToString());
  4363. Response.End();
  4364. return null;
  4365. }
  4366. public DataTable WorkOrderTypeData(DateTime? NowDateTime, string dateParty)
  4367. {
  4368. string startDate = "";
  4369. string endDate = "";
  4370. if (!string.IsNullOrEmpty(dateParty))
  4371. {
  4372. startDate = dateParty.Substring(0, 10);
  4373. endDate = dateParty.Substring(12);
  4374. }
  4375. else
  4376. {
  4377. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  4378. }
  4379. DataTable datas = recordBLL.GetWorkOrderBussTypeData(startDate, endDate);
  4380. DataTable newTable = new DataTable();
  4381. newTable.Columns.Add("业务类型");
  4382. newTable.Columns.Add("工单数量");
  4383. if (datas != null && datas.Rows.Count > 0)
  4384. {
  4385. DataRow dataRow;
  4386. foreach (DataRow thisRow in datas.Rows)
  4387. {
  4388. if (thisRow["BusinessType"].ToString() == "6")
  4389. {
  4390. dataRow = newTable.NewRow();
  4391. dataRow["业务类型"] = "咨询";
  4392. int totalCount = 0;
  4393. string getCount = thisRow["callInCount"].ToString();
  4394. if (!string.IsNullOrEmpty(getCount))
  4395. {
  4396. totalCount = int.Parse(getCount);
  4397. }
  4398. dataRow["工单数量"] = totalCount;
  4399. newTable.Rows.Add(dataRow);
  4400. }
  4401. else if ((thisRow["BusinessType"].ToString() == "14"))
  4402. {
  4403. dataRow = newTable.NewRow();
  4404. dataRow["业务类型"] = "建议";
  4405. dataRow["工单数量"] = thisRow["callInCount"];
  4406. newTable.Rows.Add(dataRow);
  4407. }
  4408. else if ((thisRow["BusinessType"].ToString() == "18"))
  4409. {
  4410. dataRow = newTable.NewRow();
  4411. dataRow["业务类型"] = "表扬";
  4412. dataRow["工单数量"] = thisRow["callInCount"];
  4413. newTable.Rows.Add(dataRow);
  4414. }
  4415. else if ((thisRow["BusinessType"].ToString() == "19"))
  4416. {
  4417. dataRow = newTable.NewRow();
  4418. dataRow["业务类型"] = "挂失";
  4419. dataRow["工单数量"] = thisRow["callInCount"];
  4420. newTable.Rows.Add(dataRow);
  4421. }
  4422. else if ((thisRow["BusinessType"].ToString() == "3"))
  4423. {
  4424. dataRow = newTable.NewRow();
  4425. dataRow["业务类型"] = "投诉";
  4426. dataRow["工单数量"] = thisRow["callInCount"];
  4427. newTable.Rows.Add(dataRow);
  4428. }
  4429. }
  4430. datas.Clear();
  4431. datas.Dispose();
  4432. }
  4433. return newTable;
  4434. }
  4435. /// <summary>
  4436. /// 周报
  4437. /// </summary>
  4438. /// <returns></returns>
  4439. [ActionName("ReportWorkOrderInfoOneWeek")]
  4440. [HttpGet]
  4441. public string ReportWorkOrderInfoOneWeek(string dateParty)
  4442. {
  4443. // dateParty = "2019-01-01 - 2019-12-31";
  4444. string res = "^divWorkOrderInfoOneWeekPie";
  4445. //数据结果集
  4446. string startDate = "";
  4447. string endDate = "";
  4448. string prestartDate = "";
  4449. string preendDate = "";
  4450. string predateParty = "";
  4451. if (!string.IsNullOrEmpty(dateParty))
  4452. {
  4453. startDate = dateParty.Substring(0, 10);
  4454. endDate = dateParty.Substring(12);
  4455. prestartDate = Convert.ToDateTime(startDate).AddDays(-7).ToString("yyyy-MM-dd");
  4456. preendDate = Convert.ToDateTime(endDate).AddDays(-7).ToString("yyyy-MM-dd");
  4457. }
  4458. else
  4459. {
  4460. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  4461. startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
  4462. prestartDate = Convert.ToDateTime(startDate).AddDays(-7).ToString("yyyy-MM-dd");
  4463. preendDate = Convert.ToDateTime(endDate).AddDays(-7).ToString("yyyy-MM-dd");
  4464. }
  4465. predateParty = prestartDate + " - " + preendDate;
  4466. StringBuilder StrContent = new StringBuilder();
  4467. 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;\">");
  4468. StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
  4469. StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
  4470. StrContent.Append("<td style=\"width:70.85pt;\">同比上周</td>");
  4471. StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
  4472. StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
  4473. StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
  4474. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  4475. DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
  4476. //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
  4477. //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
  4478. string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  4479. #region 微信
  4480. int wxallcount = 0;
  4481. int wxpreallcount = 0;
  4482. int wxzxcount = 0;
  4483. int wxprezxcount = 0;
  4484. string wxzxzb = "";
  4485. int wxjycount = 0;
  4486. int wxprejycount = 0;
  4487. int wxbycount = 0;
  4488. int wxprebycount = 0;
  4489. int wxgscount = 0;
  4490. int wxpregscount = 0;
  4491. int wxtscount = 0;
  4492. int wxpretscount = 0;
  4493. string wxtszb = "0";
  4494. string wxtb = "0";
  4495. #endregion
  4496. #region 微博
  4497. int wballcount = 0;
  4498. int wbpreallcount = 0;
  4499. int wbzxcount = 0;
  4500. int wbprezxcount = 0;
  4501. string wbzxzb = "";
  4502. int wbjycount = 0;
  4503. int wbprejycount = 0;
  4504. int wbbycount = 0;
  4505. int wbprebycount = 0;
  4506. int wbgscount = 0;
  4507. int wbpregscount = 0;
  4508. int wbtscount = 0;
  4509. int wbpretscount = 0;
  4510. string wbtszb = "0";
  4511. string wbtb = "0";
  4512. #endregion
  4513. #region 投诉化解
  4514. int tscounthj = 0;
  4515. int kfclcount = 0;
  4516. string tshjl = "";
  4517. #endregion
  4518. if (nowDataTable != null)
  4519. {
  4520. if (nowDataTable.Rows.Count > 0)
  4521. {
  4522. #region 语音
  4523. int allcount = 0;
  4524. int preallcount = 0;
  4525. int zxcount = 0;
  4526. int prezxcount = 0;
  4527. string zxzb = "";
  4528. try
  4529. {
  4530. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  4531. foreach (DataRow row in rows)
  4532. {
  4533. zxcount += int.Parse(row["总数"].ToString());
  4534. }
  4535. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  4536. foreach (DataRow row in rows1)
  4537. {
  4538. prezxcount += int.Parse(row["总数"].ToString());
  4539. }
  4540. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4541. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4542. }
  4543. catch
  4544. { }
  4545. int jycount = 0;
  4546. int prejycount = 0;
  4547. try
  4548. {
  4549. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  4550. foreach (DataRow row in rows)
  4551. {
  4552. jycount += int.Parse(row["总数"].ToString());
  4553. }
  4554. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  4555. foreach (DataRow row in rows1)
  4556. {
  4557. prejycount += int.Parse(row["总数"].ToString());
  4558. }
  4559. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4560. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4561. }
  4562. catch
  4563. { }
  4564. int bycount = 0;
  4565. int prebycount = 0;
  4566. try
  4567. {
  4568. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  4569. foreach (DataRow row in rows)
  4570. {
  4571. bycount += int.Parse(row["总数"].ToString());
  4572. }
  4573. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  4574. foreach (DataRow row in rows1)
  4575. {
  4576. prebycount += int.Parse(row["总数"].ToString());
  4577. }
  4578. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4579. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4580. }
  4581. catch
  4582. { }
  4583. int gscount = 0;
  4584. int pregscount = 0;
  4585. try
  4586. {
  4587. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  4588. foreach (DataRow row in rows)
  4589. {
  4590. gscount += int.Parse(row["总数"].ToString());
  4591. }
  4592. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  4593. foreach (DataRow row in rows1)
  4594. {
  4595. pregscount += int.Parse(row["总数"].ToString());
  4596. }
  4597. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4598. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4599. }
  4600. catch
  4601. { }
  4602. int tscount = 0;
  4603. int pretscount = 0;
  4604. string tszb = "";
  4605. try
  4606. {
  4607. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  4608. foreach (DataRow row in rows)
  4609. {
  4610. tscount += int.Parse(row["总数"].ToString());
  4611. }
  4612. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  4613. foreach (DataRow row in rows1)
  4614. {
  4615. pretscount += int.Parse(row["总数"].ToString());
  4616. }
  4617. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4618. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4619. }
  4620. catch
  4621. { }
  4622. allcount = zxcount + jycount + bycount + gscount + tscount;
  4623. preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
  4624. string tb = "";
  4625. if (preallcount > allcount)
  4626. {
  4627. decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
  4628. tb = "减少" + tbint.ToString("f") + "%";
  4629. }
  4630. else
  4631. {
  4632. if (preallcount == allcount)
  4633. {
  4634. tb = "相同";
  4635. }
  4636. else
  4637. {
  4638. if (preallcount > 0)
  4639. {
  4640. decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
  4641. tb = "增加" + tbint.ToString("f") + "%";
  4642. }
  4643. }
  4644. }
  4645. if (allcount > 0)
  4646. {
  4647. zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  4648. tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  4649. }
  4650. 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>");
  4651. #endregion
  4652. #region 微信
  4653. try
  4654. {
  4655. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  4656. foreach (DataRow row in rows)
  4657. {
  4658. wxzxcount += int.Parse(row["总数"].ToString());
  4659. }
  4660. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  4661. foreach (DataRow row in rows1)
  4662. {
  4663. wxprezxcount += int.Parse(row["总数"].ToString());
  4664. }
  4665. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4666. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4667. }
  4668. catch
  4669. { }
  4670. try
  4671. {
  4672. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  4673. foreach (DataRow row in rows)
  4674. {
  4675. wxjycount += int.Parse(row["总数"].ToString());
  4676. }
  4677. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  4678. foreach (DataRow row in rows1)
  4679. {
  4680. wxprejycount += int.Parse(row["总数"].ToString());
  4681. }
  4682. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4683. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4684. }
  4685. catch
  4686. { }
  4687. try
  4688. {
  4689. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  4690. foreach (DataRow row in rows)
  4691. {
  4692. wxbycount += int.Parse(row["总数"].ToString());
  4693. }
  4694. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  4695. foreach (DataRow row in rows1)
  4696. {
  4697. wxprebycount += int.Parse(row["总数"].ToString());
  4698. }
  4699. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4700. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4701. }
  4702. catch
  4703. { }
  4704. try
  4705. {
  4706. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  4707. foreach (DataRow row in rows)
  4708. {
  4709. wxgscount += int.Parse(row["总数"].ToString());
  4710. }
  4711. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  4712. foreach (DataRow row in rows1)
  4713. {
  4714. wxpregscount += int.Parse(row["总数"].ToString());
  4715. }
  4716. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4717. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4718. }
  4719. catch
  4720. { }
  4721. try
  4722. {
  4723. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  4724. foreach (DataRow row in rows)
  4725. {
  4726. wxtscount += int.Parse(row["总数"].ToString());
  4727. }
  4728. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  4729. foreach (DataRow row in rows1)
  4730. {
  4731. wxpretscount += int.Parse(row["总数"].ToString());
  4732. }
  4733. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4734. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4735. }
  4736. catch
  4737. { }
  4738. //prestartDate, preendDate
  4739. wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
  4740. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  4741. wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
  4742. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  4743. if (wxpreallcount > wxallcount)
  4744. {
  4745. if (wxpreallcount > 0)
  4746. {
  4747. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  4748. wxtb = "减少" + wxtbint.ToString("f") + "%";
  4749. }
  4750. }
  4751. else
  4752. {
  4753. if (wxpreallcount == wxallcount)
  4754. {
  4755. wxtb = "相同";
  4756. }
  4757. else
  4758. {
  4759. if (wxpreallcount > 0)
  4760. {
  4761. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  4762. wxtb = "增加" + wxtbint.ToString("f") + "%";
  4763. }
  4764. }
  4765. }
  4766. if (wxallcount > 0)
  4767. {
  4768. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  4769. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  4770. }
  4771. #endregion
  4772. #region 微博
  4773. try
  4774. {
  4775. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  4776. foreach (DataRow row in rows)
  4777. {
  4778. wbzxcount += int.Parse(row["总数"].ToString());
  4779. }
  4780. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  4781. foreach (DataRow row in rows1)
  4782. {
  4783. wbprezxcount += int.Parse(row["总数"].ToString());
  4784. }
  4785. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4786. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  4787. }
  4788. catch
  4789. { }
  4790. try
  4791. {
  4792. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  4793. foreach (DataRow row in rows)
  4794. {
  4795. wbjycount += int.Parse(row["总数"].ToString());
  4796. }
  4797. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  4798. foreach (DataRow row in rows1)
  4799. {
  4800. wbprejycount += int.Parse(row["总数"].ToString());
  4801. }
  4802. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4803. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  4804. }
  4805. catch
  4806. { }
  4807. try
  4808. {
  4809. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  4810. foreach (DataRow row in rows)
  4811. {
  4812. wbbycount += int.Parse(row["总数"].ToString());
  4813. }
  4814. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  4815. foreach (DataRow row in rows1)
  4816. {
  4817. wbprebycount += int.Parse(row["总数"].ToString());
  4818. }
  4819. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4820. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  4821. }
  4822. catch
  4823. { }
  4824. try
  4825. {
  4826. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  4827. foreach (DataRow row in rows)
  4828. {
  4829. wbgscount += int.Parse(row["总数"].ToString());
  4830. }
  4831. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  4832. foreach (DataRow row in rows1)
  4833. {
  4834. wbpregscount += int.Parse(row["总数"].ToString());
  4835. }
  4836. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4837. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  4838. }
  4839. catch
  4840. { }
  4841. try
  4842. {
  4843. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  4844. foreach (DataRow row in rows)
  4845. {
  4846. wbtscount += int.Parse(row["总数"].ToString());
  4847. }
  4848. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  4849. foreach (DataRow row in rows1)
  4850. {
  4851. wbpretscount += int.Parse(row["总数"].ToString());
  4852. }
  4853. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4854. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  4855. }
  4856. catch
  4857. { }
  4858. //prestartDate,preendDate
  4859. wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
  4860. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  4861. wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
  4862. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  4863. if (wbpreallcount > wballcount)
  4864. {
  4865. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  4866. wbtb = "减少" + wbtbint.ToString("f") + "%";
  4867. }
  4868. else
  4869. {
  4870. if (wbpreallcount == wballcount)
  4871. {
  4872. wbtb = "相同";
  4873. }
  4874. else
  4875. {
  4876. if (wbpreallcount > 0)
  4877. {
  4878. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  4879. wbtb = "增加" + wbtbint.ToString("f") + "%";
  4880. }
  4881. }
  4882. }
  4883. if (wballcount > 0)
  4884. {
  4885. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  4886. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  4887. }
  4888. #endregion
  4889. #region 投诉化解
  4890. try
  4891. {
  4892. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
  4893. foreach (DataRow row in rows)
  4894. {
  4895. tscounthj += int.Parse(row["总数"].ToString());
  4896. }
  4897. }
  4898. catch
  4899. { }
  4900. try
  4901. {
  4902. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
  4903. foreach (DataRow row in rows)
  4904. {
  4905. kfclcount += int.Parse(row["总数"].ToString());
  4906. }
  4907. }
  4908. catch
  4909. { }
  4910. #endregion
  4911. }
  4912. else
  4913. {
  4914. 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>");
  4915. }
  4916. }
  4917. else
  4918. {
  4919. 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>");
  4920. #region 微信
  4921. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  4922. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  4923. if (wxpreallcount > wxallcount)
  4924. {
  4925. if (wxpreallcount > 0)
  4926. {
  4927. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  4928. wxtb = "减少" + wxtbint.ToString("f") + "%";
  4929. }
  4930. }
  4931. else
  4932. {
  4933. if (wxpreallcount == wxallcount)
  4934. {
  4935. wxtb = "相同";
  4936. }
  4937. else
  4938. {
  4939. if (wxpreallcount > 0)
  4940. {
  4941. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  4942. wxtb = "增加" + wxtbint.ToString("f") + "%";
  4943. }
  4944. }
  4945. }
  4946. if (wxallcount > 0)
  4947. {
  4948. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  4949. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  4950. }
  4951. #endregion
  4952. #region 微博
  4953. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  4954. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  4955. if (wbpreallcount > wballcount)
  4956. {
  4957. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  4958. wbtb = "减少" + wbtbint.ToString("f") + "%";
  4959. }
  4960. else
  4961. {
  4962. if (wbpreallcount == wballcount)
  4963. {
  4964. wbtb = "相同";
  4965. }
  4966. else
  4967. {
  4968. if (wbpreallcount > 0)
  4969. {
  4970. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  4971. wbtb = "增加" + wbtbint.ToString("f") + "%";
  4972. }
  4973. }
  4974. }
  4975. if (wballcount > 0)
  4976. {
  4977. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  4978. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  4979. }
  4980. #endregion
  4981. }
  4982. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  4983. //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  4984. 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>");
  4985. //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
  4986. 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>");
  4987. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  4988. StrContent.Append("</tbody></table>");
  4989. #region 投诉化解率
  4990. if (tscounthj > 0)
  4991. {
  4992. decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
  4993. tshjl = kfclcountint.ToString("f") + "%";
  4994. }
  4995. else
  4996. {
  4997. tshjl = "0%";
  4998. }
  4999. #endregion
  5000. 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>";
  5001. return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
  5002. }
  5003. /// <summary>
  5004. /// 舆情周报
  5005. /// </summary>
  5006. /// <returns></returns>
  5007. [ActionName("ReportWorkOrderInfoProduct")]
  5008. [HttpGet]
  5009. public string ReportWorkOrderInfoProduct(string dateParty)
  5010. {
  5011. //dateParty = "2019-01-01 - 2019-12-31";
  5012. //数据结果集
  5013. string startDate = "";
  5014. string endDate = "";
  5015. if (!string.IsNullOrEmpty(dateParty))
  5016. {
  5017. startDate = dateParty.Substring(0, 10);
  5018. endDate = dateParty.Substring(12);
  5019. }
  5020. else
  5021. {
  5022. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  5023. startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
  5024. }
  5025. StringBuilder StrContent = new StringBuilder();
  5026. 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;\">");
  5027. StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">全媒体客服平台</td>");
  5028. StrContent.Append("<td style=\"width:120.5pt;\">受理量(件)</td></tr>");
  5029. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  5030. string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  5031. #region 微信
  5032. int wxallcount = 0;
  5033. #endregion
  5034. #region 微博
  5035. int wballcount = 0;
  5036. #endregion
  5037. #region 语音
  5038. int allcount = 0;
  5039. #endregion
  5040. #region 投诉化解
  5041. int tscounthj = 0;
  5042. int kfclcount = 0;
  5043. string tshjl = "";
  5044. #endregion
  5045. if (nowDataTable != null)
  5046. {
  5047. if (nowDataTable.Rows.Count > 0)
  5048. {
  5049. #region 微博
  5050. try
  5051. {
  5052. DataRow[] rows = nowDataTable.Select("工单类型='微博'");
  5053. foreach (DataRow row in rows)
  5054. {
  5055. wballcount += int.Parse(row["总数"].ToString());
  5056. }
  5057. }
  5058. catch
  5059. { }
  5060. #endregion
  5061. #region 微信
  5062. try
  5063. {
  5064. DataRow[] rows = nowDataTable.Select("工单类型='微信' ");
  5065. foreach (DataRow row in rows)
  5066. {
  5067. wxallcount += int.Parse(row["总数"].ToString());
  5068. }
  5069. }
  5070. catch
  5071. { }
  5072. #endregion
  5073. #region 语音
  5074. try
  5075. {
  5076. DataRow[] rows = nowDataTable.Select("工单类型='语音' ");
  5077. foreach (DataRow row in rows)
  5078. {
  5079. allcount += int.Parse(row["总数"].ToString());
  5080. }
  5081. }
  5082. catch
  5083. { }
  5084. #endregion
  5085. #region 投诉化解
  5086. try
  5087. {
  5088. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
  5089. foreach (DataRow row in rows)
  5090. {
  5091. tscounthj += int.Parse(row["总数"].ToString());
  5092. }
  5093. }
  5094. catch
  5095. { }
  5096. try
  5097. {
  5098. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
  5099. foreach (DataRow row in rows)
  5100. {
  5101. kfclcount += int.Parse(row["总数"].ToString());
  5102. }
  5103. }
  5104. catch
  5105. { }
  5106. #endregion
  5107. }
  5108. }
  5109. #region 投诉化解率
  5110. if (tscounthj > 0)
  5111. {
  5112. decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
  5113. tshjl = kfclcountint.ToString("f") + "%";
  5114. }
  5115. else
  5116. {
  5117. tshjl = "0%";
  5118. }
  5119. #endregion
  5120. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  5121. StrContent.Append("<tr style=\"height:36.95pt\"><td>新浪微博</td><td>" + wballcount.ToString() + "</td>" + "</tr>");
  5122. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  5123. StrContent.Append("<tr style=\"height:36.95pt\"><td>微信服务号</td><td>" + wxallcount.ToString() + "</td>" + "</tr>");
  5124. StrContent.Append("<tr style=\"height:36.95pt\"><td>微信订阅号</td><td>/</td>" + "</tr>");
  5125. StrContent.Append("<tr style=\"height:36.95pt\"><td>官方网站</td><td>/</td>" + "</tr>");
  5126. StrContent.Append("<tr style=\"height:36.95pt\"><td>热线电话</td><td>" + allcount.ToString() + "</td>" + "</tr>");
  5127. StrContent.Append("</tbody></table>");
  5128. 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>";
  5129. return StrContent.ToString() + "^" + divWorkOrderInfoProductPie + "^divWorkOrderInfoProductPie" + "^" + json;
  5130. }
  5131. /// <summary>
  5132. /// 两周报
  5133. /// </summary>
  5134. /// <returns></returns>
  5135. [ActionName("ReportWorkOrderInfoTwoWeek")]
  5136. [HttpGet]
  5137. public string ReportWorkOrderInfoTwoWeek(string dateParty)
  5138. {
  5139. //数据结果集
  5140. // dateParty = "2019-01-01 - 2019-12-31";
  5141. string startDate = "";
  5142. string endDate = "";
  5143. string prestartDate = "";
  5144. string preendDate = "";
  5145. string predateParty = "";
  5146. if (!string.IsNullOrEmpty(dateParty))
  5147. {
  5148. startDate = dateParty.Substring(0, 10);
  5149. endDate = dateParty.Substring(12);
  5150. prestartDate = Convert.ToDateTime(startDate).AddDays(-14).ToString("yyyy-MM-dd");
  5151. preendDate = Convert.ToDateTime(endDate).AddDays(-14).ToString("yyyy-MM-dd");
  5152. }
  5153. else
  5154. {
  5155. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  5156. startDate = DateTime.Now.AddDays(-14).ToString("yyyy-MM-dd");
  5157. prestartDate = Convert.ToDateTime(startDate).AddDays(-14).ToString("yyyy-MM-dd");
  5158. preendDate = Convert.ToDateTime(endDate).AddDays(-14).ToString("yyyy-MM-dd");
  5159. }
  5160. predateParty = prestartDate + " - " + preendDate;
  5161. StringBuilder StrContent = new StringBuilder();
  5162. 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;\">");
  5163. StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
  5164. StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
  5165. StrContent.Append("<td style=\"width:70.85pt;\">同比上两周</td>");
  5166. StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
  5167. StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
  5168. StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
  5169. //StrContent.Append("<tr style=\"height:36.95pt\"><td>热线</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  5170. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  5171. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  5172. //StrContent.Append("</tbody></table>");
  5173. #region 两周报数据
  5174. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  5175. DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
  5176. //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
  5177. //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
  5178. string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  5179. #region 微信
  5180. int wxallcount = 0;
  5181. int wxpreallcount = 0;
  5182. int wxzxcount = 0;
  5183. int wxprezxcount = 0;
  5184. string wxzxzb = "";
  5185. int wxjycount = 0;
  5186. int wxprejycount = 0;
  5187. int wxbycount = 0;
  5188. int wxprebycount = 0;
  5189. int wxgscount = 0;
  5190. int wxpregscount = 0;
  5191. int wxtscount = 0;
  5192. int wxpretscount = 0;
  5193. string wxtszb = "0";
  5194. string wxtb = "0";
  5195. #endregion
  5196. #region 微博
  5197. int wballcount = 0;
  5198. int wbpreallcount = 0;
  5199. int wbzxcount = 0;
  5200. int wbprezxcount = 0;
  5201. string wbzxzb = "";
  5202. int wbjycount = 0;
  5203. int wbprejycount = 0;
  5204. int wbbycount = 0;
  5205. int wbprebycount = 0;
  5206. int wbgscount = 0;
  5207. int wbpregscount = 0;
  5208. int wbtscount = 0;
  5209. int wbpretscount = 0;
  5210. string wbtszb = "0";
  5211. string wbtb = "0";
  5212. #endregion
  5213. #region 投诉化解
  5214. int tscounthj = 0;
  5215. int kfclcount = 0;
  5216. string tshjl = "";
  5217. #endregion
  5218. if (nowDataTable != null)
  5219. {
  5220. if (nowDataTable.Rows.Count > 0)
  5221. {
  5222. #region 语音
  5223. int allcount = 0;
  5224. int preallcount = 0;
  5225. int zxcount = 0;
  5226. int prezxcount = 0;
  5227. string zxzb = "";
  5228. try
  5229. {
  5230. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  5231. foreach (DataRow row in rows)
  5232. {
  5233. zxcount += int.Parse(row["总数"].ToString());
  5234. }
  5235. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  5236. foreach (DataRow row in rows1)
  5237. {
  5238. prezxcount += int.Parse(row["总数"].ToString());
  5239. }
  5240. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5241. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5242. }
  5243. catch
  5244. { }
  5245. int jycount = 0;
  5246. int prejycount = 0;
  5247. try
  5248. {
  5249. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  5250. foreach (DataRow row in rows)
  5251. {
  5252. jycount += int.Parse(row["总数"].ToString());
  5253. }
  5254. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  5255. foreach (DataRow row in rows1)
  5256. {
  5257. prejycount += int.Parse(row["总数"].ToString());
  5258. }
  5259. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5260. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5261. }
  5262. catch
  5263. { }
  5264. int bycount = 0;
  5265. int prebycount = 0;
  5266. try
  5267. {
  5268. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  5269. foreach (DataRow row in rows)
  5270. {
  5271. bycount += int.Parse(row["总数"].ToString());
  5272. }
  5273. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  5274. foreach (DataRow row in rows1)
  5275. {
  5276. prebycount += int.Parse(row["总数"].ToString());
  5277. }
  5278. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5279. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5280. }
  5281. catch
  5282. { }
  5283. int gscount = 0;
  5284. int pregscount = 0;
  5285. try
  5286. {
  5287. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  5288. foreach (DataRow row in rows)
  5289. {
  5290. gscount += int.Parse(row["总数"].ToString());
  5291. }
  5292. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  5293. foreach (DataRow row in rows1)
  5294. {
  5295. pregscount += int.Parse(row["总数"].ToString());
  5296. }
  5297. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5298. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5299. }
  5300. catch
  5301. { }
  5302. int tscount = 0;
  5303. int pretscount = 0;
  5304. string tszb = "";
  5305. try
  5306. {
  5307. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  5308. foreach (DataRow row in rows)
  5309. {
  5310. tscount += int.Parse(row["总数"].ToString());
  5311. }
  5312. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  5313. foreach (DataRow row in rows1)
  5314. {
  5315. pretscount += int.Parse(row["总数"].ToString());
  5316. }
  5317. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5318. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5319. }
  5320. catch
  5321. { }
  5322. allcount = zxcount + jycount + bycount + gscount + tscount;
  5323. preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
  5324. string tb = "";
  5325. if (preallcount > allcount)
  5326. {
  5327. decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
  5328. tb = "减少" + tbint.ToString("f") + "%";
  5329. }
  5330. else
  5331. {
  5332. if (preallcount == allcount)
  5333. {
  5334. tb = "相同";
  5335. }
  5336. else
  5337. {
  5338. if (preallcount > 0)
  5339. {
  5340. decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
  5341. tb = "增加" + tbint.ToString("f") + "%";
  5342. }
  5343. }
  5344. }
  5345. if (allcount > 0)
  5346. {
  5347. zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  5348. tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  5349. }
  5350. 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>");
  5351. #endregion
  5352. #region 微信
  5353. try
  5354. {
  5355. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  5356. foreach (DataRow row in rows)
  5357. {
  5358. wxzxcount += int.Parse(row["总数"].ToString());
  5359. }
  5360. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  5361. foreach (DataRow row in rows1)
  5362. {
  5363. wxprezxcount += int.Parse(row["总数"].ToString());
  5364. }
  5365. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5366. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5367. }
  5368. catch
  5369. { }
  5370. try
  5371. {
  5372. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  5373. foreach (DataRow row in rows)
  5374. {
  5375. wxjycount += int.Parse(row["总数"].ToString());
  5376. }
  5377. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  5378. foreach (DataRow row in rows1)
  5379. {
  5380. wxprejycount += int.Parse(row["总数"].ToString());
  5381. }
  5382. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5383. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5384. }
  5385. catch
  5386. { }
  5387. try
  5388. {
  5389. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  5390. foreach (DataRow row in rows)
  5391. {
  5392. wxbycount += int.Parse(row["总数"].ToString());
  5393. }
  5394. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  5395. foreach (DataRow row in rows1)
  5396. {
  5397. wxprebycount += int.Parse(row["总数"].ToString());
  5398. }
  5399. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5400. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5401. }
  5402. catch
  5403. { }
  5404. try
  5405. {
  5406. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  5407. foreach (DataRow row in rows)
  5408. {
  5409. wxgscount += int.Parse(row["总数"].ToString());
  5410. }
  5411. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  5412. foreach (DataRow row in rows1)
  5413. {
  5414. wxpregscount += int.Parse(row["总数"].ToString());
  5415. }
  5416. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5417. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5418. }
  5419. catch
  5420. { }
  5421. try
  5422. {
  5423. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  5424. foreach (DataRow row in rows)
  5425. {
  5426. wxtscount += int.Parse(row["总数"].ToString());
  5427. }
  5428. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  5429. foreach (DataRow row in rows1)
  5430. {
  5431. wxpretscount += int.Parse(row["总数"].ToString());
  5432. }
  5433. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5434. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5435. }
  5436. catch
  5437. { }
  5438. //prestartDate, preendDate
  5439. wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
  5440. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  5441. wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
  5442. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  5443. if (wxpreallcount > wxallcount)
  5444. {
  5445. if (wxpreallcount > 0)
  5446. {
  5447. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  5448. wxtb = "减少" + wxtbint.ToString("f") + "%";
  5449. }
  5450. }
  5451. else
  5452. {
  5453. if (wxpreallcount == wxallcount)
  5454. {
  5455. wxtb = "相同";
  5456. }
  5457. else
  5458. {
  5459. if (wxpreallcount > 0)
  5460. {
  5461. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  5462. wxtb = "增加" + wxtbint.ToString("f") + "%";
  5463. }
  5464. }
  5465. }
  5466. if (wxallcount > 0)
  5467. {
  5468. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  5469. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  5470. }
  5471. #endregion
  5472. #region 微博
  5473. try
  5474. {
  5475. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  5476. foreach (DataRow row in rows)
  5477. {
  5478. wbzxcount += int.Parse(row["总数"].ToString());
  5479. }
  5480. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  5481. foreach (DataRow row in rows1)
  5482. {
  5483. wbprezxcount += int.Parse(row["总数"].ToString());
  5484. }
  5485. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5486. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5487. }
  5488. catch
  5489. { }
  5490. try
  5491. {
  5492. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  5493. foreach (DataRow row in rows)
  5494. {
  5495. wbjycount += int.Parse(row["总数"].ToString());
  5496. }
  5497. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  5498. foreach (DataRow row in rows1)
  5499. {
  5500. wbprejycount += int.Parse(row["总数"].ToString());
  5501. }
  5502. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5503. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5504. }
  5505. catch
  5506. { }
  5507. try
  5508. {
  5509. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  5510. foreach (DataRow row in rows)
  5511. {
  5512. wbbycount += int.Parse(row["总数"].ToString());
  5513. }
  5514. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  5515. foreach (DataRow row in rows1)
  5516. {
  5517. wbprebycount += int.Parse(row["总数"].ToString());
  5518. }
  5519. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5520. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5521. }
  5522. catch
  5523. { }
  5524. try
  5525. {
  5526. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  5527. foreach (DataRow row in rows)
  5528. {
  5529. wbgscount += int.Parse(row["总数"].ToString());
  5530. }
  5531. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  5532. foreach (DataRow row in rows1)
  5533. {
  5534. wbpregscount += int.Parse(row["总数"].ToString());
  5535. }
  5536. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5537. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5538. }
  5539. catch
  5540. { }
  5541. try
  5542. {
  5543. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  5544. foreach (DataRow row in rows)
  5545. {
  5546. wbtscount += int.Parse(row["总数"].ToString());
  5547. }
  5548. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  5549. foreach (DataRow row in rows1)
  5550. {
  5551. wbpretscount += int.Parse(row["总数"].ToString());
  5552. }
  5553. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5554. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5555. }
  5556. catch
  5557. { }
  5558. //prestartDate,preendDate
  5559. wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
  5560. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  5561. wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
  5562. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  5563. if (wbpreallcount > wballcount)
  5564. {
  5565. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  5566. wbtb = "减少" + wbtbint.ToString("f") + "%";
  5567. }
  5568. else
  5569. {
  5570. if (wbpreallcount == wballcount)
  5571. {
  5572. wbtb = "相同";
  5573. }
  5574. else
  5575. {
  5576. if (wbpreallcount > 0)
  5577. {
  5578. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  5579. wbtb = "增加" + wbtbint.ToString("f") + "%";
  5580. }
  5581. }
  5582. }
  5583. if (wballcount > 0)
  5584. {
  5585. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  5586. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  5587. }
  5588. #endregion
  5589. #region 投诉化解
  5590. try
  5591. {
  5592. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'");
  5593. foreach (DataRow row in rows)
  5594. {
  5595. tscounthj += int.Parse(row["总数"].ToString());
  5596. }
  5597. }
  5598. catch
  5599. { }
  5600. try
  5601. {
  5602. DataRow[] rows = nowDataTable.Select("F_HOUSING='投诉'and 处理方式='客服处理' ");
  5603. foreach (DataRow row in rows)
  5604. {
  5605. kfclcount += int.Parse(row["总数"].ToString());
  5606. }
  5607. }
  5608. catch
  5609. { }
  5610. #endregion
  5611. }
  5612. else
  5613. {
  5614. 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>");
  5615. }
  5616. }
  5617. else
  5618. {
  5619. 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>");
  5620. #region 微信
  5621. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  5622. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  5623. if (wxpreallcount > wxallcount)
  5624. {
  5625. if (wxpreallcount > 0)
  5626. {
  5627. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  5628. wxtb = "减少" + wxtbint.ToString("f") + "%";
  5629. }
  5630. }
  5631. else
  5632. {
  5633. if (wxpreallcount == wxallcount)
  5634. {
  5635. wxtb = "相同";
  5636. }
  5637. else
  5638. {
  5639. if (wxpreallcount > 0)
  5640. {
  5641. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  5642. wxtb = "增加" + wxtbint.ToString("f") + "%";
  5643. }
  5644. }
  5645. }
  5646. if (wxallcount > 0)
  5647. {
  5648. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  5649. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  5650. }
  5651. #endregion
  5652. #region 微博
  5653. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  5654. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  5655. if (wbpreallcount > wballcount)
  5656. {
  5657. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  5658. wbtb = "减少" + wbtbint.ToString("f") + "%";
  5659. }
  5660. else
  5661. {
  5662. if (wbpreallcount == wballcount)
  5663. {
  5664. wbtb = "相同";
  5665. }
  5666. else
  5667. {
  5668. if (wbpreallcount > 0)
  5669. {
  5670. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  5671. wbtb = "增加" + wbtbint.ToString("f") + "%";
  5672. }
  5673. }
  5674. }
  5675. if (wballcount > 0)
  5676. {
  5677. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  5678. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  5679. }
  5680. #endregion
  5681. }
  5682. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  5683. //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  5684. 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>");
  5685. //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  5686. 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>");
  5687. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  5688. StrContent.Append("</tbody></table>");
  5689. #region 投诉化解率
  5690. if (tscounthj > 0)
  5691. {
  5692. decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
  5693. tshjl = kfclcountint.ToString("f") + "%";
  5694. }
  5695. else
  5696. {
  5697. tshjl = "0%";
  5698. }
  5699. #endregion
  5700. 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>";
  5701. #endregion
  5702. //return StrContent.ToString();
  5703. return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
  5704. }
  5705. [ActionName("ReportWorkOrderInfoQuarterNew")]
  5706. [HttpGet]
  5707. public string ReportWorkOrderInfoQuarterNew(string dateParty)
  5708. {
  5709. string StrContent = "";
  5710. string bgnrtb_1 = "<br /><div id=\"bgnrtb_1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  5711. //数据结果集
  5712. string startDate = "";
  5713. string endDate = "";
  5714. string prestartDate = "";
  5715. string preendDate = "";
  5716. string predateParty = "";
  5717. //dateParty = "2019-01-01 - 2019-12-31";
  5718. if (!string.IsNullOrEmpty(dateParty))
  5719. {
  5720. startDate = dateParty.Substring(0, 10);
  5721. endDate = dateParty.Substring(12);
  5722. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  5723. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  5724. }
  5725. else
  5726. {
  5727. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  5728. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  5729. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  5730. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  5731. }
  5732. predateParty = prestartDate + " - " + preendDate;
  5733. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  5734. DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
  5735. //string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  5736. string json = WorkOrderFromChartData(DateTime.Now, dateParty);
  5737. #region 语音
  5738. int allcount = 0;
  5739. int preallcount = 0;
  5740. int zxcount = 0;
  5741. int prezxcount = 0;
  5742. string zxzb = "";
  5743. int jycount = 0;
  5744. int prejycount = 0;
  5745. int bycount = 0;
  5746. int prebycount = 0;
  5747. int gscount = 0;
  5748. int pregscount = 0;
  5749. int tscount = 0;
  5750. int pretscount = 0;
  5751. string tszb = "";
  5752. string tb = "";
  5753. string zzdttb = "";
  5754. #endregion
  5755. #region 微信
  5756. int wxallcount = 0;
  5757. int wxpreallcount = 0;
  5758. int wxzxcount = 0;
  5759. int wxprezxcount = 0;
  5760. string wxzxzb = "";
  5761. int wxjycount = 0;
  5762. int wxprejycount = 0;
  5763. int wxbycount = 0;
  5764. int wxprebycount = 0;
  5765. int wxgscount = 0;
  5766. int wxpregscount = 0;
  5767. int wxtscount = 0;
  5768. int wxpretscount = 0;
  5769. string wxtszb = "0";
  5770. string wxtb = "0";
  5771. #endregion
  5772. #region 微博
  5773. int wballcount = 0;
  5774. int wbpreallcount = 0;
  5775. int wbzxcount = 0;
  5776. int wbprezxcount = 0;
  5777. string wbzxzb = "";
  5778. int wbjycount = 0;
  5779. int wbprejycount = 0;
  5780. int wbbycount = 0;
  5781. int wbprebycount = 0;
  5782. int wbgscount = 0;
  5783. int wbpregscount = 0;
  5784. int wbtscount = 0;
  5785. int wbpretscount = 0;
  5786. string wbtszb = "0";
  5787. string wbtb = "0";
  5788. #endregion
  5789. if (nowDataTable != null)
  5790. {
  5791. if (nowDataTable.Rows.Count > 0)
  5792. {
  5793. #region 语音
  5794. try
  5795. {
  5796. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  5797. foreach (DataRow row in rows)
  5798. {
  5799. zxcount += int.Parse(row["总数"].ToString());
  5800. }
  5801. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  5802. foreach (DataRow row in rows1)
  5803. {
  5804. prezxcount += int.Parse(row["总数"].ToString());
  5805. }
  5806. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5807. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5808. }
  5809. catch
  5810. { }
  5811. try
  5812. {
  5813. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  5814. foreach (DataRow row in rows)
  5815. {
  5816. jycount += int.Parse(row["总数"].ToString());
  5817. }
  5818. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  5819. foreach (DataRow row in rows1)
  5820. {
  5821. prejycount += int.Parse(row["总数"].ToString());
  5822. }
  5823. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5824. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5825. }
  5826. catch
  5827. { }
  5828. try
  5829. {
  5830. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  5831. foreach (DataRow row in rows)
  5832. {
  5833. bycount += int.Parse(row["总数"].ToString());
  5834. }
  5835. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  5836. foreach (DataRow row in rows1)
  5837. {
  5838. prebycount += int.Parse(row["总数"].ToString());
  5839. }
  5840. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5841. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5842. }
  5843. catch
  5844. { }
  5845. try
  5846. {
  5847. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  5848. foreach (DataRow row in rows)
  5849. {
  5850. gscount += int.Parse(row["总数"].ToString());
  5851. }
  5852. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  5853. foreach (DataRow row in rows1)
  5854. {
  5855. pregscount += int.Parse(row["总数"].ToString());
  5856. }
  5857. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5858. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5859. }
  5860. catch
  5861. { }
  5862. try
  5863. {
  5864. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  5865. foreach (DataRow row in rows)
  5866. {
  5867. tscount += int.Parse(row["总数"].ToString());
  5868. }
  5869. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  5870. foreach (DataRow row in rows1)
  5871. {
  5872. pretscount += int.Parse(row["总数"].ToString());
  5873. }
  5874. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5875. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5876. }
  5877. catch
  5878. { }
  5879. allcount = zxcount + jycount + bycount + gscount + tscount;
  5880. preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
  5881. if (preallcount > allcount)
  5882. {
  5883. decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
  5884. tb = "减少" + tbint.ToString("f") + "%";
  5885. }
  5886. else
  5887. {
  5888. if (preallcount == allcount)
  5889. {
  5890. tb = "相同";
  5891. }
  5892. else
  5893. {
  5894. if (preallcount > 0)
  5895. {
  5896. decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
  5897. tb = "增加" + tbint.ToString("f") + "%";
  5898. }
  5899. }
  5900. }
  5901. if (allcount > 0)
  5902. {
  5903. zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  5904. tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  5905. }
  5906. #endregion
  5907. #region 微信
  5908. try
  5909. {
  5910. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  5911. foreach (DataRow row in rows)
  5912. {
  5913. wxzxcount += int.Parse(row["总数"].ToString());
  5914. }
  5915. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  5916. foreach (DataRow row in rows1)
  5917. {
  5918. wxprezxcount += int.Parse(row["总数"].ToString());
  5919. }
  5920. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5921. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  5922. }
  5923. catch
  5924. { }
  5925. try
  5926. {
  5927. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  5928. foreach (DataRow row in rows)
  5929. {
  5930. wxjycount += int.Parse(row["总数"].ToString());
  5931. }
  5932. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  5933. foreach (DataRow row in rows1)
  5934. {
  5935. wxprejycount += int.Parse(row["总数"].ToString());
  5936. }
  5937. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5938. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  5939. }
  5940. catch
  5941. { }
  5942. try
  5943. {
  5944. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  5945. foreach (DataRow row in rows)
  5946. {
  5947. wxbycount += int.Parse(row["总数"].ToString());
  5948. }
  5949. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  5950. foreach (DataRow row in rows1)
  5951. {
  5952. wxprebycount += int.Parse(row["总数"].ToString());
  5953. }
  5954. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5955. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  5956. }
  5957. catch
  5958. { }
  5959. try
  5960. {
  5961. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  5962. foreach (DataRow row in rows)
  5963. {
  5964. wxgscount += int.Parse(row["总数"].ToString());
  5965. }
  5966. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  5967. foreach (DataRow row in rows1)
  5968. {
  5969. wxpregscount += int.Parse(row["总数"].ToString());
  5970. }
  5971. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5972. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  5973. }
  5974. catch
  5975. { }
  5976. try
  5977. {
  5978. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  5979. foreach (DataRow row in rows)
  5980. {
  5981. wxtscount += int.Parse(row["总数"].ToString());
  5982. }
  5983. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  5984. foreach (DataRow row in rows1)
  5985. {
  5986. wxpretscount += int.Parse(row["总数"].ToString());
  5987. }
  5988. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5989. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  5990. }
  5991. catch
  5992. { }
  5993. //prestartDate, preendDate
  5994. wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
  5995. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  5996. wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
  5997. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  5998. if (wxpreallcount > wxallcount)
  5999. {
  6000. if (wxpreallcount > 0)
  6001. {
  6002. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  6003. wxtb = "减少" + wxtbint.ToString("f") + "%";
  6004. }
  6005. }
  6006. else
  6007. {
  6008. if (wxpreallcount == wxallcount)
  6009. {
  6010. wxtb = "相同";
  6011. }
  6012. else
  6013. {
  6014. if (wxpreallcount > 0)
  6015. {
  6016. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  6017. wxtb = "增加" + wxtbint.ToString("f") + "%";
  6018. }
  6019. }
  6020. }
  6021. if (wxallcount > 0)
  6022. {
  6023. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  6024. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  6025. }
  6026. #endregion
  6027. #region 微博
  6028. try
  6029. {
  6030. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  6031. foreach (DataRow row in rows)
  6032. {
  6033. wbzxcount += int.Parse(row["总数"].ToString());
  6034. }
  6035. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  6036. foreach (DataRow row in rows1)
  6037. {
  6038. wbprezxcount += int.Parse(row["总数"].ToString());
  6039. }
  6040. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  6041. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  6042. }
  6043. catch
  6044. { }
  6045. try
  6046. {
  6047. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  6048. foreach (DataRow row in rows)
  6049. {
  6050. wbjycount += int.Parse(row["总数"].ToString());
  6051. }
  6052. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  6053. foreach (DataRow row in rows1)
  6054. {
  6055. wbprejycount += int.Parse(row["总数"].ToString());
  6056. }
  6057. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  6058. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  6059. }
  6060. catch
  6061. { }
  6062. try
  6063. {
  6064. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  6065. foreach (DataRow row in rows)
  6066. {
  6067. wbbycount += int.Parse(row["总数"].ToString());
  6068. }
  6069. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  6070. foreach (DataRow row in rows1)
  6071. {
  6072. wbprebycount += int.Parse(row["总数"].ToString());
  6073. }
  6074. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  6075. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  6076. }
  6077. catch
  6078. { }
  6079. try
  6080. {
  6081. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  6082. foreach (DataRow row in rows)
  6083. {
  6084. wbgscount += int.Parse(row["总数"].ToString());
  6085. }
  6086. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  6087. foreach (DataRow row in rows1)
  6088. {
  6089. wbpregscount += int.Parse(row["总数"].ToString());
  6090. }
  6091. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  6092. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  6093. }
  6094. catch
  6095. { }
  6096. try
  6097. {
  6098. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  6099. foreach (DataRow row in rows)
  6100. {
  6101. wbtscount += int.Parse(row["总数"].ToString());
  6102. }
  6103. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  6104. foreach (DataRow row in rows1)
  6105. {
  6106. wbpretscount += int.Parse(row["总数"].ToString());
  6107. }
  6108. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  6109. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  6110. }
  6111. catch
  6112. { }
  6113. //prestartDate,preendDate
  6114. wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
  6115. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  6116. wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
  6117. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  6118. if (wbpreallcount > wballcount)
  6119. {
  6120. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  6121. wbtb = "减少" + wbtbint.ToString("f") + "%";
  6122. }
  6123. else
  6124. {
  6125. if (wbpreallcount == wballcount)
  6126. {
  6127. wbtb = "相同";
  6128. }
  6129. else
  6130. {
  6131. if (wbpreallcount > 0)
  6132. {
  6133. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  6134. wbtb = "增加" + wbtbint.ToString("f") + "%";
  6135. }
  6136. }
  6137. }
  6138. if (wballcount > 0)
  6139. {
  6140. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  6141. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  6142. }
  6143. #endregion
  6144. }
  6145. } else
  6146. {
  6147. #region 微信
  6148. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  6149. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  6150. if (wxpreallcount > wxallcount)
  6151. {
  6152. if (wxpreallcount > 0)
  6153. {
  6154. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  6155. wxtb = "减少" + wxtbint.ToString("f") + "%";
  6156. }
  6157. }
  6158. else
  6159. {
  6160. if (wxpreallcount == wxallcount)
  6161. {
  6162. wxtb = "相同";
  6163. }
  6164. else
  6165. {
  6166. if (wxpreallcount > 0)
  6167. {
  6168. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  6169. wxtb = "增加" + wxtbint.ToString("f") + "%";
  6170. }
  6171. }
  6172. }
  6173. if (wxallcount > 0)
  6174. {
  6175. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  6176. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  6177. }
  6178. #endregion
  6179. #region 微博
  6180. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  6181. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  6182. if (wbpreallcount > wballcount)
  6183. {
  6184. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  6185. wbtb = "减少" + wbtbint.ToString("f") + "%";
  6186. }
  6187. else
  6188. {
  6189. if (wbpreallcount == wballcount)
  6190. {
  6191. wbtb = "相同";
  6192. }
  6193. else
  6194. {
  6195. if (wbpreallcount > 0)
  6196. {
  6197. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  6198. wbtb = "增加" + wbtbint.ToString("f") + "%";
  6199. }
  6200. }
  6201. }
  6202. if (wballcount > 0)
  6203. {
  6204. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  6205. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  6206. }
  6207. #endregion
  6208. }
  6209. #region 平台总数
  6210. int zzdtallcout = allcount + wballcount + wxallcount;
  6211. int prezzdtallcout = preallcount + wbpreallcount + wxpreallcount;
  6212. if (prezzdtallcout > zzdtallcout)
  6213. {
  6214. decimal zzdttbint = (Convert.ToDecimal(prezzdtallcout) - Convert.ToDecimal(zzdtallcout)) * 100 / Convert.ToDecimal(prezzdtallcout);
  6215. zzdttb = "减少" + zzdttbint.ToString("f") + "%";
  6216. }
  6217. else
  6218. {
  6219. if (prezzdtallcout == zzdtallcout)
  6220. {
  6221. zzdttb = "相同";
  6222. }
  6223. else
  6224. {
  6225. if (prezzdtallcout > 0)
  6226. {
  6227. decimal zzdttbint = (Convert.ToDecimal(zzdtallcout) - Convert.ToDecimal(prezzdtallcout)) * 100 / Convert.ToDecimal(prezzdtallcout);
  6228. zzdttb = "增加" + zzdttbint.ToString("f") + "%";
  6229. }
  6230. }
  6231. }
  6232. #endregion
  6233. string rxzb = "";
  6234. if (zzdtallcout > 0)
  6235. {
  6236. decimal rxzbint = Convert.ToDecimal(allcount) * 100 / Convert.ToDecimal(zzdtallcout);
  6237. rxzb = rxzbint.ToString("f") + "%";
  6238. }
  6239. else {
  6240. rxzb = "0%";
  6241. }
  6242. StrContent = zzdtallcout.ToString() + "," + allcount.ToString() +","+ wballcount.ToString() + "," + wxallcount.ToString() + ","
  6243. + zzdttb.ToString() + "," + tb.ToString() + "," + wbtb.ToString() + "," + wxtb.ToString() + ","
  6244. + prezzdtallcout.ToString() + "," + preallcount.ToString() + "," + wbpreallcount.ToString() + "," + wxpreallcount.ToString() + ","
  6245. + rxzb;
  6246. return StrContent.ToString() + "^" + bgnrtb_1 + "^bgnrtb_1" + "^" + json;
  6247. }
  6248. [ActionName("ReportWorkOrderInfoQuarterNewTwo")]
  6249. [HttpGet]
  6250. public string ReportWorkOrderInfoQuarterNewTwo(string dateParty)
  6251. {
  6252. string StrContent = "";
  6253. string bgmc2tb1 = "<br /><div id=\"bgmc2tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  6254. //数据结果集
  6255. string startDate = "";
  6256. string endDate = "";
  6257. string prestartDate = "";
  6258. string preendDate = "";
  6259. string predateParty = "";
  6260. //dateParty = "2019-01-01 - 2019-12-31";
  6261. if (!string.IsNullOrEmpty(dateParty))
  6262. {
  6263. startDate = dateParty.Substring(0, 10);
  6264. endDate = dateParty.Substring(12);
  6265. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6266. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6267. }
  6268. else
  6269. {
  6270. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6271. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6272. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6273. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6274. }
  6275. predateParty = prestartDate + " - " + preendDate;
  6276. DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRX(startDate, endDate);
  6277. DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRX(prestartDate, preendDate);
  6278. DataTable nowZXYWMXDataTable = recordBLL.GetWorkOrderTrainFunctionRXMX(startDate, endDate, " F_FILEFLAG=6 and F_REPAIRLEVEL <>39");
  6279. //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
  6280. string json = WorkOrderTypeMathChartDataRX(DateTime.Now, dateParty);
  6281. #region 语音
  6282. int allcount = 0;
  6283. int zxcount = 0;
  6284. int kfclcount = 0;
  6285. int zbclcount = 0;
  6286. string strzxywmx = "";
  6287. int zxcounthj = 0;
  6288. int lcskhj = 0;
  6289. string lcskfx = "";
  6290. int gpxxhj = 0;
  6291. string gpxxfx = "";
  6292. #endregion
  6293. if (nowDataTable != null)
  6294. {
  6295. if (nowDataTable.Rows.Count > 0)
  6296. {
  6297. #region 语音
  6298. #region 处理方式
  6299. //1转办,3客服处理
  6300. try
  6301. {
  6302. DataRow[] rows = nowDataTable.Select("处理方式='3'");
  6303. foreach (DataRow row in rows)
  6304. {
  6305. kfclcount += int.Parse(row["业务量"].ToString());
  6306. }
  6307. } catch { }
  6308. try
  6309. {
  6310. DataRow[] rows = nowDataTable.Select("处理方式='1'");
  6311. foreach (DataRow row in rows)
  6312. {
  6313. zbclcount += int.Parse(row["业务量"].ToString());
  6314. }
  6315. }
  6316. catch
  6317. { }
  6318. #endregion
  6319. #region 业务类型
  6320. //3投诉 ,6咨询,14建议,18表扬,19挂失
  6321. try
  6322. {
  6323. DataRow[] rows = nowDataTable.Select("业务类别='6'");
  6324. foreach (DataRow row in rows)
  6325. {
  6326. zxcount += int.Parse(row["业务量"].ToString());
  6327. }
  6328. }
  6329. catch { }
  6330. #endregion
  6331. #region 咨询业务明细
  6332. DataTable dt = new DataTable();
  6333. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
  6334. if (namelist != null)
  6335. {
  6336. dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate + "'").Tables[0];
  6337. int i = 0;
  6338. int count = 0;
  6339. foreach (Model.T_Wo_WorkOrderType m in namelist)
  6340. {
  6341. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "and F_FILEFLAG=6").Length;
  6342. strzxywmx = strzxywmx + m.F_Name.Trim()+ count.ToString()+ "件,";
  6343. zxcounthj = zxcounthj + count;
  6344. i++;
  6345. }
  6346. }
  6347. try
  6348. {
  6349. DataRow[] rows = nowZXYWMXDataTable.Select("F_REPAIRLEVEL='20'");
  6350. foreach (DataRow row in rows)
  6351. {
  6352. lcskhj += int.Parse(row["YWSL"].ToString());
  6353. }
  6354. if (zxcounthj>0)
  6355. {
  6356. decimal lcskhjint = Convert.ToDecimal(lcskhj) * 100 / Convert.ToDecimal(zxcounthj);
  6357. lcskfx = lcskhjint.ToString("f") + "%";
  6358. }
  6359. else
  6360. {
  6361. lcskfx = "0%";
  6362. }
  6363. }
  6364. catch { }
  6365. try
  6366. {
  6367. DataRow[] rows = nowZXYWMXDataTable.Select("F_REPAIRLEVEL='24'");
  6368. foreach (DataRow row in rows)
  6369. {
  6370. gpxxhj += int.Parse(row["YWSL"].ToString());
  6371. }
  6372. if (zxcounthj > 0)
  6373. {
  6374. decimal gpxxhjint = Convert.ToDecimal(gpxxhj) * 100 / Convert.ToDecimal(zxcounthj);
  6375. gpxxfx = gpxxhjint.ToString("f") + "%";
  6376. }
  6377. else
  6378. {
  6379. gpxxfx = "0%";
  6380. }
  6381. }
  6382. catch { }
  6383. #endregion
  6384. allcount = kfclcount+ zbclcount;
  6385. #endregion
  6386. }
  6387. }
  6388. string rjsl = "";
  6389. int rgjtcount = zxcount;
  6390. string rgjtl = "";
  6391. string zjhfl = "";
  6392. string zbaqhfl = "100%";
  6393. if (allcount > 0)
  6394. {
  6395. decimal rgjtint = Convert.ToDecimal(rgjtcount) * 100 / Convert.ToDecimal(allcount);
  6396. rgjtl = rgjtint.ToString("f") + "%";
  6397. decimal zjhfint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(allcount);
  6398. zjhfl = zjhfint.ToString("f") + "%";
  6399. rjsl=(Convert.ToDecimal(allcount)/90).ToString("f") + "%";
  6400. }
  6401. else
  6402. {
  6403. rgjtl = "0%";
  6404. zjhfl = "0%";
  6405. }
  6406. StrContent = allcount.ToString() + "," + rjsl.ToString() + "," + rgjtcount.ToString() + ","
  6407. + rgjtl.ToString()+","+ kfclcount.ToString()+ "," + zjhfl.ToString() + ","
  6408. + zbclcount.ToString()+ "," + zbaqhfl.ToString();
  6409. return StrContent.ToString() + "^" + bgmc2tb1 + "^bgmc2tb1" + "^" + json + "^" + zxcounthj.ToString() + "^" + strzxywmx+ "^" + lcskfx+ "^" + gpxxfx;
  6410. }
  6411. [ActionName("ReportWorkOrderInfoQuarterNewTwoZXMX")]
  6412. [HttpGet]
  6413. public string ReportWorkOrderInfoQuarterNewTwoZXMX(string dateParty)
  6414. {
  6415. string StrContent = "";
  6416. StringBuilder bgmc2tb4 = new StringBuilder();
  6417. StringBuilder bgmc2tb5 = new StringBuilder();
  6418. string bgmc2tb2 = "<br /><div id=\"bgmc2tb2\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  6419. //数据结果集
  6420. string startDate = "";
  6421. string endDate = "";
  6422. string prestartDate = "";
  6423. string preendDate = "";
  6424. string predateParty = "";
  6425. #region 以受理方式为标准的分析情况
  6426. int TotalCount = 0;
  6427. int TotalCount_wb = 0;
  6428. int TotalCount_wx = 0;
  6429. int TotalCount_dh = 0;
  6430. string tsbl_wb = "";
  6431. string tsbl_wx = "";
  6432. string tsbl_dh = "";
  6433. #endregion
  6434. #region 以责任部门为标准的分析情况(转办)
  6435. int TotalCount_ajry = 0;
  6436. int TotalCount_kyry = 0;
  6437. int TotalCount_qtry = 0;
  6438. int TotalCountZB = 0;
  6439. #endregion
  6440. //dateParty = "2019-01-01 - 2019-12-31";
  6441. if (!string.IsNullOrEmpty(dateParty))
  6442. {
  6443. startDate = dateParty.Substring(0, 10);
  6444. endDate = dateParty.Substring(12);
  6445. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6446. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6447. }
  6448. else
  6449. {
  6450. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6451. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6452. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6453. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6454. }
  6455. predateParty = prestartDate + " - " + preendDate;
  6456. DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(startDate, endDate);
  6457. DataTable dataContent = recordBLL.WorkOrderDate(startDate, endDate);
  6458. DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(prestartDate, preendDate);
  6459. //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
  6460. string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
  6461. #region 投诉
  6462. int kfclcount = 0;
  6463. int zbclcount = 0;
  6464. int tscounthj = 0;
  6465. string tshjl = "";
  6466. #endregion
  6467. if (nowDataTable != null)
  6468. {
  6469. if (nowDataTable.Rows.Count > 0)
  6470. {
  6471. #region 语音
  6472. #region 处理方式
  6473. //1转办,3客服处理
  6474. try
  6475. {
  6476. DataRow[] rows = nowDataTable.Select("业务类别='3' ");
  6477. foreach (DataRow row in rows)
  6478. {
  6479. tscounthj += int.Parse(row["业务量"].ToString());
  6480. }
  6481. }
  6482. catch { }
  6483. try
  6484. {
  6485. DataRow[] rows = nowDataTable.Select("业务类别='3' and 处理方式='3'");
  6486. foreach (DataRow row in rows)
  6487. {
  6488. kfclcount += int.Parse(row["业务量"].ToString());
  6489. }
  6490. }
  6491. catch { }
  6492. try
  6493. {
  6494. DataRow[] rows = nowDataTable.Select("业务类别='3' and 处理方式='1'");
  6495. foreach (DataRow row in rows)
  6496. {
  6497. zbclcount += int.Parse(row["业务量"].ToString());
  6498. }
  6499. }
  6500. catch
  6501. { }
  6502. #endregion
  6503. #endregion
  6504. #region 以受理方式为标准的分析情况
  6505. 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;\">");
  6506. bgmc2tb4.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:102.5pt;\">受理方式</td>");
  6507. bgmc2tb4.Append("<td style=\"width:120.5pt;\">投诉件数</td><td style=\"width:120.5pt;\">处理方式</td>");
  6508. bgmc2tb4.Append("<td style=\"width:120.5pt;\">回访率</td><td style=\"width:120.5pt;\">满意度</td>");
  6509. bgmc2tb4.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
  6510. if (dataContent != null)
  6511. {
  6512. #region 投诉总量和总投诉占比
  6513. DataRow[] rowswb = dataContent.Select("工单类型='微博' and F_HOUSING='投诉'");
  6514. foreach (DataRow row in rowswb)
  6515. {
  6516. TotalCount_wb += int.Parse(row["总数"].ToString());
  6517. }
  6518. DataRow[] rowswx = dataContent.Select("工单类型='微信' and F_HOUSING='投诉'");
  6519. foreach (DataRow row in rowswx)
  6520. {
  6521. TotalCount_wx += int.Parse(row["总数"].ToString());
  6522. }
  6523. DataRow[] rowsyy = dataContent.Select("工单类型='语音' and F_HOUSING='投诉'");
  6524. foreach (DataRow row in rowsyy)
  6525. {
  6526. TotalCount_dh += int.Parse(row["总数"].ToString());
  6527. }
  6528. TotalCount = TotalCount_wb + TotalCount_wx + TotalCount_dh;
  6529. if (TotalCount > 0)
  6530. {
  6531. decimal tsbl_wbint = Convert.ToDecimal(TotalCount_wb) * 100 / Convert.ToDecimal(TotalCount);
  6532. tsbl_wb = tsbl_wbint.ToString("f") + "%";
  6533. decimal tsbl_wxint = Convert.ToDecimal(TotalCount_wx) * 100 / Convert.ToDecimal(TotalCount);
  6534. tsbl_wx = tsbl_wxint.ToString("f") + "%";
  6535. decimal tsbl_dhint = Convert.ToDecimal(TotalCount_dh) * 100 / Convert.ToDecimal(TotalCount);
  6536. tsbl_dh = tsbl_dhint.ToString("f") + "%";
  6537. }
  6538. else
  6539. {
  6540. tsbl_wb = "0%"; tsbl_wx = "0%"; tsbl_dh = "0%";
  6541. }
  6542. #endregion
  6543. #region 满意度
  6544. #endregion
  6545. }
  6546. 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>");
  6547. 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>");
  6548. 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>");
  6549. bgmc2tb4.Append("</tbody></table>");
  6550. #endregion
  6551. #region 以责任部门为标准的分析情况(转办)
  6552. 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;\">");
  6553. bgmc2tb5.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:120.55pt;\">部门</td>");
  6554. bgmc2tb5.Append("<td style=\"width:120.5pt;\">员工服务</td><td style=\"width:120.5pt;\">政策规定</td>");
  6555. bgmc2tb5.Append("<td style=\"width:120.5pt;\">设备</td><td style=\"width:120.5pt;\">合计</td>");
  6556. bgmc2tb5.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
  6557. if (dataContent != null)
  6558. {
  6559. DataRow[] rowsZB = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' ");
  6560. foreach (DataRow row in rowsZB)
  6561. {
  6562. TotalCountZB += int.Parse(row["总数"].ToString());
  6563. }
  6564. DataRow[] rowsajry = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' and F_ADSLACCOUNT='投诉安检工作人员'");
  6565. foreach (DataRow row in rowsajry)
  6566. {
  6567. TotalCount_ajry += int.Parse(row["总数"].ToString());
  6568. }
  6569. DataRow[] rowskyry = dataContent.Select("F_HOUSING='投诉' and 处理方式='转办' and F_ADSLACCOUNT='投诉客运工作人员'");
  6570. foreach (DataRow row in rowskyry)
  6571. {
  6572. TotalCount_kyry += int.Parse(row["总数"].ToString());
  6573. }
  6574. TotalCount_qtry = TotalCountZB - TotalCount_ajry - TotalCount_kyry;
  6575. }
  6576. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>安保部</td><td>" + TotalCount_ajry.ToString() + "</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6577. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>站务中心</td><td>" + TotalCount_kyry.ToString() + " </td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6578. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>其他</td><td>" + TotalCount_qtry.ToString() + "</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6579. bgmc2tb5.Append("</tbody></table>");
  6580. #endregion
  6581. #region 化解率
  6582. kfclcount = tscounthj - zbclcount;
  6583. if (tscounthj > 0)
  6584. {
  6585. decimal kfclcountint = Convert.ToDecimal(kfclcount) * 100 / Convert.ToDecimal(tscounthj);
  6586. tshjl = kfclcountint.ToString("f") + "%";
  6587. }
  6588. else
  6589. {
  6590. tshjl = "0%";
  6591. }
  6592. #endregion
  6593. }
  6594. }
  6595. else {
  6596. 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;\">");
  6597. bgmc2tb4.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:102.5pt;\">受理方式</td>");
  6598. bgmc2tb4.Append("<td style=\"width:120.5pt;\">投诉件数</td><td style=\"width:120.5pt;\">处理方式</td>");
  6599. bgmc2tb4.Append("<td style=\"width:120.5pt;\">回访率</td><td style=\"width:120.5pt;\">满意度</td>");
  6600. bgmc2tb4.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
  6601. bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>0</td><td>转办</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
  6602. bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>0</td><td>转办</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
  6603. bgmc2tb4.Append("<tr style=\"height:36.95pt\"><td>电话</td><td>0</td><td>转办+客服化解</td><td>0%</td><td>/</td><td>/</td>" + "</tr>");
  6604. bgmc2tb4.Append("</tbody></table>");
  6605. tsbl_dh = "0%";
  6606. 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;\">");
  6607. bgmc2tb5.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:120.55pt;\">部门</td>");
  6608. bgmc2tb5.Append("<td style=\"width:120.5pt;\">员工服务</td><td style=\"width:120.5pt;\">政策规定</td>");
  6609. bgmc2tb5.Append("<td style=\"width:120.5pt;\">设备</td><td style=\"width:120.5pt;\">合计</td>");
  6610. bgmc2tb5.Append("<td style=\"width:120.5pt;\">占总投诉比例</td>");
  6611. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>安保部</td><td>0</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6612. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>站务中心</td><td>0 </td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6613. bgmc2tb5.Append("<tr style=\"height:36.95pt\"><td>其他</td><td>0</td><td>/</td><td>/</td><td>/</td><td>/</td>" + "</tr>");
  6614. bgmc2tb5.Append("</tbody></table>");
  6615. }
  6616. return StrContent.ToString() + "^" + bgmc2tb2 + "^bgmc2tb2" + "^" + json + "^" + tscounthj.ToString()
  6617. + "^" + zbclcount.ToString()+"^" + kfclcount.ToString()+ "^" + tshjl + "^" + bgmc2tb4 + "^" + bgmc2tb5
  6618. + "^" + tsbl_dh;
  6619. }
  6620. [ActionName("ReportWorkOrderInfoQuarterNewTwoQTMX")]
  6621. [HttpGet]
  6622. public string ReportWorkOrderInfoQuarterNewTwoQTMX(string dateParty)
  6623. {
  6624. string StrContent = "";
  6625. string bgmc2tb2 = "<br /><div id=\"bgmc2tb2\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  6626. //数据结果集
  6627. string startDate = "";
  6628. string endDate = "";
  6629. string prestartDate = "";
  6630. string preendDate = "";
  6631. string predateParty = "";
  6632. //dateParty = "2019-01-01 - 2019-12-31";
  6633. if (!string.IsNullOrEmpty(dateParty))
  6634. {
  6635. startDate = dateParty.Substring(0, 10);
  6636. endDate = dateParty.Substring(12);
  6637. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6638. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6639. }
  6640. else
  6641. {
  6642. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6643. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6644. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6645. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6646. }
  6647. predateParty = prestartDate + " - " + preendDate;
  6648. DataTable nowDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(startDate, endDate);
  6649. DataTable preDataTable = recordBLL.GetWorkOrderTrainFunctionRXQT(prestartDate, preendDate);
  6650. //string json = CallInTypeMatchChartData(DateTime.Now, dateParty);
  6651. string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
  6652. #region
  6653. int jycount = 0;
  6654. int bycount = 0;
  6655. int gscount = 0;
  6656. #endregion
  6657. if (nowDataTable != null)
  6658. {
  6659. if (nowDataTable.Rows.Count > 0)
  6660. {
  6661. #region 建议
  6662. try
  6663. {
  6664. DataRow[] rows = nowDataTable.Select("业务类别='14'");
  6665. foreach (DataRow row in rows)
  6666. {
  6667. jycount += int.Parse(row["业务量"].ToString());
  6668. }
  6669. }
  6670. catch
  6671. { }
  6672. #endregion
  6673. #region 表扬
  6674. try
  6675. {
  6676. DataRow[] rows = nowDataTable.Select("业务类别='18'");
  6677. foreach (DataRow row in rows)
  6678. {
  6679. bycount += int.Parse(row["业务量"].ToString());
  6680. }
  6681. }
  6682. catch
  6683. { }
  6684. #endregion
  6685. #region 挂失
  6686. try
  6687. {
  6688. DataRow[] rows = nowDataTable.Select("业务类别='19'");
  6689. foreach (DataRow row in rows)
  6690. {
  6691. gscount += int.Parse(row["业务量"].ToString());
  6692. }
  6693. }
  6694. catch
  6695. { }
  6696. #endregion
  6697. }
  6698. }
  6699. return StrContent.ToString() + "^" + bgmc2tb2 + "^bgmc2tb2" + "^" + json + "^" + jycount.ToString()
  6700. + "^" + gscount.ToString() + "^" + bycount.ToString();
  6701. }
  6702. [ActionName("ReportWorkOrderInfoQuarterNewTwoWXMX")]
  6703. [HttpGet]
  6704. public string ReportWorkOrderInfoQuarterNewTwoWXMX(string dateParty)
  6705. {
  6706. string StrContent = "";
  6707. string bgmc4tb1 = "<br /><div id=\"bgmc4tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  6708. //数据结果集
  6709. string startDate = "";
  6710. string endDate = "";
  6711. string prestartDate = "";
  6712. string preendDate = "";
  6713. string predateParty = "";
  6714. //dateParty = "2019-01-01 - 2019-12-31";
  6715. if (!string.IsNullOrEmpty(dateParty))
  6716. {
  6717. startDate = dateParty.Substring(0, 10);
  6718. endDate = dateParty.Substring(12);
  6719. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6720. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6721. }
  6722. else
  6723. {
  6724. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6725. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6726. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6727. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6728. }
  6729. predateParty = prestartDate + " - " + preendDate;
  6730. DataTable wxDataTable = recordBLL.GetWorkOrderTrainFunctionRXWX(startDate, endDate,"3");
  6731. string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
  6732. #region
  6733. int wxcount = 0;
  6734. int wxcountrx = 0;
  6735. int wxxtCount = 0;
  6736. #endregion
  6737. #region 微信
  6738. //微信业务工单数
  6739. wxxtCount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0);
  6740. if (wxDataTable != null)
  6741. {
  6742. if (wxDataTable.Rows.Count > 0)
  6743. {
  6744. try
  6745. {
  6746. DataRow[] rows = wxDataTable.Select("");
  6747. foreach (DataRow row in rows)
  6748. {
  6749. wxcountrx += int.Parse(row["业务量"].ToString());
  6750. }
  6751. }
  6752. catch
  6753. { }
  6754. }
  6755. }
  6756. wxcount = wxcountrx + wxxtCount;
  6757. #endregion
  6758. return StrContent.ToString() + "^" + bgmc4tb1 + "^bgmc4tb1" + "^" + json + "^" + wxcount.ToString();
  6759. }
  6760. [ActionName("ReportWorkOrderInfoQuarterNewTwoWBMX")]
  6761. [HttpGet]
  6762. public string ReportWorkOrderInfoQuarterNewTwoWBMX(string dateParty)
  6763. {
  6764. string StrContent = "";
  6765. string bgmc3tb1 = "<br /><div id=\"bgmc3tb1\" style=\"height: 300px; width: 100%;background-color: #ffffff\"></div><br>";
  6766. //数据结果集
  6767. string startDate = "";
  6768. string endDate = "";
  6769. string prestartDate = "";
  6770. string preendDate = "";
  6771. string predateParty = "";
  6772. //dateParty = "2019-01-01 - 2019-12-31";
  6773. if (!string.IsNullOrEmpty(dateParty))
  6774. {
  6775. startDate = dateParty.Substring(0, 10);
  6776. endDate = dateParty.Substring(12);
  6777. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6778. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6779. }
  6780. else
  6781. {
  6782. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6783. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6784. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6785. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6786. }
  6787. predateParty = prestartDate + " - " + preendDate;
  6788. DataTable wbDataTable = recordBLL.GetWorkOrderTrainFunctionRXWX(startDate, endDate, "4");
  6789. string json = zxywtypeWorkOrderPreMX(DateTime.Now, dateParty);
  6790. #region
  6791. int wbcount = 0;
  6792. int wbcountrx = 0;
  6793. int wbxtCount = 0;
  6794. #endregion
  6795. #region 微信
  6796. //微博业务工单数
  6797. wbxtCount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0);
  6798. if (wbDataTable != null)
  6799. {
  6800. if (wbDataTable.Rows.Count > 0)
  6801. {
  6802. try
  6803. {
  6804. DataRow[] rows = wbDataTable.Select("");
  6805. foreach (DataRow row in rows)
  6806. {
  6807. wbcountrx += int.Parse(row["业务量"].ToString());
  6808. }
  6809. }
  6810. catch
  6811. { }
  6812. }
  6813. }
  6814. wbcount = wbcountrx + wbxtCount;
  6815. #endregion
  6816. return StrContent.ToString() + "^" + bgmc3tb1 + "^bgmc3tb1" + "^" + json + "^" + wbcount.ToString();
  6817. }
  6818. //热线类型 图表
  6819. public string WorkOrderTypeMathChartDataRX(DateTime? NowDateTime, string dateParty)
  6820. {
  6821. //数据结果集
  6822. MainChartModel dataModel = new MainChartModel();
  6823. string startDate = "";
  6824. string endDate = "";
  6825. if (!string.IsNullOrEmpty(dateParty))
  6826. {
  6827. startDate = dateParty.Substring(0, 10);
  6828. endDate = dateParty.Substring(12);
  6829. }
  6830. else
  6831. {
  6832. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6833. }
  6834. DataTable datas = recordBLL.GetWorkOrderBussTypeDataRX(startDate, endDate);
  6835. DataTable newTable = new DataTable();
  6836. newTable.Columns.Add("业务类型");
  6837. newTable.Columns.Add("工单数量");
  6838. DataRow dataRow;
  6839. if (datas != null && datas.Rows.Count > 0)
  6840. {
  6841. foreach (DataRow thisRow in datas.Rows)
  6842. {
  6843. if (thisRow["BusinessType"].ToString() == "6")
  6844. {
  6845. dataRow = newTable.NewRow();
  6846. dataRow["业务类型"] = "咨询";
  6847. int totalCount = 0;
  6848. string getCount = thisRow["callInCount"].ToString();
  6849. if (!string.IsNullOrEmpty(getCount))
  6850. {
  6851. totalCount = int.Parse(getCount);
  6852. }
  6853. dataRow["工单数量"] = totalCount;
  6854. newTable.Rows.Add(dataRow);
  6855. }
  6856. else if ((thisRow["BusinessType"].ToString() == "14"))
  6857. {
  6858. dataRow = newTable.NewRow();
  6859. dataRow["业务类型"] = "建议";
  6860. dataRow["工单数量"] = thisRow["callInCount"];
  6861. newTable.Rows.Add(dataRow);
  6862. }
  6863. else if ((thisRow["BusinessType"].ToString() == "18"))
  6864. {
  6865. dataRow = newTable.NewRow();
  6866. dataRow["业务类型"] = "表扬";
  6867. dataRow["工单数量"] = thisRow["callInCount"];
  6868. newTable.Rows.Add(dataRow);
  6869. }
  6870. else if ((thisRow["BusinessType"].ToString() == "19"))
  6871. {
  6872. dataRow = newTable.NewRow();
  6873. dataRow["业务类型"] = "挂失";
  6874. dataRow["工单数量"] = thisRow["callInCount"];
  6875. newTable.Rows.Add(dataRow);
  6876. }
  6877. else if ((thisRow["BusinessType"].ToString() == "3"))
  6878. {
  6879. dataRow = newTable.NewRow();
  6880. dataRow["业务类型"] = "投诉";
  6881. dataRow["工单数量"] = thisRow["callInCount"];
  6882. newTable.Rows.Add(dataRow);
  6883. }
  6884. }
  6885. }
  6886. if (newTable != null && newTable.Rows.Count > 0)
  6887. {
  6888. string[] strArr = new string[newTable.Rows.Count];
  6889. string contentArr = "";
  6890. for (int i = 0; i < newTable.Rows.Count; i++)
  6891. {
  6892. strArr[i] = newTable.Rows[i]["业务类型"].ToString();
  6893. if (i == 0)
  6894. {
  6895. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  6896. }
  6897. else
  6898. {
  6899. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  6900. }
  6901. }
  6902. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  6903. dataModel.datas = "[" + contentArr + "]";
  6904. }
  6905. return JsonConvert.SerializeObject(dataModel);
  6906. }
  6907. //热线咨询明细图表
  6908. public string zxywtypeWorkOrderPreMX(DateTime? NowDateTime, string dateParty)
  6909. {
  6910. //数据结果集
  6911. MainChartModel dataModel = new MainChartModel();
  6912. string startDate = "";
  6913. string endDate = "";
  6914. DataTable dt = new DataTable();
  6915. try
  6916. {
  6917. if (!string.IsNullOrEmpty(dateParty))
  6918. {
  6919. startDate = dateParty.Substring(0, 10);
  6920. endDate = dateParty.Substring(12);
  6921. }
  6922. else
  6923. {
  6924. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6925. }
  6926. DataTable newTable = new DataTable();
  6927. newTable.Columns.Add("业务类型");
  6928. newTable.Columns.Add("工单数量");
  6929. List<Model.T_Wo_WorkOrderType> namelist = new BLL.T_Wo_WorkOrderType().GetModelList(" F_ParentId=6 ");
  6930. if (namelist != null)
  6931. {
  6932. dt = new BLL.T_Wo_WorkOrderBase().GetList("F_CREATEDATE>='" + startDate + "'and F_CREATEDATE<='" + endDate + "' and F_FILEFLAG=6").Tables[0];
  6933. //dt = new BLL.T_Wo_WorkOrderBase().GetList(" DATEDIFF(DAY,'" + startDate + "',F_CREATEDATE)>=0 and DATEDIFF(DAY,'" + endDate + "',F_CREATEDATE)<=0 ").Tables[0];
  6934. int i = 0;
  6935. int count = 0;
  6936. DataRow dataRow;
  6937. foreach (Model.T_Wo_WorkOrderType m in namelist)
  6938. {
  6939. count = dt.Select("F_REPAIRLEVEL=" + m.F_WorkOrderTypeId.ToString() + "").Length;
  6940. dataRow = newTable.NewRow();
  6941. dataRow["业务类型"] = m.F_Name.Trim();
  6942. dataRow["工单数量"] = count.ToString();
  6943. newTable.Rows.Add(dataRow);
  6944. i++;
  6945. }
  6946. }
  6947. if (newTable != null && newTable.Rows.Count > 0)
  6948. {
  6949. string[] strArr = new string[newTable.Rows.Count];
  6950. string contentArr = "";
  6951. for (int i = 0; i < newTable.Rows.Count; i++)
  6952. {
  6953. strArr[i] = newTable.Rows[i]["业务类型"].ToString();
  6954. if (i == 0)
  6955. {
  6956. contentArr += " { value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  6957. }
  6958. else
  6959. {
  6960. contentArr += " ,{ value: " + newTable.Rows[i]["工单数量"].ToString() + ", name: '" + newTable.Rows[i]["业务类型"].ToString() + "' }";
  6961. }
  6962. }
  6963. dataModel.bottom = JsonConvert.SerializeObject(strArr);
  6964. dataModel.datas = "[" + contentArr + "]";
  6965. }
  6966. }
  6967. catch (Exception ex) { }
  6968. finally { dt.Clear(); dt.Dispose(); }
  6969. return JsonConvert.SerializeObject(dataModel);
  6970. }
  6971. /// <summary>
  6972. /// 季度
  6973. /// </summary>
  6974. /// <returns></returns>
  6975. [ActionName("ReportWorkOrderInfoQuarter")]
  6976. [HttpGet]
  6977. public string ReportWorkOrderInfoQuarter(string dateParty)
  6978. {
  6979. string res = "^divWorkOrderInfoOneWeekPie";
  6980. //数据结果集
  6981. string startDate = "";
  6982. string endDate = "";
  6983. string prestartDate = "";
  6984. string preendDate = "";
  6985. string predateParty = "";
  6986. if (!string.IsNullOrEmpty(dateParty))
  6987. {
  6988. startDate = dateParty.Substring(0, 10);
  6989. endDate = dateParty.Substring(12);
  6990. prestartDate = Convert.ToDateTime(startDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6991. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6992. }
  6993. else
  6994. {
  6995. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  6996. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  6997. prestartDate = Convert.ToDateTime(startDate).AddMonths(-5).ToString("yyyy-MM-dd");
  6998. preendDate = Convert.ToDateTime(endDate).AddMonths(-3).ToString("yyyy-MM-dd");
  6999. }
  7000. predateParty = prestartDate + " - " + preendDate;
  7001. StringBuilder StrContent = new StringBuilder();
  7002. 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;\">");
  7003. StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
  7004. StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
  7005. StrContent.Append("<td style=\"width:70.85pt;\">同比上季度</td>");
  7006. StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
  7007. StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
  7008. StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
  7009. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  7010. DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
  7011. //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
  7012. //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
  7013. string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  7014. #region 微信
  7015. int wxallcount = 0;
  7016. int wxpreallcount = 0;
  7017. int wxzxcount = 0;
  7018. int wxprezxcount = 0;
  7019. string wxzxzb = "";
  7020. int wxjycount = 0;
  7021. int wxprejycount = 0;
  7022. int wxbycount = 0;
  7023. int wxprebycount = 0;
  7024. int wxgscount = 0;
  7025. int wxpregscount = 0;
  7026. int wxtscount = 0;
  7027. int wxpretscount = 0;
  7028. string wxtszb = "0";
  7029. string wxtb = "0";
  7030. #endregion
  7031. #region 微博
  7032. int wballcount = 0;
  7033. int wbpreallcount = 0;
  7034. int wbzxcount = 0;
  7035. int wbprezxcount = 0;
  7036. string wbzxzb = "";
  7037. int wbjycount = 0;
  7038. int wbprejycount = 0;
  7039. int wbbycount = 0;
  7040. int wbprebycount = 0;
  7041. int wbgscount = 0;
  7042. int wbpregscount = 0;
  7043. int wbtscount = 0;
  7044. int wbpretscount = 0;
  7045. string wbtszb = "0";
  7046. string wbtb = "0";
  7047. #endregion
  7048. if (nowDataTable != null)
  7049. {
  7050. if (nowDataTable.Rows.Count > 0)
  7051. {
  7052. #region 语音
  7053. int allcount = 0;
  7054. int preallcount = 0;
  7055. int zxcount = 0;
  7056. int prezxcount = 0;
  7057. string zxzb = "";
  7058. try
  7059. {
  7060. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  7061. foreach (DataRow row in rows)
  7062. {
  7063. zxcount += int.Parse(row["总数"].ToString());
  7064. }
  7065. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  7066. foreach (DataRow row in rows1)
  7067. {
  7068. prezxcount += int.Parse(row["总数"].ToString());
  7069. }
  7070. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7071. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7072. }
  7073. catch
  7074. { }
  7075. int jycount = 0;
  7076. int prejycount = 0;
  7077. try
  7078. {
  7079. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  7080. foreach (DataRow row in rows)
  7081. {
  7082. jycount += int.Parse(row["总数"].ToString());
  7083. }
  7084. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  7085. foreach (DataRow row in rows1)
  7086. {
  7087. prejycount += int.Parse(row["总数"].ToString());
  7088. }
  7089. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7090. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7091. }
  7092. catch
  7093. { }
  7094. int bycount = 0;
  7095. int prebycount = 0;
  7096. try
  7097. {
  7098. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  7099. foreach (DataRow row in rows)
  7100. {
  7101. bycount += int.Parse(row["总数"].ToString());
  7102. }
  7103. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  7104. foreach (DataRow row in rows1)
  7105. {
  7106. prebycount += int.Parse(row["总数"].ToString());
  7107. }
  7108. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7109. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7110. }
  7111. catch
  7112. { }
  7113. int gscount = 0;
  7114. int pregscount = 0;
  7115. try
  7116. {
  7117. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  7118. foreach (DataRow row in rows)
  7119. {
  7120. gscount += int.Parse(row["总数"].ToString());
  7121. }
  7122. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  7123. foreach (DataRow row in rows1)
  7124. {
  7125. pregscount += int.Parse(row["总数"].ToString());
  7126. }
  7127. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7128. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7129. }
  7130. catch
  7131. { }
  7132. int tscount = 0;
  7133. int pretscount = 0;
  7134. string tszb = "";
  7135. try
  7136. {
  7137. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  7138. foreach (DataRow row in rows)
  7139. {
  7140. tscount += int.Parse(row["总数"].ToString());
  7141. }
  7142. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  7143. foreach (DataRow row in rows1)
  7144. {
  7145. pretscount += int.Parse(row["总数"].ToString());
  7146. }
  7147. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7148. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7149. }
  7150. catch
  7151. { }
  7152. allcount = zxcount + jycount + bycount + gscount + tscount;
  7153. preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
  7154. string tb = "";
  7155. if (preallcount > allcount)
  7156. {
  7157. decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
  7158. tb = "减少" + tbint.ToString("f") + "%";
  7159. }
  7160. else
  7161. {
  7162. if (preallcount == allcount)
  7163. {
  7164. tb = "相同";
  7165. }
  7166. else
  7167. {
  7168. if (preallcount > 0)
  7169. {
  7170. decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
  7171. tb = "增加" + tbint.ToString("f") + "%";
  7172. }
  7173. }
  7174. }
  7175. if (allcount > 0)
  7176. {
  7177. zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  7178. tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  7179. }
  7180. 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>");
  7181. #endregion
  7182. #region 微信
  7183. try
  7184. {
  7185. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  7186. foreach (DataRow row in rows)
  7187. {
  7188. wxzxcount += int.Parse(row["总数"].ToString());
  7189. }
  7190. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  7191. foreach (DataRow row in rows1)
  7192. {
  7193. wxprezxcount += int.Parse(row["总数"].ToString());
  7194. }
  7195. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7196. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7197. }
  7198. catch
  7199. { }
  7200. try
  7201. {
  7202. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  7203. foreach (DataRow row in rows)
  7204. {
  7205. wxjycount += int.Parse(row["总数"].ToString());
  7206. }
  7207. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  7208. foreach (DataRow row in rows1)
  7209. {
  7210. wxprejycount += int.Parse(row["总数"].ToString());
  7211. }
  7212. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7213. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7214. }
  7215. catch
  7216. { }
  7217. try
  7218. {
  7219. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  7220. foreach (DataRow row in rows)
  7221. {
  7222. wxbycount += int.Parse(row["总数"].ToString());
  7223. }
  7224. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  7225. foreach (DataRow row in rows1)
  7226. {
  7227. wxprebycount += int.Parse(row["总数"].ToString());
  7228. }
  7229. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7230. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7231. }
  7232. catch
  7233. { }
  7234. try
  7235. {
  7236. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  7237. foreach (DataRow row in rows)
  7238. {
  7239. wxgscount += int.Parse(row["总数"].ToString());
  7240. }
  7241. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  7242. foreach (DataRow row in rows1)
  7243. {
  7244. wxpregscount += int.Parse(row["总数"].ToString());
  7245. }
  7246. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7247. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7248. }
  7249. catch
  7250. { }
  7251. try
  7252. {
  7253. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  7254. foreach (DataRow row in rows)
  7255. {
  7256. wxtscount += int.Parse(row["总数"].ToString());
  7257. }
  7258. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  7259. foreach (DataRow row in rows1)
  7260. {
  7261. wxpretscount += int.Parse(row["总数"].ToString());
  7262. }
  7263. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7264. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7265. }
  7266. catch
  7267. { }
  7268. //prestartDate, preendDate
  7269. wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
  7270. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  7271. wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
  7272. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  7273. if (wxpreallcount > wxallcount)
  7274. {
  7275. if (wxpreallcount > 0)
  7276. {
  7277. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7278. wxtb = "减少" + wxtbint.ToString("f") + "%";
  7279. }
  7280. }
  7281. else
  7282. {
  7283. if (wxpreallcount == wxallcount)
  7284. {
  7285. wxtb = "相同";
  7286. }
  7287. else
  7288. {
  7289. if (wxpreallcount > 0)
  7290. {
  7291. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7292. wxtb = "增加" + wxtbint.ToString("f") + "%";
  7293. }
  7294. }
  7295. }
  7296. if (wxallcount > 0)
  7297. {
  7298. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7299. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7300. }
  7301. #endregion
  7302. #region 微博
  7303. try
  7304. {
  7305. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  7306. foreach (DataRow row in rows)
  7307. {
  7308. wbzxcount += int.Parse(row["总数"].ToString());
  7309. }
  7310. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  7311. foreach (DataRow row in rows1)
  7312. {
  7313. wbprezxcount += int.Parse(row["总数"].ToString());
  7314. }
  7315. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7316. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7317. }
  7318. catch
  7319. { }
  7320. try
  7321. {
  7322. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  7323. foreach (DataRow row in rows)
  7324. {
  7325. wbjycount += int.Parse(row["总数"].ToString());
  7326. }
  7327. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  7328. foreach (DataRow row in rows1)
  7329. {
  7330. wbprejycount += int.Parse(row["总数"].ToString());
  7331. }
  7332. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7333. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7334. }
  7335. catch
  7336. { }
  7337. try
  7338. {
  7339. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  7340. foreach (DataRow row in rows)
  7341. {
  7342. wbbycount += int.Parse(row["总数"].ToString());
  7343. }
  7344. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  7345. foreach (DataRow row in rows1)
  7346. {
  7347. wbprebycount += int.Parse(row["总数"].ToString());
  7348. }
  7349. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7350. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7351. }
  7352. catch
  7353. { }
  7354. try
  7355. {
  7356. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  7357. foreach (DataRow row in rows)
  7358. {
  7359. wbgscount += int.Parse(row["总数"].ToString());
  7360. }
  7361. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  7362. foreach (DataRow row in rows1)
  7363. {
  7364. wbpregscount += int.Parse(row["总数"].ToString());
  7365. }
  7366. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7367. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7368. }
  7369. catch
  7370. { }
  7371. try
  7372. {
  7373. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  7374. foreach (DataRow row in rows)
  7375. {
  7376. wbtscount += int.Parse(row["总数"].ToString());
  7377. }
  7378. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  7379. foreach (DataRow row in rows1)
  7380. {
  7381. wbpretscount += int.Parse(row["总数"].ToString());
  7382. }
  7383. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7384. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7385. }
  7386. catch
  7387. { }
  7388. //prestartDate,preendDate
  7389. wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
  7390. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  7391. wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
  7392. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  7393. if (wbpreallcount > wballcount)
  7394. {
  7395. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7396. wbtb = "减少" + wbtbint.ToString("f") + "%";
  7397. }
  7398. else
  7399. {
  7400. if (wbpreallcount == wballcount)
  7401. {
  7402. wbtb = "相同";
  7403. }
  7404. else
  7405. {
  7406. if (wbpreallcount > 0)
  7407. {
  7408. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7409. wbtb = "增加" + wbtbint.ToString("f") + "%";
  7410. }
  7411. }
  7412. }
  7413. if (wballcount > 0)
  7414. {
  7415. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7416. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7417. }
  7418. #endregion
  7419. }
  7420. else
  7421. {
  7422. 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>");
  7423. }
  7424. }
  7425. else
  7426. {
  7427. 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>");
  7428. #region 微信
  7429. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  7430. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  7431. if (wxpreallcount > wxallcount)
  7432. {
  7433. if (wxpreallcount > 0)
  7434. {
  7435. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7436. wxtb = "减少" + wxtbint.ToString("f") + "%";
  7437. }
  7438. }
  7439. else
  7440. {
  7441. if (wxpreallcount == wxallcount)
  7442. {
  7443. wxtb = "相同";
  7444. }
  7445. else
  7446. {
  7447. if (wxpreallcount > 0)
  7448. {
  7449. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7450. wxtb = "增加" + wxtbint.ToString("f") + "%";
  7451. }
  7452. }
  7453. }
  7454. if (wxallcount > 0)
  7455. {
  7456. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7457. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7458. }
  7459. #endregion
  7460. #region 微博
  7461. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  7462. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  7463. if (wbpreallcount > wballcount)
  7464. {
  7465. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7466. wbtb = "减少" + wbtbint.ToString("f") + "%";
  7467. }
  7468. else
  7469. {
  7470. if (wbpreallcount == wballcount)
  7471. {
  7472. wbtb = "相同";
  7473. }
  7474. else
  7475. {
  7476. if (wbpreallcount > 0)
  7477. {
  7478. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7479. wbtb = "增加" + wbtbint.ToString("f") + "%";
  7480. }
  7481. }
  7482. }
  7483. if (wballcount > 0)
  7484. {
  7485. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7486. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7487. }
  7488. #endregion
  7489. }
  7490. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  7491. //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  7492. 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>");
  7493. //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
  7494. 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>");
  7495. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  7496. StrContent.Append("</tbody></table>");
  7497. 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>";
  7498. return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
  7499. }
  7500. /// <summary>
  7501. /// 年度
  7502. /// </summary>
  7503. /// <returns></returns>
  7504. [ActionName("ReportWorkOrderInfoYear")]
  7505. [HttpGet]
  7506. public string ReportWorkOrderInfoYear(string dateParty)
  7507. {
  7508. string res = "^divWorkOrderInfoOneWeekPie";
  7509. //数据结果集
  7510. string startDate = "";
  7511. string endDate = "";
  7512. string prestartDate = "";
  7513. string preendDate = "";
  7514. string predateParty = "";
  7515. if (!string.IsNullOrEmpty(dateParty))
  7516. {
  7517. startDate = dateParty.Substring(0, 10);
  7518. endDate = dateParty.Substring(12);
  7519. prestartDate = Convert.ToDateTime(startDate).AddYears(-1).ToString("yyyy-MM-dd");
  7520. preendDate = Convert.ToDateTime(endDate).AddYears(-1).ToString("yyyy-MM-dd");
  7521. }
  7522. else
  7523. {
  7524. endDate = DateTime.Now.ToString("yyyy-MM-dd");
  7525. startDate = DateTime.Now.ToString("yyyy-MM-dd");
  7526. prestartDate = Convert.ToDateTime(startDate).AddYears(-1).ToString("yyyy-MM-dd");
  7527. preendDate = Convert.ToDateTime(endDate).AddYears(-1).ToString("yyyy-MM-dd");
  7528. }
  7529. predateParty = prestartDate + " - " + preendDate;
  7530. StringBuilder StrContent = new StringBuilder();
  7531. 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;\">");
  7532. StrContent.Append("<tbody><tr style=\"height:36.95pt\"><td style=\"width:42.55pt;\">受理平台</td>");
  7533. StrContent.Append("<td style=\"width:120.5pt;\">受理总量(件)</td>");
  7534. StrContent.Append("<td style=\"width:70.85pt;\">同比上年度</td>");
  7535. StrContent.Append("<td style=\"width:77.95pt;\">咨询类数量及占比</td>");
  7536. StrContent.Append("<td style=\"width:3.0cm;\">投诉类数量及占比</td>");
  7537. StrContent.Append("<td style=\"width:99.25pt;\">化解投诉量及占比</td></tr>");
  7538. DataTable nowDataTable = recordBLL.WorkOrderDate(startDate, endDate);
  7539. DataTable preDataTable = recordBLL.WorkOrderDate(prestartDate, preendDate);
  7540. //DataTable nowDataTable = WorkOrderTypeData(DateTime.Now, dateParty);
  7541. //DataTable preDataTable = WorkOrderTypeData(DateTime.Now,predateParty);
  7542. string json = WorkOrderTypeMathChartData(DateTime.Now, dateParty);
  7543. #region 微信
  7544. int wxallcount = 0;
  7545. int wxpreallcount = 0;
  7546. int wxzxcount = 0;
  7547. int wxprezxcount = 0;
  7548. string wxzxzb = "";
  7549. int wxjycount = 0;
  7550. int wxprejycount = 0;
  7551. int wxbycount = 0;
  7552. int wxprebycount = 0;
  7553. int wxgscount = 0;
  7554. int wxpregscount = 0;
  7555. int wxtscount = 0;
  7556. int wxpretscount = 0;
  7557. string wxtszb = "0";
  7558. string wxtb = "0";
  7559. #endregion
  7560. #region 微博
  7561. int wballcount = 0;
  7562. int wbpreallcount = 0;
  7563. int wbzxcount = 0;
  7564. int wbprezxcount = 0;
  7565. string wbzxzb = "";
  7566. int wbjycount = 0;
  7567. int wbprejycount = 0;
  7568. int wbbycount = 0;
  7569. int wbprebycount = 0;
  7570. int wbgscount = 0;
  7571. int wbpregscount = 0;
  7572. int wbtscount = 0;
  7573. int wbpretscount = 0;
  7574. string wbtszb = "0";
  7575. string wbtb = "0";
  7576. #endregion
  7577. if (nowDataTable != null)
  7578. {
  7579. if (nowDataTable.Rows.Count > 0)
  7580. {
  7581. #region 语音
  7582. int allcount = 0;
  7583. int preallcount = 0;
  7584. int zxcount = 0;
  7585. int prezxcount = 0;
  7586. string zxzb = "";
  7587. try
  7588. {
  7589. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  7590. foreach (DataRow row in rows)
  7591. {
  7592. zxcount += int.Parse(row["总数"].ToString());
  7593. }
  7594. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='咨询'");
  7595. foreach (DataRow row in rows1)
  7596. {
  7597. prezxcount += int.Parse(row["总数"].ToString());
  7598. }
  7599. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7600. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7601. }
  7602. catch
  7603. { }
  7604. int jycount = 0;
  7605. int prejycount = 0;
  7606. try
  7607. {
  7608. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  7609. foreach (DataRow row in rows)
  7610. {
  7611. jycount += int.Parse(row["总数"].ToString());
  7612. }
  7613. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='建议'");
  7614. foreach (DataRow row in rows1)
  7615. {
  7616. prejycount += int.Parse(row["总数"].ToString());
  7617. }
  7618. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7619. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7620. }
  7621. catch
  7622. { }
  7623. int bycount = 0;
  7624. int prebycount = 0;
  7625. try
  7626. {
  7627. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  7628. foreach (DataRow row in rows)
  7629. {
  7630. bycount += int.Parse(row["总数"].ToString());
  7631. }
  7632. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='表扬'");
  7633. foreach (DataRow row in rows1)
  7634. {
  7635. prebycount += int.Parse(row["总数"].ToString());
  7636. }
  7637. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7638. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7639. }
  7640. catch
  7641. { }
  7642. int gscount = 0;
  7643. int pregscount = 0;
  7644. try
  7645. {
  7646. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  7647. foreach (DataRow row in rows)
  7648. {
  7649. gscount += int.Parse(row["总数"].ToString());
  7650. }
  7651. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='挂失'");
  7652. foreach (DataRow row in rows1)
  7653. {
  7654. pregscount += int.Parse(row["总数"].ToString());
  7655. }
  7656. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7657. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7658. }
  7659. catch
  7660. { }
  7661. int tscount = 0;
  7662. int pretscount = 0;
  7663. string tszb = "";
  7664. try
  7665. {
  7666. DataRow[] rows = nowDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  7667. foreach (DataRow row in rows)
  7668. {
  7669. tscount += int.Parse(row["总数"].ToString());
  7670. }
  7671. DataRow[] rows1 = preDataTable.Select("工单类型='语音' and F_HOUSING='投诉'");
  7672. foreach (DataRow row in rows1)
  7673. {
  7674. pretscount += int.Parse(row["总数"].ToString());
  7675. }
  7676. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7677. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7678. }
  7679. catch
  7680. { }
  7681. allcount = zxcount + jycount + bycount + gscount + tscount;
  7682. preallcount = prezxcount + prejycount + prebycount + pregscount + pretscount;
  7683. string tb = "";
  7684. if (preallcount > allcount)
  7685. {
  7686. decimal tbint = (Convert.ToDecimal(preallcount) - Convert.ToDecimal(allcount)) * 100 / Convert.ToDecimal(preallcount);
  7687. tb = "减少" + tbint.ToString("f") + "%";
  7688. }
  7689. else
  7690. {
  7691. if (preallcount == allcount)
  7692. {
  7693. tb = "相同";
  7694. }
  7695. else
  7696. {
  7697. if (preallcount > 0)
  7698. {
  7699. decimal tbint = (Convert.ToDecimal(allcount) - Convert.ToDecimal(preallcount)) * 100 / Convert.ToDecimal(preallcount);
  7700. tb = "增加" + tbint.ToString("f") + "%";
  7701. }
  7702. }
  7703. }
  7704. if (allcount > 0)
  7705. {
  7706. zxzb = ((Convert.ToDecimal(zxcount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  7707. tszb = ((Convert.ToDecimal(tscount) * 100 / Convert.ToDecimal(allcount))).ToString("f") + "%";
  7708. }
  7709. 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>");
  7710. #endregion
  7711. #region 微信
  7712. try
  7713. {
  7714. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  7715. foreach (DataRow row in rows)
  7716. {
  7717. wxzxcount += int.Parse(row["总数"].ToString());
  7718. }
  7719. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='咨询'");
  7720. foreach (DataRow row in rows1)
  7721. {
  7722. wxprezxcount += int.Parse(row["总数"].ToString());
  7723. }
  7724. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7725. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7726. }
  7727. catch
  7728. { }
  7729. try
  7730. {
  7731. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  7732. foreach (DataRow row in rows)
  7733. {
  7734. wxjycount += int.Parse(row["总数"].ToString());
  7735. }
  7736. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='建议'");
  7737. foreach (DataRow row in rows1)
  7738. {
  7739. wxprejycount += int.Parse(row["总数"].ToString());
  7740. }
  7741. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7742. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7743. }
  7744. catch
  7745. { }
  7746. try
  7747. {
  7748. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  7749. foreach (DataRow row in rows)
  7750. {
  7751. wxbycount += int.Parse(row["总数"].ToString());
  7752. }
  7753. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='表扬'");
  7754. foreach (DataRow row in rows1)
  7755. {
  7756. wxprebycount += int.Parse(row["总数"].ToString());
  7757. }
  7758. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7759. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7760. }
  7761. catch
  7762. { }
  7763. try
  7764. {
  7765. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  7766. foreach (DataRow row in rows)
  7767. {
  7768. wxgscount += int.Parse(row["总数"].ToString());
  7769. }
  7770. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='挂失'");
  7771. foreach (DataRow row in rows1)
  7772. {
  7773. wxpregscount += int.Parse(row["总数"].ToString());
  7774. }
  7775. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7776. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7777. }
  7778. catch
  7779. { }
  7780. try
  7781. {
  7782. DataRow[] rows = nowDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  7783. foreach (DataRow row in rows)
  7784. {
  7785. wxtscount += int.Parse(row["总数"].ToString());
  7786. }
  7787. DataRow[] rows1 = preDataTable.Select("工单类型='微信' and F_HOUSING='投诉'");
  7788. foreach (DataRow row in rows1)
  7789. {
  7790. wxpretscount += int.Parse(row["总数"].ToString());
  7791. }
  7792. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7793. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7794. }
  7795. catch
  7796. { }
  7797. //prestartDate, preendDate
  7798. wxallcount = wxzxcount + wxjycount + wxbycount + wxgscount + wxtscount;
  7799. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  7800. wxpreallcount = wxprezxcount + wxprejycount + wxprebycount + wxpregscount + wxpretscount;
  7801. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  7802. if (wxpreallcount > wxallcount)
  7803. {
  7804. if (wxpreallcount > 0)
  7805. {
  7806. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7807. wxtb = "减少" + wxtbint.ToString("f") + "%";
  7808. }
  7809. }
  7810. else
  7811. {
  7812. if (wxpreallcount == wxallcount)
  7813. {
  7814. wxtb = "相同";
  7815. }
  7816. else
  7817. {
  7818. if (wxpreallcount > 0)
  7819. {
  7820. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7821. wxtb = "增加" + wxtbint.ToString("f") + "%";
  7822. }
  7823. }
  7824. }
  7825. if (wxallcount > 0)
  7826. {
  7827. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7828. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7829. }
  7830. #endregion
  7831. #region 微博
  7832. try
  7833. {
  7834. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  7835. foreach (DataRow row in rows)
  7836. {
  7837. wbzxcount += int.Parse(row["总数"].ToString());
  7838. }
  7839. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='咨询'");
  7840. foreach (DataRow row in rows1)
  7841. {
  7842. wbprezxcount += int.Parse(row["总数"].ToString());
  7843. }
  7844. //zxcount = Convert.ToInt32(nowDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7845. //prezxcount = Convert.ToInt32(preDataTable.Select("业务类型='咨询'")[0]["工单数量"]);
  7846. }
  7847. catch
  7848. { }
  7849. try
  7850. {
  7851. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  7852. foreach (DataRow row in rows)
  7853. {
  7854. wbjycount += int.Parse(row["总数"].ToString());
  7855. }
  7856. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='建议'");
  7857. foreach (DataRow row in rows1)
  7858. {
  7859. wbprejycount += int.Parse(row["总数"].ToString());
  7860. }
  7861. //jycount = Convert.ToInt32(nowDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7862. //prejycount = Convert.ToInt32(preDataTable.Select("业务类型='建议'")[0]["工单数量"]);
  7863. }
  7864. catch
  7865. { }
  7866. try
  7867. {
  7868. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  7869. foreach (DataRow row in rows)
  7870. {
  7871. wbbycount += int.Parse(row["总数"].ToString());
  7872. }
  7873. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='表扬'");
  7874. foreach (DataRow row in rows1)
  7875. {
  7876. wbprebycount += int.Parse(row["总数"].ToString());
  7877. }
  7878. //bycount = Convert.ToInt32(nowDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7879. //prebycount = Convert.ToInt32(preDataTable.Select("业务类型='表扬'")[0]["工单数量"]);
  7880. }
  7881. catch
  7882. { }
  7883. try
  7884. {
  7885. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  7886. foreach (DataRow row in rows)
  7887. {
  7888. wbgscount += int.Parse(row["总数"].ToString());
  7889. }
  7890. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='挂失'");
  7891. foreach (DataRow row in rows1)
  7892. {
  7893. wbpregscount += int.Parse(row["总数"].ToString());
  7894. }
  7895. //gscount = Convert.ToInt32(nowDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7896. //pregscount = Convert.ToInt32(preDataTable.Select("业务类型='挂失'")[0]["工单数量"]);
  7897. }
  7898. catch
  7899. { }
  7900. try
  7901. {
  7902. DataRow[] rows = nowDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  7903. foreach (DataRow row in rows)
  7904. {
  7905. wbtscount += int.Parse(row["总数"].ToString());
  7906. }
  7907. DataRow[] rows1 = preDataTable.Select("工单类型='微博' and F_HOUSING='投诉'");
  7908. foreach (DataRow row in rows1)
  7909. {
  7910. wbpretscount += int.Parse(row["总数"].ToString());
  7911. }
  7912. //tscount = Convert.ToInt32(nowDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7913. //pretscount = Convert.ToInt32(preDataTable.Select("业务类型='投诉'")[0]["工单数量"]);
  7914. }
  7915. catch
  7916. { }
  7917. //prestartDate,preendDate
  7918. wballcount = wbzxcount + wbjycount + wbbycount + wbgscount + wbtscount;
  7919. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  7920. wbpreallcount = wbprezxcount + wbprejycount + wbprebycount + wbpregscount + wbpretscount;
  7921. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  7922. if (wbpreallcount > wballcount)
  7923. {
  7924. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7925. wbtb = "减少" + wbtbint.ToString("f") + "%";
  7926. }
  7927. else
  7928. {
  7929. if (wbpreallcount == wballcount)
  7930. {
  7931. wbtb = "相同";
  7932. }
  7933. else
  7934. {
  7935. if (wbpreallcount > 0)
  7936. {
  7937. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7938. wbtb = "增加" + wbtbint.ToString("f") + "%";
  7939. }
  7940. }
  7941. }
  7942. if (wballcount > 0)
  7943. {
  7944. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7945. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  7946. }
  7947. #endregion
  7948. }
  7949. else
  7950. {
  7951. 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>");
  7952. }
  7953. }
  7954. else
  7955. {
  7956. 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>");
  7957. #region 微信
  7958. wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  7959. wxpreallcount = wxwbWorkOrderCount("wxcount", prestartDate, preendDate, 0) + wxpreallcount;
  7960. if (wxpreallcount > wxallcount)
  7961. {
  7962. if (wxpreallcount > 0)
  7963. {
  7964. decimal wxtbint = (Convert.ToDecimal(wxpreallcount) - Convert.ToDecimal(wxallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7965. wxtb = "减少" + wxtbint.ToString("f") + "%";
  7966. }
  7967. }
  7968. else
  7969. {
  7970. if (wxpreallcount == wxallcount)
  7971. {
  7972. wxtb = "相同";
  7973. }
  7974. else
  7975. {
  7976. if (wxpreallcount > 0)
  7977. {
  7978. decimal wxtbint = (Convert.ToDecimal(wxallcount) - Convert.ToDecimal(wxpreallcount)) * 100 / Convert.ToDecimal(wxpreallcount);
  7979. wxtb = "增加" + wxtbint.ToString("f") + "%";
  7980. }
  7981. }
  7982. }
  7983. if (wxallcount > 0)
  7984. {
  7985. wxzxzb = ((Convert.ToDecimal(wxzxcount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7986. wxtszb = ((Convert.ToDecimal(wxtscount) * 100 / Convert.ToDecimal(wxallcount))).ToString("f") + "%";
  7987. }
  7988. #endregion
  7989. #region 微博
  7990. wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate, 0) + wballcount;
  7991. wbpreallcount = wxwbWorkOrderCount("wbcount", prestartDate, preendDate, 0) + wbpreallcount;
  7992. if (wbpreallcount > wballcount)
  7993. {
  7994. decimal wbtbint = (Convert.ToDecimal(wbpreallcount) - Convert.ToDecimal(wballcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  7995. wbtb = "减少" + wbtbint.ToString("f") + "%";
  7996. }
  7997. else
  7998. {
  7999. if (wbpreallcount == wballcount)
  8000. {
  8001. wbtb = "相同";
  8002. }
  8003. else
  8004. {
  8005. if (wbpreallcount > 0)
  8006. {
  8007. decimal wbtbint = (Convert.ToDecimal(wballcount) - Convert.ToDecimal(wbpreallcount)) * 100 / Convert.ToDecimal(wbpreallcount);
  8008. wbtb = "增加" + wbtbint.ToString("f") + "%";
  8009. }
  8010. }
  8011. }
  8012. if (wballcount > 0)
  8013. {
  8014. wbzxzb = ((Convert.ToDecimal(wbzxcount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  8015. wbtszb = ((Convert.ToDecimal(wbtscount) * 100 / Convert.ToDecimal(wballcount))).ToString("f") + "%";
  8016. }
  8017. #endregion
  8018. }
  8019. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微信</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  8020. //wxallcount = wxwbWorkOrderCount("wxcount", startDate, endDate, 0) + wxallcount;
  8021. 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>");
  8022. //wballcount = wxwbWorkOrderCount("wbcount", startDate, endDate,0) + wballcount;
  8023. 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>");
  8024. //StrContent.Append("<tr style=\"height:36.95pt\"><td>微博</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>");
  8025. StrContent.Append("</tbody></table>");
  8026. 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>";
  8027. return StrContent.ToString() + "^" + divWorkOrderInfoOneWeekPie + "^divWorkOrderInfoOneWeekPie" + "^" + json;
  8028. }
  8029. #endregion
  8030. #region 获取业务工单数据
  8031. public ActionResult WorkOrderShow()
  8032. {
  8033. WorkOrderMyModel model = new WorkOrderMyModel();
  8034. return View(model);
  8035. }
  8036. /// <summary>
  8037. /// 获取工单信息
  8038. /// </summary>
  8039. /// <param name="page">当前页码</param>
  8040. /// <param name="limit">每页数据量</param>
  8041. /// <param name="sqlWhere">查询条件</param>
  8042. /// <returns></returns>
  8043. [ActionName("WorkOrderDate")]
  8044. [HttpGet]
  8045. public string WorkOrderDate(DateTime? NowDateTime, string dateParty)
  8046. {
  8047. //数据结果集
  8048. ResponseData dataModel = new ResponseData();
  8049. string startDate = "";
  8050. string endDate = "";
  8051. if (!string.IsNullOrEmpty(dateParty))
  8052. {
  8053. startDate = dateParty.Substring(0, 10);
  8054. endDate = dateParty.Substring(12);
  8055. }
  8056. else
  8057. {
  8058. startDate = endDate = DateTime.Now.ToString("yyyy-MM-dd");
  8059. }
  8060. StringBuilder StrContent = new StringBuilder();
  8061. DataTable datas = recordBLL.WorkOrderDate(startDate, endDate);
  8062. //工单类型
  8063. List<Model.T_Wo_WorkOrderType> orderTypeList = GetWorkTypeModelList();
  8064. StrContent.Append("<table class=\"layui-table\" style=\"height:calc(100% -10px);overflow-y:scroll;\" lay-size=\"sm\">");
  8065. StrContent.Append(" <colgroup>");
  8066. StrContent.Append(" <col width=\"100\">");
  8067. StrContent.Append(" <col width=\"100\">");
  8068. StrContent.Append(" <col width=\"100\">");
  8069. StrContent.Append(" <col width=\"100\">");
  8070. StrContent.Append(" <col width=\"100\">");
  8071. StrContent.Append(" <col width=\"100\">");
  8072. StrContent.Append(" <col width=\"100\">");
  8073. StrContent.Append(" <col width=\"100\">");
  8074. StrContent.Append(" <col>");
  8075. StrContent.Append(" </colgroup>");
  8076. StrContent.Append(" <thead>");
  8077. StrContent.Append(" <tr>");
  8078. StrContent.Append(" <th>一级指标</th>");
  8079. StrContent.Append("<th>数量</th>");
  8080. StrContent.Append("<th>二级指标</th>");
  8081. StrContent.Append(" <th>数量</th>");
  8082. StrContent.Append(" <th>三级指标</th>");
  8083. StrContent.Append(" <th>数量</th>");
  8084. StrContent.Append(" <th>四级指标</th>");
  8085. StrContent.Append(" <th>数量</th>");
  8086. StrContent.Append(" </tr> ");
  8087. StrContent.Append(" </thead>");
  8088. StrContent.Append("<tbody>");
  8089. if (datas != null)
  8090. {
  8091. int rootOrder = 0;
  8092. foreach (T_Wo_WorkOrderType model in orderTypeList)
  8093. {
  8094. GetDataRow(StrContent, "语音", datas, model, rootOrder, startDate, endDate, "1");
  8095. rootOrder++;
  8096. }
  8097. rootOrder = 0;
  8098. foreach (T_Wo_WorkOrderType model in orderTypeList)
  8099. {
  8100. GetDataRow(StrContent, "微信", datas, model, rootOrder, startDate, endDate, "3");
  8101. rootOrder++;
  8102. }
  8103. rootOrder = 0;
  8104. foreach (T_Wo_WorkOrderType model in orderTypeList)
  8105. {
  8106. GetDataRow(StrContent, "微博", datas, model, rootOrder, startDate, endDate, "4");
  8107. rootOrder++;
  8108. }
  8109. }
  8110. else
  8111. {
  8112. StrContent.Append(" <tr >");
  8113. StrContent.Append(" <td colspan=\"8\" style=\"text-align:center\">暂无数据!</td>");
  8114. StrContent.Append(" </tr>");
  8115. }
  8116. //int zhj = RxworkCount + WxworkCount;
  8117. int zhj = rxzhj + wxzhj + wbzhj ;
  8118. StrContent.Append(" <tr>");
  8119. StrContent.Append(" <td>业务工单总合计:");
  8120. StrContent.Append(" </td>");
  8121. //StrContent.Append(" <td>" + zhj.ToString() + "</td>");
  8122. 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") + "\",\"" + "业务工单数\",\"\",\"\",\"\",\"\",\"\")'>");
  8123. StrContent.Append(zhj.ToString());
  8124. StrContent.Append("</a></b></td>");
  8125. StrContent.Append("<td>&nbsp;</td>");
  8126. StrContent.Append(" <td>&nbsp;</td>");
  8127. StrContent.Append(" <td>&nbsp;</td>");
  8128. StrContent.Append(" <td>&nbsp;</td>");
  8129. StrContent.Append(" <td>&nbsp;</td>");
  8130. StrContent.Append(" <td>&nbsp;</td>");
  8131. StrContent.Append(" </tr>");
  8132. StrContent.Append(" </tbody>");
  8133. StrContent.Append("</table>");
  8134. return StrContent.ToString();
  8135. }
  8136. /// <summary>
  8137. /// 获取行数据
  8138. /// </summary>
  8139. /// <param name="StrContent">字符串总html</param>
  8140. /// <param name="tittleType">类型</param>
  8141. /// <param name="dataContent">数据内容</param>
  8142. /// <param name="orderTypeName">类型</param>
  8143. public void GetDataRow(StringBuilder StrContent, string tittleType, DataTable dataContent, T_Wo_WorkOrderType orderTypeModel, int rootOrder, string startDate, string endDate,string Qdyw)
  8144. {
  8145. //string Qdyw = "";
  8146. if (rootOrder == 0)
  8147. {
  8148. //总数
  8149. int TotalCount = 0;
  8150. if (dataContent != null)
  8151. {
  8152. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "'");
  8153. foreach (DataRow row in rows)
  8154. {
  8155. TotalCount += int.Parse(row["总数"].ToString());
  8156. }
  8157. if (tittleType == "语音")
  8158. {
  8159. rxzhj = TotalCount;
  8160. }
  8161. if (tittleType == "微信")
  8162. {
  8163. int WxRealTotal = WXWorkOrderCount(3, startDate, endDate);
  8164. TotalCount = WxRealTotal + TotalCount;
  8165. wxzhj = TotalCount;
  8166. }
  8167. if (tittleType == "微博")
  8168. {
  8169. int WxRealTotal = WXWorkOrderCount(4, startDate, endDate);
  8170. TotalCount = WxRealTotal + TotalCount;
  8171. wbzhj = TotalCount;
  8172. }
  8173. }
  8174. StrContent.Append(" <tr>");
  8175. StrContent.Append(" <td>" + tittleType + "业务工单数</td>");
  8176. 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 + ",\"\",\"\")'>");
  8177. StrContent.Append(TotalCount.ToString());
  8178. StrContent.Append("</a></b></td>");
  8179. StrContent.Append(" <td>" + orderTypeModel.F_Name + "</td>");
  8180. 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 + ",\"\",\"\")'>");
  8181. //子集总数
  8182. int ChildTotalCount = 0;
  8183. if (dataContent != null)
  8184. {
  8185. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "'");
  8186. foreach (DataRow row in rows)
  8187. {
  8188. ChildTotalCount += int.Parse(row["总数"].ToString());
  8189. }
  8190. if (tittleType == "微信" && orderTypeModel.F_Name=="咨询")
  8191. {
  8192. int WxRealTotal = WXWorkOrderCount(3, startDate, endDate);
  8193. if (WxRealTotal >= ChildTotalCount)
  8194. {
  8195. ChildTotalCount = WxRealTotal + ChildTotalCount;
  8196. }
  8197. }
  8198. if (tittleType == "微博" && orderTypeModel.F_Name == "咨询")
  8199. {
  8200. int WxRealTotal = WXWorkOrderCount(4, startDate, endDate);
  8201. if (WxRealTotal >= ChildTotalCount)
  8202. {
  8203. ChildTotalCount = WxRealTotal + ChildTotalCount;
  8204. }
  8205. }
  8206. }
  8207. StrContent.Append(ChildTotalCount.ToString());
  8208. StrContent.Append("</a></b></td>");
  8209. //子集
  8210. if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
  8211. {
  8212. StrContent.Append(" <td>" + orderTypeModel.WorkTypeModelList[0].F_Name + "</td>");
  8213. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + orderTypeModel.WorkTypeModelList[0].F_Name + "'");
  8214. if (rows.Length > 0)
  8215. {
  8216. 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 + ",\"\",\"\")'>");
  8217. StrContent.Append(rows[0]["总数"].ToString());
  8218. StrContent.Append("</a></b></td>");
  8219. //StrContent.Append(" <td>" + rows[0]["总数"].ToString() + "</td>");
  8220. }
  8221. else
  8222. {
  8223. 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 + ",\"\",\"\")'>");
  8224. StrContent.Append("0");
  8225. StrContent.Append("</a></b></td>");
  8226. //StrContent.Append(" <td>0</td>");
  8227. }
  8228. StrContent.Append(" <td></td>");
  8229. StrContent.Append(" <td></td>");
  8230. }
  8231. else
  8232. {
  8233. StrContent.Append(" <td></td>");
  8234. StrContent.Append(" <td></td>");
  8235. StrContent.Append(" <td></td>");
  8236. StrContent.Append(" <td></td>");
  8237. }
  8238. StrContent.Append(" </tr>");
  8239. //子集
  8240. if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
  8241. {
  8242. int i = 0;
  8243. foreach (T_Wo_WorkOrderType childNode in orderTypeModel.WorkTypeModelList)
  8244. {
  8245. if (i > 0)
  8246. {
  8247. StrContent.Append(" <tr>");
  8248. StrContent.Append(" <td></td>");
  8249. StrContent.Append(" <td></td>");
  8250. StrContent.Append(" <td></td>");
  8251. StrContent.Append(" <td></td>");
  8252. StrContent.Append(" <td>" + childNode.F_Name + "</td>");
  8253. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + childNode.F_Name + "'");
  8254. if (rows.Length > 0)
  8255. {
  8256. 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 + ",\"\",\"\")'>");
  8257. StrContent.Append(rows[0]["总数"].ToString());
  8258. StrContent.Append("</a></b></td>");
  8259. //StrContent.Append(" <td>" + rows[0]["总数"].ToString() + "</td>");
  8260. }
  8261. else
  8262. {
  8263. 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 + ",\"\",\"\")'>");
  8264. StrContent.Append("0");
  8265. StrContent.Append("</a></b></td>");
  8266. //StrContent.Append(" <td>0</td>");
  8267. }
  8268. StrContent.Append(" <td></td>");
  8269. StrContent.Append(" <td></td>");
  8270. StrContent.Append(" </tr>");
  8271. }
  8272. i++;
  8273. }
  8274. }
  8275. }
  8276. else
  8277. {
  8278. StrContent.Append(" <tr>");
  8279. StrContent.Append(" <td></td>");
  8280. StrContent.Append(" <td></td>");
  8281. StrContent.Append(" <td>" + orderTypeModel.F_Name + "</td>");
  8282. //StrContent.Append(" <td>");
  8283. 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 + ",\"\",\"\")'>");
  8284. //子集总数
  8285. int ChildTotalCount = 0;
  8286. if (dataContent != null)
  8287. {
  8288. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "'");
  8289. foreach (DataRow row in rows)
  8290. {
  8291. ChildTotalCount += int.Parse(row["总数"].ToString());
  8292. }
  8293. }
  8294. StrContent.Append(ChildTotalCount.ToString());
  8295. //StrContent.Append("</td>");
  8296. StrContent.Append("</a></b></td>");
  8297. //子集
  8298. if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
  8299. {
  8300. StrContent.Append(" <td>" + orderTypeModel.WorkTypeModelList[0].F_Name + "</td>");
  8301. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + orderTypeModel.WorkTypeModelList[0].F_Name + "'");
  8302. int nodeCount = 0;
  8303. //StrContent.Append(" <td>");
  8304. 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 + ",\"\",\"\")'>");
  8305. foreach (DataRow nodeRow in rows)
  8306. {
  8307. nodeCount += int.Parse(nodeRow["总数"].ToString());
  8308. }
  8309. StrContent.Append(nodeCount.ToString());
  8310. StrContent.Append("</a></b></td>");
  8311. //StrContent.Append(" </td>");
  8312. StrContent.Append(" <td></td>");
  8313. StrContent.Append(" <td></td>");
  8314. }
  8315. else
  8316. {
  8317. StrContent.Append(" <td></td>");
  8318. StrContent.Append(" <td></td>");
  8319. StrContent.Append(" <td></td>");
  8320. StrContent.Append(" <td></td>");
  8321. }
  8322. StrContent.Append(" </tr>");
  8323. //子集
  8324. if (orderTypeModel.WorkTypeModelList != null && orderTypeModel.WorkTypeModelList.Count > 0)
  8325. {
  8326. int i = 0;
  8327. foreach (T_Wo_WorkOrderType childNode in orderTypeModel.WorkTypeModelList)
  8328. {
  8329. if (i > 0)
  8330. {
  8331. StrContent.Append(" <tr>");
  8332. StrContent.Append(" <td></td>");
  8333. StrContent.Append(" <td></td>");
  8334. StrContent.Append(" <td></td>");
  8335. StrContent.Append(" <td></td>");
  8336. StrContent.Append(" <td>" + childNode.F_Name + "</td>");
  8337. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and F_ADSLACCOUNT='" + childNode.F_Name + "'");
  8338. int nodeCount = 0;
  8339. //StrContent.Append(" <td>");
  8340. 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 + ",\"\",\"\")'>");
  8341. foreach (DataRow nodeRow in rows)
  8342. {
  8343. nodeCount += int.Parse(nodeRow["总数"].ToString());
  8344. }
  8345. StrContent.Append(nodeCount.ToString());
  8346. StrContent.Append("</a></b></td>");
  8347. //StrContent.Append("</td>");
  8348. StrContent.Append(" <td></td>");
  8349. StrContent.Append(" <td></td>");
  8350. StrContent.Append(" </tr>");
  8351. }
  8352. i++;
  8353. }
  8354. }
  8355. if (orderTypeModel.F_Name == "投诉")
  8356. {
  8357. StrContent.Append(" <tr>");
  8358. StrContent.Append(" <td></td>");
  8359. StrContent.Append(" <td></td>");
  8360. StrContent.Append(" <td></td>");
  8361. StrContent.Append(" <td></td>");
  8362. StrContent.Append(" <td>客服处理</td>");
  8363. DataRow[] rows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='客服处理'");
  8364. int nodeCount = 0;
  8365. //StrContent.Append(" <td>");
  8366. 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\",\"\")'>");
  8367. foreach (DataRow nodeRow in rows)
  8368. {
  8369. nodeCount += int.Parse(nodeRow["总数"].ToString());
  8370. }
  8371. StrContent.Append(nodeCount.ToString());
  8372. //StrContent.Append("</td>");
  8373. StrContent.Append("</a></b></td>");
  8374. StrContent.Append(" <td></td>");
  8375. StrContent.Append(" <td></td>");
  8376. StrContent.Append(" </tr>");
  8377. StrContent.Append(" <tr>");
  8378. StrContent.Append(" <td></td>");
  8379. StrContent.Append(" <td></td>");
  8380. StrContent.Append(" <td></td>");
  8381. StrContent.Append(" <td></td>");
  8382. StrContent.Append(" <td>转办</td>");
  8383. DataRow[] transRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办'");
  8384. int transCount = 0;
  8385. //StrContent.Append(" <td>");
  8386. 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\",\"\")'>");
  8387. foreach (DataRow nodeRow in transRows)
  8388. {
  8389. transCount += int.Parse(nodeRow["总数"].ToString());
  8390. }
  8391. StrContent.Append(transCount.ToString());
  8392. //StrContent.Append("</td>");
  8393. StrContent.Append("</a></b></td>");
  8394. StrContent.Append(" <td>回访满意</td>");
  8395. DataRow[] manyiRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='满意'");
  8396. int manyiRowsCount = 0;
  8397. //StrContent.Append(" <td>");
  8398. 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\")'>");
  8399. foreach (DataRow nodeRow in manyiRows)
  8400. {
  8401. manyiRowsCount += int.Parse(nodeRow["总数"].ToString());
  8402. }
  8403. StrContent.Append(manyiRowsCount.ToString());
  8404. //StrContent.Append("</td>");
  8405. StrContent.Append("</a></b></td>");
  8406. StrContent.Append(" </tr>");
  8407. StrContent.Append(" <tr>");
  8408. StrContent.Append(" <td></td>");
  8409. StrContent.Append(" <td></td>");
  8410. StrContent.Append(" <td></td>");
  8411. StrContent.Append(" <td></td>");
  8412. StrContent.Append(" <td></td>");
  8413. StrContent.Append(" <td></td>");
  8414. StrContent.Append(" <td>回访一般</td>");
  8415. DataRow[] yibanRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='一般'");
  8416. int yibanRowsCount = 0;
  8417. //StrContent.Append(" <td>");
  8418. 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\")'>");
  8419. foreach (DataRow nodeRow in yibanRows)
  8420. {
  8421. yibanRowsCount += int.Parse(nodeRow["总数"].ToString());
  8422. }
  8423. StrContent.Append(yibanRowsCount.ToString());
  8424. //StrContent.Append("</td>");
  8425. StrContent.Append("</a></b></td>");
  8426. StrContent.Append(" </tr>");
  8427. StrContent.Append(" <tr>");
  8428. StrContent.Append(" <td></td>");
  8429. StrContent.Append(" <td></td>");
  8430. StrContent.Append(" <td></td>");
  8431. StrContent.Append(" <td></td>");
  8432. StrContent.Append(" <td></td>");
  8433. StrContent.Append(" <td></td>");
  8434. StrContent.Append(" <td>回访不满意</td>");
  8435. DataRow[] bumanyiRows = dataContent.Select("工单类型='" + tittleType + "' and F_HOUSING='" + orderTypeModel.F_Name + "' and 处理方式='转办' and 满意度='不满意'");
  8436. int bumanyiRowsCount = 0;
  8437. //StrContent.Append(" <td>");
  8438. 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\")'>");
  8439. foreach (DataRow nodeRow in bumanyiRows)
  8440. {
  8441. bumanyiRowsCount += int.Parse(nodeRow["总数"].ToString());
  8442. }
  8443. StrContent.Append(bumanyiRowsCount.ToString());
  8444. //StrContent.Append("</td>");
  8445. StrContent.Append("</a></b></td>");
  8446. StrContent.Append(" </tr>");
  8447. }
  8448. }
  8449. }
  8450. /// <summary>
  8451. /// 获取业务类型
  8452. /// </summary>
  8453. public List<Model.T_Wo_WorkOrderType> GetWorkTypeModelList()
  8454. {
  8455. //最终需要返回的菜单
  8456. List<Model.T_Wo_WorkOrderType> newModelList = new List<T_Wo_WorkOrderType>();
  8457. Model.PageData<Model.T_Wo_WorkOrderType> pageModel = new Model.PageData<Model.T_Wo_WorkOrderType>();
  8458. BLL.T_Wo_WorkOrderType bll = new BLL.T_Wo_WorkOrderType();
  8459. //获取业务类型列表
  8460. List<Model.T_Wo_WorkOrderType> WorkTypeModelList = bll.GetModelList("");
  8461. if (WorkTypeModelList != null && WorkTypeModelList.Count > 0)
  8462. {
  8463. //获取默认根节点
  8464. Model.T_Wo_WorkOrderType rootNode = WorkTypeModelList.FirstOrDefault(m => m.F_ParentId == 0);
  8465. //获取一级节点
  8466. List<Model.T_Wo_WorkOrderType> rootModelList = WorkTypeModelList.Where(t => t.F_ParentId == rootNode.F_WorkOrderTypeId).ToList();
  8467. if (rootModelList != null && rootModelList.Count > 0)
  8468. {
  8469. foreach (T_Wo_WorkOrderType WorkOrderTypeModel in rootModelList)
  8470. {
  8471. List<Model.T_Wo_WorkOrderType> nullModelList = new List<T_Wo_WorkOrderType>();
  8472. WorkOrderTypeModel.WorkTypeModelList = nullModelList;
  8473. newModelList.Add(GetWorkTypeModelChild(WorkOrderTypeModel, WorkOrderTypeModel, WorkTypeModelList));
  8474. }
  8475. }
  8476. }
  8477. return newModelList;
  8478. }
  8479. //获取所有子集
  8480. public Model.T_Wo_WorkOrderType GetWorkTypeModelChild(T_Wo_WorkOrderType rootNode, T_Wo_WorkOrderType WorkOrderTypeModel, List<Model.T_Wo_WorkOrderType> WorkTypeModelList)
  8481. {
  8482. //获取子集节点
  8483. List<Model.T_Wo_WorkOrderType> sonModelList = WorkTypeModelList.Where(t => t.F_ParentId == WorkOrderTypeModel.F_WorkOrderTypeId).ToList();
  8484. if (sonModelList != null && sonModelList.Count > 0)
  8485. {
  8486. foreach (T_Wo_WorkOrderType workOrderTypeModel in sonModelList)
  8487. {
  8488. //获取子子集
  8489. List<Model.T_Wo_WorkOrderType> childModelList = WorkTypeModelList.Where(t => t.F_ParentId == workOrderTypeModel.F_WorkOrderTypeId).ToList();
  8490. if (childModelList != null && childModelList.Count > 0)
  8491. {
  8492. GetWorkTypeModelChild(rootNode, workOrderTypeModel, WorkTypeModelList);
  8493. }
  8494. else
  8495. {
  8496. rootNode.WorkTypeModelList.Add(workOrderTypeModel);
  8497. }
  8498. }
  8499. }
  8500. return rootNode;
  8501. }
  8502. #endregion
  8503. #region 获取在线坐席
  8504. /// <summary>
  8505. /// 获取在线坐席
  8506. /// </summary>
  8507. /// <returns></returns>
  8508. [ActionName("GetLoginUserInfo")]
  8509. [HttpGet]
  8510. public string GetLoginUserInfo()
  8511. {
  8512. //数据结果集
  8513. ResponseData dataModel = new ResponseData();
  8514. try
  8515. {
  8516. dataModel.code = 0;
  8517. dataModel.data = recordBLL.GetLoginUserInfo();
  8518. return JsonConvert.SerializeObject(dataModel);
  8519. }
  8520. catch (Exception ex)
  8521. {
  8522. dataModel.code = 200;
  8523. dataModel.msg = ex.Message;
  8524. return JsonConvert.SerializeObject(dataModel);
  8525. }
  8526. }
  8527. #endregion
  8528. #region 获取坐席微信/微博工单数量
  8529. /// <summary>
  8530. /// 获取坐席微信/微博工单数量
  8531. /// </summary>
  8532. /// <param name="StartDate">开始日期</param>
  8533. /// <param name="EndDate">结束日期</param>
  8534. /// <returns></returns>
  8535. public int wxwbWorkOrderCount(string type, string startDate, string endDate, int wxwbtotalCount)
  8536. {
  8537. int totalCount = 0;
  8538. try
  8539. {
  8540. StringBuilder returnStr = new StringBuilder();
  8541. string wxAddUrl = "http://rexian.zzmetro.com/api/external/" + type;
  8542. string paramsStr = "begin=" + startDate + "&end=" + endDate;
  8543. string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
  8544. WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
  8545. if (ResultModel != null)
  8546. {
  8547. if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > wxwbtotalCount)
  8548. {
  8549. totalCount = ResultModel.service - wxwbtotalCount;
  8550. }
  8551. }
  8552. }
  8553. catch (Exception ex)
  8554. {
  8555. }
  8556. return totalCount;
  8557. }
  8558. /// <summary>
  8559. /// 获取坐席微信/微博工单数量
  8560. /// </summary>
  8561. /// <param name="StartDate">开始日期</param>
  8562. /// <param name="EndDate">结束日期</param>
  8563. /// <returns></returns>
  8564. public int WorkOrderCount(int? busType, string startDate, string endDate)
  8565. {
  8566. int totalCount = 0;
  8567. try
  8568. {
  8569. //工单数量busType=1, F_REPAIRMANID<=2是语音;busType=2, F_REPAIRMANID=3微信;busType=3, F_REPAIRMANID==4微博
  8570. totalCount = recordBLL.WorkOrderCount(busType, startDate, endDate);
  8571. StringBuilder returnStr = new StringBuilder();
  8572. string wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
  8573. string paramsStr = "begin=" + startDate + "&end=" + endDate;
  8574. string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
  8575. WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
  8576. if (ResultModel != null)
  8577. {
  8578. if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
  8579. {
  8580. totalCount = ResultModel.service - totalCount;
  8581. }
  8582. }
  8583. }
  8584. catch(Exception ex)
  8585. {
  8586. }
  8587. return totalCount;
  8588. }
  8589. /// <summary>
  8590. /// 获取其他坐席微信/微博工单数量
  8591. /// </summary>
  8592. /// <param name="StartDate">开始日期</param>
  8593. /// <param name="EndDate">结束日期</param>
  8594. /// <returns></returns>
  8595. public int WorkOrderOtherCount(int? busType, string startDate, string endDate)
  8596. {
  8597. int totalCount = 0;
  8598. try
  8599. {
  8600. //工单数量
  8601. int allWXCount = recordBLL.WorkOrderCount(busType, startDate, endDate);
  8602. StringBuilder returnStr = new StringBuilder();
  8603. string wxAddUrl = "http://rexian.zzmetro.com/api/external/wxcount";
  8604. // rexian.zzmetro.com
  8605. string paramsStr = "begin=" + startDate + "&end=" + endDate;
  8606. string addWxResult = HttpHelper.HttpGet(wxAddUrl, paramsStr);
  8607. WXResponseResult ResultModel = JsonConvert.DeserializeObject<WXResponseResult>(addWxResult);
  8608. if (ResultModel != null)
  8609. {
  8610. if (ResultModel.service != null && ResultModel.service > 0 && ResultModel.service > totalCount)
  8611. {
  8612. totalCount = ResultModel.service - allWXCount - allWXCount;
  8613. }
  8614. }
  8615. }
  8616. catch(Exception ex)
  8617. {
  8618. }
  8619. return totalCount;
  8620. }
  8621. #endregion
  8622. #region 其他报表 流失率
  8623. #endregion
  8624. }
  8625. }