地铁二期项目正式开始

T_Wo_WorkOrderBase.cs 155KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955
  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. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1415. {
  1416. Model.T_Wo_WorkOrderNotice modelNotice = new Model.T_Wo_WorkOrderNotice();
  1417. modelNotice.OrderId = model.F_WORKORDERID;
  1418. modelNotice.NoticeType = 0;
  1419. modelNotice.NoticeState = 1;
  1420. modelNotice.NoticeDeptName = historyModel.F_NEXTOWNERARRID.ToMyString();
  1421. modelNotice.NoticeDeptId = historyModel.F_OPTBTNID.ToInt32();
  1422. NoticeBll.Add(modelNotice);
  1423. }
  1424. }
  1425. }
  1426. if (model.F_RETURNVISITFLAG == 1)
  1427. {
  1428. model.F_WORKORDERSTATEID = 3;
  1429. model.F_ENDTIME = DateTime.Now;
  1430. model.F_REPAIRREQUEST = "待回访";
  1431. }
  1432. else
  1433. {
  1434. model.F_ENDTIME = DateTime.Now;
  1435. model.F_WORKORDERSTATEID = 5;
  1436. model.F_REPAIRREQUEST = "已处理";
  1437. }
  1438. }
  1439. // if (model.F_WORKORDERTYPEID == 1)
  1440. else if (model.F_WORKORDERTYPEID == 1)
  1441. {
  1442. //转单
  1443. if (model.HistoryOrderList != null)
  1444. {
  1445. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1446. {
  1447. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  1448. historyModel.F_OPTDATE = DateTime.Now;
  1449. historyModel.F_WORKORDERSTATEID = 0;
  1450. historyModel.F_StateName = "未处理";
  1451. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  1452. historyId = InsertWorkOrderHistoryModel(historyModel);
  1453. }
  1454. if (model.HistoryOrderList.Count > 0)
  1455. {
  1456. historyId = model.HistoryOrderList.Count;
  1457. }
  1458. }
  1459. if (model.F_HOUSING == "咨询" || model.F_HOUSING == "挂失")
  1460. {
  1461. #region
  1462. //if (model.F_RETURNVISITFLAG!= 1)
  1463. //{
  1464. // model.F_WORKORDERSTATEID = 3;
  1465. // model.F_ENDTIME = DateTime.Now;
  1466. // model.F_REPAIRREQUEST = "待回访";
  1467. //}
  1468. //else
  1469. //{
  1470. // model.F_WORKORDERSTATEID = 1;
  1471. // model.F_ENDTIME = DateTime.Now;
  1472. // model.F_REPAIRREQUEST = "处理中";
  1473. //}
  1474. #endregion
  1475. model.F_WORKORDERSTATEID = 1;
  1476. model.F_ENDTIME = DateTime.Now;
  1477. model.F_REPAIRREQUEST = "处理中";
  1478. #region
  1479. //if (model.F_RETURNVISITFLAG != 1)
  1480. //{
  1481. //}
  1482. //else
  1483. //{
  1484. // model.F_WORKORDERSTATEID = 3;
  1485. // model.F_ENDTIME = DateTime.Now;
  1486. // model.F_REPAIRREQUEST = "待回访";
  1487. //}
  1488. //foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1489. //{
  1490. // historyModel.F_INSTANCEID = model.F_WORKORDERID;
  1491. // historyModel.F_StateName = "处理中";
  1492. // historyId = InsertWorkOrderHistoryModel(historyModel);
  1493. //}
  1494. #endregion
  1495. }
  1496. }
  1497. else if (model.F_HOUSING == "投诉")
  1498. {
  1499. if (model.F_RETURNVISITFLAG == 1)
  1500. {
  1501. model.F_WORKORDERSTATEID = 3;
  1502. model.F_ENDTIME = DateTime.Now;
  1503. model.F_REPAIRREQUEST = "待回访";
  1504. }
  1505. else
  1506. {
  1507. model.F_WORKORDERSTATEID = 4;
  1508. model.F_ENDTIME = DateTime.Now;
  1509. model.F_REPAIRREQUEST = "待定责";
  1510. }
  1511. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1512. {
  1513. historyId = InsertWorkOrderHistoryModel(historyModel);
  1514. }
  1515. }
  1516. else if (model.F_HOUSING == "建议")
  1517. {
  1518. if (model.F_RETURNVISITFLAG == 1)
  1519. {
  1520. model.F_WORKORDERSTATEID = 3;
  1521. model.F_ENDTIME = DateTime.Now;
  1522. model.F_REPAIRREQUEST = "待回访";
  1523. }
  1524. else
  1525. {
  1526. model.F_WORKORDERSTATEID = 5;
  1527. model.F_ENDTIME = DateTime.Now;
  1528. model.F_REPAIRREQUEST = "已处理";
  1529. }
  1530. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  1531. {
  1532. historyId = InsertWorkOrderHistoryModel(historyModel);
  1533. }
  1534. }
  1535. //记录派单时间计算工单超时
  1536. model.F_SENTORDERTIME = DateTime.Now;
  1537. //超时时间 直接结束的工单超时时间为0
  1538. //int tempn = (int)DateUtil.DateDiff(DateInterval.Second, modelbase.F_CREATEBY.ToDateTime().AddDays(5), DateTime.Now);
  1539. //if (tempn < 0)
  1540. //{
  1541. // tempn = 0;
  1542. //}
  1543. model.F_OVERTIMES = 0;
  1544. }
  1545. string F_HOUSINGint = "0";
  1546. switch (model.F_HOUSING)
  1547. {
  1548. case "咨询":
  1549. F_HOUSINGint = "1";
  1550. break;
  1551. case "投诉":
  1552. F_HOUSINGint = "2";
  1553. break;
  1554. case "建议":
  1555. F_HOUSINGint = "3";
  1556. break;
  1557. case "表扬":
  1558. F_HOUSINGint = "4";
  1559. break;
  1560. case "挂失":
  1561. F_HOUSINGint = "5";
  1562. break;
  1563. }
  1564. 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));
  1565. StringBuilder strSql = new StringBuilder();
  1566. strSql.Append("update T_Wo_WorkOrderBase set ");
  1567. strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  1568. strSql.Append("F_OVERTIMES=@F_OVERTIMES,");
  1569. strSql.Append("F_SENTORDERTIME=@F_SENTORDERTIME,");
  1570. strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  1571. strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  1572. //strSql.Append("F_WORKORDERFROM=@F_WORKORDERFROM,");
  1573. strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  1574. strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  1575. strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  1576. strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  1577. strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  1578. strSql.Append("F_CONTENT=@F_CONTENT,");
  1579. strSql.Append("F_WORKORDERTYPEID=@F_WORKORDERTYPEID,");
  1580. //strSql.Append("F_USERID=@F_USERID,");
  1581. //strSql.Append("F_REPAIRMANNAME=@F_REPAIRMANNAME,");
  1582. // strSql.Append("F_CREATEDATE=@F_CREATEDATE,");
  1583. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  1584. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST,");
  1585. strSql.Append("F_INSTALLADDRESS=@F_INSTALLADDRESS,");
  1586. strSql.Append("F_DEPTID=@F_DEPTID,");
  1587. strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  1588. strSql.Append("F_CREATEBY=@F_CREATEBY,");
  1589. strSql.Append("F_USERNAME=@F_USERNAME,");
  1590. strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  1591. strSql.Append("F_RETURNVISITCONTENT=@F_RETURNVISITCONTENT,");
  1592. strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  1593. strSql.Append("F_RETURNVISITTIME =@F_RETURNVISITTIME,");
  1594. strSql.Append("F_CODE =@F_CODE,");
  1595. strSql.Append("F_FILEFLAG =@F_FILEFLAG,");
  1596. strSql.Append("F_HOUSING =@F_HOUSING,");
  1597. // strSql.Append("F_LINKMAN =@F_LINKMAN,");
  1598. //strSql.Append("F_REPAIRMANID =@F_REPAIRMANID,");
  1599. strSql.Append("F_REMAINDERENDTIME =@F_REMAINDERENDTIME,");
  1600. strSql.Append("F_RETURNVISITOPINION =@F_RETURNVISITOPINION,");
  1601. strSql.Append("F_ENDTIME =@F_ENDTIME,");
  1602. strSql.Append("F_FORMID =@F_FORMID");
  1603. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  1604. SqlParameter[] parameters = {
  1605. new SqlParameter("@F_CUSTOMERID", model.F_CUSTOMERID),
  1606. new SqlParameter("@F_CUSTOMERNAME", model.F_CUSTOMERNAME),
  1607. new SqlParameter("@F_CUSTOMERTELEPHONE", model.F_CUSTOMERTELEPHONE),
  1608. new SqlParameter("@F_OVERTIMES", model.F_OVERTIMES),
  1609. new SqlParameter("@F_RETURNVISITPROBLEM", model.F_RETURNVISITPROBLEM),
  1610. new SqlParameter("@F_REPAIRLEVEL", model.F_REPAIRLEVEL),
  1611. new SqlParameter("@F_ADSLACCOUNT", model.F_ADSLACCOUNT),
  1612. new SqlParameter("@F_WORKORDERLEVELID", model.F_WORKORDERLEVELID),
  1613. new SqlParameter("@F_WORKORDERNAME", model.F_WORKORDERNAME),
  1614. new SqlParameter("@F_CONTENT", model.F_CONTENT),
  1615. new SqlParameter("@F_WORKORDERTYPEID", model.F_WORKORDERTYPEID),
  1616. new SqlParameter("@F_USERID",model.F_USERID),
  1617. //new SqlParameter("@F_REPAIRMANNAME", SqlDbType.NVarChar,200),
  1618. //new SqlParameter("@F_CREATEDATE", DateTime.Now),
  1619. new SqlParameter("@F_WORKORDERSTATEID", model.F_WORKORDERSTATEID),
  1620. new SqlParameter("@F_REPAIRREQUEST", model.F_REPAIRREQUEST),
  1621. new SqlParameter("@F_INSTALLADDRESS", model.F_INSTALLADDRESS),
  1622. new SqlParameter("@F_DEPTID", model.F_DEPTID),
  1623. new SqlParameter("@F_DEPTCODE", model.F_DEPTCODE),
  1624. new SqlParameter("@F_CREATEBY", model.F_CREATEBY),
  1625. new SqlParameter("@F_USERNAME", model.F_USERNAME),
  1626. new SqlParameter("@F_REQUESTSERVICETIME",model.F_REQUESTSERVICETIME),
  1627. new SqlParameter("@F_RETURNVISITCONTENT", model.F_RETURNVISITCONTENT),
  1628. new SqlParameter("@F_RETURNVISITFLAG", model.F_RETURNVISITFLAG),
  1629. new SqlParameter("@F_RETURNVISITTIME ", model.F_RETURNVISITTIME),
  1630. new SqlParameter("@F_CODE ", model.F_CODE),
  1631. new SqlParameter("@F_FILEFLAG", model.F_FILEFLAG),
  1632. new SqlParameter("@F_HOUSING ", model.F_HOUSING),
  1633. // new SqlParameter("@F_LINKMAN", SqlDbType.NVarChar,200),
  1634. //new SqlParameter("@F_REPAIRMANID", SqlDbType.Int,4),
  1635. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1636. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1637. new SqlParameter("@F_FORMID", historyId),
  1638. new SqlParameter("@F_ENDTIME", model.F_ENDTIME),
  1639. new SqlParameter("@F_SENTORDERTIME", model.F_SENTORDERTIME),
  1640. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1641. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  1642. if (rows > 0)
  1643. {
  1644. return true;
  1645. }
  1646. else
  1647. {
  1648. return false;
  1649. }
  1650. }
  1651. //业务类型
  1652. DAL.T_Wo_WorkOrderType dal = new T_Wo_WorkOrderType();
  1653. /// <summary>
  1654. /// 获取订单编号
  1655. /// </summary>
  1656. /// <param name="bussnessType">业务类型</param>
  1657. /// <returns></returns>
  1658. public string GetOrderNumber(int bussnessType)
  1659. {
  1660. string orderNumber = "";
  1661. if (bussnessType > 0)
  1662. {
  1663. Model.T_Wo_WorkOrderType model = dal.GetModel(bussnessType);
  1664. if (model != null && !string.IsNullOrEmpty(model.F_ParentName))
  1665. {
  1666. orderNumber += model.F_ParentName;
  1667. }
  1668. }
  1669. orderNumber += DateTime.Now.ToString("yyyyMMdd");
  1670. //当前最大编号
  1671. string maxOrderNum = GetMaxOrderNumber(orderNumber);
  1672. if (!string.IsNullOrEmpty(maxOrderNum))
  1673. {
  1674. orderNumber += (int.Parse(("1" + maxOrderNum.Substring(10)).ToString()) + 1).ToString().Substring(1);
  1675. }
  1676. else
  1677. {
  1678. orderNumber += "0001";
  1679. }
  1680. return orderNumber;
  1681. }
  1682. /// <summary>
  1683. /// 获取最大编号
  1684. /// </summary>
  1685. /// <param name="orderNumStart">编号前面部门(ZX20180322)</param>
  1686. /// <returns></returns>
  1687. public string GetMaxOrderNumber(string orderNumStart)
  1688. {
  1689. StringBuilder strSql = new StringBuilder();
  1690. strSql.Append("select max(F_CODE) from T_Wo_WorkOrderBase ");
  1691. strSql.Append(" where F_CODE like '" + orderNumStart + "%' ");
  1692. YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model = new YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase();
  1693. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1694. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  1695. {
  1696. return ds.Tables[0].Rows[0][0].ToString();
  1697. }
  1698. else
  1699. {
  1700. return "";
  1701. }
  1702. }
  1703. /// <summary>
  1704. /// 插入转办信息
  1705. /// </summary>
  1706. /// <param name="model"></param>
  1707. /// <returns></returns>
  1708. public int InsertWorkOrderHistoryModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderHistory model)
  1709. {
  1710. object time = model.ReplayTime;
  1711. if (model.ReplayTime.Year == 1)
  1712. {
  1713. time = null;
  1714. }
  1715. StringBuilder strSql = new StringBuilder();
  1716. strSql.Append("insert into T_Wo_WorkOrderHistory(");
  1717. strSql.Append("F_WORKORDERSTATEID,F_OPTUSERID,F_OPTDATE,F_NEXTOWNERARRID,F_REMARK,F_OPTBTNID,F_INSTANCEID,F_StateName,F_UserName,NeedReplayTime,F_TASKFLAG,ReplayTime)");
  1718. strSql.Append(" values (");
  1719. strSql.Append("@F_WORKORDERSTATEID,@F_OPTUSERID,@F_OPTDATE,@F_NEXTOWNERARRID,@F_REMARK,@F_OPTBTNID,@F_INSTANCEID,@F_StateName,@F_UserName,@NeedReplayTime,@F_TASKFLAG,@ReplayTime)");
  1720. strSql.Append(";select @@IDENTITY");
  1721. SqlParameter[] parameters = {
  1722. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  1723. new SqlParameter("@F_OPTUSERID", SqlDbType.Int,4),
  1724. new SqlParameter("@F_OPTDATE", SqlDbType.DateTime),
  1725. new SqlParameter("@F_NEXTOWNERARRID", SqlDbType.NVarChar,200),
  1726. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  1727. new SqlParameter("@F_OPTBTNID", SqlDbType.Int,4),
  1728. new SqlParameter("@F_INSTANCEID", SqlDbType.Int,4),
  1729. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  1730. new SqlParameter("@F_UserName", SqlDbType.NVarChar,200),
  1731. new SqlParameter("@NeedReplayTime", SqlDbType.DateTime),
  1732. new SqlParameter("@F_TASKFLAG", SqlDbType.Int,4),
  1733. new SqlParameter("@ReplayTime", time),
  1734. };
  1735. parameters[0].Value = model.F_WORKORDERSTATEID;
  1736. parameters[1].Value = model.F_OPTUSERID;
  1737. parameters[2].Value = model.F_OPTDATE;
  1738. parameters[3].Value = model.F_NEXTOWNERARRID;
  1739. parameters[4].Value = model.F_REMARK;
  1740. parameters[5].Value = model.F_OPTBTNID;
  1741. parameters[6].Value = model.F_INSTANCEID;
  1742. parameters[7].Value = model.F_StateName;
  1743. parameters[8].Value = model.F_UserName;
  1744. parameters[9].Value = model.NeedReplayTime;
  1745. parameters[10].Value = model.F_TASKFLAG;
  1746. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  1747. if (obj == null)
  1748. {
  1749. return 0;
  1750. }
  1751. else
  1752. {
  1753. return Convert.ToInt32(obj);
  1754. }
  1755. }
  1756. #endregion ExtensionMethod
  1757. #region 提交转办信息
  1758. public bool EditMyOrderInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  1759. {
  1760. bool EditStatus = false;
  1761. //历史工单id
  1762. int historyId = EditMyOrderHistoryInfo(model);
  1763. //修改历史记录成功
  1764. if (historyId > 0)
  1765. {
  1766. StringBuilder strSql = new StringBuilder();
  1767. strSql.Append("update T_Wo_WorkOrderBase set ");
  1768. strSql.Append("F_DEPTID=@F_DEPTID,");
  1769. strSql.Append("F_DEPTCODE=@F_DEPTCODE,");
  1770. strSql.Append("F_CREATEBY=@F_CREATEBY,");
  1771. strSql.Append("F_USERNAME=@F_USERNAME,");
  1772. strSql.Append("F_REQUESTSERVICETIME=@F_REQUESTSERVICETIME,");
  1773. strSql.Append("F_FORMID =@F_FORMID,");
  1774. strSql.Append("F_REMAINDERENDTIME =@F_REMAINDERENDTIME,");
  1775. strSql.Append("F_RETURNVISITRESULT =@F_RETURNVISITRESULT,");
  1776. strSql.Append("F_ROAD =@F_ROAD,");
  1777. strSql.Append("F_RETURNVISITOPINION =@F_RETURNVISITOPINION");
  1778. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  1779. SqlParameter[] parameters = {
  1780. new SqlParameter("@F_DEPTID", SqlDbType.Int,4),
  1781. new SqlParameter("@F_DEPTCODE", SqlDbType.NVarChar,200),
  1782. new SqlParameter("@F_CREATEBY", SqlDbType.Int,4),
  1783. new SqlParameter("@F_USERNAME", SqlDbType.NVarChar,200),
  1784. new SqlParameter("@F_REQUESTSERVICETIME",SqlDbType.DateTime),
  1785. new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  1786. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  1787. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  1788. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  1789. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  1790. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  1791. parameters[0].Value = model.F_DEPTID;
  1792. parameters[1].Value = model.F_DEPTCODE;
  1793. parameters[2].Value = model.F_CREATEBY;
  1794. parameters[3].Value = model.F_USERNAME;
  1795. parameters[4].Value = model.F_REQUESTSERVICETIME;
  1796. parameters[5].Value = historyId;
  1797. parameters[6].Value = model.F_REMAINDERENDTIME;
  1798. parameters[7].Value = model.F_RETURNVISITRESULT;
  1799. parameters[8].Value = model.F_ROAD;
  1800. parameters[9].Value = model.F_RETURNVISITOPINION;
  1801. parameters[10].Value = model.F_WORKORDERID;
  1802. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1803. }
  1804. return EditStatus;
  1805. }
  1806. /// <summary>
  1807. /// 处理转办信息
  1808. /// </summary>
  1809. /// <param name="model"></param>
  1810. /// <returns></returns>
  1811. public bool SubmitOrder(Model.T_Wo_WorkOrderHistory model)
  1812. {
  1813. bool EditStatus = false;
  1814. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  1815. //如果工单状态处理中
  1816. if (model.F_WORKORDERSTATEID == 0)
  1817. {
  1818. //更新新本次转办信息
  1819. Model.T_Wo_WorkOrderHistory eidthistoryModel = bllOrderHistory.GetModel(model.F_HISTORYID);
  1820. //工单主键
  1821. eidthistoryModel.F_REMARK = model.F_REMARK;//处理内容
  1822. eidthistoryModel.F_StateName = "已处理";
  1823. eidthistoryModel.F_WORKORDERSTATEID = 1;
  1824. eidthistoryModel.ReplayTime = DateTime.Now;
  1825. if (bllOrderHistory.Update(eidthistoryModel))
  1826. {
  1827. //判断是否所有的转办已经被处理 F_WORKORDERSTATEID=1 处理中 F_WORKORDERTYPEID=1转单
  1828. 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)
  1829. EditStatus = true;
  1830. if (n == 0)
  1831. {
  1832. LogAciton.AddAction(eidthistoryModel.F_UserName, eidthistoryModel.F_OPTUSERID.ToInt32(), "历史工单模块调用工单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrder", "DAL/T_Wo_WorkOrderBase/UpdateOrderToHF");
  1833. UpdateOrderToHF(eidthistoryModel.F_INSTANCEID.ToInt32());
  1834. }
  1835. //如果有转办信息插入转办信息
  1836. // historyId = InsertWorkOrderHistoryModel(historyModel);
  1837. }
  1838. }
  1839. return EditStatus;
  1840. }
  1841. /// <summary>
  1842. /// 处理转办信息
  1843. /// </summary>
  1844. /// <param name="model"></param>
  1845. /// <returns></returns>
  1846. public bool SubmitOrder(Model.T_Wo_WorkOrderHistory model, int? workorderid, string F_username)
  1847. {
  1848. bool EditStatus = false;
  1849. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  1850. //如果工单状态处理中
  1851. if (model.F_WORKORDERSTATEID == 0)
  1852. {
  1853. if (model.F_HISTORYID != 0)//cong待回访中驳回的时候 model.F_HISTORYID=0
  1854. {
  1855. 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 '%驳回%'");
  1856. ////更新新本次转办信息
  1857. //Model.T_Wo_WorkOrderHistory eidthistoryModel = bllOrderHistory.GetModel(model.F_HISTORYID);
  1858. ////工单主键
  1859. //eidthistoryModel.F_REMARK = model.F_REMARK;//处理内容
  1860. //eidthistoryModel.F_StateName = "已处理";
  1861. //eidthistoryModel.F_WORKORDERSTATEID = 1;
  1862. //eidthistoryModel.ReplayTime = DateTime.Now;
  1863. //if (bllOrderHistory.Update(eidthistoryModel))
  1864. //{
  1865. // 判断是否所有的转办已经被处理 F_WORKORDERSTATEID = 1 处理中 F_WORKORDERTYPEID = 1转单
  1866. 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)
  1867. EditStatus = true;
  1868. if (n == 0)
  1869. {
  1870. LogAciton.AddAction(F_username, 0, "历史工单模块调用工单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrder", "DAL/T_Wo_WorkOrderBase/UpdateOrderToHF");
  1871. UpdateOrderToHF(workorderid == null ? 0 : workorderid.ToInt32());
  1872. }
  1873. //}
  1874. }
  1875. else
  1876. {
  1877. //
  1878. 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 ");
  1879. EditStatus = true;
  1880. if (n == 1)
  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. return EditStatus;
  1888. }
  1889. //转单处理完 转回复
  1890. public void UpdateOrderToHF(int F_WORKORDERID)
  1891. {
  1892. Model.T_Wo_WorkOrderBase modelbase = GetModel(F_WORKORDERID);
  1893. StringBuilder strSql = new StringBuilder();
  1894. strSql.Append("update T_Wo_WorkOrderBase set ");
  1895. strSql.Append(" F_REMAINDERTIME=GETDATE(), ");
  1896. if (modelbase.F_RETURNVISITFLAG == 1)
  1897. {
  1898. strSql.Append("F_REPAIRREQUEST='待回访', ");
  1899. strSql.Append("F_WORKORDERSTATEID=3,");
  1900. }
  1901. else if (modelbase.F_HOUSING == "投诉")
  1902. {
  1903. strSql.Append("F_ENDTIME=GETDATE(), ");
  1904. strSql.Append("F_WORKORDERSTATEID=4,");
  1905. strSql.Append("F_REPAIRREQUEST='待定责', ");
  1906. }
  1907. else
  1908. {
  1909. strSql.Append("F_ENDTIME=GETDATE(), ");
  1910. strSql.Append("F_WORKORDERSTATEID=5,");
  1911. strSql.Append("F_REPAIRREQUEST='已处理', ");
  1912. }
  1913. // 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 ");
  1914. //计划回访时间 F_RETURNVISITTIME(原来的派单时间+5改成计划回访时间)
  1915. strSql.Append("F_OVERTIMES=CASE WHEN ISNULL(DATEDIFF(second, F_RETURNVISITTIME, GETDATE()),0)<1 THEN 0 ELSE DATEDIFF(second, F_RETURNVISITTIME, GETDATE()) END ");
  1916. //转单F_WORKORDERTYPEID= 1转单 3客服处理 处理中 F_WORKORDERSTATEID=0未处理 1处理中 2已办结(结束) 3待回访 4待定责 5待通知
  1917. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERTYPEID=1 and F_WORKORDERSTATEID=1");
  1918. SqlParameter[] parameters = {
  1919. new SqlParameter("@F_WORKORDERID",F_WORKORDERID)};
  1920. DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  1921. }
  1922. /// <summary>
  1923. /// 回访转工单
  1924. /// </summary>
  1925. /// <param name="F_WORKORDERID"></param>
  1926. /// <param name="type">type 0转单 1定责</param>
  1927. public bool UpdateOrderToZD(Model.T_Wo_WorkOrderBase model)
  1928. {
  1929. StringBuilder strSql = new StringBuilder();
  1930. strSql.Append("update T_Wo_WorkOrderBase set ");
  1931. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  1932. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  1933. strSql.Append("F_ROAD=@F_ROAD,");
  1934. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  1935. strSql.Append("F_WORKORDERSTATEID=1,");//转单
  1936. strSql.Append("F_WORKORDERTYPEID=1,");//待回访转处理中
  1937. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  1938. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  1939. SqlParameter[] parameters = {
  1940. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1941. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  1942. new SqlParameter("@F_ROAD", ""),
  1943. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1944. new SqlParameter("@F_REPAIRREQUEST","回访转单处理中"),
  1945. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1946. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1947. }
  1948. /// <summary>
  1949. /// 回访转定责
  1950. /// </summary>
  1951. /// <param name="F_WORKORDERID"></param>
  1952. /// <param name="type">type 0转单 1定责</param>
  1953. public bool UpdateOrderToDZ(Model.T_Wo_WorkOrderBase model)
  1954. {
  1955. StringBuilder strSql = new StringBuilder();
  1956. strSql.Append("update T_Wo_WorkOrderBase set ");
  1957. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  1958. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  1959. strSql.Append("F_ROAD=@F_ROAD,");
  1960. strSql.Append("F_ENDTIME=@F_ENDTIME,");
  1961. //原来的回访时间的判断是 派单时间加5 改成 计划回访时间 F_RETURNVISITTIME
  1962. // 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,");
  1963. 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,");
  1964. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  1965. strSql.Append("F_WORKORDERSTATEID=4,");//定责
  1966. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  1967. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  1968. SqlParameter[] parameters = {
  1969. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1970. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  1971. new SqlParameter("@F_ROAD", ""),//原为满意度,前端没有用,后用作定责人员
  1972. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  1973. new SqlParameter("@F_REPAIRREQUEST","待定责"),
  1974. new SqlParameter("@F_ENDTIME",model.F_ENDTIME),
  1975. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  1976. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  1977. }
  1978. /// <summary>
  1979. /// 回访转已处理
  1980. /// </summary>
  1981. /// <param name="F_WORKORDERID"></param>
  1982. /// <param name="type">type 0转单 1定责</param>
  1983. public bool UpdateOrderToOver(Model.T_Wo_WorkOrderBase model)
  1984. {
  1985. StringBuilder strSql = new StringBuilder();
  1986. strSql.Append("update T_Wo_WorkOrderBase set ");
  1987. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  1988. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  1989. strSql.Append("F_ROAD=@F_ROAD,");
  1990. strSql.Append("F_ENDTIME=@F_ENDTIME,");
  1991. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  1992. strSql.Append("F_WORKORDERSTATEID=5,");//定责
  1993. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  1994. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID and F_WORKORDERSTATEID=3");
  1995. SqlParameter[] parameters = {
  1996. new SqlParameter("@F_REMAINDERENDTIME",model.F_REMAINDERENDTIME),
  1997. new SqlParameter("@F_RETURNVISITRESULT", model.F_RETURNVISITRESULT),
  1998. new SqlParameter("@F_ROAD", ""),//原为满意度,前端没有用,后用作定责人员
  1999. new SqlParameter("@F_RETURNVISITOPINION", model.F_RETURNVISITOPINION),
  2000. new SqlParameter("@F_REPAIRREQUEST","已处理"),
  2001. new SqlParameter("@F_ENDTIME",model.F_ENDTIME),
  2002. new SqlParameter("@F_WORKORDERID", model.F_WORKORDERID)};
  2003. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2004. }
  2005. //修改并插入转办历史信息
  2006. public int EditMyOrderHistoryInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2007. {
  2008. //历史工单id
  2009. int historyId = 0;
  2010. //如果工单状态不等于2
  2011. if (model.F_WORKORDERSTATEID == 1)
  2012. {
  2013. //更新新本次转办信息
  2014. Model.T_Wo_WorkOrderHistory eidthistoryModel = new Model.T_Wo_WorkOrderHistory();
  2015. //工单主键
  2016. eidthistoryModel.F_HISTORYID = int.Parse(model.F_FORMID.ToString());//主键
  2017. eidthistoryModel.F_REMARK = model.F_RETURNVISITCONTENT;//处理内容
  2018. eidthistoryModel.F_StateName = "已处理";
  2019. eidthistoryModel.F_WORKORDERSTATEID = 1;
  2020. eidthistoryModel.ReplayTime = DateTime.Now;
  2021. StringBuilder strSql = new StringBuilder();
  2022. strSql.Append("update T_Wo_WorkOrderHistory set ");
  2023. strSql.Append("F_REMARK=@F_REMARK,");
  2024. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2025. strSql.Append("F_StateName=@F_StateName,");
  2026. strSql.Append("ReplayTime=@ReplayTime");
  2027. strSql.Append(" where F_HISTORYID=@F_HISTORYID");
  2028. SqlParameter[] parameters = {
  2029. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  2030. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2031. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  2032. new SqlParameter("@ReplayTime", SqlDbType.DateTime),
  2033. new SqlParameter("@F_HISTORYID", SqlDbType.Int,4)};
  2034. parameters[0].Value = eidthistoryModel.F_REMARK;
  2035. parameters[1].Value = eidthistoryModel.F_WORKORDERSTATEID;
  2036. parameters[2].Value = eidthistoryModel.F_StateName;
  2037. parameters[3].Value = eidthistoryModel.ReplayTime;
  2038. parameters[4].Value = eidthistoryModel.F_HISTORYID;
  2039. if (DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0)
  2040. {
  2041. //插入转办信息
  2042. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2043. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  2044. historyModel.F_OPTBTNID = model.F_DEPTID;//部门
  2045. historyModel.F_NEXTOWNERARRID = model.F_DEPTCODE;//部门
  2046. historyModel.F_OPTUSERID = model.F_CREATEBY;//人员
  2047. historyModel.F_UserName = model.F_USERNAME;//人员
  2048. historyModel.F_OPTDATE = DateTime.Now;
  2049. historyModel.F_WORKORDERSTATEID = 0;
  2050. historyModel.F_StateName = "未处理";
  2051. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  2052. historyId = InsertWorkOrderHistoryModel(historyModel);
  2053. }
  2054. }
  2055. return historyId;
  2056. }
  2057. #endregion
  2058. # region 全媒体客服处理回访
  2059. /// <summary>
  2060. /// 全媒体客服处理回访
  2061. /// </summary>
  2062. /// <param name="model"></param>
  2063. /// <returns></returns>
  2064. public bool SubmitOrderHF(Model.T_Wo_WorkOrderBase model)
  2065. {
  2066. bool EditStatus = false;
  2067. DAL.T_Wo_WorkOrderHistory bllOrderHistory = new DAL.T_Wo_WorkOrderHistory();
  2068. Model.T_Wo_WorkOrderBase modelbase = GetModel(model.F_WORKORDERID);
  2069. //如果工单状态处理中
  2070. if (modelbase.F_WORKORDERSTATEID == 3)
  2071. {
  2072. if (modelbase.F_RETURNVISITFLAG == 0)
  2073. {
  2074. //model.F_RETURNVISITOPINION = ""; 不需要回访,假如你回访了,也记录
  2075. }
  2076. if (modelbase.F_ENDTIME != null)
  2077. model.F_ENDTIME = modelbase.F_ENDTIME;
  2078. else
  2079. model.F_ENDTIME = DateTime.Now;
  2080. //需要继续转单处理
  2081. if (model.F_WORKORDERSTATEID == 1)
  2082. {
  2083. foreach (Model.T_Wo_WorkOrderHistory historyModel in model.HistoryOrderList)
  2084. {
  2085. historyModel.F_INSTANCEID = model.F_WORKORDERID;
  2086. historyModel.F_OPTDATE = DateTime.Now;
  2087. historyModel.F_WORKORDERSTATEID = 0;
  2088. historyModel.F_StateName = "未处理";
  2089. historyModel.NeedReplayTime = model.F_REQUESTSERVICETIME;
  2090. InsertWorkOrderHistoryModel(historyModel);
  2091. }
  2092. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转转单模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToZD");
  2093. EditStatus = UpdateOrderToZD(model);
  2094. }
  2095. else if (model.F_WORKORDERSTATEID == 4 && modelbase.F_HOUSING != "投诉")//回访完成 转已处理
  2096. {
  2097. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转已处理模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToDZ");
  2098. EditStatus = UpdateOrderToOver(model);
  2099. }
  2100. else if (model.F_WORKORDERSTATEID == 4 && modelbase.F_HOUSING == "投诉")//回访完成 转定责
  2101. {
  2102. LogAciton.AddAction(model.F_USERNAME, model.F_USERID.ToInt32(), "回访模块转待定责模块", "模块调用", "DAL/T_Wo_WorkOrderBase/SubmitOrderHF", "DAL/T_Wo_WorkOrderBase/UpdateOrderToDZ");
  2103. EditStatus = UpdateOrderToDZ(model);
  2104. }
  2105. }
  2106. return EditStatus;
  2107. }
  2108. #endregion
  2109. #region 办结转办信息
  2110. public bool CloseMyOrderInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2111. {
  2112. bool EditStatus = false;
  2113. //修改历史记录成功
  2114. if (CloseMyOrderHistoryInfo(model))
  2115. {
  2116. StringBuilder strSql = new StringBuilder();
  2117. strSql.Append("update T_Wo_WorkOrderBase set ");
  2118. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  2119. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  2120. //strSql.Append("F_ROAD=@F_ROAD,");
  2121. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  2122. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2123. strSql.Append("F_REPAIRREQUEST=@F_REPAIRREQUEST");
  2124. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2125. SqlParameter[] parameters = {
  2126. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  2127. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  2128. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  2129. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  2130. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2131. new SqlParameter("@F_REPAIRREQUEST", SqlDbType.NVarChar,200),
  2132. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2133. parameters[0].Value = model.F_REMAINDERENDTIME;
  2134. parameters[1].Value = model.F_RETURNVISITRESULT;
  2135. parameters[2].Value = model.F_ROAD;
  2136. parameters[3].Value = model.F_RETURNVISITOPINION;
  2137. parameters[4].Value = model.F_WORKORDERSTATEID;
  2138. parameters[5].Value = model.F_REPAIRREQUEST;
  2139. parameters[6].Value = model.F_WORKORDERID;
  2140. EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2141. }
  2142. return EditStatus;
  2143. }
  2144. //修改并插入转办历史信息
  2145. public bool CloseMyOrderHistoryInfo(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2146. {
  2147. //更新新本次转办信息
  2148. Model.T_Wo_WorkOrderHistory eidthistoryModel = new Model.T_Wo_WorkOrderHistory();
  2149. //工单主键
  2150. eidthistoryModel.F_HISTORYID = int.Parse(model.F_FORMID.ToString());//主键
  2151. eidthistoryModel.F_REMARK = model.F_RETURNVISITCONTENT;//处理内容
  2152. eidthistoryModel.F_StateName = "已处理";
  2153. eidthistoryModel.F_WORKORDERSTATEID = 1;
  2154. eidthistoryModel.ReplayTime = DateTime.Now;
  2155. StringBuilder strSql = new StringBuilder();
  2156. strSql.Append("update T_Wo_WorkOrderHistory set ");
  2157. strSql.Append("F_REMARK=@F_REMARK,");
  2158. strSql.Append("F_WORKORDERSTATEID=@F_WORKORDERSTATEID,");
  2159. strSql.Append("F_StateName=@F_StateName,");
  2160. strSql.Append("ReplayTime=@ReplayTime");
  2161. strSql.Append(" where F_HISTORYID=@F_HISTORYID");
  2162. SqlParameter[] parameters = {
  2163. new SqlParameter("@F_REMARK", SqlDbType.NVarChar,4000),
  2164. new SqlParameter("@F_WORKORDERSTATEID", SqlDbType.Int,4),
  2165. new SqlParameter("@F_StateName", SqlDbType.NVarChar,200),
  2166. new SqlParameter("@ReplayTime", SqlDbType.DateTime),
  2167. new SqlParameter("@F_HISTORYID", SqlDbType.Int,4)};
  2168. parameters[0].Value = eidthistoryModel.F_REMARK;
  2169. parameters[1].Value = eidthistoryModel.F_WORKORDERSTATEID;
  2170. parameters[2].Value = eidthistoryModel.F_StateName;
  2171. parameters[3].Value = eidthistoryModel.ReplayTime;
  2172. parameters[4].Value = eidthistoryModel.F_HISTORYID;
  2173. return DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2174. }
  2175. #endregion
  2176. #region 编辑历史工单信息
  2177. /// <summary>
  2178. /// 编辑工单信息
  2179. /// </summary>
  2180. /// <param name="model">工单实体</param>
  2181. /// <returns></returns>
  2182. public bool UpdateHistoryWorkOrderInfoModel(YTSoft.BaseCallCenter.Model.T_Wo_WorkOrderBase model)
  2183. {
  2184. StringBuilder strSql = new StringBuilder();
  2185. strSql.Append("update T_Wo_WorkOrderBase set ");
  2186. strSql.Append("F_CUSTOMERID=@F_CUSTOMERID,");
  2187. strSql.Append("F_CUSTOMERNAME=@F_CUSTOMERNAME,");
  2188. strSql.Append("F_CUSTOMERTELEPHONE=@F_CUSTOMERTELEPHONE,");
  2189. strSql.Append("F_RETURNVISITPROBLEM=@F_RETURNVISITPROBLEM,");
  2190. strSql.Append("F_REPAIRLEVEL=@F_REPAIRLEVEL,");
  2191. strSql.Append("F_ADSLACCOUNT=@F_ADSLACCOUNT,");
  2192. strSql.Append("F_WORKORDERLEVELID=@F_WORKORDERLEVELID,");
  2193. strSql.Append("F_WORKORDERNAME=@F_WORKORDERNAME,");
  2194. strSql.Append("F_CONTENT=@F_CONTENT,");
  2195. strSql.Append("F_RETURNVISITFLAG=@F_RETURNVISITFLAG,");
  2196. strSql.Append("F_RETURNVISITTIME =@F_RETURNVISITTIME,");
  2197. strSql.Append("F_REMAINDERENDTIME=@F_REMAINDERENDTIME,");
  2198. strSql.Append("F_RETURNVISITRESULT=@F_RETURNVISITRESULT,");
  2199. //strSql.Append("F_ROAD=@F_ROAD,");
  2200. strSql.Append("F_RETURNVISITOPINION=@F_RETURNVISITOPINION,");
  2201. strSql.Append("F_FILEFLAG =@F_FILEFLAG,");
  2202. strSql.Append("F_HOUSING =@F_HOUSING,");//F_RETURNVISITCONTENT 处理回复
  2203. strSql.Append("F_RETURNVISITCONTENT =@F_RETURNVISITCONTENT");
  2204. strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2205. SqlParameter[] parameters = {
  2206. new SqlParameter("@F_CUSTOMERID", SqlDbType.Int,4),
  2207. new SqlParameter("@F_CUSTOMERNAME", SqlDbType.NVarChar,200),
  2208. new SqlParameter("@F_CUSTOMERTELEPHONE", SqlDbType.NVarChar,200),
  2209. new SqlParameter("@F_RETURNVISITPROBLEM", SqlDbType.NVarChar,4000),
  2210. new SqlParameter("@F_REPAIRLEVEL",SqlDbType.Int,4),
  2211. new SqlParameter("@F_ADSLACCOUNT", SqlDbType.NVarChar,200),
  2212. new SqlParameter("@F_WORKORDERLEVELID", SqlDbType.Int,4),
  2213. new SqlParameter("@F_WORKORDERNAME", SqlDbType.NVarChar,200),
  2214. new SqlParameter("@F_CONTENT", SqlDbType.NVarChar,4000),
  2215. new SqlParameter("@F_RETURNVISITFLAG", SqlDbType.Int,4),
  2216. new SqlParameter("@F_RETURNVISITTIME ", SqlDbType.DateTime),
  2217. new SqlParameter("@F_REMAINDERENDTIME",SqlDbType.DateTime),
  2218. new SqlParameter("@F_RETURNVISITRESULT", SqlDbType.Int,4),
  2219. new SqlParameter("@F_ROAD", SqlDbType.NVarChar,50),
  2220. new SqlParameter("@F_RETURNVISITOPINION", SqlDbType.NVarChar,4000),
  2221. new SqlParameter("@F_FILEFLAG", SqlDbType.Int,4),
  2222. new SqlParameter("@F_HOUSING ", SqlDbType.NVarChar,200),
  2223. new SqlParameter("@F_RETURNVISITCONTENT ", SqlDbType.NVarChar,200),
  2224. new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2225. parameters[0].Value = model.F_CUSTOMERID;
  2226. parameters[1].Value = model.F_CUSTOMERNAME;
  2227. parameters[2].Value = model.F_CUSTOMERTELEPHONE;
  2228. parameters[3].Value = model.F_RETURNVISITPROBLEM;
  2229. parameters[4].Value = model.F_REPAIRLEVEL;
  2230. parameters[5].Value = model.F_ADSLACCOUNT;
  2231. parameters[6].Value = model.F_WORKORDERLEVELID;
  2232. parameters[7].Value = model.F_WORKORDERNAME;
  2233. parameters[8].Value = model.F_CONTENT;
  2234. parameters[9].Value = model.F_RETURNVISITFLAG;
  2235. parameters[10].Value = model.F_RETURNVISITTIME;
  2236. parameters[11].Value = model.F_REMAINDERENDTIME;
  2237. parameters[12].Value = model.F_RETURNVISITRESULT;
  2238. parameters[13].Value = model.F_ROAD;
  2239. parameters[14].Value = model.F_RETURNVISITOPINION;
  2240. parameters[15].Value = model.F_FILEFLAG;
  2241. parameters[16].Value = model.F_HOUSING;
  2242. parameters[17].Value = model.F_RETURNVISITCONTENT;
  2243. parameters[18].Value = model.F_WORKORDERID;
  2244. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  2245. if (rows > 0)
  2246. {
  2247. return true;
  2248. }
  2249. else
  2250. {
  2251. return false;
  2252. }
  2253. }
  2254. #endregion ExtensionMethod
  2255. #region 工单撤回
  2256. public bool ResetWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2257. {
  2258. bool result = false;
  2259. if (workOrderId > 0)
  2260. {
  2261. StringBuilder strSql = new StringBuilder();
  2262. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2263. strSql.Append(" F_WORKORDERSTATEID=0,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2264. strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2265. 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)");
  2266. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2267. int hisid = EditOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc);
  2268. }
  2269. return result;
  2270. }
  2271. //插入撤消工单历史信息
  2272. public int EditOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2273. {
  2274. //历史工单id
  2275. int historyId = 0;
  2276. //插入撤消信息
  2277. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2278. historyModel.F_INSTANCEID = workOrderId;
  2279. historyModel.F_OPTUSERID = byid;
  2280. historyModel.F_UserName = byname;
  2281. historyModel.F_OPTBTNID = bmid;
  2282. historyModel.F_NEXTOWNERARRID = bmmc;
  2283. historyModel.F_OPTDATE = DateTime.Now;
  2284. historyModel.F_WORKORDERSTATEID = 0;
  2285. historyModel.F_StateName = "已撤回";
  2286. historyModel.F_TASKFLAG = 2; //编辑工单列表:撤回
  2287. historyModel.F_REMARK = byname + "撤回,转补录工单";
  2288. historyId = InsertWorkOrderHistoryModel(historyModel);
  2289. //if (historyId > 0)
  2290. //{
  2291. // StringBuilder strSql = new StringBuilder();
  2292. // strSql.Append(" update T_Wo_WorkOrderBase set ");
  2293. // 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 + "");
  2294. // var result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2295. //}
  2296. #region
  2297. //if (historyId > 0)
  2298. //{
  2299. // StringBuilder strSql = new StringBuilder();
  2300. // strSql.Append("update T_Wo_WorkOrderBase set ");
  2301. // strSql.Append("F_FORMID=@F_FORMID");
  2302. // strSql.Append(" where F_WORKORDERID=@F_WORKORDERID");
  2303. // SqlParameter[] parameters = {
  2304. // new SqlParameter("@F_FORMID", SqlDbType.Int,4),
  2305. // new SqlParameter("@F_WORKORDERID", SqlDbType.Int,4)};
  2306. // parameters[0].Value = historyId;
  2307. // parameters[1].Value = workOrderId;
  2308. // bool EditStatus = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters) > 0;
  2309. //}
  2310. #endregion
  2311. return historyId;
  2312. }
  2313. #endregion
  2314. /// 工单状态F_WORKORDERSTATEID 0处理中 1已处理,12 从编辑工单撤回到补录工单 13 从待处理中驳回到补录工单 14 从待回访中驳回到处理中 15 从已处理中撤回到处理中 16 从待定责驳回到待回访 17 从已回访中撤回到待回访
  2315. #region 待处理的工单驳回到补录工单
  2316. public bool OverruleWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc, string opinion)
  2317. {
  2318. bool result = false;
  2319. if (workOrderId > 0)
  2320. {
  2321. StringBuilder strSql = new StringBuilder();
  2322. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2323. strSql.Append(" F_WORKORDERSTATEID=0,F_WORKORDERTYPEID=1,F_REPAIRREQUEST='待处理',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2324. strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2325. 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) ");
  2326. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2327. int hisid = EditOverruleOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc,opinion);
  2328. }
  2329. return result;
  2330. }
  2331. //待处理的工单 插入驳回工单历史信息
  2332. public int EditOverruleOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc, string opinion)
  2333. {
  2334. //历史工单id
  2335. int historyId = 0;
  2336. //插入驳回信息
  2337. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2338. historyModel.F_INSTANCEID = workOrderId;
  2339. historyModel.F_OPTUSERID = byid;
  2340. historyModel.F_UserName = byname;
  2341. historyModel.F_OPTBTNID = bmid;
  2342. historyModel.F_NEXTOWNERARRID = bmmc;
  2343. historyModel.F_OPTDATE = DateTime.Now;
  2344. historyModel.F_WORKORDERSTATEID = 0;// 13;
  2345. historyModel.F_StateName = "已驳回";
  2346. historyModel.F_TASKFLAG = 3;//待处理的工单驳回
  2347. historyModel.F_REMARK = byname + "驳回,转补录工单;" +"驳回意见:"+opinion;
  2348. historyId = InsertWorkOrderHistoryModel(historyModel);
  2349. return historyId;
  2350. }
  2351. #endregion
  2352. #region 待回访的工单驳回 至处理中
  2353. public bool OverruleDHFWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2354. {
  2355. bool result = false;
  2356. if (workOrderId > 0)
  2357. {
  2358. StringBuilder strSql = new StringBuilder();
  2359. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2360. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2361. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2362. //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) ");
  2363. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2364. int hisid = EditOverruleDHFOrderHistoryInfo(workOrderId, byid, byname, bmid, bmmc, opinion);
  2365. }
  2366. return result;
  2367. }
  2368. //待处理的工单 插入驳回工单历史信息
  2369. public int EditOverruleDHFOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2370. {
  2371. //历史工单id
  2372. int historyId = 0;
  2373. //插入驳回信息
  2374. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2375. historyModel.F_INSTANCEID = workOrderId;
  2376. historyModel.F_OPTUSERID = byid;
  2377. historyModel.F_UserName = byname;
  2378. historyModel.F_OPTBTNID = bmid;
  2379. historyModel.F_NEXTOWNERARRID = bmmc;
  2380. historyModel.F_OPTDATE = DateTime.Now;
  2381. historyModel.F_WORKORDERSTATEID = 1;//0 ;
  2382. historyModel.F_StateName = "已驳回";
  2383. historyModel.F_TASKFLAG = 5;//从待回访的列表里驳回
  2384. historyModel.F_REMARK = byname + "从待回访驳回,至待处理;"+"驳回意见:"+opinion;
  2385. historyId = InsertWorkOrderHistoryModel(historyModel);
  2386. return historyId;
  2387. }
  2388. #endregion
  2389. //驳回待定责工单到待回访
  2390. public bool OverruleDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2391. {
  2392. bool result = false;
  2393. if (workOrderId > 0)
  2394. {
  2395. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2396. if (model.F_RETURNVISITFLAG == 1) //等于1 是回访
  2397. {
  2398. StringBuilder strSql = new StringBuilder();
  2399. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2400. strSql.Append(" F_WORKORDERSTATEID=3,F_REPAIRREQUEST='待回访',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2401. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2402. int hisid = EditBoHuiDDZWorkOrder(workOrderId, byid, byname, bmid, bmmc, opinion);
  2403. }
  2404. else //待定责工单如果不回访,驳回到处理人 的处理列表
  2405. {
  2406. StringBuilder strSql = new StringBuilder();
  2407. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2408. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2409. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2410. int hisid = EditCheHuiDDZWorkOrder2(workOrderId, byid, byname, bmid, bmmc);
  2411. }
  2412. }
  2413. return result;
  2414. }
  2415. //待定责工单到插入驳回工单历史信息
  2416. public int EditOverruleDDZOrderHistoryInfo(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2417. {
  2418. //历史工单id
  2419. int historyId = 0;
  2420. //插入驳回信息
  2421. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2422. historyModel.F_INSTANCEID = workOrderId;
  2423. historyModel.F_OPTUSERID = byid;
  2424. historyModel.F_UserName = byname;
  2425. historyModel.F_OPTBTNID = bmid;
  2426. historyModel.F_NEXTOWNERARRID = bmmc;
  2427. historyModel.F_OPTDATE = DateTime.Now;
  2428. historyModel.F_WORKORDERSTATEID = 3;// 16;
  2429. historyModel.F_StateName = "已驳回";
  2430. historyModel.F_TASKFLAG = 7; //从待定责工单 驳回到待回访
  2431. historyModel.F_REMARK = byname + "驳回,转待回访";
  2432. historyId = InsertWorkOrderHistoryModel(historyModel);
  2433. return historyId;
  2434. }
  2435. //撤回已处理且待回访的工单
  2436. public bool CheHuiYCLWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2437. {
  2438. bool result = false;
  2439. if (workOrderId > 0)
  2440. {
  2441. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2442. if (model.F_WORKORDERTYPEID == 3)
  2443. {
  2444. }
  2445. else
  2446. {
  2447. StringBuilder strSql = new StringBuilder();
  2448. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2449. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2450. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2451. //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) ");
  2452. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2453. int hisid = EditCheHuiYCLWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2454. }
  2455. }
  2456. return result;
  2457. }
  2458. public int EditCheHuiYCLWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2459. {
  2460. //历史工单id
  2461. int historyId = 0;
  2462. //插入撤回信息
  2463. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2464. historyModel.F_INSTANCEID = workOrderId;
  2465. historyModel.F_OPTUSERID = byid;
  2466. historyModel.F_UserName = byname;
  2467. historyModel.F_OPTBTNID = bmid;
  2468. historyModel.F_NEXTOWNERARRID = bmmc;
  2469. historyModel.F_OPTDATE = DateTime.Now;
  2470. historyModel.F_WORKORDERSTATEID = 1;//0
  2471. historyModel.F_StateName = "已撤回";
  2472. historyModel.F_TASKFLAG = 7; //
  2473. historyModel.F_REMARK = byname + "撤回,转待处理";
  2474. historyId = InsertWorkOrderHistoryModel(historyModel);
  2475. return historyId;
  2476. }
  2477. //撤回已回访即待定责的工单
  2478. public bool CheHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2479. {
  2480. bool result = false;
  2481. if (workOrderId > 0)
  2482. {
  2483. Model.T_Wo_WorkOrderBase model = GetModel(workOrderId);
  2484. if (model.F_RETURNVISITFLAG == 1) //等于1 是回访
  2485. {
  2486. StringBuilder strSql = new StringBuilder();
  2487. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2488. strSql.Append(" F_WORKORDERSTATEID=3,F_REPAIRREQUEST='待回访',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2489. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2490. //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) ");
  2491. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2492. int hisid = EditCheHuiDDZWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2493. }
  2494. else //不回访工单 待定责工单转到待处理
  2495. {
  2496. StringBuilder strSql = new StringBuilder();
  2497. strSql.Append(" update T_Wo_WorkOrderBase set ");
  2498. strSql.Append(" F_WORKORDERSTATEID=1,F_REPAIRREQUEST='处理中',F_HASTENCOUNTS=0 where F_WORKORDERID=" + workOrderId);
  2499. //strSql.Append(" update T_Wo_WorkOrderHistory set ");
  2500. //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) ");
  2501. result = DbHelperSQL.ExecuteSql(strSql.ToString()) > 0;
  2502. int hisid = EditCheHuiYCLWorkOrder(workOrderId, byid, byname, bmid, bmmc);
  2503. }
  2504. }
  2505. return result;
  2506. }
  2507. public int EditCheHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2508. {
  2509. //历史工单id
  2510. int historyId = 0;
  2511. //插入撤回信息
  2512. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2513. historyModel.F_INSTANCEID = workOrderId;
  2514. historyModel.F_OPTUSERID = byid;
  2515. historyModel.F_UserName = byname;
  2516. historyModel.F_OPTBTNID = bmid;
  2517. historyModel.F_NEXTOWNERARRID = bmmc;
  2518. historyModel.F_OPTDATE = DateTime.Now;
  2519. historyModel.F_WORKORDERSTATEID = 3;//5
  2520. historyModel.F_StateName = "已撤回";
  2521. historyModel.F_TASKFLAG = 7; //
  2522. historyModel.F_REMARK = byname + "撤回,转待回访";
  2523. historyId = InsertWorkOrderHistoryModel(historyModel);
  2524. return historyId;
  2525. }
  2526. public int EditBoHuiDDZWorkOrder(int workOrderId, int byid, string byname, int bmid, string bmmc,string opinion)
  2527. {
  2528. //历史工单id
  2529. int historyId = 0;
  2530. //插入撤回信息
  2531. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2532. historyModel.F_INSTANCEID = workOrderId;
  2533. historyModel.F_OPTUSERID = byid;
  2534. historyModel.F_UserName = byname;
  2535. historyModel.F_OPTBTNID = bmid;
  2536. historyModel.F_NEXTOWNERARRID = bmmc;
  2537. historyModel.F_OPTDATE = DateTime.Now;
  2538. historyModel.F_WORKORDERSTATEID = 3;
  2539. historyModel.F_StateName = "已驳回";
  2540. historyModel.F_TASKFLAG = 7; //
  2541. historyModel.F_REMARK = byname + "驳回,转待回访;"+"驳回意见:"+opinion;
  2542. historyId = InsertWorkOrderHistoryModel(historyModel);
  2543. return historyId;
  2544. }
  2545. //不回访的转待处理
  2546. public int EditCheHuiDDZWorkOrder2(int workOrderId, int byid, string byname, int bmid, string bmmc)
  2547. {
  2548. //历史工单id
  2549. int historyId = 0;
  2550. //插入撤回信息
  2551. Model.T_Wo_WorkOrderHistory historyModel = new Model.T_Wo_WorkOrderHistory();
  2552. historyModel.F_INSTANCEID = workOrderId;
  2553. historyModel.F_OPTUSERID = byid;
  2554. historyModel.F_UserName = byname;
  2555. historyModel.F_OPTBTNID = bmid;
  2556. historyModel.F_NEXTOWNERARRID = bmmc;
  2557. historyModel.F_OPTDATE = DateTime.Now;
  2558. historyModel.F_WORKORDERSTATEID = 0;
  2559. historyModel.F_StateName = "已驳回";
  2560. historyModel.F_TASKFLAG = 7; //
  2561. historyModel.F_REMARK = byname + "驳回,转待处理";
  2562. historyId = InsertWorkOrderHistoryModel(historyModel);
  2563. return historyId;
  2564. }
  2565. //大屏
  2566. public DataSet GetFiveList()
  2567. {
  2568. string sql = "SELECT TOP 5 F_CREATEDATE,F_HOUSING, F_ADSLACCOUNT ,F_content FROM dbo.T_Wo_WorkOrderBase ORDER BY F_CREATEDATE DESC";
  2569. return DbHelperSQL.Query(sql);
  2570. }
  2571. public int GetTodayCount()
  2572. {
  2573. string sql = "SELECT COUNT(*) FROM dbo.T_Wo_WorkOrderBase WHERE F_CREATEDATE >= convert(varchar(10), Getdate(), 120) ";
  2574. DataTable dt= DbHelperSQL.Query(sql).Tables[0];
  2575. return Convert.ToInt32(dt.Rows[0][0]);
  2576. }
  2577. public DataTable GetAverageAcceptAmount()
  2578. {
  2579. DataTable dt = new DataTable();
  2580. double weekAverage = 0;
  2581. double monthAverage = 0;
  2582. double yearAverage = 0;
  2583. //最近一周日均
  2584. string endDate = DateTime.Now.ToString("yyyy-MM-dd");
  2585. string startDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
  2586. string sql = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  2587. sql += " t.F_CREATEDATE>= '" + startDate + " 00:00:00" + "'";
  2588. sql += " and t.F_CREATEDATE<= '" + endDate + " 23:59:59" + "'";
  2589. DataTable countweek= DbHelperSQL.Query(sql).Tables[0];
  2590. if (countweek.Rows.Count>0)
  2591. {
  2592. int countwe = Convert.ToInt32( countweek.Rows[0]["amount"]);
  2593. if (countwe != 0)
  2594. {
  2595. weekAverage = countwe / 7;
  2596. }
  2597. }
  2598. ///最近一月
  2599. string endDate1 = DateTime.Now.ToString("yyyy-MM-dd");
  2600. string startDate1 = DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd");
  2601. TimeSpan ts =Convert.ToDateTime( endDate1 )- Convert.ToDateTime(startDate1);
  2602. int dds = ts.Days;
  2603. string sql2 = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  2604. sql2 += " t.F_CREATEDATE>= '" + startDate1 + " 00:00:00" + "'";
  2605. sql2 += " and t.F_CREATEDATE<= '" + endDate1 + " 23:59:59" + "'";
  2606. DataTable countmonth = DbHelperSQL.Query(sql2).Tables[0];
  2607. if (countmonth.Rows.Count > 0)
  2608. {
  2609. int countmm = Convert.ToInt32(countmonth.Rows[0]["amount"]);
  2610. if (countmm != 0)
  2611. {
  2612. monthAverage = countmm / dds;
  2613. }
  2614. }
  2615. ///最近一年
  2616. ///
  2617. string endDate2 = DateTime.Now.ToString();
  2618. string startDate2 = DateTime.Now.AddYears(-1).ToString();
  2619. TimeSpan ts2 = Convert.ToDateTime(endDate2) - Convert.ToDateTime(startDate2);
  2620. int dds2 = ts2.Days;
  2621. string sql3 = "select count(*) amount From T_Wo_WorkOrderBase t Where ";
  2622. sql3 += " F_CREATEDATE>= '" + startDate2 + "'";
  2623. sql3 += " and F_CREATEDATE<= '" + endDate2 + "'";
  2624. DataTable countyear= DbHelperSQL.Query(sql3).Tables[0];
  2625. if (countyear.Rows.Count>0)
  2626. {
  2627. int countyy = Convert.ToInt32(countyear.Rows[0]["amount"]);
  2628. if (countyy != 0)
  2629. {
  2630. yearAverage = countyy / dds2;
  2631. }
  2632. }
  2633. dt.Columns.Add("type", Type.GetType("System.String"));
  2634. dt.Columns.Add("amount", Type.GetType("System.Int32"));
  2635. DataRow dr = dt.NewRow();
  2636. dr["type"] = "week";
  2637. dr["amount"] = weekAverage;
  2638. dt.Rows.Add(dr);
  2639. DataRow dr2 = dt.NewRow();
  2640. dr2["type"] = "month";
  2641. dr2["amount"] = monthAverage;
  2642. dt.Rows.Add(dr2);
  2643. DataRow dr3 = dt.NewRow();
  2644. dr3["type"] = "year";
  2645. dr3["amount"] = yearAverage;
  2646. dt.Rows.Add(dr3);
  2647. return dt;
  2648. }
  2649. public DataTable GetYearTelAmount()
  2650. {
  2651. 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)";
  2652. DataSet ds= DbHelperSQL.Query(sql);
  2653. return ds.Tables[0];
  2654. }
  2655. public DataTable GetSixMonthTelAmount()
  2656. {
  2657. 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 ";
  2658. DataSet ds = DbHelperSQL.Query(sql);
  2659. return ds.Tables[0];
  2660. }
  2661. public DataTable GetEverydayOfMonthTelAmount()
  2662. {
  2663. 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";
  2664. DataSet ds = DbHelperSQL.Query(sql);
  2665. return ds.Tables[0];
  2666. }
  2667. public DataTable GetTodayFromTypeAmount()
  2668. {
  2669. string sql = " SELECT F_WORKORDERFROM workorderfrom,COUNT(1) amount FROM T_Wo_WorkOrderBase WHERE datediff(d, F_CREATEDATE, getDate()) = 0 GROUP BY F_WORKORDERFROM";
  2670. DataSet ds = DbHelperSQL.Query(sql);
  2671. DataTable dt = ds.Tables[0];
  2672. int telcount = 0;
  2673. int wxcount = 0;
  2674. int wbcount = 0;
  2675. if (dt.Rows.Count > 0)
  2676. {
  2677. foreach (DataRow dr in dt.Rows)
  2678. {
  2679. if (dr["workorderfrom"].ToString() == "留言工单")
  2680. {
  2681. telcount += Convert.ToInt32(dr["amount"]);
  2682. }
  2683. if (dr["workorderfrom"].ToString() == "语音工单")
  2684. {
  2685. telcount += Convert.ToInt32(dr["amount"]);
  2686. }
  2687. if (dr["workorderfrom"].ToString() == "微信工单")
  2688. {
  2689. wxcount += Convert.ToInt32(dr["amount"]);
  2690. }
  2691. if (dr["workorderfrom"].ToString() == "微博工单")
  2692. {
  2693. wbcount += Convert.ToInt32(dr["amount"]);
  2694. }
  2695. }
  2696. }
  2697. DataTable dt2 = new DataTable();
  2698. dt2.Columns.Add("workorderfrom", Type.GetType("System.String"));
  2699. dt2.Columns.Add("amount", Type.GetType("System.Int32"));
  2700. DataRow dr2 = dt2.NewRow();
  2701. dr2["workorderfrom"] = "热线工单";
  2702. dr2["amount"] = telcount;
  2703. dt2.Rows.Add(dr2);
  2704. DataRow dr3 = dt2.NewRow();
  2705. dr3["workorderfrom"] = "微信工单";
  2706. dr3["amount"] = wxcount;
  2707. dt2.Rows.Add(dr3);
  2708. DataRow dr4 = dt2.NewRow();
  2709. dr4["workorderfrom"] = "微博工单";
  2710. dr4["amount"] = wbcount;
  2711. dt2.Rows.Add(dr4);
  2712. return dt2;
  2713. }
  2714. public DataTable GetTodayTelType()
  2715. {
  2716. string starttime= DateTime.Now.ToShortDateString();
  2717. string sql = "select F_HOUSING ,count(*) FROM dbo.T_Wo_WorkOrderBase WHERE F_CREATEDATE>= '" + starttime + "' GROUP BY F_HOUSING";
  2718. DataTable dt = DbHelperSQL.Query(sql).Tables[0];
  2719. return dt;
  2720. }
  2721. }
  2722. }