地铁二期项目正式开始

T_Wo_WorkOrderBase.cs 186KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610
  1. using System;
  2. using System.Data;
  3. using System.Text;
  4. using System.Data.SqlClient;
  5. using YTSoft.DBUtility;//Please add references
  6. using YTSoft.Common;
  7. namespace YTSoft.BaseCallCenter.DAL
  8. {
  9. /// <summary>
  10. /// 数据访问类:T_Wo_WorkOrderBase
  11. /// </summary>
  12. public partial class T_Wo_WorkOrderBase
  13. {
  14. DAL.T_Sys_UserAccount userBll = new DAL.T_Sys_UserAccount();
  15. DAL.T_Sys_Department depBll = new DAL.T_Sys_Department();
  16. DAL.T_Wo_WorkOrderNotice NoticeBll = new DAL.T_Wo_WorkOrderNotice();
  17. public T_Wo_WorkOrderBase()
  18. { }
  19. #region Method
  20. #region
  21. //public bool UpdateWorkOrderInfoModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  22. //{
  23. // //历史工单id
  24. // int historyId = 0;
  25. // //转办
  26. // if (model.F_WORKORDERTYPEID == 1)
  27. // {
  28. // Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  29. // historyModel.F_INSTANCEID = model.F_WORKORDERID;
  30. // historyModel.F_OPTBTNID = model.F_DEPTID;//部门
  31. // historyModel.F_NEXTOWNERARRID = model.F_DEPTCODE;//部门
  32. // historyModel.F_OPTUSERID = model.F_CREATEBY;//人员
  33. // historyModel.F_UserName = model.F_USERNAME;//人员
  34. // historyModel.F_OPTDATE = DateTime.Now;
  35. // historyModel.F_WORKORDERSTATEID = 0;
  36. // historyModel.F_StateName = "未处理";
  37. // historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  38. // historyId = InsertWorkOrderHistoryModel(historyModel);
  39. // }
  40. // StringBuilder strSql = new StringBuilder();
  41. // strSql.Append("update T_Wo_WorkOrderBase set ");
  42. // strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  43. // strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  44. // strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  45. // strSql.Append("F_WORKORDERFROM=@F_WORKORDERFROM,");
  46. // strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  47. // strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  48. // strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  49. // strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  50. // strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  51. // strSql.Append("F_CONTENT=@F_CONTENT,");
  52. // strSql.Append("F_WORKORDERTYPEID=@F_WORKORDERTYPEID,");
  53. // strSql.Append("F_USERID=@F_USERID,");
  54. // strSql.Append("F_REPAIRMANNAME=@F_REPAIRMANNAME,");
  55. // strSql.Append("F_CREATEDATE=@F_CREATEDATE,");
  56. // strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  57. // strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST,");
  58. // strSql.Append("F_INSTALLADDRESS=@F_INSTALLADDRESS,");
  59. // strSql.Append("F_DEPTID=@F_DEPTID,");
  60. // strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  61. // strSql.Append("F_CREATEBY=@F_CREATEBY,");
  62. // strSql.Append("F_USERNAME=@F_USERNAME,");
  63. // strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  64. // strSql.Append("F_RETURNVISITCONTENT=@F_RETURNVISITCONTENT,");
  65. // strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  66. // strSql.Append("F_RETURNVISITTIME =@F_RETURNVISITTIME,");
  67. // strSql.Append("F_LINKMAN =@F_LINKMAN,");
  68. // strSql.Append("F_REPAIRMANID =@F_REPAIRMANID,");
  69. // strSql.Append("F_FORMID =@F_FORMID");
  70. // strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  71. // SqlParameter[] parameters = {
  72. // new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  73. // new SqlParameter("@F_CUSTOMERNAME", SqlDbType.NVarChar,200),
  74. // new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.NVarChar,200),
  75. // new SqlParameter("@F_WORKORDERFROM", SqlDbType.NVarChar,200),
  76. // new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,2000),
  77. // new SqlParameter("@F_REPAIRLEVEL",SqlDbType.Int,4),
  78. // new SqlParameter("@F_ADSLACCOUNT", SqlDbType.NVarChar,200),
  79. // new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  80. // new SqlParameter("@F_WORKORDERNAME", SqlDbType.NVarChar,200),
  81. // new SqlParameter("@F_CONTENT", SqlDbType.Text),
  82. // new SqlParameter("@F_WORKORDERTYPEID",SqlDbType.Int,4),
  83. // new SqlParameter("@F_USERID", SqlDbType.Int,4),
  84. // new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,200),
  85. // new SqlParameter("@F_CREATEDATE", SqlDbType.DateTime),
  86. // new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  87. // new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,200),
  88. // new SqlParameter("@F_INSTALLADDRESS", SqlDbType.NVarChar,200),
  89. // new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  90. // new SqlParameter("@F_DEPTCODE", SqlDbType.NVarChar,200),
  91. // new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  92. // new SqlParameter("@F_USERNAME", SqlDbType.NVarChar,200),
  93. // new SqlParameter("@F_REQUESTSERVICETIME",SqlDbType.DateTime),
  94. // new SqlParameter("@F_RETURNVISITCONTENT", SqlDbType.VarChar,800),
  95. // new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  96. // new SqlParameter("@F_RETURNVISITTIME ", SqlDbType.DateTime),
  97. // new SqlParameter("@F_LINKMAN", SqlDbType.NVarChar,200),
  98. // new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  99. // new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  100. // new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  101. // parameters[0].Value = model.F_CUSTOMERID;
  102. // parameters[1].Value = model.F_CUSTOMERNAME;
  103. // parameters[2].Value = model.F_CUSTOMERTELEPHONE;
  104. // parameters[3].Value = model.F_WORKORDERFROM;
  105. // parameters[4].Value = model.F_RETURNVISITPROBLEM;
  106. // parameters[5].Value = model.F_REPAIRLEVEL;
  107. // parameters[6].Value = model.F_ADSLACCOUNT;
  108. // parameters[7].Value = model.F_WORKORDERLEVELID;
  109. // parameters[8].Value = model.F_WORKORDERNAME;
  110. // parameters[9].Value = model.F_CONTENT;
  111. // parameters[10].Value = model.F_WORKORDERTYPEID;
  112. // parameters[11].Value = model.F_USERID;
  113. // parameters[12].Value = model.F_REPAIRMANNAME;
  114. // parameters[13].Value = DateTime.Now;
  115. // parameters[14].Value = model.F_WORKORDERSTATEID;
  116. // parameters[15].Value = model.F_REPAIRREQUEST;
  117. // parameters[16].Value = model.F_INSTALLADDRESS;
  118. // parameters[17].Value = model.F_DEPTID;
  119. // parameters[18].Value = model.F_DEPTCODE;
  120. // parameters[19].Value = model.F_CREATEBY;
  121. // parameters[20].Value = model.F_USERNAME;
  122. // parameters[21].Value = model.F_REQUESTSERVICETIME;
  123. // parameters[22].Value = model.F_RETURNVISITCONTENT;
  124. // parameters[23].Value = model.F_RETURNVISITFLAG;
  125. // parameters[24].Value = model.F_RETURNVISITTIME;
  126. // parameters[25].Value = model.F_LINKMAN;
  127. // parameters[26].Value = model.F_REPAIRMANID;
  128. // parameters[27].Value = historyId;
  129. // parameters[28].Value = model.F_WORKORDERID;
  130. // int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  131. // if (rows > 0)
  132. // {
  133. // return true;
  134. // }
  135. // else
  136. // {
  137. // return false;
  138. // }
  139. //}
  140. #endregion
  141. /// <summary>
  142. /// 增加一条数据
  143. /// </summary>
  144. public int Add(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  145. {
  146. StringBuilder strSql = new StringBuilder();
  147. strSql.Append("insert into T_Wo_WorkOrderBase(");
  148. strSql.Append(@"F_WORKORDERTYPEID,F_WORKORDERSTATEID,F_CODE,F_WORKORDERNAME,F_NUMBER,
  149. F_CUSTOMERNAME,F_CUSTOMERTELEPHONE,F_LINKMAN,F_LINKMANTELEPHONE,F_ADSLACCOUNT,F_BANDWIDTH,F_STANDARDADDRESS,
  150. F_INSTALLADDRESS,F_KSHADDRESSCODE,F_PROVINCE,F_CITY,F_AREA,F_ROAD,F_HOUSING,F_WORKORDERFROM,F_WORKORDERLEVELID,
  151. F_FILEFLAG,F_CONTENT,F_CREATEBY,F_CREATEDATE,F_DEPTCODE,F_EMPCODE,F_DEPTID,F_USERID,F_USERNAME,F_RETURNVISITFLAG,
  152. F_RETURNVISITSTATE,F_RETURNVISITRESULT,F_RETURNVISITCONTENT,F_DELETEFLAG,F_ALLUSETIMES,F_STARTTIME,F_ENDTIME,F_REMAINDERTIME,
  153. F_REMAINDERENDTIME,F_SUBSCRIBETIME1,F_SUBSCRIBETIME2,F_ACCEPTTIMELIMIT,F_ASKFINISHTIME,F_OVERTIMES,F_FORMID,F_HASTENCOUNTS,F_RANGEID,
  154. F_RANGEX,F_RANGEY,F_INSTANCEID,F_CUSTOMERID,F_REPAIRMANID,F_REPAIRMANNAME,F_REPAIRMANPHONE,F_REPAIRREQUEST,F_REPAIRCLOSEMANID,
  155. F_REPAIRCLOSEMANNAME,F_REPAIRCLOSEREASONS,F_REPAIRCLOSEREPTID,F_REPAIRCLOSEREPT,F_REPAIRLEVEL,F_REPAIRLEVELNAME,F_SENTORDERTIME,
  156. F_USERPHONE,F_RETURNVISITTIME,F_REQUESTSERVICETIME,F_SERVICETYPE,F_DECLARATIONTIME,F_SERVICENATURE,F_SERVICEWAY,F_RETURNVISITMAN,
  157. F_RETURNVISITID,F_RETURNVISITOPINION,F_RETURNVISITPROBLEM,F_CallId,F_CREATEBYids)");
  158. strSql.Append(" values (");
  159. strSql.Append(@"@F_WORKORDERTYPEID,@F_WORKORDERSTATEID,@F_CODE,@F_WORKORDERNAME,@F_NUMBER,@F_CUSTOMERNAME,
  160. @F_CUSTOMERTELEPHONE,@F_LINKMAN,@F_LINKMANTELEPHONE,@F_ADSLACCOUNT,@F_BANDWIDTH,@F_STANDARDADDRESS,@F_INSTALLADDRESS,
  161. @F_KSHADDRESSCODE,@F_PROVINCE,@F_CITY,@F_AREA,@F_ROAD,@F_HOUSING,@F_WORKORDERFROM,@F_WORKORDERLEVELID,@F_FILEFLAG,@F_CONTENT,
  162. @F_CREATEBY,@F_CREATEDATE,@F_DEPTCODE,@F_EMPCODE,@F_DEPTID,@F_USERID,@F_USERNAME,@F_RETURNVISITFLAG,@F_RETURNVISITSTATE,
  163. @F_RETURNVISITRESULT,@F_RETURNVISITCONTENT,@F_DELETEFLAG,@F_ALLUSETIMES,@F_STARTTIME,@F_ENDTIME,@F_REMAINDERTIME,@F_REMAINDERENDTIME,
  164. @F_SUBSCRIBETIME1,@F_SUBSCRIBETIME2,@F_ACCEPTTIMELIMIT,@F_ASKFINISHTIME,@F_OVERTIMES,@F_FORMID,@F_HASTENCOUNTS,@F_RANGEID,@F_RANGEX,
  165. @F_RANGEY,@F_INSTANCEID,@F_CUSTOMERID,@F_REPAIRMANID,@F_REPAIRMANNAME,@F_REPAIRMANPHONE,@F_REPAIRREQUEST,@F_REPAIRCLOSEMANID,
  166. @F_REPAIRCLOSEMANNAME,@F_REPAIRCLOSEREASONS,@F_REPAIRCLOSEREPTID,@F_REPAIRCLOSEREPT,@F_REPAIRLEVEL,@F_REPAIRLEVELNAME,@F_SENTORDERTIME,
  167. @F_USERPHONE,@F_RETURNVISITTIME,@F_REQUESTSERVICETIME,@F_SERVICETYPE,@F_DECLARATIONTIME,@F_SERVICENATURE,@F_SERVICEWAY,@F_RETURNVISITMAN,
  168. @F_RETURNVISITID,@F_RETURNVISITOPINION,@F_RETURNVISITPROBLEM,@F_CallId,@F_CREATEBYids)");
  169. strSql.Append(";select @@IDENTITY");
  170. SqlParameter[] parameters = {
  171. new SqlParameter("@F_WORKORDERTYPEID", SqlDbType.Int,4),
  172. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  173. new SqlParameter("@F_CODE", SqlDbType.VarChar,50),
  174. new SqlParameter("@F_WORKORDERNAME", SqlDbType.VarChar,100),
  175. new SqlParameter("@F_NUMBER", SqlDbType.VarChar,50),
  176. new SqlParameter("@F_CUSTOMERNAME", SqlDbType.VarChar,50),
  177. new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.VarChar,50),
  178. new SqlParameter("@F_LINKMAN", SqlDbType.VarChar,50),
  179. new SqlParameter("@F_LINKMANTELEPHONE", SqlDbType.VarChar,50),
  180. new SqlParameter("@F_ADSLACCOUNT", SqlDbType.VarChar,50),
  181. new SqlParameter("@F_BANDWIDTH", SqlDbType.VarChar,50),
  182. new SqlParameter("@F_STANDARDADDRESS", SqlDbType.VarChar,200),
  183. new SqlParameter("@F_INSTALLADDRESS", SqlDbType.VarChar,200),
  184. new SqlParameter("@F_KSHADDRESSCODE", SqlDbType.VarChar,50),
  185. new SqlParameter("@F_PROVINCE", SqlDbType.VarChar,50),
  186. new SqlParameter("@F_CITY", SqlDbType.VarChar,50),
  187. new SqlParameter("@F_AREA", SqlDbType.VarChar,50),
  188. new SqlParameter("@F_ROAD", SqlDbType.VarChar,50),
  189. new SqlParameter("@F_HOUSING", SqlDbType.VarChar,50),
  190. new SqlParameter("@F_WORKORDERFROM", SqlDbType.VarChar,500),
  191. new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  192. new SqlParameter("@F_FILEFLAG", SqlDbType.Int,4),
  193. new SqlParameter("@F_CONTENT", SqlDbType.Text),
  194. new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  195. new SqlParameter("@F_CREATEDATE", SqlDbType.DateTime),
  196. new SqlParameter("@F_DEPTCODE", SqlDbType.VarChar,50),
  197. new SqlParameter("@F_EMPCODE", SqlDbType.VarChar,50),
  198. new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  199. new SqlParameter("@F_USERID", SqlDbType.Int,4),
  200. new SqlParameter("@F_USERNAME", SqlDbType.VarChar,20),
  201. new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  202. new SqlParameter("@F_RETURNVISITSTATE", SqlDbType.Int,4),
  203. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  204. new SqlParameter("@F_RETURNVISITCONTENT", SqlDbType.VarChar,800),
  205. new SqlParameter("@F_DELETEFLAG", SqlDbType.Int,4),
  206. new SqlParameter("@F_ALLUSETIMES", SqlDbType.Int,4),
  207. new SqlParameter("@F_STARTTIME", SqlDbType.DateTime),
  208. new SqlParameter("@F_ENDTIME", SqlDbType.DateTime),
  209. new SqlParameter("@F_REMAINDERTIME", SqlDbType.DateTime),
  210. new SqlParameter("@F_REMAINDERENDTIME", SqlDbType.DateTime),
  211. new SqlParameter("@F_SUBSCRIBETIME1", SqlDbType.DateTime),
  212. new SqlParameter("@F_SUBSCRIBETIME2", SqlDbType.DateTime),
  213. new SqlParameter("@F_ACCEPTTIMELIMIT", SqlDbType.DateTime),
  214. new SqlParameter("@F_ASKFINISHTIME", SqlDbType.DateTime),
  215. new SqlParameter("@F_OVERTIMES", SqlDbType.Int,4),
  216. new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  217. new SqlParameter("@F_HASTENCOUNTS", SqlDbType.Int,4),
  218. new SqlParameter("@F_RANGEID", SqlDbType.Decimal,9),
  219. new SqlParameter("@F_RANGEX", SqlDbType.Decimal,9),
  220. new SqlParameter("@F_RANGEY", SqlDbType.Decimal,9),
  221. new SqlParameter("@F_INSTANCEID", SqlDbType.Int,4),
  222. new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  223. new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  224. new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,20),
  225. new SqlParameter("@F_REPAIRMANPHONE", SqlDbType.NVarChar,20),
  226. new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,2000),
  227. new SqlParameter("@F_REPAIRCLOSEMANID", SqlDbType.Int,4),
  228. new SqlParameter("@F_REPAIRCLOSEMANNAME", SqlDbType.NVarChar,20),
  229. new SqlParameter("@F_REPAIRCLOSEREASONS", SqlDbType.NVarChar,4000),
  230. new SqlParameter("@F_REPAIRCLOSEREPTID", SqlDbType.Int,4),
  231. new SqlParameter("@F_REPAIRCLOSEREPT", SqlDbType.NVarChar,50),
  232. new SqlParameter("@F_REPAIRLEVEL", SqlDbType.Int,4),
  233. new SqlParameter("@F_REPAIRLEVELNAME", SqlDbType.NVarChar,20),
  234. new SqlParameter("@F_SENTORDERTIME", SqlDbType.DateTime),
  235. new SqlParameter("@F_USERPHONE", SqlDbType.VarChar,20),
  236. new SqlParameter("@F_RETURNVISITTIME", SqlDbType.DateTime),
  237. new SqlParameter("@F_REQUESTSERVICETIME", SqlDbType.DateTime),
  238. new SqlParameter("@F_SERVICETYPE", SqlDbType.NVarChar,1000),
  239. new SqlParameter("@F_DECLARATIONTIME", SqlDbType.Decimal,9),
  240. new SqlParameter("@F_SERVICENATURE", SqlDbType.NVarChar,200),
  241. new SqlParameter("@F_SERVICEWAY", SqlDbType.NVarChar,20),
  242. new SqlParameter("@F_RETURNVISITMAN", SqlDbType.NVarChar,20),
  243. new SqlParameter("@F_RETURNVISITID", SqlDbType.Int,4),
  244. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NChar,10),
  245. new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,2000),
  246. new SqlParameter("@F_CallId", SqlDbType.Int,4),
  247. new SqlParameter("@F_CREATEBYids", SqlDbType.NVarChar,100)
  248. };
  249. parameters[0].Value = model.F_WORKORDERTYPEID;
  250. parameters[1].Value = model.F_WORKORDERSTATEID;
  251. parameters[2].Value = model.F_CODE;
  252. parameters[3].Value = model.F_WORKORDERNAME;
  253. parameters[4].Value = model.F_NUMBER;
  254. parameters[5].Value = model.F_CUSTOMERNAME;
  255. parameters[6].Value = model.F_CUSTOMERTELEPHONE;
  256. parameters[7].Value = model.F_LINKMAN;
  257. parameters[8].Value = model.F_LINKMANTELEPHONE;
  258. parameters[9].Value = model.F_ADSLACCOUNT;
  259. parameters[10].Value = model.F_BANDWIDTH;
  260. parameters[11].Value = model.F_STANDARDADDRESS;
  261. parameters[12].Value = model.F_INSTALLADDRESS;
  262. parameters[13].Value = model.F_KSHADDRESSCODE;
  263. parameters[14].Value = model.F_PROVINCE;
  264. parameters[15].Value = model.F_CITY;
  265. parameters[16].Value = model.F_AREA;
  266. parameters[17].Value = model.F_ROAD;
  267. parameters[18].Value = model.F_HOUSING;
  268. parameters[19].Value = model.F_WORKORDERFROM;
  269. parameters[20].Value = model.F_WORKORDERLEVELID;
  270. parameters[21].Value = model.F_FILEFLAG;
  271. parameters[22].Value = model.F_CONTENT;
  272. parameters[23].Value = model.F_CREATEBY;
  273. parameters[24].Value = model.F_CREATEDATE;
  274. parameters[25].Value = model.F_DEPTCODE;
  275. parameters[26].Value = model.F_EMPCODE;
  276. parameters[27].Value = model.F_DEPTID;
  277. parameters[28].Value = model.F_USERID;
  278. parameters[29].Value = model.F_USERNAME;
  279. parameters[30].Value = model.F_RETURNVISITFLAG;
  280. parameters[31].Value = model.F_RETURNVISITSTATE;
  281. parameters[32].Value = model.F_RETURNVISITRESULT;
  282. parameters[33].Value = model.F_RETURNVISITCONTENT;
  283. parameters[34].Value = model.F_DELETEFLAG;
  284. parameters[35].Value = model.F_ALLUSETIMES;
  285. parameters[36].Value = model.F_STARTTIME;
  286. parameters[37].Value = model.F_ENDTIME;
  287. parameters[38].Value = model.F_REMAINDERTIME;
  288. parameters[39].Value = model.F_REMAINDERENDTIME;
  289. parameters[40].Value = model.F_SUBSCRIBETIME1;
  290. parameters[41].Value = model.F_SUBSCRIBETIME2;
  291. parameters[42].Value = model.F_ACCEPTTIMELIMIT;
  292. parameters[43].Value = model.F_ASKFINISHTIME;
  293. parameters[44].Value = model.F_OVERTIMES;
  294. parameters[45].Value = model.F_FORMID;
  295. parameters[46].Value = model.F_HASTENCOUNTS;
  296. parameters[47].Value = model.F_RANGEID;
  297. parameters[48].Value = model.F_RANGEX;
  298. parameters[49].Value = model.F_RANGEY;
  299. parameters[50].Value = model.F_INSTANCEID;
  300. parameters[51].Value = model.F_CUSTOMERID;
  301. parameters[52].Value = model.F_REPAIRMANID;
  302. parameters[53].Value = model.F_REPAIRMANNAME;
  303. parameters[54].Value = model.F_REPAIRMANPHONE;
  304. parameters[55].Value = model.F_REPAIRREQUEST;
  305. parameters[56].Value = model.F_REPAIRCLOSEMANID;
  306. parameters[57].Value = model.F_REPAIRCLOSEMANNAME;
  307. parameters[58].Value = model.F_REPAIRCLOSEREASONS;
  308. parameters[59].Value = model.F_REPAIRCLOSEREPTID;
  309. parameters[60].Value = model.F_REPAIRCLOSEREPT;
  310. parameters[61].Value = model.F_REPAIRLEVEL;
  311. parameters[62].Value = model.F_REPAIRLEVELNAME;
  312. parameters[63].Value = model.F_SENTORDERTIME;
  313. parameters[64].Value = model.F_USERPHONE;
  314. parameters[65].Value = model.F_RETURNVISITTIME;
  315. parameters[66].Value = model.F_REQUESTSERVICETIME;
  316. parameters[67].Value = model.F_SERVICETYPE;
  317. parameters[68].Value = model.F_DECLARATIONTIME;
  318. parameters[69].Value = model.F_SERVICENATURE;
  319. parameters[70].Value = model.F_SERVICEWAY;
  320. parameters[71].Value = model.F_RETURNVISITMAN;
  321. parameters[72].Value = model.F_RETURNVISITID;
  322. parameters[73].Value = model.F_RETURNVISITOPINION;
  323. parameters[74].Value = model.F_RETURNVISITPROBLEM;
  324. parameters[75].Value = model.F_CallId;
  325. parameters[76].Value = model.F_CREATEBYids;
  326. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  327. if (obj == null)
  328. {
  329. return 0;
  330. }
  331. else
  332. {
  333. return Convert.ToInt32(obj);
  334. }
  335. }
  336. /// <summary>
  337. /// 增加一条手工微博工单数据
  338. /// </summary>
  339. public int AddWbgd(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  340. {
  341. StringBuilder strSql = new StringBuilder();
  342. strSql.Append("insert into T_Wo_WorkOrderBase(");
  343. strSql.Append(@"F_WORKORDERTYPEID,F_WORKORDERSTATEID,F_CODE,F_WORKORDERNAME,F_NUMBER,F_CUSTOMERNAME,F_CUSTOMERTELEPHONE,
  344. F_LINKMAN,F_LINKMANTELEPHONE,F_ADSLACCOUNT,F_BANDWIDTH,F_STANDARDADDRESS,F_INSTALLADDRESS,F_KSHADDRESSCODE,F_PROVINCE,F_CITY,F_AREA,
  345. F_ROAD,F_HOUSING,F_WORKORDERFROM,F_WORKORDERLEVELID,F_FILEFLAG,F_CONTENT,F_CREATEBY,F_CREATEDATE,F_DEPTCODE,F_EMPCODE,F_DEPTID,F_USERID
  346. ,F_USERNAME,F_RETURNVISITFLAG,F_RETURNVISITSTATE,F_RETURNVISITRESULT,F_RETURNVISITCONTENT,F_DELETEFLAG,F_ALLUSETIMES,F_STARTTIME,F_ENDTIME,
  347. F_REMAINDERTIME,F_REMAINDERENDTIME,F_SUBSCRIBETIME1,F_SUBSCRIBETIME2,F_ACCEPTTIMELIMIT,F_ASKFINISHTIME,F_OVERTIMES,F_FORMID,F_HASTENCOUNTS,
  348. F_RANGEID,F_RANGEX,F_RANGEY,F_INSTANCEID,F_CUSTOMERID,F_REPAIRMANID,F_REPAIRMANNAME,F_REPAIRMANPHONE,F_REPAIRREQUEST,F_REPAIRCLOSEMANID,
  349. F_REPAIRCLOSEMANNAME,F_REPAIRCLOSEREASONS,F_REPAIRCLOSEREPTID,F_REPAIRCLOSEREPT,F_REPAIRLEVEL,F_REPAIRLEVELNAME,F_SENTORDERTIME,F_USERPHONE,
  350. F_RETURNVISITTIME,F_REQUESTSERVICETIME,F_SERVICETYPE,F_DECLARATIONTIME,F_SERVICENATURE,F_SERVICEWAY,F_RETURNVISITMAN,F_RETURNVISITID,
  351. F_RETURNVISITOPINION,F_RETURNVISITPROBLEM,F_CallId,F_CREATEBYids)");
  352. strSql.Append(" values (");
  353. strSql.Append(@"@F_WORKORDERTYPEID,@F_WORKORDERSTATEID,@F_CODE,@F_WORKORDERNAME,@F_NUMBER,@F_CUSTOMERNAME,@F_CUSTOMERTELEPHONE,
  354. @F_LINKMAN,@F_LINKMANTELEPHONE,@F_ADSLACCOUNT,@F_BANDWIDTH,@F_STANDARDADDRESS,@F_INSTALLADDRESS,@F_KSHADDRESSCODE,@F_PROVINCE,@F_CITY,@F_AREA,
  355. @F_ROAD,@F_HOUSING,@F_WORKORDERFROM,@F_WORKORDERLEVELID,@F_FILEFLAG,@F_CONTENT,@F_CREATEBY,@F_CREATEDATE,@F_DEPTCODE,@F_EMPCODE,@F_DEPTID,@F_USERID,
  356. @F_USERNAME,@F_RETURNVISITFLAG,@F_RETURNVISITSTATE,@F_RETURNVISITRESULT,@F_RETURNVISITCONTENT,@F_DELETEFLAG,@F_ALLUSETIMES,@F_STARTTIME,@F_ENDTIME,
  357. @F_REMAINDERTIME,@F_REMAINDERENDTIME,@F_SUBSCRIBETIME1,@F_SUBSCRIBETIME2,@F_ACCEPTTIMELIMIT,@F_ASKFINISHTIME,@F_OVERTIMES,@F_FORMID,@F_HASTENCOUNTS,
  358. @F_RANGEID,@F_RANGEX,@F_RANGEY,@F_INSTANCEID,@F_CUSTOMERID,@F_REPAIRMANID,@F_REPAIRMANNAME,@F_REPAIRMANPHONE,@F_REPAIRREQUEST,@F_REPAIRCLOSEMANID,
  359. @F_REPAIRCLOSEMANNAME,@F_REPAIRCLOSEREASONS,@F_REPAIRCLOSEREPTID,@F_REPAIRCLOSEREPT,@F_REPAIRLEVEL,@F_REPAIRLEVELNAME,@F_SENTORDERTIME,@F_USERPHONE,
  360. @F_RETURNVISITTIME,@F_REQUESTSERVICETIME,@F_SERVICETYPE,@F_DECLARATIONTIME,@F_SERVICENATURE,@F_SERVICEWAY,@F_RETURNVISITMAN,@F_RETURNVISITID,
  361. @F_RETURNVISITOPINION,@F_RETURNVISITPROBLEM,@F_CallId,@F_CREATEBYids)");
  362. strSql.Append(";select @@IDENTITY");
  363. SqlParameter[] parameters = {
  364. new SqlParameter("@F_WORKORDERTYPEID", SqlDbType.Int,4),
  365. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  366. new SqlParameter("@F_CODE", SqlDbType.VarChar,50),
  367. new SqlParameter("@F_WORKORDERNAME", SqlDbType.VarChar,100),
  368. new SqlParameter("@F_NUMBER", SqlDbType.VarChar,50),
  369. new SqlParameter("@F_CUSTOMERNAME", SqlDbType.VarChar,50),
  370. new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.VarChar,50),
  371. new SqlParameter("@F_LINKMAN", SqlDbType.VarChar,50),
  372. new SqlParameter("@F_LINKMANTELEPHONE", SqlDbType.VarChar,50),
  373. new SqlParameter("@F_ADSLACCOUNT", SqlDbType.VarChar,50),
  374. new SqlParameter("@F_BANDWIDTH", SqlDbType.VarChar,50),
  375. new SqlParameter("@F_STANDARDADDRESS", SqlDbType.VarChar,200),
  376. new SqlParameter("@F_INSTALLADDRESS", SqlDbType.VarChar,200),
  377. new SqlParameter("@F_KSHADDRESSCODE", SqlDbType.VarChar,50),
  378. new SqlParameter("@F_PROVINCE", SqlDbType.VarChar,50),
  379. new SqlParameter("@F_CITY", SqlDbType.VarChar,50),
  380. new SqlParameter("@F_AREA", SqlDbType.VarChar,50),
  381. new SqlParameter("@F_ROAD", SqlDbType.VarChar,50),
  382. new SqlParameter("@F_HOUSING", SqlDbType.VarChar,50),
  383. new SqlParameter("@F_WORKORDERFROM", SqlDbType.VarChar,500),
  384. new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  385. new SqlParameter("@F_FILEFLAG", SqlDbType.Int,4),
  386. new SqlParameter("@F_CONTENT", SqlDbType.Text),
  387. new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  388. new SqlParameter("@F_CREATEDATE", SqlDbType.DateTime),
  389. new SqlParameter("@F_DEPTCODE", SqlDbType.VarChar,50),
  390. new SqlParameter("@F_EMPCODE", SqlDbType.VarChar,50),
  391. new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  392. new SqlParameter("@F_USERID", SqlDbType.Int,4),
  393. new SqlParameter("@F_USERNAME", SqlDbType.VarChar,20),
  394. new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  395. new SqlParameter("@F_RETURNVISITSTATE", SqlDbType.Int,4),
  396. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  397. new SqlParameter("@F_RETURNVISITCONTENT", SqlDbType.VarChar,800),
  398. new SqlParameter("@F_DELETEFLAG", SqlDbType.Int,4),
  399. new SqlParameter("@F_ALLUSETIMES", SqlDbType.Int,4),
  400. new SqlParameter("@F_STARTTIME", SqlDbType.DateTime),
  401. new SqlParameter("@F_ENDTIME", SqlDbType.DateTime),
  402. new SqlParameter("@F_REMAINDERTIME", SqlDbType.DateTime),
  403. new SqlParameter("@F_REMAINDERENDTIME", SqlDbType.DateTime),
  404. new SqlParameter("@F_SUBSCRIBETIME1", SqlDbType.DateTime),
  405. new SqlParameter("@F_SUBSCRIBETIME2", SqlDbType.DateTime),
  406. new SqlParameter("@F_ACCEPTTIMELIMIT", SqlDbType.DateTime),
  407. new SqlParameter("@F_ASKFINISHTIME", SqlDbType.DateTime),
  408. new SqlParameter("@F_OVERTIMES", SqlDbType.Int,4),
  409. new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  410. new SqlParameter("@F_HASTENCOUNTS", SqlDbType.Int,4),
  411. new SqlParameter("@F_RANGEID", SqlDbType.Decimal,9),
  412. new SqlParameter("@F_RANGEX", SqlDbType.Decimal,9),
  413. new SqlParameter("@F_RANGEY", SqlDbType.Decimal,9),
  414. new SqlParameter("@F_INSTANCEID", SqlDbType.Int,4),
  415. new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  416. new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  417. new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,20),
  418. new SqlParameter("@F_REPAIRMANPHONE", SqlDbType.NVarChar,20),
  419. new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,2000),
  420. new SqlParameter("@F_REPAIRCLOSEMANID", SqlDbType.Int,4),
  421. new SqlParameter("@F_REPAIRCLOSEMANNAME", SqlDbType.NVarChar,20),
  422. new SqlParameter("@F_REPAIRCLOSEREASONS", SqlDbType.NVarChar,4000),
  423. new SqlParameter("@F_REPAIRCLOSEREPTID", SqlDbType.Int,4),
  424. new SqlParameter("@F_REPAIRCLOSEREPT", SqlDbType.NVarChar,50),
  425. new SqlParameter("@F_REPAIRLEVEL", SqlDbType.Int,4),
  426. new SqlParameter("@F_REPAIRLEVELNAME", SqlDbType.NVarChar,20),
  427. new SqlParameter("@F_SENTORDERTIME", SqlDbType.DateTime),
  428. new SqlParameter("@F_USERPHONE", SqlDbType.VarChar,20),
  429. new SqlParameter("@F_RETURNVISITTIME", SqlDbType.DateTime),
  430. new SqlParameter("@F_REQUESTSERVICETIME", SqlDbType.DateTime),
  431. new SqlParameter("@F_SERVICETYPE", SqlDbType.NVarChar,1000),
  432. new SqlParameter("@F_DECLARATIONTIME", SqlDbType.Decimal,9),
  433. new SqlParameter("@F_SERVICENATURE", SqlDbType.NVarChar,200),
  434. new SqlParameter("@F_SERVICEWAY", SqlDbType.NVarChar,20),
  435. new SqlParameter("@F_RETURNVISITMAN", SqlDbType.NVarChar,20),
  436. new SqlParameter("@F_RETURNVISITID", SqlDbType.Int,4),
  437. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NChar,10),
  438. new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,2000),
  439. new SqlParameter("@F_CallId", SqlDbType.Int,4),
  440. new SqlParameter("@F_CREATEBYids", SqlDbType.NVarChar,100)
  441. };
  442. parameters[0].Value = model.F_WORKORDERTYPEID;
  443. parameters[1].Value = model.F_WORKORDERSTATEID;
  444. parameters[2].Value = GetOrderNumber(int.Parse(model.F_REPAIRLEVEL.ToString()));
  445. parameters[3].Value = model.F_WORKORDERNAME;
  446. parameters[4].Value = model.F_NUMBER;
  447. parameters[5].Value = model.F_CUSTOMERNAME;
  448. parameters[6].Value = model.F_CUSTOMERTELEPHONE;
  449. parameters[7].Value = model.F_LINKMAN;
  450. parameters[8].Value = model.F_LINKMANTELEPHONE;
  451. parameters[9].Value = model.F_ADSLACCOUNT;
  452. parameters[10].Value = model.F_BANDWIDTH;
  453. parameters[11].Value = model.F_STANDARDADDRESS;
  454. parameters[12].Value = model.F_INSTALLADDRESS;
  455. parameters[13].Value = model.F_KSHADDRESSCODE;
  456. parameters[14].Value = model.F_PROVINCE;
  457. parameters[15].Value = model.F_CITY;
  458. parameters[16].Value = model.F_AREA;
  459. parameters[17].Value = model.F_ROAD;
  460. parameters[18].Value = model.F_HOUSING;
  461. parameters[19].Value = model.F_WORKORDERFROM;
  462. parameters[20].Value = model.F_WORKORDERLEVELID;
  463. parameters[21].Value = model.F_FILEFLAG;
  464. parameters[22].Value = model.F_CONTENT;
  465. parameters[23].Value = model.F_CREATEBY;
  466. parameters[24].Value = model.F_CREATEDATE;
  467. parameters[25].Value = model.F_DEPTCODE;
  468. parameters[26].Value = model.F_EMPCODE;
  469. parameters[27].Value = model.F_DEPTID;
  470. parameters[28].Value = model.F_USERID;
  471. parameters[29].Value = model.F_USERNAME;
  472. parameters[30].Value = model.F_RETURNVISITFLAG;
  473. parameters[31].Value = model.F_RETURNVISITSTATE;
  474. parameters[32].Value = model.F_RETURNVISITRESULT;
  475. parameters[33].Value = model.F_RETURNVISITCONTENT;
  476. parameters[34].Value = model.F_DELETEFLAG;
  477. parameters[35].Value = model.F_ALLUSETIMES;
  478. parameters[36].Value = model.F_STARTTIME;
  479. parameters[37].Value = model.F_ENDTIME;
  480. parameters[38].Value = model.F_REMAINDERTIME;
  481. parameters[39].Value = model.F_REMAINDERENDTIME;
  482. parameters[40].Value = model.F_SUBSCRIBETIME1;
  483. parameters[41].Value = model.F_SUBSCRIBETIME2;
  484. parameters[42].Value = model.F_ACCEPTTIMELIMIT;
  485. parameters[43].Value = model.F_ASKFINISHTIME;
  486. parameters[44].Value = model.F_OVERTIMES;
  487. parameters[45].Value = model.F_FORMID;
  488. parameters[46].Value = model.F_HASTENCOUNTS;
  489. parameters[47].Value = model.F_RANGEID;
  490. parameters[48].Value = model.F_RANGEX;
  491. parameters[49].Value = model.F_RANGEY;
  492. parameters[50].Value = model.F_INSTANCEID;
  493. parameters[51].Value = model.F_CUSTOMERID;
  494. parameters[52].Value = model.F_REPAIRMANID;
  495. parameters[53].Value = model.F_REPAIRMANNAME;
  496. parameters[54].Value = model.F_REPAIRMANPHONE;
  497. parameters[55].Value = model.F_REPAIRREQUEST;
  498. parameters[56].Value = model.F_REPAIRCLOSEMANID;
  499. parameters[57].Value = model.F_REPAIRCLOSEMANNAME;
  500. parameters[58].Value = model.F_REPAIRCLOSEREASONS;
  501. parameters[59].Value = model.F_REPAIRCLOSEREPTID;
  502. parameters[60].Value = model.F_REPAIRCLOSEREPT;
  503. parameters[61].Value = model.F_REPAIRLEVEL;
  504. parameters[62].Value = model.F_REPAIRLEVELNAME;
  505. parameters[63].Value = model.F_SENTORDERTIME;
  506. parameters[64].Value = model.F_USERPHONE;
  507. parameters[65].Value = model.F_RETURNVISITTIME;
  508. parameters[66].Value = model.F_REQUESTSERVICETIME;
  509. parameters[67].Value = model.F_SERVICETYPE;
  510. parameters[68].Value = model.F_DECLARATIONTIME;
  511. parameters[69].Value = model.F_SERVICENATURE;
  512. parameters[70].Value = model.F_SERVICEWAY;
  513. parameters[71].Value = model.F_RETURNVISITMAN;
  514. parameters[72].Value = model.F_RETURNVISITID;
  515. parameters[73].Value = model.F_RETURNVISITOPINION;
  516. parameters[74].Value = model.F_RETURNVISITPROBLEM;
  517. parameters[75].Value = model.F_CallId;
  518. parameters[76].Value = model.F_CREATEBYids;
  519. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  520. if (obj == null)
  521. {
  522. return 0;
  523. }
  524. else
  525. {
  526. return Convert.ToInt32(obj);
  527. }
  528. }
  529. /// <summary>
  530. /// 更新一条数据
  531. /// </summary>
  532. public bool Update(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  533. {
  534. StringBuilder strSql = new StringBuilder();
  535. strSql.Append("update T_Wo_WorkOrderBase set ");
  536. strSql.Append("F_WORKORDERTYPEID=@F_WORKORDERTYPEID,");
  537. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  538. strSql.Append("F_CODE=@F_CODE,");
  539. strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  540. strSql.Append("F_NUMBER=@F_NUMBER,");
  541. strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  542. strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  543. strSql.Append("F_LINKMAN=@F_LINKMAN,");
  544. strSql.Append("F_LINKMANTELEPHONE=@F_LINKMANTELEPHONE,");
  545. strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  546. strSql.Append("F_BANDWIDTH=@F_BANDWIDTH,");
  547. strSql.Append("F_STANDARDADDRESS=@F_STANDARDADDRESS,");
  548. strSql.Append("F_INSTALLADDRESS=@F_INSTALLADDRESS,");
  549. strSql.Append("F_KSHADDRESSCODE=@F_KSHADDRESSCODE,");
  550. strSql.Append("F_PROVINCE=@F_PROVINCE,");
  551. strSql.Append("F_CITY=@F_CITY,");
  552. strSql.Append("F_AREA=@F_AREA,");
  553. strSql.Append("F_ROAD=@F_ROAD,");
  554. strSql.Append("F_HOUSING=@F_HOUSING,");
  555. strSql.Append("F_WORKORDERFROM=@F_WORKORDERFROM,");
  556. strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  557. strSql.Append("F_FILEFLAG=@F_FILEFLAG,");
  558. strSql.Append("F_CONTENT=@F_CONTENT,");
  559. strSql.Append("F_CREATEBY=@F_CREATEBY,");
  560. strSql.Append("F_CREATEDATE=@F_CREATEDATE,");
  561. strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  562. strSql.Append("F_EMPCODE=@F_EMPCODE,");
  563. strSql.Append("F_DEPTID=@F_DEPTID,");
  564. strSql.Append("F_USERID=@F_USERID,");
  565. strSql.Append("F_USERNAME=@F_USERNAME,");
  566. strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  567. strSql.Append("F_RETURNVISITSTATE=@F_RETURNVISITSTATE,");
  568. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  569. strSql.Append("F_RETURNVISITCONTENT=@F_RETURNVISITCONTENT,");
  570. strSql.Append("F_DELETEFLAG=@F_DELETEFLAG,");
  571. strSql.Append("F_ALLUSETIMES=@F_ALLUSETIMES,");
  572. strSql.Append("F_STARTTIME=@F_STARTTIME,");
  573. strSql.Append("F_ENDTIME=@F_ENDTIME,");
  574. strSql.Append("F_REMAINDERTIME=@F_REMAINDERTIME,");
  575. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  576. strSql.Append("F_SUBSCRIBETIME1=@F_SUBSCRIBETIME1,");
  577. strSql.Append("F_SUBSCRIBETIME2=@F_SUBSCRIBETIME2,");
  578. strSql.Append("F_ACCEPTTIMELIMIT=@F_ACCEPTTIMELIMIT,");
  579. strSql.Append("F_ASKFINISHTIME=@F_ASKFINISHTIME,");
  580. strSql.Append("F_OVERTIMES=@F_OVERTIMES,");
  581. strSql.Append("F_FORMID=@F_FORMID,");
  582. strSql.Append("F_HASTENCOUNTS=@F_HASTENCOUNTS,");
  583. strSql.Append("F_RANGEID=@F_RANGEID,");
  584. strSql.Append("F_RANGEX=@F_RANGEX,");
  585. strSql.Append("F_RANGEY=@F_RANGEY,");
  586. strSql.Append("F_INSTANCEID=@F_INSTANCEID,");
  587. strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  588. strSql.Append("F_REPAIRMANID=@F_REPAIRMANID,");
  589. strSql.Append("F_REPAIRMANNAME=@F_REPAIRMANNAME,");
  590. strSql.Append("F_REPAIRMANPHONE=@F_REPAIRMANPHONE,");
  591. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST,");
  592. strSql.Append("F_REPAIRCLOSEMANID=@F_REPAIRCLOSEMANID,");
  593. strSql.Append("F_REPAIRCLOSEMANNAME=@F_REPAIRCLOSEMANNAME,");
  594. strSql.Append("F_REPAIRCLOSEREASONS=@F_REPAIRCLOSEREASONS,");
  595. strSql.Append("F_REPAIRCLOSEREPTID=@F_REPAIRCLOSEREPTID,");
  596. strSql.Append("F_REPAIRCLOSEREPT=@F_REPAIRCLOSEREPT,");
  597. strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  598. strSql.Append("F_REPAIRLEVELNAME=@F_REPAIRLEVELNAME,");
  599. strSql.Append("F_SENTORDERTIME=@F_SENTORDERTIME,");
  600. strSql.Append("F_USERPHONE=@F_USERPHONE,");
  601. strSql.Append("F_RETURNVISITTIME=@F_RETURNVISITTIME,");
  602. strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  603. strSql.Append("F_SERVICETYPE=@F_SERVICETYPE,");
  604. strSql.Append("F_DECLARATIONTIME=@F_DECLARATIONTIME,");
  605. strSql.Append("F_SERVICENATURE=@F_SERVICENATURE,");
  606. strSql.Append("F_SERVICEWAY=@F_SERVICEWAY,");
  607. strSql.Append("F_RETURNVISITMAN=@F_RETURNVISITMAN,");
  608. strSql.Append("F_RETURNVISITID=@F_RETURNVISITID,");
  609. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  610. strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  611. strSql.Append("F_CREATEBYids=@F_CREATEBYids,");
  612. strSql.Append("F_CallId=@F_CallId");
  613. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  614. SqlParameter[] parameters = {
  615. new SqlParameter("@F_WORKORDERTYPEID", SqlDbType.Int,4),
  616. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  617. new SqlParameter("@F_CODE", SqlDbType.VarChar,50),
  618. new SqlParameter("@F_WORKORDERNAME", SqlDbType.VarChar,100),
  619. new SqlParameter("@F_NUMBER", SqlDbType.VarChar,50),
  620. new SqlParameter("@F_CUSTOMERNAME", SqlDbType.VarChar,50),
  621. new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.VarChar,50),
  622. new SqlParameter("@F_LINKMAN", SqlDbType.VarChar,50),
  623. new SqlParameter("@F_LINKMANTELEPHONE", SqlDbType.VarChar,50),
  624. new SqlParameter("@F_ADSLACCOUNT", SqlDbType.VarChar,50),
  625. new SqlParameter("@F_BANDWIDTH", SqlDbType.VarChar,50),
  626. new SqlParameter("@F_STANDARDADDRESS", SqlDbType.VarChar,200),
  627. new SqlParameter("@F_INSTALLADDRESS", SqlDbType.VarChar,200),
  628. new SqlParameter("@F_KSHADDRESSCODE", SqlDbType.VarChar,50),
  629. new SqlParameter("@F_PROVINCE", SqlDbType.VarChar,50),
  630. new SqlParameter("@F_CITY", SqlDbType.VarChar,50),
  631. new SqlParameter("@F_AREA", SqlDbType.VarChar,50),
  632. new SqlParameter("@F_ROAD", SqlDbType.VarChar,50),
  633. new SqlParameter("@F_HOUSING", SqlDbType.VarChar,50),
  634. new SqlParameter("@F_WORKORDERFROM", SqlDbType.VarChar,500),
  635. new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  636. new SqlParameter("@F_FILEFLAG", SqlDbType.Int,4),
  637. new SqlParameter("@F_CONTENT", SqlDbType.Text),
  638. new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  639. new SqlParameter("@F_CREATEDATE", SqlDbType.DateTime),
  640. new SqlParameter("@F_DEPTCODE", SqlDbType.VarChar,50),
  641. new SqlParameter("@F_EMPCODE", SqlDbType.VarChar,50),
  642. new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  643. new SqlParameter("@F_USERID", SqlDbType.Int,4),
  644. new SqlParameter("@F_USERNAME", SqlDbType.VarChar,20),
  645. new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  646. new SqlParameter("@F_RETURNVISITSTATE", SqlDbType.Int,4),
  647. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  648. new SqlParameter("@F_RETURNVISITCONTENT", SqlDbType.VarChar,800),
  649. new SqlParameter("@F_DELETEFLAG", SqlDbType.Int,4),
  650. new SqlParameter("@F_ALLUSETIMES", SqlDbType.Int,4),
  651. new SqlParameter("@F_STARTTIME", SqlDbType.DateTime),
  652. new SqlParameter("@F_ENDTIME", SqlDbType.DateTime),
  653. new SqlParameter("@F_REMAINDERTIME", SqlDbType.DateTime),
  654. new SqlParameter("@F_REMAINDERENDTIME", SqlDbType.DateTime),
  655. new SqlParameter("@F_SUBSCRIBETIME1", SqlDbType.DateTime),
  656. new SqlParameter("@F_SUBSCRIBETIME2", SqlDbType.DateTime),
  657. new SqlParameter("@F_ACCEPTTIMELIMIT", SqlDbType.DateTime),
  658. new SqlParameter("@F_ASKFINISHTIME", SqlDbType.DateTime),
  659. new SqlParameter("@F_OVERTIMES", SqlDbType.Int,4),
  660. new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  661. new SqlParameter("@F_HASTENCOUNTS", SqlDbType.Int,4),
  662. new SqlParameter("@F_RANGEID", SqlDbType.Decimal,9),
  663. new SqlParameter("@F_RANGEX", SqlDbType.Decimal,9),
  664. new SqlParameter("@F_RANGEY", SqlDbType.Decimal,9),
  665. new SqlParameter("@F_INSTANCEID", SqlDbType.Int,4),
  666. new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  667. new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  668. new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,20),
  669. new SqlParameter("@F_REPAIRMANPHONE", SqlDbType.NVarChar,20),
  670. new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,2000),
  671. new SqlParameter("@F_REPAIRCLOSEMANID", SqlDbType.Int,4),
  672. new SqlParameter("@F_REPAIRCLOSEMANNAME", SqlDbType.NVarChar,20),
  673. new SqlParameter("@F_REPAIRCLOSEREASONS", SqlDbType.NVarChar,4000),
  674. new SqlParameter("@F_REPAIRCLOSEREPTID", SqlDbType.Int,4),
  675. new SqlParameter("@F_REPAIRCLOSEREPT", SqlDbType.NVarChar,50),
  676. new SqlParameter("@F_REPAIRLEVEL", SqlDbType.Int,4),
  677. new SqlParameter("@F_REPAIRLEVELNAME", SqlDbType.NVarChar,20),
  678. new SqlParameter("@F_SENTORDERTIME", SqlDbType.DateTime),
  679. new SqlParameter("@F_USERPHONE", SqlDbType.VarChar,20),
  680. new SqlParameter("@F_RETURNVISITTIME", SqlDbType.DateTime),
  681. new SqlParameter("@F_REQUESTSERVICETIME", SqlDbType.DateTime),
  682. new SqlParameter("@F_SERVICETYPE", SqlDbType.NVarChar,1000),
  683. new SqlParameter("@F_DECLARATIONTIME", SqlDbType.Decimal,9),
  684. new SqlParameter("@F_SERVICENATURE", SqlDbType.NVarChar,200),
  685. new SqlParameter("@F_SERVICEWAY", SqlDbType.NVarChar,20),
  686. new SqlParameter("@F_RETURNVISITMAN", SqlDbType.NVarChar,20),
  687. new SqlParameter("@F_RETURNVISITID", SqlDbType.Int,4),
  688. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NChar,10),
  689. new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,2000),
  690. new SqlParameter("@F_CREATEBYids", SqlDbType.NVarChar,100),
  691. new SqlParameter("@F_CallId", SqlDbType.Int,4),
  692. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  693. parameters[0].Value = model.F_WORKORDERTYPEID;
  694. parameters[1].Value = model.F_WORKORDERSTATEID;
  695. parameters[2].Value = model.F_CODE;
  696. parameters[3].Value = model.F_WORKORDERNAME;
  697. parameters[4].Value = model.F_NUMBER;
  698. parameters[5].Value = model.F_CUSTOMERNAME;
  699. parameters[6].Value = model.F_CUSTOMERTELEPHONE;
  700. parameters[7].Value = model.F_LINKMAN;
  701. parameters[8].Value = model.F_LINKMANTELEPHONE;
  702. parameters[9].Value = model.F_ADSLACCOUNT;
  703. parameters[10].Value = model.F_BANDWIDTH;
  704. parameters[11].Value = model.F_STANDARDADDRESS;
  705. parameters[12].Value = model.F_INSTALLADDRESS;
  706. parameters[13].Value = model.F_KSHADDRESSCODE;
  707. parameters[14].Value = model.F_PROVINCE;
  708. parameters[15].Value = model.F_CITY;
  709. parameters[16].Value = model.F_AREA;
  710. parameters[17].Value = model.F_ROAD;
  711. parameters[18].Value = model.F_HOUSING;
  712. parameters[19].Value = model.F_WORKORDERFROM;
  713. parameters[20].Value = model.F_WORKORDERLEVELID;
  714. parameters[21].Value = model.F_FILEFLAG;
  715. parameters[22].Value = model.F_CONTENT;
  716. parameters[23].Value = model.F_CREATEBY;
  717. parameters[24].Value = model.F_CREATEDATE;
  718. parameters[25].Value = model.F_DEPTCODE;
  719. parameters[26].Value = model.F_EMPCODE;
  720. parameters[27].Value = model.F_DEPTID;
  721. parameters[28].Value = model.F_USERID;
  722. parameters[29].Value = model.F_USERNAME;
  723. parameters[30].Value = model.F_RETURNVISITFLAG;
  724. parameters[31].Value = model.F_RETURNVISITSTATE;
  725. parameters[32].Value = model.F_RETURNVISITRESULT;
  726. parameters[33].Value = model.F_RETURNVISITCONTENT;
  727. parameters[34].Value = model.F_DELETEFLAG;
  728. parameters[35].Value = model.F_ALLUSETIMES;
  729. parameters[36].Value = model.F_STARTTIME;
  730. parameters[37].Value = model.F_ENDTIME;
  731. parameters[38].Value = model.F_REMAINDERTIME;
  732. parameters[39].Value = model.F_REMAINDERENDTIME;
  733. parameters[40].Value = model.F_SUBSCRIBETIME1;
  734. parameters[41].Value = model.F_SUBSCRIBETIME2;
  735. parameters[42].Value = model.F_ACCEPTTIMELIMIT;
  736. parameters[43].Value = model.F_ASKFINISHTIME;
  737. parameters[44].Value = model.F_OVERTIMES;
  738. parameters[45].Value = model.F_FORMID;
  739. parameters[46].Value = model.F_HASTENCOUNTS;
  740. parameters[47].Value = model.F_RANGEID;
  741. parameters[48].Value = model.F_RANGEX;
  742. parameters[49].Value = model.F_RANGEY;
  743. parameters[50].Value = model.F_INSTANCEID;
  744. parameters[51].Value = model.F_CUSTOMERID;
  745. parameters[52].Value = model.F_REPAIRMANID;
  746. parameters[53].Value = model.F_REPAIRMANNAME;
  747. parameters[54].Value = model.F_REPAIRMANPHONE;
  748. parameters[55].Value = model.F_REPAIRREQUEST;
  749. parameters[56].Value = model.F_REPAIRCLOSEMANID;
  750. parameters[57].Value = model.F_REPAIRCLOSEMANNAME;
  751. parameters[58].Value = model.F_REPAIRCLOSEREASONS;
  752. parameters[59].Value = model.F_REPAIRCLOSEREPTID;
  753. parameters[60].Value = model.F_REPAIRCLOSEREPT;
  754. parameters[61].Value = model.F_REPAIRLEVEL;
  755. parameters[62].Value = model.F_REPAIRLEVELNAME;
  756. parameters[63].Value = model.F_SENTORDERTIME;
  757. parameters[64].Value = model.F_USERPHONE;
  758. parameters[65].Value = model.F_RETURNVISITTIME;
  759. parameters[66].Value = model.F_REQUESTSERVICETIME;
  760. parameters[67].Value = model.F_SERVICETYPE;
  761. parameters[68].Value = model.F_DECLARATIONTIME;
  762. parameters[69].Value = model.F_SERVICENATURE;
  763. parameters[70].Value = model.F_SERVICEWAY;
  764. parameters[71].Value = model.F_RETURNVISITMAN;
  765. parameters[72].Value = model.F_RETURNVISITID;
  766. parameters[73].Value = model.F_RETURNVISITOPINION;
  767. parameters[74].Value = model.F_RETURNVISITPROBLEM;
  768. parameters[75].Value = model.F_CREATEBYids;
  769. parameters[76].Value = model.F_CallId;
  770. parameters[77].Value = model.F_WORKORDERID;
  771. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  772. if (rows > 0)
  773. {
  774. return true;
  775. }
  776. else
  777. {
  778. return false;
  779. }
  780. }
  781. public bool Update1(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  782. {
  783. StringBuilder strSql = new StringBuilder();
  784. strSql.Append("update T_Wo_WorkOrderBase set ");
  785. strSql.Append("F_CONTENT=@F_CONTENT");
  786. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  787. SqlParameter[] parameters = {
  788. new SqlParameter("@F_CONTENT", SqlDbType.Text),
  789. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  790. parameters[0].Value = model.F_CONTENT;
  791. parameters[1].Value = model.F_WORKORDERID;
  792. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  793. if (rows > 0)
  794. {
  795. return true;
  796. }
  797. else
  798. {
  799. return false;
  800. }
  801. }
  802. /// <summary>
  803. /// 定责人员更新
  804. /// </summary>
  805. /// <param name="model"></param>
  806. /// <returns></returns>
  807. public bool UpdateDZuser(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  808. {
  809. StringBuilder strSql = new StringBuilder();
  810. strSql.Append("update T_Wo_WorkOrderBase set ");
  811. strSql.Append(" F_ROAD=@F_ROAD");
  812. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID AND (F_ROAD='' Or F_ROAD IS NULL)");
  813. SqlParameter[] parameters = {
  814. new SqlParameter("@F_ROAD", SqlDbType.VarChar,50),
  815. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  816. parameters[0].Value = model.F_ROAD;
  817. parameters[1].Value = model.F_WORKORDERID;
  818. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  819. if (rows > 0)
  820. {
  821. return true;
  822. }
  823. else
  824. {
  825. return false;
  826. }
  827. }
  828. /// <summary>
  829. /// 定责事件分类
  830. /// </summary>
  831. /// <param name="model"></param>
  832. /// <returns></returns>
  833. public bool UpdateDZClass(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  834. {
  835. StringBuilder strSql = new StringBuilder();
  836. strSql.Append(" update T_Wo_WorkOrderBase set ");
  837. strSql.Append(" F_PROVINCE=@F_PROVINCE, ");
  838. strSql.Append(" F_WORKORDERSTATEID=5, ");
  839. strSql.Append(" F_REPAIRREQUEST='已定责', ");
  840. strSql.Append(" F_CITY=@F_CITY, ");
  841. strSql.Append(" F_SERVICENATURE=@F_SERVICENATURE, ");
  842. strSql.Append(" F_SERVICETYPE=@F_SERVICETYPE, ");
  843. strSql.Append(" F_HASTENCOUNTS=ISNULL(F_HASTENCOUNTS,0)+1, ");
  844. strSql.Append(" F_AREA=@F_AREA ");
  845. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID AND F_WORKORDERSTATEID>3");
  846. SqlParameter[] parameters = {
  847. new SqlParameter("@F_PROVINCE",model.F_PROVINCE ),
  848. new SqlParameter("@F_CITY", model.F_CITY),
  849. new SqlParameter("@F_AREA", model.F_AREA),
  850. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID),
  851. new SqlParameter("@F_SERVICENATURE", model.F_SERVICENATURE),
  852. new SqlParameter("@F_SERVICETYPE", model.F_SERVICETYPE)
  853. };
  854. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  855. if (rows > 0)
  856. {
  857. return true;
  858. }
  859. else
  860. {
  861. return false;
  862. }
  863. }
  864. /// <summary>
  865. /// 删除一条数据
  866. /// </summary>
  867. public bool Delete(int F_WORKORDERID)
  868. {
  869. StringBuilder strSql = new StringBuilder();
  870. strSql.Append("delete from T_Wo_WorkOrderBase ");
  871. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  872. SqlParameter[] parameters = {
  873. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)
  874. };
  875. parameters[0].Value = F_WORKORDERID;
  876. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  877. if (rows > 0)
  878. {
  879. return true;
  880. }
  881. else
  882. {
  883. return false;
  884. }
  885. }
  886. /// <summary>
  887. /// 批量删除数据
  888. /// </summary>
  889. public bool DeleteList(string F_WORKORDERIDlist)
  890. {
  891. StringBuilder strSql = new StringBuilder();
  892. strSql.Append("delete from T_Wo_WorkOrderBase ");
  893. strSql.Append(" where F_WORKORDERID in (" + F_WORKORDERIDlist + ") ");
  894. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  895. if (rows > 0)
  896. {
  897. return true;
  898. }
  899. else
  900. {
  901. return false;
  902. }
  903. }
  904. /// <summary>
  905. /// 得到一个对象实体
  906. /// </summary>
  907. public YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase GetModel(int F_WORKORDERID)
  908. {
  909. StringBuilder strSql = new StringBuilder();
  910. strSql.Append(@"select top 1 F_WORKORDERID,F_WORKORDERTYPEID,F_WORKORDERSTATEID,
  911. F_CODE,F_WORKORDERNAME,F_NUMBER,F_CUSTOMERNAME,F_CUSTOMERTELEPHONE,F_LINKMAN,F_LINKMANTELEPHONE,
  912. F_ADSLACCOUNT,F_BANDWIDTH,F_STANDARDADDRESS,F_INSTALLADDRESS,F_KSHADDRESSCODE,F_PROVINCE,F_CITY,F_AREA,
  913. F_ROAD,F_HOUSING,F_WORKORDERFROM,F_WORKORDERLEVELID,F_FILEFLAG,F_CONTENT,F_CREATEBY,F_CREATEDATE,F_DEPTCODE,
  914. F_EMPCODE,F_DEPTID,F_USERID,F_USERNAME,F_RETURNVISITFLAG,F_RETURNVISITSTATE,F_RETURNVISITRESULT,F_RETURNVISITCONTENT,
  915. F_DELETEFLAG,F_ALLUSETIMES,F_STARTTIME,F_ENDTIME,F_REMAINDERTIME,F_REMAINDERENDTIME,F_SUBSCRIBETIME1,F_SUBSCRIBETIME2,
  916. F_ACCEPTTIMELIMIT,F_ASKFINISHTIME,F_OVERTIMES,F_FORMID,F_HASTENCOUNTS,F_RANGEID,F_RANGEX,F_RANGEY,F_INSTANCEID,F_CUSTOMERID,
  917. F_REPAIRMANID,F_REPAIRMANNAME,F_REPAIRMANPHONE,F_REPAIRREQUEST,F_REPAIRCLOSEMANID,F_REPAIRCLOSEMANNAME,F_REPAIRCLOSEREASONS
  918. ,F_REPAIRCLOSEREPTID,F_REPAIRCLOSEREPT,F_REPAIRLEVEL,F_REPAIRLEVELNAME,F_SENTORDERTIME,F_USERPHONE,F_RETURNVISITTIME,
  919. F_REQUESTSERVICETIME,F_SERVICETYPE,F_DECLARATIONTIME,F_SERVICENATURE,F_SERVICEWAY,F_RETURNVISITMAN,F_RETURNVISITID,
  920. F_RETURNVISITOPINION,F_RETURNVISITPROBLEM,F_CallId,F_CREATEBYids from T_Wo_WorkOrderBase ");
  921. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  922. SqlParameter[] parameters = {
  923. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)
  924. };
  925. parameters[0].Value = F_WORKORDERID;
  926. YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model = new YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase();
  927. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  928. if (ds.Tables[0].Rows.Count > 0)
  929. {
  930. if (ds.Tables[0].Rows[0]["F_WORKORDERID"] != null && ds.Tables[0].Rows[0]["F_WORKORDERID"].ToString() != "")
  931. {
  932. model.F_WORKORDERID = int.Parse(ds.Tables[0].Rows[0]["F_WORKORDERID"].ToString());
  933. }
  934. if (ds.Tables[0].Rows[0]["F_WORKORDERTYPEID"] != null && ds.Tables[0].Rows[0]["F_WORKORDERTYPEID"].ToString() != "")
  935. {
  936. model.F_WORKORDERTYPEID = int.Parse(ds.Tables[0].Rows[0]["F_WORKORDERTYPEID"].ToString());
  937. }
  938. if (ds.Tables[0].Rows[0]["F_WORKORDERSTATEID"] != null && ds.Tables[0].Rows[0]["F_WORKORDERSTATEID"].ToString() != "")
  939. {
  940. model.F_WORKORDERSTATEID = int.Parse(ds.Tables[0].Rows[0]["F_WORKORDERSTATEID"].ToString());
  941. }
  942. if (ds.Tables[0].Rows[0]["F_CODE"] != null && ds.Tables[0].Rows[0]["F_CODE"].ToString() != "")
  943. {
  944. model.F_CODE = ds.Tables[0].Rows[0]["F_CODE"].ToString();
  945. }
  946. if (ds.Tables[0].Rows[0]["F_WORKORDERNAME"] != null && ds.Tables[0].Rows[0]["F_WORKORDERNAME"].ToString() != "")
  947. {
  948. model.F_WORKORDERNAME = ds.Tables[0].Rows[0]["F_WORKORDERNAME"].ToString();
  949. }
  950. if (ds.Tables[0].Rows[0]["F_NUMBER"] != null && ds.Tables[0].Rows[0]["F_NUMBER"].ToString() != "")
  951. {
  952. model.F_NUMBER = ds.Tables[0].Rows[0]["F_NUMBER"].ToString();
  953. }
  954. if (ds.Tables[0].Rows[0]["F_CUSTOMERNAME"] != null && ds.Tables[0].Rows[0]["F_CUSTOMERNAME"].ToString() != "")
  955. {
  956. model.F_CUSTOMERNAME = ds.Tables[0].Rows[0]["F_CUSTOMERNAME"].ToString();
  957. }
  958. if (ds.Tables[0].Rows[0]["F_CUSTOMERTELEPHONE"] != null && ds.Tables[0].Rows[0]["F_CUSTOMERTELEPHONE"].ToString() != "")
  959. {
  960. model.F_CUSTOMERTELEPHONE = ds.Tables[0].Rows[0]["F_CUSTOMERTELEPHONE"].ToString();
  961. }
  962. if (ds.Tables[0].Rows[0]["F_LINKMAN"] != null && ds.Tables[0].Rows[0]["F_LINKMAN"].ToString() != "")
  963. {
  964. model.F_LINKMAN = ds.Tables[0].Rows[0]["F_LINKMAN"].ToString();
  965. }
  966. if (ds.Tables[0].Rows[0]["F_LINKMANTELEPHONE"] != null && ds.Tables[0].Rows[0]["F_LINKMANTELEPHONE"].ToString() != "")
  967. {
  968. model.F_LINKMANTELEPHONE = ds.Tables[0].Rows[0]["F_LINKMANTELEPHONE"].ToString();
  969. }
  970. if (ds.Tables[0].Rows[0]["F_ADSLACCOUNT"] != null && ds.Tables[0].Rows[0]["F_ADSLACCOUNT"].ToString() != "")
  971. {
  972. model.F_ADSLACCOUNT = ds.Tables[0].Rows[0]["F_ADSLACCOUNT"].ToString();
  973. }
  974. if (ds.Tables[0].Rows[0]["F_BANDWIDTH"] != null && ds.Tables[0].Rows[0]["F_BANDWIDTH"].ToString() != "")
  975. {
  976. model.F_BANDWIDTH = ds.Tables[0].Rows[0]["F_BANDWIDTH"].ToString();
  977. }
  978. if (ds.Tables[0].Rows[0]["F_STANDARDADDRESS"] != null && ds.Tables[0].Rows[0]["F_STANDARDADDRESS"].ToString() != "")
  979. {
  980. model.F_STANDARDADDRESS = ds.Tables[0].Rows[0]["F_STANDARDADDRESS"].ToString();
  981. }
  982. if (ds.Tables[0].Rows[0]["F_INSTALLADDRESS"] != null && ds.Tables[0].Rows[0]["F_INSTALLADDRESS"].ToString() != "")
  983. {
  984. model.F_INSTALLADDRESS = ds.Tables[0].Rows[0]["F_INSTALLADDRESS"].ToString();
  985. }
  986. if (ds.Tables[0].Rows[0]["F_KSHADDRESSCODE"] != null && ds.Tables[0].Rows[0]["F_KSHADDRESSCODE"].ToString() != "")
  987. {
  988. model.F_KSHADDRESSCODE = ds.Tables[0].Rows[0]["F_KSHADDRESSCODE"].ToString();
  989. }
  990. if (ds.Tables[0].Rows[0]["F_PROVINCE"] != null && ds.Tables[0].Rows[0]["F_PROVINCE"].ToString() != "")
  991. {
  992. model.F_PROVINCE = ds.Tables[0].Rows[0]["F_PROVINCE"].ToString();
  993. }
  994. if (ds.Tables[0].Rows[0]["F_CITY"] != null && ds.Tables[0].Rows[0]["F_CITY"].ToString() != "")
  995. {
  996. model.F_CITY = ds.Tables[0].Rows[0]["F_CITY"].ToString();
  997. }
  998. if (ds.Tables[0].Rows[0]["F_AREA"] != null && ds.Tables[0].Rows[0]["F_AREA"].ToString() != "")
  999. {
  1000. model.F_AREA = ds.Tables[0].Rows[0]["F_AREA"].ToString();
  1001. }
  1002. if (ds.Tables[0].Rows[0]["F_ROAD"] != null && ds.Tables[0].Rows[0]["F_ROAD"].ToString() != "")
  1003. {
  1004. model.F_ROAD = ds.Tables[0].Rows[0]["F_ROAD"].ToString();
  1005. }
  1006. if (ds.Tables[0].Rows[0]["F_HOUSING"] != null && ds.Tables[0].Rows[0]["F_HOUSING"].ToString() != "")
  1007. {
  1008. model.F_HOUSING = ds.Tables[0].Rows[0]["F_HOUSING"].ToString();
  1009. }
  1010. if (ds.Tables[0].Rows[0]["F_WORKORDERFROM"] != null && ds.Tables[0].Rows[0]["F_WORKORDERFROM"].ToString() != "")
  1011. {
  1012. model.F_WORKORDERFROM = ds.Tables[0].Rows[0]["F_WORKORDERFROM"].ToString();
  1013. }
  1014. if (ds.Tables[0].Rows[0]["F_WORKORDERLEVELID"] != null && ds.Tables[0].Rows[0]["F_WORKORDERLEVELID"].ToString() != "")
  1015. {
  1016. model.F_WORKORDERLEVELID = int.Parse(ds.Tables[0].Rows[0]["F_WORKORDERLEVELID"].ToString());
  1017. }
  1018. if (ds.Tables[0].Rows[0]["F_FILEFLAG"] != null && ds.Tables[0].Rows[0]["F_FILEFLAG"].ToString() != "")
  1019. {
  1020. model.F_FILEFLAG = int.Parse(ds.Tables[0].Rows[0]["F_FILEFLAG"].ToString());
  1021. }
  1022. if (ds.Tables[0].Rows[0]["F_CONTENT"] != null && ds.Tables[0].Rows[0]["F_CONTENT"].ToString() != "")
  1023. {
  1024. model.F_CONTENT = ds.Tables[0].Rows[0]["F_CONTENT"].ToString();
  1025. }
  1026. if (ds.Tables[0].Rows[0]["F_CREATEBY"] != null && ds.Tables[0].Rows[0]["F_CREATEBY"].ToString() != "")
  1027. {
  1028. model.F_CREATEBY = int.Parse(ds.Tables[0].Rows[0]["F_CREATEBY"].ToString());
  1029. }
  1030. if (ds.Tables[0].Rows[0]["F_CREATEDATE"] != null && ds.Tables[0].Rows[0]["F_CREATEDATE"].ToString() != "")
  1031. {
  1032. model.F_CREATEDATE = DateTime.Parse(ds.Tables[0].Rows[0]["F_CREATEDATE"].ToString());
  1033. }
  1034. if (ds.Tables[0].Rows[0]["F_DEPTCODE"] != null && ds.Tables[0].Rows[0]["F_DEPTCODE"].ToString() != "")
  1035. {
  1036. model.F_DEPTCODE = ds.Tables[0].Rows[0]["F_DEPTCODE"].ToString();
  1037. }
  1038. if (ds.Tables[0].Rows[0]["F_EMPCODE"] != null && ds.Tables[0].Rows[0]["F_EMPCODE"].ToString() != "")
  1039. {
  1040. model.F_EMPCODE = ds.Tables[0].Rows[0]["F_EMPCODE"].ToString();
  1041. }
  1042. if (ds.Tables[0].Rows[0]["F_DEPTID"] != null && ds.Tables[0].Rows[0]["F_DEPTID"].ToString() != "")
  1043. {
  1044. model.F_DEPTID = int.Parse(ds.Tables[0].Rows[0]["F_DEPTID"].ToString());
  1045. }
  1046. if (ds.Tables[0].Rows[0]["F_USERID"] != null && ds.Tables[0].Rows[0]["F_USERID"].ToString() != "")
  1047. {
  1048. model.F_USERID = int.Parse(ds.Tables[0].Rows[0]["F_USERID"].ToString());
  1049. }
  1050. if (ds.Tables[0].Rows[0]["F_USERNAME"] != null && ds.Tables[0].Rows[0]["F_USERNAME"].ToString() != "")
  1051. {
  1052. model.F_USERNAME = ds.Tables[0].Rows[0]["F_USERNAME"].ToString();
  1053. }
  1054. if (ds.Tables[0].Rows[0]["F_RETURNVISITFLAG"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITFLAG"].ToString() != "")
  1055. {
  1056. model.F_RETURNVISITFLAG = int.Parse(ds.Tables[0].Rows[0]["F_RETURNVISITFLAG"].ToString());
  1057. }
  1058. if (ds.Tables[0].Rows[0]["F_RETURNVISITSTATE"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITSTATE"].ToString() != "")
  1059. {
  1060. model.F_RETURNVISITSTATE = int.Parse(ds.Tables[0].Rows[0]["F_RETURNVISITSTATE"].ToString());
  1061. }
  1062. if (ds.Tables[0].Rows[0]["F_RETURNVISITRESULT"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITRESULT"].ToString() != "")
  1063. {
  1064. model.F_RETURNVISITRESULT = int.Parse(ds.Tables[0].Rows[0]["F_RETURNVISITRESULT"].ToString());
  1065. }
  1066. if (ds.Tables[0].Rows[0]["F_RETURNVISITCONTENT"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITCONTENT"].ToString() != "")
  1067. {
  1068. model.F_RETURNVISITCONTENT = ds.Tables[0].Rows[0]["F_RETURNVISITCONTENT"].ToString();
  1069. }
  1070. if (ds.Tables[0].Rows[0]["F_DELETEFLAG"] != null && ds.Tables[0].Rows[0]["F_DELETEFLAG"].ToString() != "")
  1071. {
  1072. model.F_DELETEFLAG = int.Parse(ds.Tables[0].Rows[0]["F_DELETEFLAG"].ToString());
  1073. }
  1074. if (ds.Tables[0].Rows[0]["F_ALLUSETIMES"] != null && ds.Tables[0].Rows[0]["F_ALLUSETIMES"].ToString() != "")
  1075. {
  1076. model.F_ALLUSETIMES = int.Parse(ds.Tables[0].Rows[0]["F_ALLUSETIMES"].ToString());
  1077. }
  1078. if (ds.Tables[0].Rows[0]["F_STARTTIME"] != null && ds.Tables[0].Rows[0]["F_STARTTIME"].ToString() != "")
  1079. {
  1080. model.F_STARTTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_STARTTIME"].ToString());
  1081. }
  1082. if (ds.Tables[0].Rows[0]["F_ENDTIME"] != null && ds.Tables[0].Rows[0]["F_ENDTIME"].ToString() != "")
  1083. {
  1084. model.F_ENDTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_ENDTIME"].ToString());
  1085. }
  1086. if (ds.Tables[0].Rows[0]["F_REMAINDERTIME"] != null && ds.Tables[0].Rows[0]["F_REMAINDERTIME"].ToString() != "")
  1087. {
  1088. model.F_REMAINDERTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_REMAINDERTIME"].ToString());
  1089. }
  1090. if (ds.Tables[0].Rows[0]["F_REMAINDERENDTIME"] != null && ds.Tables[0].Rows[0]["F_REMAINDERENDTIME"].ToString() != "")
  1091. {
  1092. model.F_REMAINDERENDTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_REMAINDERENDTIME"].ToString());
  1093. }
  1094. if (ds.Tables[0].Rows[0]["F_SUBSCRIBETIME1"] != null && ds.Tables[0].Rows[0]["F_SUBSCRIBETIME1"].ToString() != "")
  1095. {
  1096. model.F_SUBSCRIBETIME1 = DateTime.Parse(ds.Tables[0].Rows[0]["F_SUBSCRIBETIME1"].ToString());
  1097. }
  1098. if (ds.Tables[0].Rows[0]["F_SUBSCRIBETIME2"] != null && ds.Tables[0].Rows[0]["F_SUBSCRIBETIME2"].ToString() != "")
  1099. {
  1100. model.F_SUBSCRIBETIME2 = DateTime.Parse(ds.Tables[0].Rows[0]["F_SUBSCRIBETIME2"].ToString());
  1101. }
  1102. if (ds.Tables[0].Rows[0]["F_ACCEPTTIMELIMIT"] != null && ds.Tables[0].Rows[0]["F_ACCEPTTIMELIMIT"].ToString() != "")
  1103. {
  1104. model.F_ACCEPTTIMELIMIT = DateTime.Parse(ds.Tables[0].Rows[0]["F_ACCEPTTIMELIMIT"].ToString());
  1105. }
  1106. if (ds.Tables[0].Rows[0]["F_ASKFINISHTIME"] != null && ds.Tables[0].Rows[0]["F_ASKFINISHTIME"].ToString() != "")
  1107. {
  1108. model.F_ASKFINISHTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_ASKFINISHTIME"].ToString());
  1109. }
  1110. if (ds.Tables[0].Rows[0]["F_OVERTIMES"] != null && ds.Tables[0].Rows[0]["F_OVERTIMES"].ToString() != "")
  1111. {
  1112. model.F_OVERTIMES = int.Parse(ds.Tables[0].Rows[0]["F_OVERTIMES"].ToString());
  1113. }
  1114. if (ds.Tables[0].Rows[0]["F_FORMID"] != null && ds.Tables[0].Rows[0]["F_FORMID"].ToString() != "")
  1115. {
  1116. model.F_FORMID = int.Parse(ds.Tables[0].Rows[0]["F_FORMID"].ToString());
  1117. }
  1118. if (ds.Tables[0].Rows[0]["F_HASTENCOUNTS"] != null && ds.Tables[0].Rows[0]["F_HASTENCOUNTS"].ToString() != "")
  1119. {
  1120. model.F_HASTENCOUNTS = int.Parse(ds.Tables[0].Rows[0]["F_HASTENCOUNTS"].ToString());
  1121. }
  1122. if (ds.Tables[0].Rows[0]["F_RANGEID"] != null && ds.Tables[0].Rows[0]["F_RANGEID"].ToString() != "")
  1123. {
  1124. model.F_RANGEID = decimal.Parse(ds.Tables[0].Rows[0]["F_RANGEID"].ToString());
  1125. }
  1126. if (ds.Tables[0].Rows[0]["F_RANGEX"] != null && ds.Tables[0].Rows[0]["F_RANGEX"].ToString() != "")
  1127. {
  1128. model.F_RANGEX = decimal.Parse(ds.Tables[0].Rows[0]["F_RANGEX"].ToString());
  1129. }
  1130. if (ds.Tables[0].Rows[0]["F_RANGEY"] != null && ds.Tables[0].Rows[0]["F_RANGEY"].ToString() != "")
  1131. {
  1132. model.F_RANGEY = decimal.Parse(ds.Tables[0].Rows[0]["F_RANGEY"].ToString());
  1133. }
  1134. if (ds.Tables[0].Rows[0]["F_INSTANCEID"] != null && ds.Tables[0].Rows[0]["F_INSTANCEID"].ToString() != "")
  1135. {
  1136. model.F_INSTANCEID = int.Parse(ds.Tables[0].Rows[0]["F_INSTANCEID"].ToString());
  1137. }
  1138. if (ds.Tables[0].Rows[0]["F_CUSTOMERID"] != null && ds.Tables[0].Rows[0]["F_CUSTOMERID"].ToString() != "")
  1139. {
  1140. model.F_CUSTOMERID = int.Parse(ds.Tables[0].Rows[0]["F_CUSTOMERID"].ToString());
  1141. }
  1142. if (ds.Tables[0].Rows[0]["F_REPAIRMANID"] != null && ds.Tables[0].Rows[0]["F_REPAIRMANID"].ToString() != "")
  1143. {
  1144. model.F_REPAIRMANID = int.Parse(ds.Tables[0].Rows[0]["F_REPAIRMANID"].ToString());
  1145. }
  1146. if (ds.Tables[0].Rows[0]["F_REPAIRMANNAME"] != null && ds.Tables[0].Rows[0]["F_REPAIRMANNAME"].ToString() != "")
  1147. {
  1148. model.F_REPAIRMANNAME = ds.Tables[0].Rows[0]["F_REPAIRMANNAME"].ToString();
  1149. }
  1150. if (ds.Tables[0].Rows[0]["F_REPAIRMANPHONE"] != null && ds.Tables[0].Rows[0]["F_REPAIRMANPHONE"].ToString() != "")
  1151. {
  1152. model.F_REPAIRMANPHONE = ds.Tables[0].Rows[0]["F_REPAIRMANPHONE"].ToString();
  1153. }
  1154. if (ds.Tables[0].Rows[0]["F_REPAIRREQUEST"] != null && ds.Tables[0].Rows[0]["F_REPAIRREQUEST"].ToString() != "")
  1155. {
  1156. model.F_REPAIRREQUEST = ds.Tables[0].Rows[0]["F_REPAIRREQUEST"].ToString();
  1157. }
  1158. if (ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANID"] != null && ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANID"].ToString() != "")
  1159. {
  1160. model.F_REPAIRCLOSEMANID = int.Parse(ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANID"].ToString());
  1161. }
  1162. if (ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANNAME"] != null && ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANNAME"].ToString() != "")
  1163. {
  1164. model.F_REPAIRCLOSEMANNAME = ds.Tables[0].Rows[0]["F_REPAIRCLOSEMANNAME"].ToString();
  1165. }
  1166. if (ds.Tables[0].Rows[0]["F_REPAIRCLOSEREASONS"] != null && ds.Tables[0].Rows[0]["F_REPAIRCLOSEREASONS"].ToString() != "")
  1167. {
  1168. model.F_REPAIRCLOSEREASONS = ds.Tables[0].Rows[0]["F_REPAIRCLOSEREASONS"].ToString();
  1169. }
  1170. if (ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPTID"] != null && ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPTID"].ToString() != "")
  1171. {
  1172. model.F_REPAIRCLOSEREPTID = int.Parse(ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPTID"].ToString());
  1173. }
  1174. if (ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPT"] != null && ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPT"].ToString() != "")
  1175. {
  1176. model.F_REPAIRCLOSEREPT = ds.Tables[0].Rows[0]["F_REPAIRCLOSEREPT"].ToString();
  1177. }
  1178. if (ds.Tables[0].Rows[0]["F_REPAIRLEVEL"] != null && ds.Tables[0].Rows[0]["F_REPAIRLEVEL"].ToString() != "")
  1179. {
  1180. model.F_REPAIRLEVEL = int.Parse(ds.Tables[0].Rows[0]["F_REPAIRLEVEL"].ToString());
  1181. }
  1182. if (ds.Tables[0].Rows[0]["F_REPAIRLEVELNAME"] != null && ds.Tables[0].Rows[0]["F_REPAIRLEVELNAME"].ToString() != "")
  1183. {
  1184. model.F_REPAIRLEVELNAME = ds.Tables[0].Rows[0]["F_REPAIRLEVELNAME"].ToString();
  1185. }
  1186. if (ds.Tables[0].Rows[0]["F_SENTORDERTIME"] != null && ds.Tables[0].Rows[0]["F_SENTORDERTIME"].ToString() != "")
  1187. {
  1188. model.F_SENTORDERTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_SENTORDERTIME"].ToString());
  1189. }
  1190. if (ds.Tables[0].Rows[0]["F_USERPHONE"] != null && ds.Tables[0].Rows[0]["F_USERPHONE"].ToString() != "")
  1191. {
  1192. model.F_USERPHONE = ds.Tables[0].Rows[0]["F_USERPHONE"].ToString();
  1193. }
  1194. if (ds.Tables[0].Rows[0]["F_RETURNVISITTIME"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITTIME"].ToString() != "")
  1195. {
  1196. model.F_RETURNVISITTIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_RETURNVISITTIME"].ToString());
  1197. }
  1198. if (ds.Tables[0].Rows[0]["F_REQUESTSERVICETIME"] != null && ds.Tables[0].Rows[0]["F_REQUESTSERVICETIME"].ToString() != "")
  1199. {
  1200. model.F_REQUESTSERVICETIME = DateTime.Parse(ds.Tables[0].Rows[0]["F_REQUESTSERVICETIME"].ToString());
  1201. }
  1202. if (ds.Tables[0].Rows[0]["F_SERVICETYPE"] != null && ds.Tables[0].Rows[0]["F_SERVICETYPE"].ToString() != "")
  1203. {
  1204. model.F_SERVICETYPE = ds.Tables[0].Rows[0]["F_SERVICETYPE"].ToString();
  1205. }
  1206. if (ds.Tables[0].Rows[0]["F_DECLARATIONTIME"] != null && ds.Tables[0].Rows[0]["F_DECLARATIONTIME"].ToString() != "")
  1207. {
  1208. model.F_DECLARATIONTIME = decimal.Parse(ds.Tables[0].Rows[0]["F_DECLARATIONTIME"].ToString());
  1209. }
  1210. if (ds.Tables[0].Rows[0]["F_SERVICENATURE"] != null && ds.Tables[0].Rows[0]["F_SERVICENATURE"].ToString() != "")
  1211. {
  1212. model.F_SERVICENATURE = ds.Tables[0].Rows[0]["F_SERVICENATURE"].ToString();
  1213. }
  1214. if (ds.Tables[0].Rows[0]["F_SERVICEWAY"] != null && ds.Tables[0].Rows[0]["F_SERVICEWAY"].ToString() != "")
  1215. {
  1216. model.F_SERVICEWAY = ds.Tables[0].Rows[0]["F_SERVICEWAY"].ToString();
  1217. }
  1218. if (ds.Tables[0].Rows[0]["F_RETURNVISITMAN"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITMAN"].ToString() != "")
  1219. {
  1220. model.F_RETURNVISITMAN = ds.Tables[0].Rows[0]["F_RETURNVISITMAN"].ToString();
  1221. }
  1222. if (ds.Tables[0].Rows[0]["F_RETURNVISITID"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITID"].ToString() != "")
  1223. {
  1224. model.F_RETURNVISITID = int.Parse(ds.Tables[0].Rows[0]["F_RETURNVISITID"].ToString());
  1225. }
  1226. if (ds.Tables[0].Rows[0]["F_RETURNVISITOPINION"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITOPINION"].ToString() != "")
  1227. {
  1228. model.F_RETURNVISITOPINION = ds.Tables[0].Rows[0]["F_RETURNVISITOPINION"].ToString();
  1229. }
  1230. if (ds.Tables[0].Rows[0]["F_RETURNVISITPROBLEM"] != null && ds.Tables[0].Rows[0]["F_RETURNVISITPROBLEM"].ToString() != "")
  1231. {
  1232. model.F_RETURNVISITPROBLEM = ds.Tables[0].Rows[0]["F_RETURNVISITPROBLEM"].ToString();
  1233. }
  1234. if (ds.Tables[0].Rows[0]["F_CallId"] != null && ds.Tables[0].Rows[0]["F_CallId"].ToString() != "")
  1235. {
  1236. model.F_RETURNVISITID = int.Parse(ds.Tables[0].Rows[0]["F_CallId"].ToString());
  1237. }
  1238. if (ds.Tables[0].Rows[0]["F_CREATEBYids"] != null && ds.Tables[0].Rows[0]["F_CREATEBYids"].ToString() != "")
  1239. {
  1240. model.F_CREATEBYids = ds.Tables[0].Rows[0]["F_CREATEBYids"].ToString();
  1241. }
  1242. return model;
  1243. }
  1244. else
  1245. {
  1246. return null;
  1247. }
  1248. }
  1249. /// <summary>
  1250. /// 获得数据列表
  1251. /// </summary>
  1252. public DataSet GetList(string strWhere)
  1253. {
  1254. StringBuilder strSql = new StringBuilder();
  1255. strSql.Append(@"select F_WORKORDERID,F_WORKORDERTYPEID,F_WORKORDERSTATEID,
  1256. F_CODE,F_WORKORDERNAME,F_NUMBER,F_CUSTOMERNAME,F_CUSTOMERTELEPHONE,F_LINKMAN,F_LINKMANTELEPHONE,
  1257. F_ADSLACCOUNT,F_BANDWIDTH,F_STANDARDADDRESS,F_INSTALLADDRESS,F_KSHADDRESSCODE,F_PROVINCE,F_CITY,
  1258. F_AREA,F_ROAD,F_HOUSING,F_WORKORDERFROM,F_WORKORDERLEVELID,F_FILEFLAG,F_CONTENT,F_CREATEBY,F_CREATEDATE,
  1259. F_DEPTCODE,F_EMPCODE,F_DEPTID,F_USERID,F_USERNAME,F_RETURNVISITFLAG,F_RETURNVISITSTATE,F_RETURNVISITRESULT
  1260. ,F_RETURNVISITCONTENT,F_DELETEFLAG,F_ALLUSETIMES,F_STARTTIME,F_ENDTIME,F_REMAINDERTIME,F_REMAINDERENDTIME,
  1261. F_SUBSCRIBETIME1,F_SUBSCRIBETIME2,F_ACCEPTTIMELIMIT,F_ASKFINISHTIME,F_OVERTIMES,F_FORMID,F_HASTENCOUNTS,F_RANGEID,
  1262. F_RANGEX,F_RANGEY,F_INSTANCEID,F_CUSTOMERID,F_REPAIRMANID,F_REPAIRMANNAME,F_REPAIRMANPHONE,F_REPAIRREQUEST,F_REPAIRCLOSEMANID,
  1263. F_REPAIRCLOSEMANNAME,F_REPAIRCLOSEREASONS,F_REPAIRCLOSEREPTID,F_REPAIRCLOSEREPT,F_REPAIRLEVEL,F_REPAIRLEVELNAME,F_SENTORDERTIME,
  1264. F_USERPHONE,F_RETURNVISITTIME,F_REQUESTSERVICETIME,F_SERVICETYPE,F_DECLARATIONTIME,F_SERVICENATURE,F_SERVICEWAY,F_RETURNVISITMAN,
  1265. F_RETURNVISITID,F_RETURNVISITOPINION,F_RETURNVISITPROBLEM ,F_CallId,F_CREATEBYids ");
  1266. strSql.Append(" FROM T_Wo_WorkOrderBase ");
  1267. if (strWhere.Trim() != "")
  1268. {
  1269. strSql.Append(" where " + strWhere);
  1270. }
  1271. return DbHelperSQL.Query(strSql.ToString());
  1272. }
  1273. /// <summary>
  1274. /// 获得前几行数据
  1275. /// </summary>
  1276. public DataSet GetList(int Top, string strWhere, string filedOrder)
  1277. {
  1278. StringBuilder strSql = new StringBuilder();
  1279. strSql.Append("select ");
  1280. if (Top > 0)
  1281. {
  1282. strSql.Append(" top " + Top.ToString());
  1283. }
  1284. strSql.Append(@" F_WORKORDERID,F_WORKORDERTYPEID,F_WORKORDERSTATEID,
  1285. F_CODE,F_WORKORDERNAME,F_NUMBER,F_CUSTOMERNAME,F_CUSTOMERTELEPHONE,F_LINKMAN,F_LINKMANTELEPHONE,
  1286. F_ADSLACCOUNT,F_BANDWIDTH,F_STANDARDADDRESS,F_INSTALLADDRESS,F_KSHADDRESSCODE,F_PROVINCE,F_CITY,F_AREA,
  1287. F_ROAD,F_HOUSING,F_WORKORDERFROM,F_WORKORDERLEVELID,F_FILEFLAG,F_CONTENT,F_CREATEBY,F_CREATEDATE,F_DEPTCODE,
  1288. F_EMPCODE,F_DEPTID,F_USERID,F_USERNAME,F_RETURNVISITFLAG,F_RETURNVISITSTATE,F_RETURNVISITRESULT,F_RETURNVISITCONTENT,
  1289. F_DELETEFLAG,F_ALLUSETIMES,F_STARTTIME,F_ENDTIME,F_REMAINDERTIME,F_REMAINDERENDTIME,F_SUBSCRIBETIME1,F_SUBSCRIBETIME2,
  1290. F_ACCEPTTIMELIMIT,F_ASKFINISHTIME,F_OVERTIMES,F_FORMID,F_HASTENCOUNTS,F_RANGEID,F_RANGEX,F_RANGEY,F_INSTANCEID,F_CUSTOMERID,
  1291. F_REPAIRMANID,F_REPAIRMANNAME,F_REPAIRMANPHONE,F_REPAIRREQUEST,F_REPAIRCLOSEMANID,F_REPAIRCLOSEMANNAME,F_REPAIRCLOSEREASONS,
  1292. F_REPAIRCLOSEREPTID,F_REPAIRCLOSEREPT,F_REPAIRLEVEL,F_REPAIRLEVELNAME,F_SENTORDERTIME,F_USERPHONE,F_RETURNVISITTIME,F_REQUESTSERVICETIME,
  1293. F_SERVICETYPE,F_DECLARATIONTIME,F_SERVICENATURE,F_SERVICEWAY,F_RETURNVISITMAN,F_RETURNVISITID,F_RETURNVISITOPINION,F_RETURNVISITPROBLEM ,F_CallId,F_CREATEBYids");
  1294. strSql.Append(" FROM T_Wo_WorkOrderBase ");
  1295. if (strWhere.Trim() != "")
  1296. {
  1297. strSql.Append(" where " + strWhere);
  1298. }
  1299. strSql.Append(" order by " + filedOrder);
  1300. return DbHelperSQL.Query(strSql.ToString());
  1301. }
  1302. /// <summary>
  1303. /// 获取记录总数
  1304. /// </summary>
  1305. public int GetRecordCount(string strWhere)
  1306. {
  1307. StringBuilder strSql = new StringBuilder();
  1308. strSql.Append("select count(1) FROM T_Wo_WorkOrderBase ");
  1309. if (strWhere.Trim() != "")
  1310. {
  1311. strSql.Append(" where " + strWhere);
  1312. }
  1313. object obj = DbHelperSQL.GetSingle(strSql.ToString());
  1314. if (obj == null)
  1315. {
  1316. return 0;
  1317. }
  1318. else
  1319. {
  1320. return Convert.ToInt32(obj);
  1321. }
  1322. }
  1323. /// <summary>
  1324. /// 分页获取数据列表
  1325. /// </summary>
  1326. public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
  1327. {
  1328. StringBuilder strSql = new StringBuilder();
  1329. strSql.Append("SELECT * FROM ( ");
  1330. strSql.Append(" SELECT ROW_NUMBER() OVER (");
  1331. if (!string.IsNullOrEmpty(orderby.Trim()))
  1332. {
  1333. strSql.Append("order by T." + orderby);
  1334. }
  1335. else
  1336. {
  1337. strSql.Append("order by T.F_WORKORDERID desc");
  1338. }
  1339. strSql.Append(")AS Row, T.* from T_Wo_WorkOrderBase T ");
  1340. if (!string.IsNullOrEmpty(strWhere.Trim()))
  1341. {
  1342. strSql.Append(" WHERE " + strWhere);
  1343. }
  1344. strSql.Append(" ) TT");
  1345. strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
  1346. return DbHelperSQL.Query(strSql.ToString());
  1347. }
  1348. #region
  1349. /*
  1350. /// <summary>
  1351. /// 分页获取数据列表
  1352. /// </summary>
  1353. public DataSet GetList(int PageSize,int PageIndex,string strWhere)
  1354. {
  1355. SqlParameter[] parameters = {
  1356. new SqlParameter("@tblName", SqlDbType.VarChar, 255),
  1357. new SqlParameter("@fldName", SqlDbType.VarChar, 255),
  1358. new SqlParameter("@PageSize", SqlDbType.Int),
  1359. new SqlParameter("@PageIndex", SqlDbType.Int),
  1360. new SqlParameter("@IsReCount", SqlDbType.Bit),
  1361. new SqlParameter("@OrderType", SqlDbType.Bit),
  1362. new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
  1363. };
  1364. parameters[0].Value = "T_Wo_WorkOrderBase";
  1365. parameters[1].Value = "F_WORKORDERID";
  1366. parameters[2].Value = PageSize;
  1367. parameters[3].Value = PageIndex;
  1368. parameters[4].Value = 0;
  1369. parameters[5].Value = 0;
  1370. parameters[6].Value = strWhere;
  1371. return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
  1372. }*/
  1373. #endregion
  1374. #endregion Method
  1375. #region 编辑工单信息
  1376. /// <summary>
  1377. /// 编辑工单信息
  1378. /// </summary>
  1379. /// <param name="model">工单实体</param>
  1380. /// <returns></returns>
  1381. public bool UpdateWorkOrderInfoModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  1382. {
  1383. //历史工单id
  1384. int historyId = 0;
  1385. Model.T_Wo_WorkOrderBase modelbase = GetModel(model.F_WORKORDERID);
  1386. // 提交
  1387. if (model.F_WORKORDERSTATEID > 0)
  1388. {
  1389. if (model.F_RETURNVISITFLAG == null)
  1390. {
  1391. model.F_RETURNVISITFLAG = 0;
  1392. }
  1393. if (model.F_REQUESTSERVICETIME.HasValue && model.F_REQUESTSERVICETIME.Value.Year == 1)
  1394. {
  1395. model.F_REQUESTSERVICETIME = null;
  1396. }
  1397. else if (model.F_REQUESTSERVICETIME.HasValue)
  1398. {
  1399. model.F_REQUESTSERVICETIME = model.F_REQUESTSERVICETIME.Value.AddDays(1).AddSeconds(-1);
  1400. }
  1401. else
  1402. {
  1403. model.F_REQUESTSERVICETIME = null;
  1404. }
  1405. // if (model.F_HOUSING == "表扬" || model.F_HOUSING == "咨询" || model.F_HOUSING == "挂失")
  1406. if (model.F_HOUSING == "表扬")
  1407. {
  1408. // model.F_WORKORDERTYPEID = 3;
  1409. model.F_WORKORDERTYPEID = 3;
  1410. if (model.F_HOUSING == "表扬")
  1411. {
  1412. if (model.HistoryOrderList != null && model.HistoryOrderList.Count > 0)
  1413. {
  1414. //先看看这个 工单有没有表扬的记录 有的话给删掉
  1415. DataTable dt = NoticeBll.GetList(" OrderId='" + model.F_WORKORDERID + "'").Tables[0];
  1416. if (dt.Rows.Count > 0)
  1417. {
  1418. foreach (DataRow dr in dt.Rows)
  1419. {
  1420. int NoticeId = Convert.ToInt32(dr["NoticeId"]);
  1421. Model.T_Wo_WorkOrderNotice modelNotice = NoticeBll.GetModel(NoticeId);
  1422. int userid = Convert.ToInt32(model.F_LINKMAN);
  1423. NoticeBll.Delete(NoticeId);
  1424. }
  1425. }
  1426. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1427. {
  1428. Model.T_Wo_WorkOrderNotice modelNotice = new Model.T_Wo_WorkOrderNotice();
  1429. modelNotice.OrderId = model.F_WORKORDERID;
  1430. modelNotice.NoticeType = 0;
  1431. modelNotice.NoticeState = 1;
  1432. modelNotice.NoticeDeptName = historyModel.F_NEXTOWNERARRID.ToMyString();
  1433. modelNotice.NoticeDeptId = historyModel.F_OPTBTNID.ToInt32();
  1434. NoticeBll.Add(modelNotice);
  1435. }
  1436. }
  1437. }
  1438. if (model.F_RETURNVISITFLAG == 1)
  1439. {
  1440. model.F_WORKORDERSTATEID = 3;
  1441. model.F_ENDTIME = DateTime.Now;
  1442. model.F_REPAIRREQUEST = "待回访";
  1443. }
  1444. else
  1445. {
  1446. model.F_ENDTIME = DateTime.Now;
  1447. model.F_WORKORDERSTATEID = 5;
  1448. model.F_REPAIRREQUEST = "已处理";
  1449. }
  1450. }
  1451. // if (model.F_WORKORDERTYPEID == 1)
  1452. else if (model.F_WORKORDERTYPEID == 1)
  1453. {
  1454. //转单
  1455. if (model.HistoryOrderList != null)
  1456. {
  1457. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1458. {
  1459. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  1460. historyModel.F_OPTDATE = DateTime.Now;
  1461. historyModel.F_WORKORDERSTATEID = 0;
  1462. historyModel.F_StateName = "未处理";
  1463. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  1464. historyId = InsertWorkOrderHistoryModel(historyModel);
  1465. }
  1466. if (model.HistoryOrderList.Count > 0)
  1467. {
  1468. historyId = model.HistoryOrderList.Count;
  1469. }
  1470. }
  1471. if (model.F_HOUSING == "咨询" || model.F_HOUSING == "挂失")
  1472. {
  1473. #region
  1474. //if (model.F_RETURNVISITFLAG!= 1)
  1475. //{
  1476. // model.F_WORKORDERSTATEID = 3;
  1477. // model.F_ENDTIME = DateTime.Now;
  1478. // model.F_REPAIRREQUEST = "待回访";
  1479. //}
  1480. //else
  1481. //{
  1482. // model.F_WORKORDERSTATEID = 1;
  1483. // model.F_ENDTIME = DateTime.Now;
  1484. // model.F_REPAIRREQUEST = "处理中";
  1485. //}
  1486. #endregion
  1487. model.F_WORKORDERSTATEID = 1;
  1488. model.F_ENDTIME = DateTime.Now;
  1489. model.F_REPAIRREQUEST = "处理中";
  1490. #region
  1491. //if (model.F_RETURNVISITFLAG != 1)
  1492. //{
  1493. //}
  1494. //else
  1495. //{
  1496. // model.F_WORKORDERSTATEID = 3;
  1497. // model.F_ENDTIME = DateTime.Now;
  1498. // model.F_REPAIRREQUEST = "待回访";
  1499. //}
  1500. //foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1501. //{
  1502. // historyModel.F_INSTANCEID = model.F_WORKORDERID;
  1503. // historyModel.F_StateName = "处理中";
  1504. // historyId = InsertWorkOrderHistoryModel(historyModel);
  1505. //}
  1506. #endregion
  1507. }
  1508. }
  1509. else if (model.F_HOUSING == "投诉")
  1510. {
  1511. if (model.F_RETURNVISITFLAG == 1)
  1512. {
  1513. model.F_WORKORDERSTATEID = 3;
  1514. model.F_ENDTIME = DateTime.Now;
  1515. model.F_REPAIRREQUEST = "待回访";
  1516. }
  1517. else
  1518. {
  1519. model.F_WORKORDERSTATEID = 4;
  1520. model.F_ENDTIME = DateTime.Now;
  1521. model.F_REPAIRREQUEST = "待定责";
  1522. }
  1523. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1524. {
  1525. historyId = InsertWorkOrderHistoryModel(historyModel);
  1526. }
  1527. }
  1528. else if (model.F_HOUSING == "建议")
  1529. {
  1530. if (model.F_RETURNVISITFLAG == 1)
  1531. {
  1532. model.F_WORKORDERSTATEID = 3;
  1533. model.F_ENDTIME = DateTime.Now;
  1534. model.F_REPAIRREQUEST = "待回访";
  1535. }
  1536. else
  1537. {
  1538. model.F_WORKORDERSTATEID = 5;
  1539. model.F_ENDTIME = DateTime.Now;
  1540. model.F_REPAIRREQUEST = "已处理";
  1541. }
  1542. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1543. {
  1544. historyId = InsertWorkOrderHistoryModel(historyModel);
  1545. }
  1546. }
  1547. //记录派单时间计算工单超时
  1548. model.F_SENTORDERTIME = DateTime.Now;
  1549. //超时时间 直接结束的工单超时时间为0
  1550. //int tempn = (int)DateUtil.DateDiff(DateInterval.Second, modelbase.F_CREATEBY.ToDateTime().AddDays(5), DateTime.Now);
  1551. //if (tempn < 0)
  1552. //{
  1553. // tempn = 0;
  1554. //}
  1555. model.F_OVERTIMES = 0;
  1556. }
  1557. string F_HOUSINGint = "0";
  1558. switch (model.F_HOUSING)
  1559. {
  1560. case "咨询":
  1561. F_HOUSINGint = "1";
  1562. break;
  1563. case "投诉":
  1564. F_HOUSINGint = "2";
  1565. break;
  1566. case "建议":
  1567. F_HOUSINGint = "3";
  1568. break;
  1569. case "表扬":
  1570. F_HOUSINGint = "4";
  1571. break;
  1572. case "挂失":
  1573. F_HOUSINGint = "5";
  1574. break;
  1575. }
  1576. DbHelperSQL.ExecuteSql(string.Format("update T_Call_CallRecords set F_ServiceType={0} where CallId=(select top 1 F_KSHADDRESSCODE from T_Wo_WorkOrderBase where F_WORKORDERID={1})", F_HOUSINGint, model.F_WORKORDERID));
  1577. StringBuilder strSql = new StringBuilder();
  1578. strSql.Append("update T_Wo_WorkOrderBase set ");
  1579. strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  1580. strSql.Append("F_OVERTIMES=@F_OVERTIMES,");
  1581. strSql.Append("F_SENTORDERTIME=@F_SENTORDERTIME,");
  1582. strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  1583. strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  1584. //strSql.Append("F_WORKORDERFROM=@F_WORKORDERFROM,");
  1585. strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  1586. strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  1587. strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  1588. strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  1589. strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  1590. strSql.Append("F_CONTENT=@F_CONTENT,");
  1591. strSql.Append("F_WORKORDERTYPEID=@F_WORKORDERTYPEID,");
  1592. //strSql.Append("F_USERID=@F_USERID,");
  1593. //strSql.Append("F_REPAIRMANNAME=@F_REPAIRMANNAME,");
  1594. // strSql.Append("F_CREATEDATE=@F_CREATEDATE,");
  1595. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  1596. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST,");
  1597. strSql.Append("F_INSTALLADDRESS=@F_INSTALLADDRESS,");
  1598. strSql.Append("F_DEPTID=@F_DEPTID,");
  1599. strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  1600. strSql.Append("F_CREATEBY=@F_CREATEBY,");
  1601. strSql.Append("F_USERNAME=@F_USERNAME,");
  1602. strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  1603. strSql.Append("F_RETURNVISITCONTENT=@F_RETURNVISITCONTENT,");
  1604. strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  1605. strSql.Append("F_RETURNVISITTIME =@F_RETURNVISITTIME,");
  1606. strSql.Append("F_CODE =@F_CODE,");
  1607. strSql.Append("F_FILEFLAG =@F_FILEFLAG,");
  1608. strSql.Append("F_HOUSING =@F_HOUSING,");
  1609. // strSql.Append("F_LINKMAN =@F_LINKMAN,");
  1610. //strSql.Append("F_REPAIRMANID =@F_REPAIRMANID,");
  1611. strSql.Append("F_REMAINDERENDTIME =@F_REMAINDERENDTIME,");
  1612. strSql.Append("F_RETURNVISITOPINION =@F_RETURNVISITOPINION,");
  1613. strSql.Append("F_ENDTIME =@F_ENDTIME,");
  1614. strSql.Append("F_FORMID =@F_FORMID");
  1615. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  1616. SqlParameter[] parameters = {
  1617. new SqlParameter("@F_CUSTOMERID", model.F_CUSTOMERID),
  1618. new SqlParameter("@F_CUSTOMERNAME", model.F_CUSTOMERNAME),
  1619. new SqlParameter("@F_CUSTOMERTELEPHONE", model.F_CUSTOMERTELEPHONE),
  1620. new SqlParameter("@F_OVERTIMES", model.F_OVERTIMES),
  1621. new SqlParameter("@F_RETURNVISITPROBLEM", model.F_RETURNVISITPROBLEM),
  1622. new SqlParameter("@F_REPAIRLEVEL", model.F_REPAIRLEVEL),
  1623. new SqlParameter("@F_ADSLACCOUNT", model.F_ADSLACCOUNT),
  1624. new SqlParameter("@F_WORKORDERLEVELID", model.F_WORKORDERLEVELID),
  1625. new SqlParameter("@F_WORKORDERNAME", model.F_WORKORDERNAME),
  1626. new SqlParameter("@F_CONTENT", model.F_CONTENT),
  1627. new SqlParameter("@F_WORKORDERTYPEID", model.F_WORKORDERTYPEID),
  1628. new SqlParameter("@F_USERID",model.F_USERID),
  1629. //new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,200),
  1630. //new SqlParameter("@F_CREATEDATE", DateTime.Now),
  1631. new SqlParameter("@F_WORKORDERSTATEID", model.F_WORKORDERSTATEID),
  1632. new SqlParameter("@F_REPAIRREQUEST", model.F_REPAIRREQUEST),
  1633. new SqlParameter("@F_INSTALLADDRESS", model.F_INSTALLADDRESS),
  1634. new SqlParameter("@F_DEPTID", model.F_DEPTID),
  1635. new SqlParameter("@F_DEPTCODE", model.F_DEPTCODE),
  1636. new SqlParameter("@F_CREATEBY", model.F_CREATEBY),
  1637. new SqlParameter("@F_USERNAME", model.F_USERNAME),
  1638. new SqlParameter("@F_REQUESTSERVICETIME",model.F_REQUESTSERVICETIME),
  1639. new SqlParameter("@F_RETURNVISITCONTENT", model.F_RETURNVISITCONTENT),
  1640. new SqlParameter("@F_RETURNVISITFLAG", model.F_RETURNVISITFLAG),
  1641. new SqlParameter("@F_RETURNVISITTIME ", model.F_RETURNVISITTIME),
  1642. new SqlParameter("@F_CODE ", model.F_CODE),
  1643. new SqlParameter("@F_FILEFLAG", model.F_FILEFLAG),
  1644. new SqlParameter("@F_HOUSING ", model.F_HOUSING),
  1645. // new SqlParameter("@F_LINKMAN", SqlDbType.NVarChar,200),
  1646. //new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  1647. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1648. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1649. new SqlParameter("@F_FORMID", historyId),
  1650. new SqlParameter("@F_ENDTIME", model.F_ENDTIME),
  1651. new SqlParameter("@F_SENTORDERTIME", model.F_SENTORDERTIME),
  1652. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1653. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  1654. if (rows > 0)
  1655. {
  1656. return true;
  1657. }
  1658. else
  1659. {
  1660. return false;
  1661. }
  1662. }
  1663. //业务类型
  1664. DAL.T_Wo_WorkOrderType dal = new T_Wo_WorkOrderType();
  1665. /// <summary>
  1666. /// 获取订单编号
  1667. /// </summary>
  1668. /// <param name="bussnessType">业务类型</param>
  1669. /// <returns></returns>
  1670. public string GetOrderNumber(int bussnessType)
  1671. {
  1672. string orderNumber = "";
  1673. if (bussnessType > 0)
  1674. {
  1675. Model.T_Wo_WorkOrderType model = dal.GetModel(bussnessType);
  1676. if (model != null && !string.IsNullOrEmpty(model.F_ParentName))
  1677. {
  1678. orderNumber += model.F_ParentName;
  1679. }
  1680. }
  1681. orderNumber += DateTime.Now.ToString("yyyyMMdd");
  1682. //当前最大编号
  1683. string maxOrderNum = GetMaxOrderNumber(orderNumber);
  1684. if (!string.IsNullOrEmpty(maxOrderNum))
  1685. {
  1686. orderNumber += (int.Parse(("1" + maxOrderNum.Substring(10)).ToString()) + 1).ToString().Substring(1);
  1687. }
  1688. else
  1689. {
  1690. orderNumber += "0001";
  1691. }
  1692. return orderNumber;
  1693. }
  1694. /// <summary>
  1695. /// 获取最大编号
  1696. /// </summary>
  1697. /// <param name="orderNumStart">编号前面部门(ZX20180322)</param>
  1698. /// <returns></returns>
  1699. public string GetMaxOrderNumber(string orderNumStart)
  1700. {
  1701. StringBuilder strSql = new StringBuilder();
  1702. strSql.Append("select max(F_CODE) from T_Wo_WorkOrderBase ");
  1703. strSql.Append(" where F_CODE like '" + orderNumStart + "%' ");
  1704. YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model = new YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase();
  1705. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1706. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  1707. {
  1708. return ds.Tables[0].Rows[0][0].ToString();
  1709. }
  1710. else
  1711. {
  1712. return "";
  1713. }
  1714. }
  1715. /// <summary>
  1716. /// 插入转办信息
  1717. /// </summary>
  1718. /// <param name="model"></param>
  1719. /// <returns></returns>
  1720. public int InsertWorkOrderHistoryModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderHistory model)
  1721. {
  1722. object time = model.ReplayTime;
  1723. if (model.ReplayTime.Year == 1)
  1724. {
  1725. time = null;
  1726. }
  1727. StringBuilder strSql = new StringBuilder();
  1728. strSql.Append("insert into T_Wo_WorkOrderHistory(");
  1729. strSql.Append("F_WORKORDERSTATEID,F_OPTUSERID,F_OPTDATE,F_NEXTOWNERARRID,F_REMARK,F_OPTBTNID,F_INSTANCEID,F_StateName,F_UserName,NeedReplayTime,F_TASKFLAG,ReplayTime)");
  1730. strSql.Append(" values (");
  1731. strSql.Append("@F_WORKORDERSTATEID,@F_OPTUSERID,@F_OPTDATE,@F_NEXTOWNERARRID,@F_REMARK,@F_OPTBTNID,@F_INSTANCEID,@F_StateName,@F_UserName,@NeedReplayTime,@F_TASKFLAG,@ReplayTime)");
  1732. strSql.Append(";select @@IDENTITY");
  1733. SqlParameter[] parameters = {
  1734. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  1735. new SqlParameter("@F_OPTUSERID", SqlDbType.Int,4),
  1736. new SqlParameter("@F_OPTDATE", SqlDbType.DateTime),
  1737. new SqlParameter("@F_NEXTOWNERARRID", SqlDbType.NVarChar,200),
  1738. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  1739. new SqlParameter("@F_OPTBTNID", SqlDbType.Int,4),
  1740. new SqlParameter("@F_INSTANCEID", SqlDbType.Int,4),
  1741. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  1742. new SqlParameter("@F_UserName", SqlDbType.NVarChar,200),
  1743. new SqlParameter("@NeedReplayTime", SqlDbType.DateTime),
  1744. new SqlParameter("@F_TASKFLAG", SqlDbType.Int,4),
  1745. new SqlParameter("@ReplayTime", time),
  1746. };
  1747. parameters[0].Value = model.F_WORKORDERSTATEID;
  1748. parameters[1].Value = model.F_OPTUSERID;
  1749. parameters[2].Value = model.F_OPTDATE;
  1750. parameters[3].Value = model.F_NEXTOWNERARRID;
  1751. parameters[4].Value = model.F_REMARK;
  1752. parameters[5].Value = model.F_OPTBTNID;
  1753. parameters[6].Value = model.F_INSTANCEID;
  1754. parameters[7].Value = model.F_StateName;
  1755. parameters[8].Value = model.F_UserName;
  1756. parameters[9].Value = model.NeedReplayTime;
  1757. parameters[10].Value = model.F_TASKFLAG;
  1758. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  1759. if (obj == null)
  1760. {
  1761. return 0;
  1762. }
  1763. else
  1764. {
  1765. return Convert.ToInt32(obj);
  1766. }
  1767. }
  1768. #endregion ExtensionMethod
  1769. #region 提交转办信息
  1770. public bool EditMyOrderInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  1771. {
  1772. bool EditStatus = false;
  1773. //历史工单id
  1774. int historyId = EditMyOrderHistoryInfo(model);
  1775. //修改历史记录成功
  1776. if (historyId > 0)
  1777. {
  1778. StringBuilder strSql = new StringBuilder();
  1779. strSql.Append("update T_Wo_WorkOrderBase set ");
  1780. strSql.Append("F_DEPTID=@F_DEPTID,");
  1781. strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  1782. strSql.Append("F_CREATEBY=@F_CREATEBY,");
  1783. strSql.Append("F_USERNAME=@F_USERNAME,");
  1784. strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  1785. strSql.Append("F_FORMID =@F_FORMID,");
  1786. strSql.Append("F_REMAINDERENDTIME =@F_REMAINDERENDTIME,");
  1787. strSql.Append("F_RETURNVISITRESULT =@F_RETURNVISITRESULT,");
  1788. strSql.Append("F_ROAD =@F_ROAD,");
  1789. strSql.Append("F_RETURNVISITOPINION =@F_RETURNVISITOPINION");
  1790. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  1791. SqlParameter[] parameters = {
  1792. new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  1793. new SqlParameter("@F_DEPTCODE", SqlDbType.NVarChar,200),
  1794. new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  1795. new SqlParameter("@F_USERNAME", SqlDbType.NVarChar,200),
  1796. new SqlParameter("@F_REQUESTSERVICETIME",SqlDbType.DateTime),
  1797. new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  1798. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  1799. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  1800. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  1801. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  1802. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  1803. parameters[0].Value = model.F_DEPTID;
  1804. parameters[1].Value = model.F_DEPTCODE;
  1805. parameters[2].Value = model.F_CREATEBY;
  1806. parameters[3].Value = model.F_USERNAME;
  1807. parameters[4].Value = model.F_REQUESTSERVICETIME;
  1808. parameters[5].Value = historyId;
  1809. parameters[6].Value = model.F_REMAINDERENDTIME;
  1810. parameters[7].Value = model.F_RETURNVISITRESULT;
  1811. parameters[8].Value = model.F_ROAD;
  1812. parameters[9].Value = model.F_RETURNVISITOPINION;
  1813. parameters[10].Value = model.F_WORKORDERID;
  1814. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1815. }
  1816. return EditStatus;
  1817. }
  1818. /// <summary>
  1819. /// 处理转办信息
  1820. /// </summary>
  1821. /// <param name="model"></param>
  1822. /// <returns></returns>
  1823. public bool SubmitOrder(Model.T_Wo_WorkOrderHistory model)
  1824. {
  1825. bool EditStatus = false;
  1826. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  1827. //如果工单状态处理中
  1828. if (model.F_WORKORDERSTATEID == 0)
  1829. {
  1830. //更新新本次转办信息
  1831. Model.T_Wo_WorkOrderHistory eidthistoryModel = bllOrderHistory.GetModel(model.F_HISTORYID);
  1832. //工单主键
  1833. eidthistoryModel.F_REMARK = model.F_REMARK;//处理内容
  1834. eidthistoryModel.F_StateName = "已处理";
  1835. eidthistoryModel.F_WORKORDERSTATEID = 1;
  1836. eidthistoryModel.ReplayTime = DateTime.Now;
  1837. if (bllOrderHistory.Update(eidthistoryModel))
  1838. {
  1839. //判断是否所有的转办已经被处理 F_WORKORDERSTATEID=1 处理中 F_WORKORDERTYPEID=1转单
  1840. int n = bllOrderHistory.GetRecordCount(string.Format("F_WORKORDERSTATEID=0 and F_StateName='未处理' and F_INSTANCEID=(select F_WORKORDERID from T_Wo_WorkOrderBase where F_WORKORDERID='{0}' and F_WORKORDERSTATEID=1 and F_WORKORDERTYPEID=1)", eidthistoryModel.F_INSTANCEID));// (F_REMARK != '已撤回' or F_REMARK IS NULL)
  1841. EditStatus = true;
  1842. if (n == 0)
  1843. {
  1844. LogAciton.AddAction(eidthistoryModel.F_UserName, eidthistoryModel.F_OPTUSERID.ToInt32(), "历史工单模块调用工单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrder", "DAL/T_Wo_WorkOrderBase/UpdateOrderToHF");
  1845. UpdateOrderToHF(eidthistoryModel.F_INSTANCEID.ToInt32());
  1846. }
  1847. //如果有转办信息插入转办信息
  1848. // historyId = InsertWorkOrderHistoryModel(historyModel);
  1849. }
  1850. }
  1851. return EditStatus;
  1852. }
  1853. /// <summary>
  1854. /// 处理转办信息
  1855. /// </summary>
  1856. /// <param name="model"></param>
  1857. /// <returns></returns>
  1858. public bool SubmitOrder(Model.T_Wo_WorkOrderHistory model, int? workorderid, string F_username)
  1859. {
  1860. bool EditStatus = false;
  1861. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  1862. //如果工单状态处理中
  1863. if (model.F_WORKORDERSTATEID == 0)
  1864. {
  1865. if (model.F_HISTORYID != 0)//cong待回访中驳回的时候 model.F_HISTORYID=0
  1866. {
  1867. DbHelperSQL.ExecuteSql(" UPDATE T_Wo_WorkOrderHistory SET F_WORKORDERSTATEID=1, F_StateName ='已处理', F_REMARK='" + model.F_REMARK + "',ReplayTime=getdate() WHERE F_INSTANCEID='" + workorderid + "' AND F_UserName='" + F_username + "' and NeedReplayTime is not null AND F_StateName NOT LIKE '%撤回%' AND F_StateName NOT LIKE '%驳回%'");
  1868. ////更新新本次转办信息
  1869. //Model.T_Wo_WorkOrderHistory eidthistoryModel = bllOrderHistory.GetModel(model.F_HISTORYID);
  1870. ////工单主键
  1871. //eidthistoryModel.F_REMARK = model.F_REMARK;//处理内容
  1872. //eidthistoryModel.F_StateName = "已处理";
  1873. //eidthistoryModel.F_WORKORDERSTATEID = 1;
  1874. //eidthistoryModel.ReplayTime = DateTime.Now;
  1875. //if (bllOrderHistory.Update(eidthistoryModel))
  1876. //{
  1877. // 判断是否所有的转办已经被处理 F_WORKORDERSTATEID = 1 处理中 F_WORKORDERTYPEID = 1转单
  1878. int n = bllOrderHistory.GetRecordCount(string.Format("F_WORKORDERSTATEID=0 and F_StateName='未处理' and F_INSTANCEID=(select F_WORKORDERID from T_Wo_WorkOrderBase where F_WORKORDERID='{0}' and F_WORKORDERSTATEID=1 and F_WORKORDERTYPEID=1)", workorderid));// (F_REMARK != '已撤回' or F_REMARK IS NULL)
  1879. EditStatus = true;
  1880. if (n == 0)
  1881. {
  1882. LogAciton.AddAction(F_username, 0, "历史工单模块调用工单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrder", "DAL/T_Wo_WorkOrderBase/UpdateOrderToHF");
  1883. UpdateOrderToHF(workorderid == null ? 0 : workorderid.ToInt32());
  1884. }
  1885. //}
  1886. }
  1887. else
  1888. {
  1889. //
  1890. int n = DbHelperSQL.ExecuteSql(" UPDATE T_Wo_WorkOrderHistory SET F_REMARK='" + model.F_REMARK + "',ReplayTime=getdate() WHERE F_INSTANCEID='" + workorderid + "' AND F_UserName='" + F_username + "' and NeedReplayTime is not null AND ReplayTime IS NOT NULL ");
  1891. EditStatus = true;
  1892. if (n == 1)
  1893. {
  1894. LogAciton.AddAction(F_username, 0, "历史工单模块调用工单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrder", "DAL/T_Wo_WorkOrderBase/UpdateOrderToHF");
  1895. UpdateOrderToHF(workorderid == null ? 0 : workorderid.ToInt32());
  1896. }
  1897. }
  1898. }
  1899. return EditStatus;
  1900. }
  1901. //转单处理完 转回复
  1902. public void UpdateOrderToHF(int F_WORKORDERID)
  1903. {
  1904. Model.T_Wo_WorkOrderBase modelbase = GetModel(F_WORKORDERID);
  1905. StringBuilder strSql = new StringBuilder();
  1906. strSql.Append("update T_Wo_WorkOrderBase set ");
  1907. strSql.Append(" F_REMAINDERTIME=GETDATE(), ");
  1908. if (modelbase.F_RETURNVISITFLAG == 1)
  1909. {
  1910. strSql.Append("F_REPAIRREQUEST='待回访', ");
  1911. strSql.Append("F_WORKORDERSTATEID=3,");
  1912. }
  1913. else if (modelbase.F_HOUSING == "投诉")
  1914. {
  1915. strSql.Append("F_ENDTIME=GETDATE(), ");
  1916. strSql.Append("F_WORKORDERSTATEID=4,");
  1917. strSql.Append("F_REPAIRREQUEST='待定责', ");
  1918. }
  1919. else
  1920. {
  1921. strSql.Append("F_ENDTIME=GETDATE(), ");
  1922. strSql.Append("F_WORKORDERSTATEID=5,");
  1923. strSql.Append("F_REPAIRREQUEST='已处理', ");
  1924. }
  1925. // strSql.Append("F_OVERTIMES=CASE WHEN ISNULL(DATEDIFF(second, DATEADD(day,5,F_SENTORDERTIME), GETDATE()),0)<1 THEN 0 ELSE DATEDIFF(second, DATEADD(day,5,F_SENTORDERTIME), GETDATE()) END ");
  1926. //计划回访时间 F_RETURNVISITTIME(原来的派单时间+5改成计划回访时间)
  1927. strSql.Append("F_OVERTIMES=CASE WHEN ISNULL(DATEDIFF(second, F_RETURNVISITTIME, GETDATE()),0)<1 THEN 0 ELSE DATEDIFF(second, F_RETURNVISITTIME, GETDATE()) END ");
  1928. //转单F_WORKORDERTYPEID= 1转单 3客服处理 处理中 F_WORKORDERSTATEID=0未处理 1处理中 2已办结(结束) 3待回访 4待定责 5待通知
  1929. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1");
  1930. SqlParameter[] parameters = {
  1931. new SqlParameter("@F_WORKORDERID",F_WORKORDERID)};
  1932. DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  1933. }
  1934. /// <summary>
  1935. /// 回访转工单
  1936. /// </summary>
  1937. /// <param name="F_WORKORDERID"></param>
  1938. /// <param name="type">type 0转单 1定责</param>
  1939. public bool UpdateOrderToZD(Model.T_Wo_WorkOrderBase model)
  1940. {
  1941. StringBuilder strSql = new StringBuilder();
  1942. strSql.Append("update T_Wo_WorkOrderBase set ");
  1943. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  1944. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  1945. strSql.Append("F_ROAD=@F_ROAD,");
  1946. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  1947. strSql.Append("F_WORKORDERSTATEID=1,");//转单
  1948. strSql.Append("F_WORKORDERTYPEID=1,");//待回访转处理中
  1949. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  1950. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  1951. SqlParameter[] parameters = {
  1952. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1953. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  1954. new SqlParameter("@F_ROAD", ""),
  1955. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1956. new SqlParameter("@F_REPAIRREQUEST","回访转单处理中"),
  1957. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1958. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1959. }
  1960. /// <summary>
  1961. /// 回访转定责
  1962. /// </summary>
  1963. /// <param name="F_WORKORDERID"></param>
  1964. /// <param name="type">type 0转单 1定责</param>
  1965. public bool UpdateOrderToDZ(Model.T_Wo_WorkOrderBase model)
  1966. {
  1967. StringBuilder strSql = new StringBuilder();
  1968. strSql.Append("update T_Wo_WorkOrderBase set ");
  1969. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  1970. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  1971. strSql.Append("F_ROAD=@F_ROAD,");
  1972. strSql.Append("F_ENDTIME=@F_ENDTIME,");
  1973. //原来的回访时间的判断是 派单时间加5 改成 计划回访时间 F_RETURNVISITTIME
  1974. // strSql.Append("F_OVERTIMES= CASE WHEN ISNULL(DATEDIFF(second, DATEADD(day,5,F_SENTORDERTIME), GETDATE()),0)< 1 OR F_HOUSING!= '投诉' THEN 0 ELSE DATEDIFF(second, DATEADD(day,5,F_SENTORDERTIME), GETDATE()) END,");
  1975. strSql.Append("F_OVERTIMES= CASE WHEN ISNULL(DATEDIFF(second,F_RETURNVISITTIME, GETDATE()),0)< 1 OR F_HOUSING!= '投诉' THEN 0 ELSE DATEDIFF(second, F_RETURNVISITTIME, GETDATE()) END,");
  1976. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  1977. strSql.Append("F_WORKORDERSTATEID=4,");//定责
  1978. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  1979. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  1980. SqlParameter[] parameters = {
  1981. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1982. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  1983. new SqlParameter("@F_ROAD", ""),//原为满意度,前端没有用,后用作定责人员
  1984. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1985. new SqlParameter("@F_REPAIRREQUEST","待定责"),
  1986. new SqlParameter("@F_ENDTIME",model.F_ENDTIME),
  1987. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1988. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1989. }
  1990. /// <summary>
  1991. /// 回访转已处理
  1992. /// </summary>
  1993. /// <param name="F_WORKORDERID"></param>
  1994. /// <param name="type">type 0转单 1定责</param>
  1995. public bool UpdateOrderToOver(Model.T_Wo_WorkOrderBase model)
  1996. {
  1997. StringBuilder strSql = new StringBuilder();
  1998. strSql.Append("update T_Wo_WorkOrderBase set ");
  1999. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  2000. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  2001. strSql.Append("F_ROAD=@F_ROAD,");
  2002. strSql.Append("F_ENDTIME=@F_ENDTIME,");
  2003. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  2004. strSql.Append("F_WORKORDERSTATEID=5,");//定责
  2005. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  2006. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  2007. SqlParameter[] parameters = {
  2008. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  2009. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  2010. new SqlParameter("@F_ROAD", ""),//原为满意度,前端没有用,后用作定责人员
  2011. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  2012. new SqlParameter("@F_REPAIRREQUEST","已处理"),
  2013. new SqlParameter("@F_ENDTIME",model.F_ENDTIME),
  2014. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  2015. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2016. }
  2017. //修改并插入转办历史信息
  2018. public int EditMyOrderHistoryInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2019. {
  2020. //历史工单id
  2021. int historyId = 0;
  2022. //如果工单状态不等于2
  2023. if (model.F_WORKORDERSTATEID == 1)
  2024. {
  2025. //更新新本次转办信息
  2026. Model.T_Wo_WorkOrderHistory eidthistoryModel = new Model.T_Wo_WorkOrderHistory();
  2027. //工单主键
  2028. eidthistoryModel.F_HISTORYID = int.Parse(model.F_FORMID.ToString());//主键
  2029. eidthistoryModel.F_REMARK = model.F_RETURNVISITCONTENT;//处理内容
  2030. eidthistoryModel.F_StateName = "已处理";
  2031. eidthistoryModel.F_WORKORDERSTATEID = 1;
  2032. eidthistoryModel.ReplayTime = DateTime.Now;
  2033. StringBuilder strSql = new StringBuilder();
  2034. strSql.Append("update T_Wo_WorkOrderHistory set ");
  2035. strSql.Append("F_REMARK=@F_REMARK,");
  2036. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2037. strSql.Append("F_StateName=@F_StateName,");
  2038. strSql.Append("ReplayTime=@ReplayTime");
  2039. strSql.Append(" where F_HISTORYID=@F_HISTORYID");
  2040. SqlParameter[] parameters = {
  2041. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  2042. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2043. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  2044. new SqlParameter("@ReplayTime", SqlDbType.DateTime),
  2045. new SqlParameter("@F_HISTORYID", SqlDbType.Int,4)};
  2046. parameters[0].Value = eidthistoryModel.F_REMARK;
  2047. parameters[1].Value = eidthistoryModel.F_WORKORDERSTATEID;
  2048. parameters[2].Value = eidthistoryModel.F_StateName;
  2049. parameters[3].Value = eidthistoryModel.ReplayTime;
  2050. parameters[4].Value = eidthistoryModel.F_HISTORYID;
  2051. if (DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0)
  2052. {
  2053. //插入转办信息
  2054. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2055. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  2056. historyModel.F_OPTBTNID = model.F_DEPTID;//部门
  2057. historyModel.F_NEXTOWNERARRID = model.F_DEPTCODE;//部门
  2058. historyModel.F_OPTUSERID = model.F_CREATEBY;//人员
  2059. historyModel.F_UserName = model.F_USERNAME;//人员
  2060. historyModel.F_OPTDATE = DateTime.Now;
  2061. historyModel.F_WORKORDERSTATEID = 0;
  2062. historyModel.F_StateName = "未处理";
  2063. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  2064. historyId = InsertWorkOrderHistoryModel(historyModel);
  2065. }
  2066. }
  2067. return historyId;
  2068. }
  2069. #endregion
  2070. # region 全媒体客服处理回访
  2071. /// <summary>
  2072. /// 全媒体客服处理回访
  2073. /// </summary>
  2074. /// <param name="model"></param>
  2075. /// <returns></returns>
  2076. public bool SubmitOrderHF(Model.T_Wo_WorkOrderBase model)
  2077. {
  2078. bool EditStatus = false;
  2079. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  2080. Model.T_Wo_WorkOrderBase modelbase = GetModel(model.F_WORKORDERID);
  2081. //如果工单状态处理中
  2082. if (modelbase.F_WORKORDERSTATEID == 3)
  2083. {
  2084. if (modelbase.F_RETURNVISITFLAG == 0)
  2085. {
  2086. //model.F_RETURNVISITOPINION = ""; 不需要回访,假如你回访了,也记录
  2087. }
  2088. if (modelbase.F_ENDTIME != null)
  2089. model.F_ENDTIME = modelbase.F_ENDTIME;
  2090. else
  2091. model.F_ENDTIME = DateTime.Now;
  2092. //需要继续转单处理
  2093. if (model.F_WORKORDERSTATEID == 1)
  2094. {
  2095. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  2096. {
  2097. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  2098. historyModel.F_OPTDATE = DateTime.Now;
  2099. historyModel.F_WORKORDERSTATEID = 0;
  2100. historyModel.F_StateName = "未处理";
  2101. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  2102. InsertWorkOrderHistoryModel(historyModel);
  2103. }
  2104. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转转单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToZD");
  2105. EditStatus = UpdateOrderToZD(model);
  2106. }
  2107. else if (model.F_WORKORDERSTATEID == 4 && modelbase.F_HOUSING != "投诉")//回访完成 转已处理
  2108. {
  2109. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转已处理模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToDZ");
  2110. EditStatus = UpdateOrderToOver(model);
  2111. }
  2112. else if (model.F_WORKORDERSTATEID == 4 && modelbase.F_HOUSING == "投诉")//回访完成 转定责
  2113. {
  2114. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转待定责模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToDZ");
  2115. EditStatus = UpdateOrderToDZ(model);
  2116. }
  2117. }
  2118. return EditStatus;
  2119. }
  2120. #endregion
  2121. #region 办结转办信息
  2122. public bool CloseMyOrderInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2123. {
  2124. bool EditStatus = false;
  2125. //修改历史记录成功
  2126. if (CloseMyOrderHistoryInfo(model))
  2127. {
  2128. StringBuilder strSql = new StringBuilder();
  2129. strSql.Append("update T_Wo_WorkOrderBase set ");
  2130. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  2131. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  2132. //strSql.Append("F_ROAD=@F_ROAD,");
  2133. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  2134. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2135. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  2136. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2137. SqlParameter[] parameters = {
  2138. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  2139. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  2140. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  2141. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  2142. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2143. new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,200),
  2144. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2145. parameters[0].Value = model.F_REMAINDERENDTIME;
  2146. parameters[1].Value = model.F_RETURNVISITRESULT;
  2147. parameters[2].Value = model.F_ROAD;
  2148. parameters[3].Value = model.F_RETURNVISITOPINION;
  2149. parameters[4].Value = model.F_WORKORDERSTATEID;
  2150. parameters[5].Value = model.F_REPAIRREQUEST;
  2151. parameters[6].Value = model.F_WORKORDERID;
  2152. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2153. }
  2154. return EditStatus;
  2155. }
  2156. //修改并插入转办历史信息
  2157. public bool CloseMyOrderHistoryInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2158. {
  2159. //更新新本次转办信息
  2160. Model.T_Wo_WorkOrderHistory eidthistoryModel = new Model.T_Wo_WorkOrderHistory();
  2161. //工单主键
  2162. eidthistoryModel.F_HISTORYID = int.Parse(model.F_FORMID.ToString());//主键
  2163. eidthistoryModel.F_REMARK = model.F_RETURNVISITCONTENT;//处理内容
  2164. eidthistoryModel.F_StateName = "已处理";
  2165. eidthistoryModel.F_WORKORDERSTATEID = 1;
  2166. eidthistoryModel.ReplayTime = DateTime.Now;
  2167. StringBuilder strSql = new StringBuilder();
  2168. strSql.Append("update T_Wo_WorkOrderHistory set ");
  2169. strSql.Append("F_REMARK=@F_REMARK,");
  2170. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2171. strSql.Append("F_StateName=@F_StateName,");
  2172. strSql.Append("ReplayTime=@ReplayTime");
  2173. strSql.Append(" where F_HISTORYID=@F_HISTORYID");
  2174. SqlParameter[] parameters = {
  2175. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  2176. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2177. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  2178. new SqlParameter("@ReplayTime", SqlDbType.DateTime),
  2179. new SqlParameter("@F_HISTORYID", SqlDbType.Int,4)};
  2180. parameters[0].Value = eidthistoryModel.F_REMARK;
  2181. parameters[1].Value = eidthistoryModel.F_WORKORDERSTATEID;
  2182. parameters[2].Value = eidthistoryModel.F_StateName;
  2183. parameters[3].Value = eidthistoryModel.ReplayTime;
  2184. parameters[4].Value = eidthistoryModel.F_HISTORYID;
  2185. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2186. }
  2187. #endregion
  2188. #region 编辑历史工单信息
  2189. /// <summary>
  2190. /// 编辑工单信息
  2191. /// </summary>
  2192. /// <param name="model">工单实体</param>
  2193. /// <returns></returns>
  2194. public bool UpdateHistoryWorkOrderInfoModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2195. {
  2196. StringBuilder strSql = new StringBuilder();
  2197. strSql.Append("update T_Wo_WorkOrderBase set ");
  2198. strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  2199. strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  2200. strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  2201. strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  2202. strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  2203. strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  2204. strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  2205. strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  2206. strSql.Append("F_CONTENT=@F_CONTENT,");
  2207. strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  2208. strSql.Append("F_RETURNVISITTIME =@F_RETURNVISITTIME,");
  2209. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  2210. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  2211. //strSql.Append("F_ROAD=@F_ROAD,");
  2212. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  2213. strSql.Append("F_FILEFLAG =@F_FILEFLAG,");
  2214. strSql.Append("F_HOUSING =@F_HOUSING,");//F_RETURNVISITCONTENT 处理回复
  2215. strSql.Append("F_RETURNVISITCONTENT =@F_RETURNVISITCONTENT");
  2216. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2217. SqlParameter[] parameters = {
  2218. new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  2219. new SqlParameter("@F_CUSTOMERNAME", SqlDbType.NVarChar,200),
  2220. new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.NVarChar,200),
  2221. new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,4000),
  2222. new SqlParameter("@F_REPAIRLEVEL",SqlDbType.Int,4),
  2223. new SqlParameter("@F_ADSLACCOUNT", SqlDbType.NVarChar,200),
  2224. new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  2225. new SqlParameter("@F_WORKORDERNAME", SqlDbType.NVarChar,200),
  2226. new SqlParameter("@F_CONTENT", SqlDbType.NVarChar,4000),
  2227. new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  2228. new SqlParameter("@F_RETURNVISITTIME ", SqlDbType.DateTime),
  2229. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  2230. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  2231. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  2232. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  2233. new SqlParameter("@F_FILEFLAG", SqlDbType.Int,4),
  2234. new SqlParameter("@F_HOUSING ", SqlDbType.NVarChar,200),
  2235. new SqlParameter("@F_RETURNVISITCONTENT ", SqlDbType.NVarChar,200),
  2236. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2237. parameters[0].Value = model.F_CUSTOMERID;
  2238. parameters[1].Value = model.F_CUSTOMERNAME;
  2239. parameters[2].Value = model.F_CUSTOMERTELEPHONE;
  2240. parameters[3].Value = model.F_RETURNVISITPROBLEM;
  2241. parameters[4].Value = model.F_REPAIRLEVEL;
  2242. parameters[5].Value = model.F_ADSLACCOUNT;
  2243. parameters[6].Value = model.F_WORKORDERLEVELID;
  2244. parameters[7].Value = model.F_WORKORDERNAME;
  2245. parameters[8].Value = model.F_CONTENT;
  2246. parameters[9].Value = model.F_RETURNVISITFLAG;
  2247. parameters[10].Value = model.F_RETURNVISITTIME;
  2248. parameters[11].Value = model.F_REMAINDERENDTIME;
  2249. parameters[12].Value = model.F_RETURNVISITRESULT;
  2250. parameters[13].Value = model.F_ROAD;
  2251. parameters[14].Value = model.F_RETURNVISITOPINION;
  2252. parameters[15].Value = model.F_FILEFLAG;
  2253. parameters[16].Value = model.F_HOUSING;
  2254. parameters[17].Value = model.F_RETURNVISITCONTENT;
  2255. parameters[18].Value = model.F_WORKORDERID;
  2256. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  2257. if (rows > 0)
  2258. {
  2259. return true;
  2260. }
  2261. else
  2262. {
  2263. return false;
  2264. }
  2265. }
  2266. #endregion ExtensionMethod
  2267. #region 工单撤回
  2268. public bool ResetWorkOrderOldJiekou(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2269. {
  2270. bool result = false;
  2271. if (workOrderId > 0)
  2272. {
  2273. StringBuilder strSql = new StringBuilder();
  2274. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2275. strSql.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2276. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2277. //strSql.Append(" F_StateName = '已撤回' where F_HISTORYID in ( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory where F_INSTANCEID=" + workOrderId + " order by F_OPTDATE desc)");
  2278. //先不发布
  2279. strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2280. strSql.Append(" F_StateName = '已撤回' WHERE F_workorderstateid=0 AND F_StateName='未处理' and F_INSTANCEID= " + workOrderId);
  2281. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2282. int hisid = EditOrderHistoryInfoOldJiekou(workOrderId, byid, byname, bmid, bmmc);
  2283. }
  2284. return result;
  2285. }
  2286. //插入撤消工单历史信息
  2287. public int EditOrderHistoryInfoOldJiekou(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2288. {
  2289. //历史工单id
  2290. int historyId = 0;
  2291. //插入撤消信息
  2292. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2293. historyModel.F_INSTANCEID = workOrderId;
  2294. historyModel.F_OPTUSERID = byid;
  2295. historyModel.F_UserName = byname;
  2296. historyModel.F_OPTBTNID = bmid;
  2297. historyModel.F_NEXTOWNERARRID = bmmc;
  2298. historyModel.F_OPTDATE = DateTime.Now;
  2299. historyModel.F_WORKORDERSTATEID = 0;
  2300. historyModel.F_StateName = "已撤回";
  2301. historyModel.F_TASKFLAG = 2; //编辑工单列表:撤回
  2302. historyModel.F_REMARK = byname + "撤回,转补录工单";
  2303. historyId = InsertWorkOrderHistoryModel(historyModel);
  2304. //if (historyId > 0)
  2305. //{
  2306. // StringBuilder strSql = new StringBuilder();
  2307. // strSql.Append(" update T_Wo_WorkOrderBase set ");
  2308. // strSql.Append(" F_Cancel = (select top 1 F_HISTORYID from T_Wo_WorkOrderHistory where F_WORKORDERSTATEID = 0 and F_INSTANCEID = " + workOrderId + " and F_OPTUSERID = " + byid + " and (F_REMARK !='已撤消' or F_REMARK IS NULL) order by F_HISTORYID desc) where F_WORKORDERID = " + workOrderId + "");
  2309. // var result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2310. //}
  2311. #region
  2312. //if (historyId > 0)
  2313. //{
  2314. // StringBuilder strSql = new StringBuilder();
  2315. // strSql.Append("update T_Wo_WorkOrderBase set ");
  2316. // strSql.Append("F_FORMID=@F_FORMID");
  2317. // strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2318. // SqlParameter[] parameters = {
  2319. // new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  2320. // new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2321. // parameters[0].Value = historyId;
  2322. // parameters[1].Value = workOrderId;
  2323. // bool EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2324. //}
  2325. #endregion
  2326. return historyId;
  2327. }
  2328. #endregion
  2329. /// 工单状态F_WORKORDERSTATEID 0处理中 1已处理,12 从编辑工单撤回到补录工单 13 从待处理中驳回到补录工单 14 从待回访中驳回到处理中 15 从已处理中撤回到处理中 16 从待定责驳回到待回访 17 从已回访中撤回到待回访
  2330. //转办多人 时 单人驳回 则把所有的操作记录都改成驳回
  2331. #region 待处理的工单驳回到补录工单
  2332. public bool OverruleWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc, string opinion)
  2333. {
  2334. bool result = false;
  2335. if (workOrderId > 0)
  2336. {
  2337. StringBuilder strSql = new StringBuilder();
  2338. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2339. strSql.Append(" F_WORKORDERSTATEID=0,F_WORKORDERTYPEID=1,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2340. //转办多人 时 单人驳回 则把所有的操作记录都改成驳回
  2341. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2342. //strSql.Append(" F_StateName = '已驳回' WHERE F_HISTORYID =( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory WHERE F_INSTANCEID= " + workOrderId + " ORDER BY f_optdate DESC) ");
  2343. //先不发布
  2344. strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2345. strSql.Append(" F_StateName = '已驳回' WHERE F_workorderstateid=0 AND F_StateName='未处理' and F_INSTANCEID= " + workOrderId );
  2346. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2347. int hisid = EditOverruleOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc,opinion);
  2348. }
  2349. return result;
  2350. }
  2351. //待处理的工单 插入驳回工单历史信息
  2352. public int EditOverruleOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc, string opinion)
  2353. {
  2354. //历史工单id
  2355. int historyId = 0;
  2356. //插入驳回信息
  2357. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2358. historyModel.F_INSTANCEID = workOrderId;
  2359. historyModel.F_OPTUSERID = byid;
  2360. historyModel.F_UserName = byname;
  2361. historyModel.F_OPTBTNID = bmid;
  2362. historyModel.F_NEXTOWNERARRID = bmmc;
  2363. historyModel.F_OPTDATE = DateTime.Now;
  2364. historyModel.F_WORKORDERSTATEID = 0;// 13;
  2365. historyModel.F_StateName = "已驳回";
  2366. historyModel.F_TASKFLAG = 3;//待处理的工单驳回
  2367. historyModel.F_REMARK = byname + "驳回,转补录工单;" +"驳回意见:"+opinion;
  2368. historyId = InsertWorkOrderHistoryModel(historyModel);
  2369. return historyId;
  2370. }
  2371. #endregion
  2372. #region 待回访的工单驳回 至处理中
  2373. public bool OverruleDHFWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2374. {
  2375. bool result = false;
  2376. if (workOrderId > 0)
  2377. {
  2378. StringBuilder strSql = new StringBuilder();
  2379. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2380. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2381. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2382. //strSql.Append(" F_StateName = '待回访驳回,至处理中' WHERE F_HISTORYID =( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory WHERE F_WORKORDERSTATEID=1 and F_INSTANCEID= " + workOrderId + " ORDER BY f_optdate DESC) ");
  2383. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2384. int hisid = EditOverruleDHFOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc, opinion);
  2385. }
  2386. return result;
  2387. }
  2388. //待处理的工单 插入驳回工单历史信息
  2389. public int EditOverruleDHFOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2390. {
  2391. //历史工单id
  2392. int historyId = 0;
  2393. //插入驳回信息
  2394. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2395. historyModel.F_INSTANCEID = workOrderId;
  2396. historyModel.F_OPTUSERID = byid;
  2397. historyModel.F_UserName = byname;
  2398. historyModel.F_OPTBTNID = bmid;
  2399. historyModel.F_NEXTOWNERARRID = bmmc;
  2400. historyModel.F_OPTDATE = DateTime.Now;
  2401. historyModel.F_WORKORDERSTATEID = 1;//0 ;
  2402. historyModel.F_StateName = "已驳回";
  2403. historyModel.F_TASKFLAG = 5;//从待回访的列表里驳回
  2404. historyModel.F_REMARK = byname + "从待回访驳回,至待处理;"+"驳回意见:"+opinion;
  2405. historyId = InsertWorkOrderHistoryModel(historyModel);
  2406. return historyId;
  2407. }
  2408. #endregion
  2409. //驳回待定责工单到待回访
  2410. public bool OverruleDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2411. {
  2412. bool result = false;
  2413. if (workOrderId > 0)
  2414. {
  2415. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2416. //转单的待定责驳回
  2417. if (model.F_WORKORDERTYPEID == 1)
  2418. {
  2419. if (model.F_RETURNVISITFLAG == 1) //等于1 是回访
  2420. {
  2421. StringBuilder strSql = new StringBuilder();
  2422. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2423. strSql.Append(" F_WORKORDERSTATEID=3,F_REPAIRREQUEST='待回访',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2424. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2425. int hisid = EditBoHuiDDZWorkOrder(workOrderId, byid, byname, bmid, bmmc, opinion);
  2426. }
  2427. else //待定责工单如果不回访,驳回到处理人 的处理列表
  2428. {
  2429. StringBuilder strSql = new StringBuilder();
  2430. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2431. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2432. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2433. int hisid = EditCheHuiDDZWorkOrder2(workOrderId, byid, byname, bmid, bmmc);
  2434. }
  2435. }
  2436. //客服处理的待定责驳回
  2437. if (model.F_WORKORDERTYPEID == 3)
  2438. {
  2439. StringBuilder strSql = new StringBuilder();
  2440. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2441. strSql.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2442. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2443. int hisid = EditBoHuiDDZWorkOrderKF(workOrderId, byid, byname, bmid, bmmc, opinion);
  2444. }
  2445. }
  2446. return result;
  2447. }
  2448. //待定责工单到插入驳回工单历史信息
  2449. public int EditOverruleDDZOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2450. {
  2451. //历史工单id
  2452. int historyId = 0;
  2453. //插入驳回信息
  2454. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2455. historyModel.F_INSTANCEID = workOrderId;
  2456. historyModel.F_OPTUSERID = byid;
  2457. historyModel.F_UserName = byname;
  2458. historyModel.F_OPTBTNID = bmid;
  2459. historyModel.F_NEXTOWNERARRID = bmmc;
  2460. historyModel.F_OPTDATE = DateTime.Now;
  2461. historyModel.F_WORKORDERSTATEID = 3;// 16;
  2462. historyModel.F_StateName = "已驳回";
  2463. historyModel.F_TASKFLAG = 7; //从待定责工单 驳回到待回访
  2464. historyModel.F_REMARK = byname + "驳回,转待回访";
  2465. historyId = InsertWorkOrderHistoryModel(historyModel);
  2466. return historyId;
  2467. }
  2468. //撤回已处理且待回访的工单
  2469. public bool CheHuiYCLWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string reason)
  2470. {
  2471. bool result = false;
  2472. if (workOrderId > 0)
  2473. {
  2474. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2475. if (model.F_WORKORDERTYPEID == 3)
  2476. {
  2477. }
  2478. else
  2479. {
  2480. StringBuilder strSql = new StringBuilder();
  2481. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2482. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2483. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2484. //strSql.Append(" F_REMARK = '已驳回' WHERE F_HISTORYID =( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory WHERE F_INSTANCEID= " + workOrderId + " ORDER BY f_optdate DESC) ");
  2485. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2486. // int hisid = EditCheHuiYCLWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2487. //历史工单id
  2488. int historyId = 0;
  2489. //插入撤回信息
  2490. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2491. historyModel.F_INSTANCEID = workOrderId;
  2492. historyModel.F_OPTUSERID = byid;
  2493. historyModel.F_UserName = byname;
  2494. historyModel.F_OPTBTNID = bmid;
  2495. historyModel.F_NEXTOWNERARRID = bmmc;
  2496. historyModel.F_OPTDATE = DateTime.Now;
  2497. historyModel.F_WORKORDERSTATEID = 1;//0
  2498. historyModel.F_StateName = "已撤回";
  2499. historyModel.F_TASKFLAG = 7; //
  2500. if (string.IsNullOrEmpty(reason))
  2501. {
  2502. historyModel.F_REMARK = byname + "撤回,转待处理";
  2503. }
  2504. else
  2505. {
  2506. historyModel.F_REMARK = byname + "撤回,转待处理; 撤回原因:"+reason;
  2507. }
  2508. historyId = InsertWorkOrderHistoryModel(historyModel);
  2509. }
  2510. }
  2511. return result;
  2512. }
  2513. public int EditCheHuiYCLWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2514. {
  2515. //历史工单id
  2516. int historyId = 0;
  2517. //插入撤回信息
  2518. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2519. historyModel.F_INSTANCEID = workOrderId;
  2520. historyModel.F_OPTUSERID = byid;
  2521. historyModel.F_UserName = byname;
  2522. historyModel.F_OPTBTNID = bmid;
  2523. historyModel.F_NEXTOWNERARRID = bmmc;
  2524. historyModel.F_OPTDATE = DateTime.Now;
  2525. historyModel.F_WORKORDERSTATEID = 1;//0
  2526. historyModel.F_StateName = "已撤回";
  2527. historyModel.F_TASKFLAG = 7; //
  2528. historyModel.F_REMARK = byname + "撤回,转待处理";
  2529. historyId = InsertWorkOrderHistoryModel(historyModel);
  2530. return historyId;
  2531. }
  2532. //撤回已回访即待定责的工单
  2533. public bool CheHuiDDZWorkOrderOldJiekou(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2534. {
  2535. bool result = false;
  2536. if (workOrderId > 0)
  2537. {
  2538. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2539. if (model.F_RETURNVISITFLAG == 1) //等于1 是回访
  2540. {
  2541. StringBuilder strSql = new StringBuilder();
  2542. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2543. strSql.Append(" F_WORKORDERSTATEID=3,F_REPAIRREQUEST='待回访',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2544. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2545. //strSql.Append(" F_REMARK = '已驳回' WHERE F_HISTORYID =( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory WHERE F_INSTANCEID= " + workOrderId + " ORDER BY f_optdate DESC) ");
  2546. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2547. int hisid = EditCheHuiDDZWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2548. }
  2549. else //不回访工单 待定责工单转到待处理
  2550. {
  2551. StringBuilder strSql = new StringBuilder();
  2552. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2553. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2554. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2555. //strSql.Append(" F_REMARK = '已驳回' WHERE F_HISTORYID =( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory WHERE F_INSTANCEID= " + workOrderId + " ORDER BY f_optdate DESC) ");
  2556. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2557. int hisid = EditCheHuiYCLWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2558. }
  2559. }
  2560. return result;
  2561. }
  2562. public int EditCheHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2563. {
  2564. //历史工单id
  2565. int historyId = 0;
  2566. //插入撤回信息
  2567. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2568. historyModel.F_INSTANCEID = workOrderId;
  2569. historyModel.F_OPTUSERID = byid;
  2570. historyModel.F_UserName = byname;
  2571. historyModel.F_OPTBTNID = bmid;
  2572. historyModel.F_NEXTOWNERARRID = bmmc;
  2573. historyModel.F_OPTDATE = DateTime.Now;
  2574. historyModel.F_WORKORDERSTATEID = 3;//5
  2575. historyModel.F_StateName = "已撤回";
  2576. historyModel.F_TASKFLAG = 7; //
  2577. historyModel.F_REMARK = byname + "撤回,转待回访";
  2578. historyId = InsertWorkOrderHistoryModel(historyModel);
  2579. return historyId;
  2580. }
  2581. public int EditBoHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2582. {
  2583. //历史工单id
  2584. int historyId = 0;
  2585. //插入撤回信息
  2586. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2587. historyModel.F_INSTANCEID = workOrderId;
  2588. historyModel.F_OPTUSERID = byid;
  2589. historyModel.F_UserName = byname;
  2590. historyModel.F_OPTBTNID = bmid;
  2591. historyModel.F_NEXTOWNERARRID = bmmc;
  2592. historyModel.F_OPTDATE = DateTime.Now;
  2593. historyModel.F_WORKORDERSTATEID = 3;
  2594. historyModel.F_StateName = "已驳回";
  2595. historyModel.F_TASKFLAG = 7; //
  2596. historyModel.F_REMARK = byname + "驳回,转待回访;"+"驳回意见:"+opinion;
  2597. historyId = InsertWorkOrderHistoryModel(historyModel);
  2598. return historyId;
  2599. }
  2600. //不回访的转待处理
  2601. public int EditCheHuiDDZWorkOrder2(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2602. {
  2603. //历史工单id
  2604. int historyId = 0;
  2605. //插入撤回信息
  2606. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2607. historyModel.F_INSTANCEID = workOrderId;
  2608. historyModel.F_OPTUSERID = byid;
  2609. historyModel.F_UserName = byname;
  2610. historyModel.F_OPTBTNID = bmid;
  2611. historyModel.F_NEXTOWNERARRID = bmmc;
  2612. historyModel.F_OPTDATE = DateTime.Now;
  2613. historyModel.F_WORKORDERSTATEID = 0;
  2614. historyModel.F_StateName = "已驳回";
  2615. historyModel.F_TASKFLAG = 7; //
  2616. historyModel.F_REMARK = byname + "驳回,转待处理";
  2617. historyId = InsertWorkOrderHistoryModel(historyModel);
  2618. return historyId;
  2619. }
  2620. public int EditBoHuiDDZWorkOrderKF(int workOrderId, int byid, string byname, int bmid, string bmmc, string opinion)
  2621. {
  2622. //历史工单id
  2623. int historyId = 0;
  2624. //插入撤回信息
  2625. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2626. historyModel.F_INSTANCEID = workOrderId;
  2627. historyModel.F_OPTUSERID = byid;
  2628. historyModel.F_UserName = byname;
  2629. historyModel.F_OPTBTNID = bmid;
  2630. historyModel.F_NEXTOWNERARRID = bmmc;
  2631. historyModel.F_OPTDATE = DateTime.Now;
  2632. historyModel.F_WORKORDERSTATEID = 6;
  2633. historyModel.F_StateName = "已驳回";
  2634. historyModel.F_TASKFLAG = 7; //
  2635. historyModel.F_REMARK = byname + "驳回,转补录工单;" + "驳回意见:" + opinion;
  2636. historyId = InsertWorkOrderHistoryModel(historyModel);
  2637. return historyId;
  2638. }
  2639. #region 待处理的工单撤回 需要审批工单撤回;客服处理的工单撤回也是这个
  2640. public bool ResetWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc, string reason)
  2641. {
  2642. bool result = false;
  2643. Model.T_Wo_WorkOrderBase model= GetModel(workOrderId);
  2644. if (workOrderId > 0)
  2645. {
  2646. if (model.F_WORKORDERTYPEID == 3) //客服处理
  2647. {
  2648. if (model.F_HOUSING == "投诉" && model.F_FILEFLAG == 3)
  2649. {
  2650. StringBuilder strSql = new StringBuilder();
  2651. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2652. strSql.Append(" F_WORKORDERSTATEID=9,F_REPAIRREQUEST='待定责撤回审批中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2653. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2654. #region 工单历史记录
  2655. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2656. historyModel.F_INSTANCEID = workOrderId;
  2657. historyModel.F_OPTUSERID = byid;
  2658. historyModel.F_UserName = byname;
  2659. historyModel.F_OPTBTNID = bmid;
  2660. historyModel.F_NEXTOWNERARRID = bmmc;
  2661. historyModel.F_OPTDATE = DateTime.Now;
  2662. historyModel.F_WORKORDERSTATEID = 8;
  2663. historyModel.F_StateName = "提交撤回";
  2664. historyModel.F_TASKFLAG = 0;
  2665. if (string.IsNullOrEmpty(reason))
  2666. {
  2667. historyModel.F_REMARK = byname + "撤回待定责的工单;";
  2668. }
  2669. else
  2670. {
  2671. historyModel.F_REMARK = byname + "撤回待定责的工单; 撤回原因:" + reason;
  2672. }
  2673. InsertWorkOrderHistoryModel(historyModel);
  2674. #endregion
  2675. }
  2676. else //客服处理非投诉 撤回到补录工单
  2677. {
  2678. StringBuilder strSql = new StringBuilder();
  2679. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2680. strSql.Append(" F_WORKORDERSTATEID=10,F_REPAIRREQUEST='已处理撤回审批中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2681. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2682. #region 工单历史记录
  2683. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2684. historyModel.F_INSTANCEID = workOrderId;
  2685. historyModel.F_OPTUSERID = byid;
  2686. historyModel.F_UserName = byname;
  2687. historyModel.F_OPTBTNID = bmid;
  2688. historyModel.F_NEXTOWNERARRID = bmmc;
  2689. historyModel.F_OPTDATE = DateTime.Now;
  2690. historyModel.F_WORKORDERSTATEID = 8;
  2691. historyModel.F_StateName = "提交撤回";
  2692. historyModel.F_TASKFLAG = 0;
  2693. if (string.IsNullOrEmpty(reason))
  2694. {
  2695. historyModel.F_REMARK = byname + "撤回已处理的工单;";
  2696. }
  2697. else
  2698. {
  2699. historyModel.F_REMARK = byname + "撤回已处理的工单; 撤回原因:" + reason;
  2700. }
  2701. InsertWorkOrderHistoryModel(historyModel);
  2702. #endregion
  2703. }
  2704. }
  2705. else
  2706. {
  2707. StringBuilder strSql = new StringBuilder();
  2708. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2709. strSql.Append(" F_WORKORDERSTATEID=8,F_REPAIRREQUEST='待处理撤回审批中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2710. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2711. //strSql.Append(" F_StateName = '已撤回' where F_HISTORYID in ( SELECT TOP 1 F_HISTORYID FROM dbo.T_Wo_WorkOrderHistory where F_INSTANCEID=" + workOrderId + " order by F_OPTDATE desc)");
  2712. //先不发布
  2713. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2714. //strSql.Append(" F_StateName = '已撤回' WHERE F_workorderstateid=0 AND F_StateName='未处理' and F_INSTANCEID= " + workOrderId);
  2715. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2716. int hisid = EditOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc, reason);
  2717. }
  2718. }
  2719. return result;
  2720. }
  2721. //插入撤工单历史信息
  2722. public int EditOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc, string reason)
  2723. {
  2724. //历史工单id
  2725. int historyId = 0;
  2726. //插入操作信息
  2727. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2728. historyModel.F_INSTANCEID = workOrderId;
  2729. historyModel.F_OPTUSERID = byid;
  2730. historyModel.F_UserName = byname;
  2731. historyModel.F_OPTBTNID = bmid;
  2732. historyModel.F_NEXTOWNERARRID = bmmc;
  2733. historyModel.F_OPTDATE = DateTime.Now;
  2734. historyModel.F_WORKORDERSTATEID = 8;
  2735. historyModel.F_StateName = "提交撤回";
  2736. historyModel.F_TASKFLAG = 0;
  2737. if (string.IsNullOrEmpty(reason))
  2738. {
  2739. historyModel.F_REMARK = byname + "撤回处理中的工单;";
  2740. }
  2741. else
  2742. {
  2743. historyModel.F_REMARK = byname + "撤回处理中的工单; 撤回原因:" + reason;
  2744. }
  2745. historyId = InsertWorkOrderHistoryModel(historyModel);
  2746. return historyId;
  2747. }
  2748. #endregion
  2749. #region 撤回已回访即待定责的工单
  2750. public bool CheHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string reason)
  2751. {
  2752. bool result = false;
  2753. if (workOrderId > 0)
  2754. {
  2755. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2756. StringBuilder strSql = new StringBuilder();
  2757. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2758. strSql.Append(" F_WORKORDERSTATEID=9,F_REPAIRREQUEST='待定责撤回审批中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2759. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2760. #region 工单历史记录
  2761. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2762. historyModel.F_INSTANCEID = workOrderId;
  2763. historyModel.F_OPTUSERID = byid;
  2764. historyModel.F_UserName = byname;
  2765. historyModel.F_OPTBTNID = bmid;
  2766. historyModel.F_NEXTOWNERARRID = bmmc;
  2767. historyModel.F_OPTDATE = DateTime.Now;
  2768. historyModel.F_WORKORDERSTATEID = 8;
  2769. historyModel.F_StateName = "";
  2770. historyModel.F_TASKFLAG = 0;
  2771. if (string.IsNullOrEmpty(reason))
  2772. {
  2773. historyModel.F_REMARK = byname + "撤回待定责的工单;";
  2774. }
  2775. else
  2776. {
  2777. historyModel.F_REMARK = byname + "撤回待定责的工单; 撤回原因:" + reason;
  2778. }
  2779. InsertWorkOrderHistoryModel(historyModel);
  2780. #endregion
  2781. }
  2782. return result;
  2783. }
  2784. #endregion
  2785. /// <summary>
  2786. /// 审批列表审批
  2787. /// </summary>
  2788. /// <param name="model"></param>
  2789. /// <returns></returns>
  2790. public bool SubmitShenPiYj(int workorderid, int shenpiresult,string shenpiopinion,int byid,string byname,int bmid)
  2791. {
  2792. bool EditStatus = false;
  2793. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  2794. //有三种工单状态需要审批
  2795. //1.待处理的时候撤回; 即 8待处理撤回审批中(转办)
  2796. //2.客服处理的 已完结的工单 能撤回; 即 10 已完结撤回审批中(客服处理)
  2797. //3.待定责的时候可以撤回。(客服处理和转办) 9 待定责撤回审批中(客服处理和转办)
  2798. Model.T_Wo_WorkOrderBase basemodel = GetModel(workorderid);
  2799. if (basemodel.F_WORKORDERSTATEID == 8) // 8待处理撤回审批中(转办)
  2800. {
  2801. if (shenpiresult == 0)
  2802. {
  2803. //不同意撤回,改工单状态为处理中,加一条history历史记录
  2804. StringBuilder strSql = new StringBuilder();
  2805. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2806. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workorderid);
  2807. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2808. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2809. historyModelNew.F_INSTANCEID = workorderid;
  2810. historyModelNew.F_OPTUSERID = byid;
  2811. historyModelNew.F_UserName = byname;
  2812. historyModelNew.F_OPTBTNID = bmid;
  2813. historyModelNew.F_NEXTOWNERARRID = "";
  2814. historyModelNew.F_OPTDATE = DateTime.Now;
  2815. historyModelNew.F_WORKORDERSTATEID = 1;
  2816. historyModelNew.F_StateName = "审批不通过";
  2817. historyModelNew.F_TASKFLAG = 0;
  2818. if (string.IsNullOrEmpty(shenpiopinion))
  2819. {
  2820. historyModelNew.F_REMARK = byname + "审批不通过";
  2821. }
  2822. else
  2823. {
  2824. historyModelNew.F_REMARK = byname + "审批不通过; 原因:" + shenpiopinion;
  2825. }
  2826. InsertWorkOrderHistoryModel(historyModelNew);
  2827. }
  2828. if (shenpiresult == 1)
  2829. {
  2830. //同意撤回,改工单状态为待处理,加一条history历史记录 ,修改以前的转办记录 状态为已撤回
  2831. StringBuilder strSql = new StringBuilder();
  2832. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2833. strSql.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workorderid);
  2834. // 转办记录改成已撤回
  2835. strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2836. strSql.Append(" F_StateName = '已撤回' WHERE F_workorderstateid=0 AND F_StateName='未处理' and F_INSTANCEID= " + workorderid);
  2837. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2838. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2839. historyModelNew.F_INSTANCEID = workorderid;
  2840. historyModelNew.F_OPTUSERID = byid;
  2841. historyModelNew.F_UserName = byname;
  2842. historyModelNew.F_OPTBTNID = bmid;
  2843. historyModelNew.F_NEXTOWNERARRID = "";
  2844. historyModelNew.F_OPTDATE = DateTime.Now;
  2845. historyModelNew.F_WORKORDERSTATEID = 1;
  2846. historyModelNew.F_StateName = "审批通过";
  2847. historyModelNew.F_TASKFLAG = 0;
  2848. if (string.IsNullOrEmpty(shenpiopinion))
  2849. {
  2850. historyModelNew.F_REMARK = byname + "审批通过";
  2851. }
  2852. else
  2853. {
  2854. historyModelNew.F_REMARK = byname + "审批通过; 原因:" + shenpiopinion;
  2855. }
  2856. InsertWorkOrderHistoryModel(historyModelNew);
  2857. }
  2858. }
  2859. else if (basemodel.F_WORKORDERSTATEID == 9) // 9 待定责撤回审批中(客服处理和转办)
  2860. {
  2861. if (shenpiresult == 0)
  2862. {
  2863. //不同意撤回,改工单状态为待定责,加一条history历史记录
  2864. StringBuilder strSql = new StringBuilder();
  2865. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2866. strSql.Append(" F_WORKORDERSTATEID=4,F_REPAIRREQUEST='待定责',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workorderid);
  2867. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2868. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2869. historyModelNew.F_INSTANCEID = workorderid;
  2870. historyModelNew.F_OPTUSERID = byid;
  2871. historyModelNew.F_UserName = byname;
  2872. historyModelNew.F_OPTBTNID = bmid;
  2873. historyModelNew.F_NEXTOWNERARRID = "";
  2874. historyModelNew.F_OPTDATE = DateTime.Now;
  2875. historyModelNew.F_WORKORDERSTATEID = 1;
  2876. historyModelNew.F_StateName = "审批不通过";
  2877. historyModelNew.F_TASKFLAG = 0;
  2878. if (string.IsNullOrEmpty(shenpiopinion))
  2879. {
  2880. historyModelNew.F_REMARK = byname + "审批不通过";
  2881. }
  2882. else
  2883. {
  2884. historyModelNew.F_REMARK = byname + "审批不通过; 原因:" + shenpiopinion;
  2885. }
  2886. InsertWorkOrderHistoryModel(historyModelNew);
  2887. }
  2888. if (shenpiresult == 1)
  2889. {
  2890. //同意撤回,改工单状态 加一条history历史记录 ,修改以前的转办记录 状态为已撤回
  2891. if (basemodel.F_WORKORDERTYPEID == 3)//客服处理的工单 是投诉类型的 ,从待定责撤回就是 转到补录工单
  2892. {
  2893. StringBuilder strSql1 = new StringBuilder();
  2894. strSql1.Append(" update T_Wo_WorkOrderBase set ");
  2895. strSql1.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 ,F_RETURNVISITCONTENT='' where F_WORKORDERID=" + workorderid);
  2896. EditStatus = DbHelperSQL.ExecuteSql(strSql1.ToString()) > 0;
  2897. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2898. historyModelNew.F_INSTANCEID = workorderid;
  2899. historyModelNew.F_OPTUSERID = byid;
  2900. historyModelNew.F_UserName = byname;
  2901. historyModelNew.F_OPTBTNID = bmid;
  2902. historyModelNew.F_NEXTOWNERARRID = "";
  2903. historyModelNew.F_OPTDATE = DateTime.Now;
  2904. historyModelNew.F_WORKORDERSTATEID = 1;
  2905. historyModelNew.F_StateName = "审批通过";
  2906. historyModelNew.F_TASKFLAG = 0;
  2907. if (string.IsNullOrEmpty(shenpiopinion))
  2908. {
  2909. historyModelNew.F_REMARK = byname + "审批通过";
  2910. }
  2911. else
  2912. {
  2913. historyModelNew.F_REMARK = byname + "审批通过; 原因:" + shenpiopinion;
  2914. }
  2915. InsertWorkOrderHistoryModel(historyModelNew);
  2916. }
  2917. else
  2918. { //转办的工单,待定责撤回的前状态是待回访或者处理中
  2919. if (basemodel.F_RETURNVISITFLAG == 0) //不回访
  2920. {
  2921. StringBuilder strSql = new StringBuilder();
  2922. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2923. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workorderid);
  2924. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2925. }
  2926. else
  2927. {
  2928. StringBuilder strSql = new StringBuilder();
  2929. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2930. strSql.Append(" F_WORKORDERSTATEID=3,F_REPAIRREQUEST='待回访',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workorderid);
  2931. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2932. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2933. historyModelNew.F_INSTANCEID = workorderid;
  2934. historyModelNew.F_OPTUSERID = byid;
  2935. historyModelNew.F_UserName = byname;
  2936. historyModelNew.F_OPTBTNID = bmid;
  2937. historyModelNew.F_NEXTOWNERARRID = "";
  2938. historyModelNew.F_OPTDATE = DateTime.Now;
  2939. historyModelNew.F_WORKORDERSTATEID = 1;
  2940. historyModelNew.F_StateName = "审批通过";
  2941. historyModelNew.F_TASKFLAG = 0;
  2942. if (string.IsNullOrEmpty(shenpiopinion))
  2943. {
  2944. historyModelNew.F_REMARK = byname + "审批通过";
  2945. }
  2946. else
  2947. {
  2948. historyModelNew.F_REMARK = byname + "审批通过; 原因:" + shenpiopinion;
  2949. }
  2950. InsertWorkOrderHistoryModel(historyModelNew);
  2951. }
  2952. return EditStatus;
  2953. }
  2954. }
  2955. }
  2956. else if (basemodel.F_WORKORDERSTATEID == 10) // 客服处理的 已完结的工单 能撤回; 10 已处理撤回审批中(客服处理)
  2957. {
  2958. if (shenpiresult == 0)
  2959. {
  2960. //不同意撤回,改工单状态为已完结,加一条history历史记录
  2961. StringBuilder strSql = new StringBuilder();
  2962. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2963. strSql.Append(" F_WORKORDERSTATEID=5,F_REPAIRREQUEST='已处理' where F_WORKORDERID=" + workorderid);
  2964. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2965. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  2966. historyModelNew.F_INSTANCEID = workorderid;
  2967. historyModelNew.F_OPTUSERID = byid;
  2968. historyModelNew.F_UserName = byname;
  2969. historyModelNew.F_OPTBTNID = bmid;
  2970. historyModelNew.F_NEXTOWNERARRID = "";
  2971. historyModelNew.F_OPTDATE = DateTime.Now;
  2972. historyModelNew.F_WORKORDERSTATEID = 5;
  2973. historyModelNew.F_StateName = "审批不通过";
  2974. historyModelNew.F_TASKFLAG = 0;
  2975. if (string.IsNullOrEmpty(shenpiopinion))
  2976. {
  2977. historyModelNew.F_REMARK = byname + "审批不通过";
  2978. }
  2979. else
  2980. {
  2981. historyModelNew.F_REMARK = byname + "审批不通过; 原因:" + shenpiopinion;
  2982. }
  2983. InsertWorkOrderHistoryModel(historyModelNew);
  2984. }
  2985. if (shenpiresult == 1)
  2986. {
  2987. //同意撤回,转到补录工单;改工单状态为待处理,F_RETURNVISITCONTENT =‘’ 加一条history历史记录 ,
  2988. StringBuilder strSql = new StringBuilder();
  2989. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2990. strSql.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0,F_RETURNVISITCONTENT='' where F_WORKORDERID=" + workorderid);
  2991. if (basemodel.F_HOUSING == "表扬")
  2992. {
  2993. //把表扬记录删掉
  2994. DataTable dt = NoticeBll.GetList("NoticeType=0 and OrderId='" + basemodel.F_WORKORDERID + "'").Tables[0];
  2995. if (dt.Rows.Count > 0)
  2996. {
  2997. foreach (DataRow dr in dt.Rows)
  2998. {
  2999. int deleteid = Convert.ToInt32(dr["NoticeId"].ToString());
  3000. NoticeBll.Delete(deleteid);
  3001. }
  3002. }
  3003. }
  3004. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  3005. Model.T_Wo_WorkOrderHistory historyModelNew = new Model.T_Wo_WorkOrderHistory();
  3006. historyModelNew.F_INSTANCEID = workorderid;
  3007. historyModelNew.F_OPTUSERID = byid;
  3008. historyModelNew.F_UserName = byname;
  3009. historyModelNew.F_OPTBTNID = bmid;
  3010. historyModelNew.F_NEXTOWNERARRID = "";
  3011. historyModelNew.F_OPTDATE = DateTime.Now;
  3012. historyModelNew.F_WORKORDERSTATEID = 0;
  3013. historyModelNew.F_StateName = "审批通过";
  3014. historyModelNew.F_TASKFLAG = 0;
  3015. if (string.IsNullOrEmpty(shenpiopinion))
  3016. {
  3017. historyModelNew.F_REMARK = byname + "审批通过";
  3018. }
  3019. else
  3020. {
  3021. historyModelNew.F_REMARK = byname + "审批通过; 原因:" + shenpiopinion;
  3022. }
  3023. InsertWorkOrderHistoryModel(historyModelNew);
  3024. }
  3025. }
  3026. else
  3027. {
  3028. return EditStatus;
  3029. }
  3030. return EditStatus;
  3031. }
  3032. #region 大屏相关的接口
  3033. public DataSet GetFiveList()
  3034. {
  3035. string sql = "SELECT TOP 5 F_CREATEDATE,F_HOUSING, F_ADSLACCOUNT ,F_content FROM dbo.T_Wo_WorkOrderBase ORDER BY F_CREATEDATE DESC";
  3036. return DbHelperSQL.Query(sql);
  3037. }
  3038. public int GetHistoryDayMax()
  3039. {
  3040. string sql = " select max(maxcount) from(select convert(char(10),F_CREATEDATE,112) as maxday,count(1) as maxcount from[T_Wo_WorkOrderBase] group by convert(char(10), F_CREATEDATE, 112) ) t";
  3041. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  3042. return Convert.ToInt32(dt.Rows[0][0]);
  3043. }
  3044. public int GetHistoryDayLongTel()
  3045. {
  3046. string sql = " select max(maxcount) from(select convert(char(10),BeginTime,112) as maxday,sum(TalkLongTime) as maxcount from[T_Call_CallRecords] group by convert(char(10), BeginTime, 112) )t";
  3047. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  3048. return Convert.ToInt32(dt.Rows[0][0]);
  3049. }
  3050. public int GetTodayCount()
  3051. {
  3052. string sql = "SELECT COUNT(*) FROM dbo.T_Wo_WorkOrderBase WHERE F_CREATEDATE >= convert(varchar(10), Getdate(), 120) ";
  3053. DataTable dt= DbHelperSQL.Query(sql).Tables[0];
  3054. return Convert.ToInt32(dt.Rows[0][0]);
  3055. }
  3056. public DataTable GetDataFluctuation()
  3057. {
  3058. DataTable dt = new DataTable();
  3059. string sql = "select F_WORKORDERFROM,convert(char(6),F_CREATEDATE,112) yearmonth ,count(1) amount from T_Wo_WorkOrderBase where F_CREATEDATE between DateAdd(m,-11,getdate()) and GETDATE() group by F_WORKORDERFROM,convert(char(6), F_CREATEDATE, 112) order by convert(char(6), F_CREATEDATE, 112) ";
  3060. dt = DbHelperSQL.Query(sql).Tables[0];
  3061. return dt;
  3062. }
  3063. public DataTable GetAverageAcceptAmount()
  3064. {
  3065. DataTable dt = new DataTable();
  3066. double weekAverage = 0;
  3067. double monthAverage = 0;
  3068. double yearAverage = 0;
  3069. //最近一周日均
  3070. string endDate = DateTime.Now.ToString("yyyy-MM-dd");
  3071. string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
  3072. string sql = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  3073. sql += " t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
  3074. sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
  3075. DataTable countweek= DbHelperSQL.Query(sql).Tables[0];
  3076. if (countweek.Rows.Count>0)
  3077. {
  3078. int countwe = Convert.ToInt32( countweek.Rows[0]["amount"]);
  3079. if (countwe != 0)
  3080. {
  3081. weekAverage = countwe / 7;
  3082. }
  3083. }
  3084. ///最近一月
  3085. string endDate1 = DateTime.Now.ToString("yyyy-MM-dd");
  3086. string startDate1 = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
  3087. TimeSpan ts =Convert.ToDateTime( endDate1 )- Convert.ToDateTime(startDate1);
  3088. int dds = ts.Days;
  3089. string sql2 = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  3090. sql2 += " t.F_CREATEDATE>= '" + startDate1 + " 00:00:00" + "'";
  3091. sql2 += " and t.F_CREATEDATE<= '" + endDate1 + " 23:59:59" + "'";
  3092. DataTable countmonth = DbHelperSQL.Query(sql2).Tables[0];
  3093. if (countmonth.Rows.Count > 0)
  3094. {
  3095. int countmm = Convert.ToInt32(countmonth.Rows[0]["amount"]);
  3096. if (countmm != 0)
  3097. {
  3098. monthAverage = countmm / dds;
  3099. }
  3100. }
  3101. ///最近一年
  3102. ///
  3103. string endDate2 = DateTime.Now.ToString();
  3104. string startDate2 = DateTime.Now.AddYears(-1).ToString();
  3105. TimeSpan ts2 = Convert.ToDateTime(endDate2) - Convert.ToDateTime(startDate2);
  3106. int dds2 = ts2.Days;
  3107. string sql3 = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  3108. sql3 += " F_CREATEDATE>= '" + startDate2 + "'";
  3109. sql3 += " and F_CREATEDATE<= '" + endDate2 + "'";
  3110. DataTable countyear= DbHelperSQL.Query(sql3).Tables[0];
  3111. if (countyear.Rows.Count>0)
  3112. {
  3113. int countyy = Convert.ToInt32(countyear.Rows[0]["amount"]);
  3114. if (countyy != 0)
  3115. {
  3116. yearAverage = countyy / dds2;
  3117. }
  3118. }
  3119. dt.Columns.Add("type", Type.GetType("System.String"));
  3120. dt.Columns.Add("amount", Type.GetType("System.Int32"));
  3121. DataRow dr = dt.NewRow();
  3122. dr["type"] = "week";
  3123. dr["amount"] = weekAverage;
  3124. dt.Rows.Add(dr);
  3125. DataRow dr2 = dt.NewRow();
  3126. dr2["type"] = "month";
  3127. dr2["amount"] = monthAverage;
  3128. dt.Rows.Add(dr2);
  3129. DataRow dr3 = dt.NewRow();
  3130. dr3["type"] = "year";
  3131. dr3["amount"] = yearAverage;
  3132. dt.Rows.Add(dr3);
  3133. return dt;
  3134. }
  3135. public DataTable GetYearTelAmount()
  3136. {
  3137. string sql = " SELECT datepart(year, BeginTime) theyear,COUNT(*) amount FROM dbo.T_Call_CallRecords group by datepart(year, BeginTime) order by theyear";
  3138. // string sql = "SELECT datepart(year, F_CREATEDATE) theyear,COUNT(*) amount FROM dbo.T_Wo_WorkOrderBase WHERE (F_WORKORDERFROM = '语音工单' OR F_WORKORDERFROM = '留言工单') group by datepart(year, F_CREATEDATE)";
  3139. DataSet ds= DbHelperSQL.Query(sql);
  3140. return ds.Tables[0];
  3141. }
  3142. public DataTable GetSixMonthTelAmount()
  3143. {
  3144. string sql = " SELECT top 6 convert(nvarchar(6), BeginTime, 112) theyearmonth,COUNT(*) amount FROM dbo.T_Call_CallRecords group by convert(nvarchar(6), BeginTime, 112) ORDER BY convert(nvarchar(6), BeginTime, 112) DESC ";
  3145. // string sql = "SELECT convert(nvarchar(6),F_CREATEDATE,112) theyearmonth,COUNT(*) amount FROM dbo.T_Wo_WorkOrderBase WHERE (F_WORKORDERFROM = '语音工单' OR F_WORKORDERFROM = '留言工单') group by convert(nvarchar(6), F_CREATEDATE, 112) ORDER BY convert(nvarchar(6), F_CREATEDATE, 112) DESC ";
  3146. DataSet ds = DbHelperSQL.Query(sql);
  3147. return ds.Tables[0];
  3148. }
  3149. public DataTable GetPressKeyValue()
  3150. {
  3151. string sql = " select typeName,count(1) total from [autoReplyType] where datediff(dd, createTime, GETDATE())= 0 group by typeName order by count(1) desc";
  3152. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  3153. string sql2 = " select count(1) total from [autoReplyType] where datediff(dd, createTime, GETDATE())= 0 ";
  3154. int total = Convert.ToInt32(DbHelperSQL.GetSingle(sql2));
  3155. DataTable dt3 = new DataTable();
  3156. dt3.Columns.Add("typeName", Type.GetType("System.String"));
  3157. dt3.Columns.Add("amount", Type.GetType("System.Int32"));
  3158. dt3.Columns.Add("percent", Type.GetType("System.String"));
  3159. if (total > 0)
  3160. {
  3161. if (dt.Rows.Count > 0)
  3162. {
  3163. foreach (DataRow dr in dt.Rows)
  3164. {
  3165. DataRow dr2 = dt3.NewRow();
  3166. dr2["typeName"] = dr["typeName"].ToString();
  3167. int currentAmount = Convert.ToInt32(dr["total"]);
  3168. dr2["amount"] = currentAmount;
  3169. double dd= Convert.ToDouble(currentAmount) / Convert.ToDouble(total) ;
  3170. dr2["percent"] = dd.ToString("0.00%");
  3171. dt3.Rows.Add(dr2);
  3172. }
  3173. }
  3174. }
  3175. return dt3;
  3176. }
  3177. public DataTable GetEverydayOfMonthTelAmount()
  3178. {
  3179. string sql = " SELECT convert(nvarchar(10),BeginTime,120) daydate,COUNT(*) amount FROM T_Call_CallRecords WHERE BeginTime>= dateadd(month, datediff(month, 0, getdate()), 0) GROUP BY convert(nvarchar(10), BeginTime, 120) ORDER BY daydate";
  3180. //string sql = "SELECT convert(nvarchar(10),F_CREATEDATE,120) daydate,COUNT(*) amount FROM T_Wo_WorkOrderBase WHERE F_CREATEDATE>= dateadd(month, datediff(month, 0, getdate()), 0) and (F_WORKORDERFROM='语音工单' OR F_WORKORDERFROM='留言工单') GROUP BY convert(nvarchar(10), F_CREATEDATE, 120) ORDER BY daydate";
  3181. DataSet ds = DbHelperSQL.Query(sql);
  3182. return ds.Tables[0];
  3183. }
  3184. public DataTable GetTodayFromTypeAmount()
  3185. {
  3186. string sql = " SELECT F_WORKORDERFROM workorderfrom,COUNT(1) amount FROM T_Wo_WorkOrderBase WHERE datediff(d, F_CREATEDATE, getDate()) = 0 GROUP BY F_WORKORDERFROM";
  3187. DataSet ds = DbHelperSQL.Query(sql);
  3188. DataTable dt = ds.Tables[0];
  3189. int telcount = 0;
  3190. int wxcount = 0;
  3191. int wbcount = 0;
  3192. if (dt.Rows.Count > 0)
  3193. {
  3194. foreach (DataRow dr in dt.Rows)
  3195. {
  3196. if (dr["workorderfrom"].ToString() == "留言工单")
  3197. {
  3198. telcount += Convert.ToInt32(dr["amount"]);
  3199. }
  3200. if (dr["workorderfrom"].ToString() == "语音工单")
  3201. {
  3202. telcount += Convert.ToInt32(dr["amount"]);
  3203. }
  3204. if (dr["workorderfrom"].ToString() == "微信工单")
  3205. {
  3206. wxcount += Convert.ToInt32(dr["amount"]);
  3207. }
  3208. //if (dr["workorderfrom"].ToString() == "微博工单")
  3209. //{
  3210. // wbcount += Convert.ToInt32(dr["amount"]);
  3211. //}
  3212. }
  3213. }
  3214. DataTable dt2 = new DataTable();
  3215. dt2.Columns.Add("workorderfrom", Type.GetType("System.String"));
  3216. dt2.Columns.Add("amount", Type.GetType("System.Int32"));
  3217. DataRow dr2 = dt2.NewRow();
  3218. dr2["workorderfrom"] = "话务工单";
  3219. dr2["amount"] = telcount;
  3220. dt2.Rows.Add(dr2);
  3221. DataRow dr3 = dt2.NewRow();
  3222. dr3["workorderfrom"] = "微信工单";
  3223. dr3["amount"] = 0;
  3224. dt2.Rows.Add(dr3);
  3225. //DataRow dr4 = dt2.NewRow();
  3226. //dr4["workorderfrom"] = "微博工单";
  3227. //dr4["amount"] = wbcount;
  3228. //dt2.Rows.Add(dr4);
  3229. return dt2;
  3230. }
  3231. public DataTable GetTodayTelType()
  3232. {
  3233. string starttime= DateTime.Now.ToShortDateString();
  3234. string sql = "select F_HOUSING ,count(*) FROM dbo.T_Wo_WorkOrderBase WHERE F_CREATEDATE>= '" + starttime + "' GROUP BY F_HOUSING";
  3235. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  3236. return dt;
  3237. }
  3238. public DataTable GetTodayLineDistribution()
  3239. {
  3240. string datetime = DateTime.Now.ToString("yyyy-MM-dd");
  3241. string sql = "select F_DictionaryFlag,sum(cc) total from (select F_DictionaryFlag , F_WORKORDERLEVELID, F_Name, cc from T_Sys_DictionaryValue a left join ( select F_WORKORDERLEVELID, count(1) cc from T_Wo_WorkOrderBase where F_CREATEDATE > '" + datetime + "' group by F_WORKORDERLEVELID)t on t.F_WORKORDERLEVELID = a.F_DictionaryValueId where cc> 0 ) t group by F_DictionaryFlag order by total desc"; // string sql = "select F_DictionaryFlag , F_WORKORDERLEVELID, F_Name, cc from T_Sys_DictionaryValue a left join(select F_WORKORDERLEVELID,count(1) cc from T_Wo_WorkOrderBase where F_CREATEDATE > '"+datetime+"' group by F_WORKORDERLEVELID)t on t.F_WORKORDERLEVELID = a.F_DictionaryValueId where cc> 0";
  3242. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  3243. return dt;
  3244. }
  3245. #endregion
  3246. }
  3247. }