地铁二期项目正式开始

T_Call_CallRecords.cs 67KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747
  1. 
  2. using System;
  3. using System.Data;
  4. using System.Text;
  5. using System.Data.SqlClient;
  6. using YTSoft.DBUtility;//Please add references
  7. namespace YTSoft.BaseCallCenter.DAL
  8. {
  9. /// <summary>
  10. /// 数据访问类:T_Call_CallRecords
  11. /// </summary>
  12. public partial class T_Call_CallRecords
  13. {
  14. public T_Call_CallRecords()
  15. { }
  16. #region BasicMethod
  17. /// <summary>
  18. /// 得到最大ID
  19. /// </summary>
  20. public int GetMaxId()
  21. {
  22. return DbHelperSQL.GetMaxID("CallRecordsId", "T_Call_CallRecords");
  23. }
  24. /// <summary>
  25. /// 是否存在该记录
  26. /// </summary>
  27. public bool Exists(int CallRecordsId)
  28. {
  29. StringBuilder strSql = new StringBuilder();
  30. strSql.Append("select count(1) from T_Call_CallRecords");
  31. strSql.Append(" where CallRecordsId=@CallRecordsId");
  32. SqlParameter[] parameters = {
  33. new SqlParameter("@CallRecordsId", SqlDbType.Int,4)
  34. };
  35. parameters[0].Value = CallRecordsId;
  36. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  37. }
  38. /// <summary>
  39. /// 增加一条数据
  40. /// </summary>
  41. public int Add(YTSoft.BaseCallCenter.Model.T_Call_CallRecords model)
  42. {
  43. StringBuilder strSql = new StringBuilder();
  44. strSql.Append("insert into T_Call_CallRecords(");
  45. strSql.Append(@"CallId,CallNumber,CusId,CusCode,CallType,CallState,DealType,BeginTime,IvrStartTime,IvrEndTime,
  46. RingStartTime,RingEndTime,TalkStartTime,TalkEndTime,EndTime,LongTime,IvrLongTime,RingLongTime,
  47. TalkLongTime,UserId,UserCode,UserName,ExtNumber,FilePath,IsExitWorkOrder,IsDeal,OperateType,
  48. OperateObject,OperateTime,Remark,MYD,BusinessType,Location,groupcode,TaskType,TaskPhoneID,TaskID,ActionID,ActionType,F_ServiceType)");
  49. strSql.Append(" values (");
  50. strSql.Append(@"@CallId,@CallNumber,@CusId,@CusCode,@CallType,@CallState,@DealType,@BeginTime,@IvrStartTime,@IvrEndTime,
  51. @RingStartTime,@RingEndTime,@TalkStartTime,@TalkEndTime,@EndTime,@LongTime,@IvrLongTime,@RingLongTime,@TalkLongTime,@UserId,@UserCode,
  52. @UserName,@ExtNumber,@FilePath,@IsExitWorkOrder,@IsDeal,@OperateType,@OperateObject,@OperateTime,@Remark,@MYD,@BusinessType,@Location,
  53. @groupcode,@TaskType,@TaskPhoneID,@TaskID,@ActionID,@ActionType,@F_ServiceType)");
  54. strSql.Append(";select @@IDENTITY");
  55. SqlParameter[] parameters = {
  56. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  57. new SqlParameter("@CallNumber", SqlDbType.VarChar,100),
  58. new SqlParameter("@CusId", SqlDbType.VarChar,50),
  59. new SqlParameter("@CusCode", SqlDbType.VarChar,50),
  60. new SqlParameter("@CallType", SqlDbType.Int,4),
  61. new SqlParameter("@CallState", SqlDbType.Int,4),
  62. new SqlParameter("@DealType", SqlDbType.Int,4),
  63. new SqlParameter("@BeginTime", SqlDbType.DateTime),
  64. new SqlParameter("@IvrStartTime", SqlDbType.DateTime),
  65. new SqlParameter("@IvrEndTime", SqlDbType.DateTime),
  66. new SqlParameter("@RingStartTime", SqlDbType.DateTime),
  67. new SqlParameter("@RingEndTime", SqlDbType.DateTime),
  68. new SqlParameter("@TalkStartTime", SqlDbType.DateTime),
  69. new SqlParameter("@TalkEndTime", SqlDbType.DateTime),
  70. new SqlParameter("@EndTime", SqlDbType.DateTime),
  71. new SqlParameter("@LongTime", SqlDbType.Int,4),
  72. new SqlParameter("@IvrLongTime", SqlDbType.Int,4),
  73. new SqlParameter("@RingLongTime", SqlDbType.Int,4),
  74. new SqlParameter("@TalkLongTime", SqlDbType.Int,4),
  75. new SqlParameter("@UserId", SqlDbType.Int,4),
  76. new SqlParameter("@UserCode", SqlDbType.VarChar,50),
  77. new SqlParameter("@UserName", SqlDbType.NVarChar,20),
  78. new SqlParameter("@ExtNumber", SqlDbType.VarChar,50),
  79. new SqlParameter("@FilePath", SqlDbType.VarChar,200),
  80. new SqlParameter("@IsExitWorkOrder", SqlDbType.Bit,1),
  81. new SqlParameter("@IsDeal", SqlDbType.Int,4),
  82. new SqlParameter("@OperateType", SqlDbType.Int,4),
  83. new SqlParameter("@OperateObject", SqlDbType.VarChar,20),
  84. new SqlParameter("@OperateTime", SqlDbType.DateTime),
  85. new SqlParameter("@Remark", SqlDbType.NVarChar,1000),
  86. new SqlParameter("@MYD", SqlDbType.Int,4),
  87. new SqlParameter("@BusinessType", SqlDbType.Int,4),
  88. new SqlParameter("@Location", SqlDbType.NVarChar,100),
  89. new SqlParameter("@groupcode", SqlDbType.VarChar,50),
  90. new SqlParameter("@TaskType", SqlDbType.VarChar,50),
  91. new SqlParameter("@TaskPhoneID", SqlDbType.VarChar,50),
  92. new SqlParameter("@TaskID", SqlDbType.VarChar,50),
  93. new SqlParameter("@ActionID", SqlDbType.Int,4),
  94. new SqlParameter("@ActionType", SqlDbType.Int,4),
  95. new SqlParameter("@F_ServiceType", SqlDbType.Int,4)
  96. };
  97. parameters[0].Value = model.CallId;
  98. parameters[1].Value = model.CallNumber;
  99. parameters[2].Value = model.CusId;
  100. parameters[3].Value = model.CusCode;
  101. parameters[4].Value = model.CallType;
  102. parameters[5].Value = model.CallState;
  103. parameters[6].Value = model.DealType;
  104. parameters[7].Value = model.BeginTime;
  105. parameters[8].Value = model.IvrStartTime;
  106. parameters[9].Value = model.IvrEndTime;
  107. parameters[10].Value = model.RingStartTime;
  108. parameters[11].Value = model.RingEndTime;
  109. parameters[12].Value = model.TalkStartTime;
  110. parameters[13].Value = model.TalkEndTime;
  111. parameters[14].Value = model.EndTime;
  112. parameters[15].Value = model.LongTime;
  113. parameters[16].Value = model.IvrLongTime;
  114. parameters[17].Value = model.RingLongTime;
  115. parameters[18].Value = model.TalkLongTime;
  116. parameters[19].Value = model.UserId;
  117. parameters[20].Value = model.UserCode;
  118. parameters[21].Value = model.UserName;
  119. parameters[22].Value = model.ExtNumber;
  120. parameters[23].Value = model.FilePath;
  121. parameters[24].Value = model.IsExitWorkOrder;
  122. parameters[25].Value = model.IsDeal;
  123. parameters[26].Value = model.OperateType;
  124. parameters[27].Value = model.OperateObject;
  125. parameters[28].Value = model.OperateTime;
  126. parameters[29].Value = model.Remark;
  127. parameters[30].Value = model.MYD;
  128. parameters[31].Value = model.BusinessType;
  129. parameters[32].Value = model.Location;
  130. parameters[33].Value = model.groupcode;
  131. parameters[34].Value = model.TaskType;
  132. parameters[35].Value = model.TaskPhoneID;
  133. parameters[36].Value = model.TaskID;
  134. parameters[37].Value = model.ActionID;
  135. parameters[38].Value = model.ActionType;
  136. parameters[39].Value = model.F_ServiceType;
  137. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  138. if (obj == null)
  139. {
  140. return 0;
  141. }
  142. else
  143. {
  144. return Convert.ToInt32(obj);
  145. }
  146. }
  147. /// <summary>
  148. /// 更新一条数据
  149. /// </summary>
  150. public bool Update(YTSoft.BaseCallCenter.Model.T_Call_CallRecords model)
  151. {
  152. StringBuilder strSql = new StringBuilder();
  153. strSql.Append("update T_Call_CallRecords set ");
  154. strSql.Append("CallId=@CallId,");
  155. strSql.Append("CallNumber=@CallNumber,");
  156. strSql.Append("CusId=@CusId,");
  157. strSql.Append("CusCode=@CusCode,");
  158. strSql.Append("CallType=@CallType,");
  159. strSql.Append("CallState=@CallState,");
  160. strSql.Append("DealType=@DealType,");
  161. strSql.Append("BeginTime=@BeginTime,");
  162. strSql.Append("IvrStartTime=@IvrStartTime,");
  163. strSql.Append("IvrEndTime=@IvrEndTime,");
  164. strSql.Append("RingStartTime=@RingStartTime,");
  165. strSql.Append("RingEndTime=@RingEndTime,");
  166. strSql.Append("TalkStartTime=@TalkStartTime,");
  167. strSql.Append("TalkEndTime=@TalkEndTime,");
  168. strSql.Append("EndTime=@EndTime,");
  169. strSql.Append("LongTime=@LongTime,");
  170. strSql.Append("IvrLongTime=@IvrLongTime,");
  171. strSql.Append("RingLongTime=@RingLongTime,");
  172. strSql.Append("TalkLongTime=@TalkLongTime,");
  173. strSql.Append("UserId=@UserId,");
  174. strSql.Append("UserCode=@UserCode,");
  175. strSql.Append("UserName=@UserName,");
  176. strSql.Append("ExtNumber=@ExtNumber,");
  177. strSql.Append("FilePath=@FilePath,");
  178. strSql.Append("IsExitWorkOrder=@IsExitWorkOrder,");
  179. strSql.Append("IsDeal=@IsDeal,");
  180. strSql.Append("OperateType=@OperateType,");
  181. strSql.Append("OperateObject=@OperateObject,");
  182. strSql.Append("OperateTime=@OperateTime,");
  183. strSql.Append("Remark=@Remark,");
  184. strSql.Append("MYD=@MYD,");
  185. strSql.Append("BusinessType=@BusinessType,");
  186. strSql.Append("Location=@Location");
  187. //groupcode,TaskType,TaskPhoneID,TaskID,ActionID,ActionType
  188. strSql.Append("groupcode=@groupcode,");
  189. strSql.Append("TaskType=@TaskType,");
  190. strSql.Append("TaskPhoneID=@TaskPhoneID,");
  191. strSql.Append("TaskID=@TaskID,");
  192. strSql.Append("ActionID=@ActionID,");
  193. strSql.Append("F_ServiceType=@F_ServiceType,");
  194. strSql.Append("ActionType=@ActionType");
  195. strSql.Append(" where CallRecordsId=@CallRecordsId");
  196. SqlParameter[] parameters = {
  197. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  198. new SqlParameter("@CallNumber", SqlDbType.VarChar,100),
  199. new SqlParameter("@CusId", SqlDbType.VarChar,50),
  200. new SqlParameter("@CusCode", SqlDbType.VarChar,50),
  201. new SqlParameter("@CallType", SqlDbType.Int,4),
  202. new SqlParameter("@CallState", SqlDbType.Int,4),
  203. new SqlParameter("@DealType", SqlDbType.Int,4),
  204. new SqlParameter("@BeginTime", SqlDbType.DateTime),
  205. new SqlParameter("@IvrStartTime", SqlDbType.DateTime),
  206. new SqlParameter("@IvrEndTime", SqlDbType.DateTime),
  207. new SqlParameter("@RingStartTime", SqlDbType.DateTime),
  208. new SqlParameter("@RingEndTime", SqlDbType.DateTime),
  209. new SqlParameter("@TalkStartTime", SqlDbType.DateTime),
  210. new SqlParameter("@TalkEndTime", SqlDbType.DateTime),
  211. new SqlParameter("@EndTime", SqlDbType.DateTime),
  212. new SqlParameter("@LongTime", SqlDbType.Int,4),
  213. new SqlParameter("@IvrLongTime", SqlDbType.Int,4),
  214. new SqlParameter("@RingLongTime", SqlDbType.Int,4),
  215. new SqlParameter("@TalkLongTime", SqlDbType.Int,4),
  216. new SqlParameter("@UserId", SqlDbType.Int,4),
  217. new SqlParameter("@UserCode", SqlDbType.VarChar,50),
  218. new SqlParameter("@UserName", SqlDbType.NVarChar,20),
  219. new SqlParameter("@ExtNumber", SqlDbType.VarChar,50),
  220. new SqlParameter("@FilePath", SqlDbType.VarChar,200),
  221. new SqlParameter("@IsExitWorkOrder", SqlDbType.Bit,1),
  222. new SqlParameter("@IsDeal", SqlDbType.Int,4),
  223. new SqlParameter("@OperateType", SqlDbType.Int,4),
  224. new SqlParameter("@OperateObject", SqlDbType.VarChar,20),
  225. new SqlParameter("@OperateTime", SqlDbType.DateTime),
  226. new SqlParameter("@Remark", SqlDbType.NVarChar,1000),
  227. new SqlParameter("@MYD", SqlDbType.Int,4),
  228. new SqlParameter("@BusinessType", SqlDbType.Int,4),
  229. new SqlParameter("@Location", SqlDbType.NVarChar,100),
  230. new SqlParameter("@groupcode", SqlDbType.VarChar,50),
  231. new SqlParameter("@TaskType", SqlDbType.VarChar,50),
  232. new SqlParameter("@TaskPhoneID", SqlDbType.VarChar,50),
  233. new SqlParameter("@TaskID", SqlDbType.VarChar,50),
  234. new SqlParameter("@ActionID", SqlDbType.Int,4),
  235. new SqlParameter("@F_ServiceType", SqlDbType.Int,4),
  236. new SqlParameter("@ActionType", SqlDbType.Int,4),
  237. new SqlParameter("@CallRecordsId", SqlDbType.Int,4)};
  238. parameters[0].Value = model.CallId;
  239. parameters[1].Value = model.CallNumber;
  240. parameters[2].Value = model.CusId;
  241. parameters[3].Value = model.CusCode;
  242. parameters[4].Value = model.CallType;
  243. parameters[5].Value = model.CallState;
  244. parameters[6].Value = model.DealType;
  245. parameters[7].Value = model.BeginTime;
  246. parameters[8].Value = model.IvrStartTime;
  247. parameters[9].Value = model.IvrEndTime;
  248. parameters[10].Value = model.RingStartTime;
  249. parameters[11].Value = model.RingEndTime;
  250. parameters[12].Value = model.TalkStartTime;
  251. parameters[13].Value = model.TalkEndTime;
  252. parameters[14].Value = model.EndTime;
  253. parameters[15].Value = model.LongTime;
  254. parameters[16].Value = model.IvrLongTime;
  255. parameters[17].Value = model.RingLongTime;
  256. parameters[18].Value = model.TalkLongTime;
  257. parameters[19].Value = model.UserId;
  258. parameters[20].Value = model.UserCode;
  259. parameters[21].Value = model.UserName;
  260. parameters[22].Value = model.ExtNumber;
  261. parameters[23].Value = model.FilePath;
  262. parameters[24].Value = model.IsExitWorkOrder;
  263. parameters[25].Value = model.IsDeal;
  264. parameters[26].Value = model.OperateType;
  265. parameters[27].Value = model.OperateObject;
  266. parameters[28].Value = model.OperateTime;
  267. parameters[29].Value = model.Remark;
  268. parameters[30].Value = model.MYD;
  269. parameters[31].Value = model.BusinessType;
  270. parameters[32].Value = model.Location;
  271. parameters[33].Value = model.groupcode;
  272. parameters[34].Value = model.TaskType;
  273. parameters[35].Value = model.TaskPhoneID;
  274. parameters[36].Value = model.TaskID;
  275. parameters[37].Value = model.ActionID;
  276. parameters[38].Value = model.F_ServiceType;
  277. parameters[39].Value = model.ActionType;
  278. parameters[40].Value = model.CallRecordsId;
  279. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  280. if (rows > 0)
  281. {
  282. return true;
  283. }
  284. else
  285. {
  286. return false;
  287. }
  288. }
  289. /// <summary>
  290. /// 删除一条数据
  291. /// </summary>
  292. public bool Delete(int CallRecordsId)
  293. {
  294. StringBuilder strSql = new StringBuilder();
  295. strSql.Append("delete from T_Call_CallRecords ");
  296. strSql.Append(" where CallRecordsId=@CallRecordsId");
  297. SqlParameter[] parameters = {
  298. new SqlParameter("@CallRecordsId", SqlDbType.Int,4)
  299. };
  300. parameters[0].Value = CallRecordsId;
  301. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  302. if (rows > 0)
  303. {
  304. return true;
  305. }
  306. else
  307. {
  308. return false;
  309. }
  310. }
  311. /// <summary>
  312. /// 批量删除数据
  313. /// </summary>
  314. public bool DeleteList(string CallRecordsIdlist)
  315. {
  316. StringBuilder strSql = new StringBuilder();
  317. strSql.Append("delete from T_Call_CallRecords ");
  318. strSql.Append(" where CallRecordsId in (" + CallRecordsIdlist + ") ");
  319. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  320. if (rows > 0)
  321. {
  322. return true;
  323. }
  324. else
  325. {
  326. return false;
  327. }
  328. }
  329. /// <summary>
  330. /// 得到一个对象实体
  331. /// </summary>
  332. public YTSoft.BaseCallCenter.Model.T_Call_CallRecords GetModel(int CallRecordsId)
  333. {
  334. StringBuilder strSql = new StringBuilder();
  335. strSql.Append("select top 1 * from T_Call_CallRecords ");
  336. strSql.Append(" where CallRecordsId=@CallRecordsId");
  337. SqlParameter[] parameters = {
  338. new SqlParameter("@CallRecordsId", SqlDbType.Int,4)
  339. };
  340. parameters[0].Value = CallRecordsId;
  341. YTSoft.BaseCallCenter.Model.T_Call_CallRecords model = new YTSoft.BaseCallCenter.Model.T_Call_CallRecords();
  342. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  343. if (ds.Tables[0].Rows.Count > 0)
  344. {
  345. return DataRowToModel(ds.Tables[0].Rows[0]);
  346. }
  347. else
  348. {
  349. return null;
  350. }
  351. }
  352. /// <summary>
  353. /// 得到一个对象实体
  354. /// </summary>
  355. public YTSoft.BaseCallCenter.Model.T_Call_CallRecords DataRowToModel(DataRow row)
  356. {
  357. YTSoft.BaseCallCenter.Model.T_Call_CallRecords model = new YTSoft.BaseCallCenter.Model.T_Call_CallRecords();
  358. if (row != null)
  359. {
  360. if (row["CallId"] != null)
  361. {
  362. model.CallId = row["CallId"].ToString();
  363. }
  364. if (row["CallNumber"] != null)
  365. {
  366. model.CallNumber = row["CallNumber"].ToString();
  367. }
  368. if (row["CusId"] != null)
  369. {
  370. model.CusId = row["CusId"].ToString();
  371. }
  372. if (row["CusCode"] != null)
  373. {
  374. model.CusCode = row["CusCode"].ToString();
  375. }
  376. if (row["CallType"] != null && row["CallType"].ToString() != "")
  377. {
  378. model.CallType = int.Parse(row["CallType"].ToString());
  379. }
  380. if (row["CallState"] != null && row["CallState"].ToString() != "")
  381. {
  382. model.CallState = int.Parse(row["CallState"].ToString());
  383. }
  384. if (row["DealType"] != null && row["DealType"].ToString() != "")
  385. {
  386. model.DealType = int.Parse(row["DealType"].ToString());
  387. }
  388. if (row["BeginTime"] != null && row["BeginTime"].ToString() != "")
  389. {
  390. model.BeginTime = DateTime.Parse(row["BeginTime"].ToString());
  391. }
  392. if (row["IvrStartTime"] != null && row["IvrStartTime"].ToString() != "")
  393. {
  394. model.IvrStartTime = DateTime.Parse(row["IvrStartTime"].ToString());
  395. }
  396. if (row["IvrEndTime"] != null && row["IvrEndTime"].ToString() != "")
  397. {
  398. model.IvrEndTime = DateTime.Parse(row["IvrEndTime"].ToString());
  399. }
  400. if (row["RingStartTime"] != null && row["RingStartTime"].ToString() != "")
  401. {
  402. model.RingStartTime = DateTime.Parse(row["RingStartTime"].ToString());
  403. }
  404. if (row["RingEndTime"] != null && row["RingEndTime"].ToString() != "")
  405. {
  406. model.RingEndTime = DateTime.Parse(row["RingEndTime"].ToString());
  407. }
  408. if (row["TalkStartTime"] != null && row["TalkStartTime"].ToString() != "")
  409. {
  410. model.TalkStartTime = DateTime.Parse(row["TalkStartTime"].ToString());
  411. }
  412. if (row["TalkEndTime"] != null && row["TalkEndTime"].ToString() != "")
  413. {
  414. model.TalkEndTime = DateTime.Parse(row["TalkEndTime"].ToString());
  415. }
  416. if (row["EndTime"] != null && row["EndTime"].ToString() != "")
  417. {
  418. model.EndTime = DateTime.Parse(row["EndTime"].ToString());
  419. }
  420. if (row["LongTime"] != null && row["LongTime"].ToString() != "")
  421. {
  422. model.LongTime = int.Parse(row["LongTime"].ToString());
  423. }
  424. if (row["IvrLongTime"] != null && row["IvrLongTime"].ToString() != "")
  425. {
  426. model.IvrLongTime = int.Parse(row["IvrLongTime"].ToString());
  427. }
  428. if (row["RingLongTime"] != null && row["RingLongTime"].ToString() != "")
  429. {
  430. model.RingLongTime = int.Parse(row["RingLongTime"].ToString());
  431. }
  432. if (row["TalkLongTime"] != null && row["TalkLongTime"].ToString() != "")
  433. {
  434. model.TalkLongTime = int.Parse(row["TalkLongTime"].ToString());
  435. }
  436. if (row["UserId"] != null && row["UserId"].ToString() != "")
  437. {
  438. model.UserId = int.Parse(row["UserId"].ToString());
  439. }
  440. if (row["UserCode"] != null)
  441. {
  442. model.UserCode = row["UserCode"].ToString();
  443. }
  444. if (row["UserName"] != null)
  445. {
  446. model.UserName = row["UserName"].ToString();
  447. }
  448. if (row["ExtNumber"] != null)
  449. {
  450. model.ExtNumber = row["ExtNumber"].ToString();
  451. }
  452. if (row["FilePath"] != null)
  453. {
  454. model.FilePath = row["FilePath"].ToString();
  455. }
  456. if (row["IsExitWorkOrder"] != null && row["IsExitWorkOrder"].ToString() != "")
  457. {
  458. if ((row["IsExitWorkOrder"].ToString() == "1") || (row["IsExitWorkOrder"].ToString().ToLower() == "true"))
  459. {
  460. model.IsExitWorkOrder = true;
  461. }
  462. else
  463. {
  464. model.IsExitWorkOrder = false;
  465. }
  466. }
  467. if (row["IsDeal"] != null && row["IsDeal"].ToString() != "")
  468. {
  469. model.IsDeal = int.Parse(row["IsDeal"].ToString());
  470. }
  471. if (row["OperateType"] != null && row["OperateType"].ToString() != "")
  472. {
  473. model.OperateType = int.Parse(row["OperateType"].ToString());
  474. }
  475. if (row["OperateObject"] != null)
  476. {
  477. model.OperateObject = row["OperateObject"].ToString();
  478. }
  479. if (row["OperateTime"] != null && row["OperateTime"].ToString() != "")
  480. {
  481. model.OperateTime = DateTime.Parse(row["OperateTime"].ToString());
  482. }
  483. if (row["Remark"] != null)
  484. {
  485. model.Remark = row["Remark"].ToString();
  486. }
  487. if (row["MYD"] != null && row["MYD"].ToString() != "")
  488. {
  489. model.MYD = int.Parse(row["MYD"].ToString());
  490. }
  491. if (row["BusinessType"] != null && row["BusinessType"].ToString() != "")
  492. {
  493. model.BusinessType = int.Parse(row["BusinessType"].ToString());
  494. }
  495. if (row["Location"] != null)
  496. {
  497. model.Location = row["Location"].ToString();
  498. }
  499. if (row["CallRecordsId"] != null && row["CallRecordsId"].ToString() != "")
  500. {
  501. model.CallRecordsId = int.Parse(row["CallRecordsId"].ToString());
  502. }
  503. //--groupcode,TaskType,TaskPhoneID,TaskID,ActionID,ActionType
  504. if (row["groupcode"] != null)
  505. {
  506. model.groupcode = row["groupcode"].ToString();
  507. }
  508. if (row["TaskType"] != null)
  509. {
  510. model.TaskType = row["TaskType"].ToString();
  511. }
  512. if (row["TaskPhoneID"] != null)
  513. {
  514. model.TaskPhoneID = row["TaskPhoneID"].ToString();
  515. }
  516. if (row["TaskID"] != null)
  517. {
  518. model.TaskID = row["TaskID"].ToString();
  519. }
  520. if (row["ActionID"] != null && row["ActionID"].ToString() != "")
  521. {
  522. model.ActionID = int.Parse(row["ActionID"].ToString());
  523. }
  524. if (row["ActionType"] != null && row["ActionType"].ToString() != "")
  525. {
  526. model.ActionType = int.Parse(row["ActionType"].ToString());
  527. }
  528. if (row["CallRecordsId"] != null && row["CallRecordsId"].ToString() != "")
  529. {
  530. model.CallRecordsId = int.Parse(row["CallRecordsId"].ToString());
  531. }
  532. if (row["F_ServiceType"] != null && row["F_ServiceType"].ToString() != "")
  533. {
  534. model.F_ServiceType = int.Parse(row["F_ServiceType"].ToString());
  535. }
  536. }
  537. return model;
  538. }
  539. /// <summary>
  540. /// 获得数据列表
  541. /// </summary>
  542. public DataSet GetList(string strWhere)
  543. {
  544. StringBuilder strSql = new StringBuilder();
  545. strSql.Append("select * ");
  546. strSql.Append(" FROM T_Call_CallRecords ");
  547. if (strWhere.Trim() != "")
  548. {
  549. strSql.Append(" where " + strWhere);
  550. }
  551. return DbHelperSQL.Query(strSql.ToString());
  552. }
  553. /// <summary>
  554. /// 获得前几行数据
  555. /// </summary>
  556. public DataSet GetList(int Top, string strWhere, string filedOrder)
  557. {
  558. StringBuilder strSql = new StringBuilder();
  559. strSql.Append("select ");
  560. if (Top > 0)
  561. {
  562. strSql.Append(" top " + Top.ToString());
  563. }
  564. strSql.Append(" * ");
  565. strSql.Append(" FROM T_Call_CallRecords ");
  566. if (strWhere.Trim() != "")
  567. {
  568. strSql.Append(" where " + strWhere);
  569. }
  570. strSql.Append(" order by " + filedOrder);
  571. return DbHelperSQL.Query(strSql.ToString());
  572. }
  573. /// <summary>
  574. /// 获取记录总数
  575. /// </summary>
  576. public int GetRecordCount(string strWhere)
  577. {
  578. StringBuilder strSql = new StringBuilder();
  579. strSql.Append("select count(1) FROM T_Call_CallRecords ");
  580. if (strWhere.Trim() != "")
  581. {
  582. strSql.Append(" where " + strWhere);
  583. }
  584. object obj = DbHelperSQL.GetSingle(strSql.ToString());
  585. if (obj == null)
  586. {
  587. return 0;
  588. }
  589. else
  590. {
  591. return Convert.ToInt32(obj);
  592. }
  593. }
  594. /// <summary>
  595. /// 分页获取数据列表
  596. /// </summary>
  597. public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
  598. {
  599. StringBuilder strSql = new StringBuilder();
  600. strSql.Append("SELECT * FROM ( ");
  601. strSql.Append(" SELECT ROW_NUMBER() OVER (");
  602. if (!string.IsNullOrEmpty(orderby.Trim()))
  603. {
  604. strSql.Append("order by T." + orderby);
  605. }
  606. else
  607. {
  608. strSql.Append("order by T.CallRecordsId desc");
  609. }
  610. strSql.Append(")AS Row, T.* from T_Call_CallRecords T ");
  611. if (!string.IsNullOrEmpty(strWhere.Trim()))
  612. {
  613. strSql.Append(" WHERE " + strWhere);
  614. }
  615. strSql.Append(" ) TT");
  616. strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
  617. return DbHelperSQL.Query(strSql.ToString());
  618. }
  619. /*
  620. /// <summary>
  621. /// 分页获取数据列表
  622. /// </summary>
  623. public DataSet GetList(int PageSize,int PageIndex,string strWhere)
  624. {
  625. SqlParameter[] parameters = {
  626. new SqlParameter("@tblName", SqlDbType.VarChar, 255),
  627. new SqlParameter("@fldName", SqlDbType.VarChar, 255),
  628. new SqlParameter("@PageSize", SqlDbType.Int),
  629. new SqlParameter("@PageIndex", SqlDbType.Int),
  630. new SqlParameter("@IsReCount", SqlDbType.Bit),
  631. new SqlParameter("@OrderType", SqlDbType.Bit),
  632. new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
  633. };
  634. parameters[0].Value = "T_Call_CallRecords";
  635. parameters[1].Value = "CallRecordsId";
  636. parameters[2].Value = PageSize;
  637. parameters[3].Value = PageIndex;
  638. parameters[4].Value = 0;
  639. parameters[5].Value = 0;
  640. parameters[6].Value = strWhere;
  641. return DbHelperSQL.RunProcedure("UP_GetRecordByPage",parameters,"ds");
  642. }*/
  643. #endregion BasicMethod
  644. #region ExtensionMethod
  645. #endregion ExtensionMethod
  646. #region 更新来电振铃信息
  647. /// <summary>
  648. /// 更新来电振铃信息
  649. /// </summary>
  650. public bool UpdateCallInRingTelRecord(Model.T_Call_CallRecords model)
  651. {
  652. StringBuilder strSql = new StringBuilder();
  653. strSql.Append("update T_Call_CallRecords set ");
  654. strSql.Append("IvrLongTime=datediff(second,IvrStartTime,IvrEndTime),");
  655. strSql.Append("WaitEndTime=getdate(),");
  656. strSql.Append("WaitLongTime=datediff(second,WaitStartTime,getdate()),");
  657. strSql.Append("RingStartTime=getdate(),");
  658. strSql.Append("UserId=@UserId,");
  659. strSql.Append("UserCode=@UserCode,");
  660. strSql.Append("UserName=@UserName,");
  661. strSql.Append("ExtNumber=@ExtNumber,");
  662. strSql.Append("NoCallState=3,");//未接状态为振铃
  663. strSql.Append("DealType=@DealType");
  664. strSql.Append(" where CallId=@CallId ");
  665. SqlParameter[] parameters = {
  666. new SqlParameter("@UserId", SqlDbType.Int,4),
  667. new SqlParameter("@UserCode", SqlDbType.VarChar,50),
  668. new SqlParameter("@UserName", SqlDbType.NVarChar,20),
  669. new SqlParameter("@ExtNumber", SqlDbType.VarChar,50),
  670. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  671. new SqlParameter("@DealType", SqlDbType.Int,4)};
  672. parameters[0].Value = model.UserId;
  673. parameters[1].Value = model.UserCode;
  674. parameters[2].Value = model.UserName;
  675. parameters[3].Value = model.ExtNumber;
  676. parameters[4].Value = model.CallId;
  677. parameters[5].Value = model.DealType;
  678. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  679. if (rows > 0)
  680. {
  681. return true;
  682. }
  683. else
  684. {
  685. return false;
  686. }
  687. }
  688. #endregion
  689. #region 更新来电接通信息
  690. /// <summary>
  691. /// 更新来电接通信息
  692. /// </summary>
  693. public bool UpdateCallInAnswerTelRecord(Model.T_Call_CallRecords model)
  694. {
  695. StringBuilder strSql = new StringBuilder();
  696. strSql.Append("update T_Call_CallRecords set ");
  697. strSql.Append("CallState=@CallState,");
  698. strSql.Append("RingEndTime=getdate(),");
  699. strSql.Append("RingLongTime=datediff(second,RingStartTime,getdate()),");
  700. strSql.Append("TalkStartTime=getdate(),");
  701. strSql.Append("DealType=@DealType");
  702. strSql.Append(" where CallId=@CallId");
  703. SqlParameter[] parameters = {
  704. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  705. new SqlParameter("@CallState", SqlDbType.Int,4),
  706. new SqlParameter("@DealType", SqlDbType.Int,4)};
  707. parameters[0].Value = model.CallId;
  708. parameters[1].Value = model.CallState;
  709. parameters[2].Value = model.DealType;
  710. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  711. if (rows > 0)
  712. {
  713. return true;
  714. }
  715. else
  716. {
  717. return false;
  718. }
  719. }
  720. #endregion
  721. #region 更新来电挂断电话记录信息
  722. /// <summary>
  723. /// 更新来电挂断电话记录信息
  724. /// </summary>
  725. public bool UpdateCallInHookTelRecord(string p_CallId)
  726. {
  727. StringBuilder strSql = new StringBuilder();
  728. strSql.Append("update T_Call_CallRecords SET TalkLongTime=datediff(second,TalkStartTime,getdate()), LongTime=datediff(second,BeginTime,getdate()), RingEndTime=(case when RingEndTime is null then GETDATE() else RingEndTime end ),TalkEndTime=(case when TalkStartTime is null then null else GETDATE() end),EndTime=GETDATE(),DealType=(case CallState when 1 then 6 else DealType end)");
  729. strSql.Append(" where CallId=@CallId");
  730. SqlParameter[] parameters = {
  731. new SqlParameter("@CallId", SqlDbType.VarChar,50)};
  732. parameters[0].Value = p_CallId;
  733. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  734. if (rows > 0)
  735. {
  736. return true;
  737. }
  738. else
  739. {
  740. return false;
  741. }
  742. }
  743. #endregion
  744. #region 更新来电录音开始信息
  745. /// <summary>
  746. /// 更新来电录音开始信息
  747. /// </summary>
  748. public bool UpdateCallInPathTelRecord(Model.T_Call_CallRecords model)
  749. {
  750. StringBuilder strSql = new StringBuilder();
  751. strSql.Append("update T_Call_CallRecords set ");
  752. strSql.Append("CallState=@CallState,");
  753. strSql.Append("FilePath=@FilePath,");
  754. strSql.Append("DealType=@DealType");
  755. strSql.Append(" where CallId=@CallId");
  756. SqlParameter[] parameters = {
  757. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  758. new SqlParameter("@CallState", SqlDbType.Int,4),
  759. new SqlParameter("@FilePath", SqlDbType.VarChar,200),
  760. new SqlParameter("@DealType", SqlDbType.Int,4)};
  761. parameters[0].Value = model.CallId;
  762. parameters[1].Value = model.CallState;
  763. parameters[2].Value = model.FilePath;
  764. parameters[3].Value = model.DealType;
  765. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  766. if (rows > 0)
  767. {
  768. return true;
  769. }
  770. else
  771. {
  772. return false;
  773. }
  774. }
  775. #endregion
  776. #region 根据来电号码获取电话记录
  777. public YTSoft.BaseCallCenter.Model.T_Call_CallRecords GetModelByTelphone(string CallNumber)
  778. {
  779. StringBuilder strSql = new StringBuilder();
  780. strSql.Append("select top 1 * from T_Call_CallRecords ");
  781. strSql.Append(" where CallNumber=@CallNumber order by BeginTime desc");
  782. SqlParameter[] parameters = {
  783. new SqlParameter("@CallNumber", SqlDbType.VarChar,100)
  784. };
  785. parameters[0].Value = CallNumber;
  786. YTSoft.BaseCallCenter.Model.T_Call_CallRecords model = new YTSoft.BaseCallCenter.Model.T_Call_CallRecords();
  787. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  788. if (ds.Tables[0].Rows.Count > 0)
  789. {
  790. return DataRowToModel(ds.Tables[0].Rows[0]);
  791. }
  792. else
  793. {
  794. return null;
  795. }
  796. }
  797. #endregion
  798. #region 根据CallId获取电话记录
  799. public YTSoft.BaseCallCenter.Model.T_Call_CallRecords GetModelByCallId(string CallId)
  800. {
  801. StringBuilder strSql = new StringBuilder();
  802. strSql.Append("select top 1 * from T_Call_CallRecords ");
  803. strSql.Append(" where CallId=@CallId order by BeginTime desc");
  804. SqlParameter[] parameters = {
  805. new SqlParameter("@CallId", SqlDbType.VarChar,50)
  806. };
  807. parameters[0].Value = CallId;
  808. YTSoft.BaseCallCenter.Model.T_Call_CallRecords model = new YTSoft.BaseCallCenter.Model.T_Call_CallRecords();
  809. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  810. if (ds.Tables[0].Rows.Count > 0)
  811. {
  812. return DataRowToModel(ds.Tables[0].Rows[0]);
  813. }
  814. else
  815. {
  816. return null;
  817. }
  818. }
  819. public YTSoft.BaseCallCenter.Model.T_Call_CallRecords GetModelByRecordId(string CallId)
  820. {
  821. StringBuilder strSql = new StringBuilder();
  822. strSql.Append("select top 1 * from T_Call_CallRecords ");
  823. strSql.Append(" where CallRecordsId=@CallRecordsId order by BeginTime desc");
  824. SqlParameter[] parameters = {
  825. new SqlParameter("@CallRecordsId", SqlDbType.Int)
  826. };
  827. parameters[0].Value = Convert.ToInt32(CallId);
  828. YTSoft.BaseCallCenter.Model.T_Call_CallRecords model = new YTSoft.BaseCallCenter.Model.T_Call_CallRecords();
  829. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  830. if (ds.Tables[0].Rows.Count > 0)
  831. {
  832. return DataRowToModel(ds.Tables[0].Rows[0]);
  833. }
  834. else
  835. {
  836. return null;
  837. }
  838. }
  839. #endregion
  840. #region 更新来电处理状态信息
  841. /// <summary>
  842. /// 更新来电处理状态信息
  843. /// </summary>
  844. public bool UpdateCallInRecordDealType(string callid, int type)
  845. {
  846. StringBuilder strSql = new StringBuilder();
  847. strSql.Append("update T_Call_CallRecords set ");
  848. strSql.Append("DealType=@DealType");
  849. strSql.Append(" where CallId=@CallId ");
  850. SqlParameter[] parameters = {
  851. new SqlParameter("@CallId", SqlDbType.VarChar,50),
  852. new SqlParameter("@DealType", SqlDbType.Int,4)};
  853. parameters[0].Value = callid;
  854. parameters[1].Value = type;
  855. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  856. if (rows > 0)
  857. {
  858. return true;
  859. }
  860. else
  861. {
  862. return false;
  863. }
  864. }
  865. #endregion
  866. #region 报表数据
  867. /// <summary>
  868. /// 获取小时分布数据
  869. /// </summary>
  870. /// <param name="StartDate">开始日期</param>
  871. /// <param name="EndDate">结束日期</param>
  872. /// <returns></returns>
  873. public DataTable GetdTypeData(string dType, int? busType, string startDate, string endDate)
  874. {
  875. StringBuilder strSql = new StringBuilder();
  876. strSql.Append("SELECT COUNT(*) callInCount,DATEPART(" + dType + ", BeginTime) DateType FROM T_Call_CallRecords ");
  877. strSql.Append(" where CallType=0 ");
  878. if (!string.IsNullOrEmpty(startDate))
  879. {
  880. strSql.Append(" and BeginTime>='" + startDate + " 00:00:00' ");
  881. }
  882. if (!string.IsNullOrEmpty(endDate))
  883. {
  884. strSql.Append(" and BeginTime<='" + endDate + " 23:59:59' ");
  885. }
  886. if (busType != null && (int)busType > 0)
  887. {
  888. if ((int)busType == 1)
  889. {
  890. strSql.Append(" and F_REPAIRMANID<=2 ");
  891. }
  892. else if ((int)busType == 2)
  893. {
  894. strSql.Append(" and F_REPAIRMANID=3 ");
  895. }
  896. else if ((int)busType == 3)
  897. {
  898. strSql.Append(" and F_REPAIRMANID=4 ");
  899. }
  900. }
  901. strSql.Append(" GROUP BY DATEPART(" + dType + ", BeginTime) ORDER BY DateType asc");
  902. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  903. if (ds.Tables[0].Rows.Count > 0)
  904. {
  905. return ds.Tables[0];
  906. }
  907. else
  908. {
  909. return null;
  910. }
  911. }
  912. /// <summary>
  913. /// 获取小时分布数据
  914. /// </summary>
  915. /// <param name="StartDate">开始日期</param>
  916. /// <param name="EndDate">结束日期</param>
  917. /// <returns></returns>
  918. public DataTable GetHourData(string startDate, string endDate)
  919. {
  920. StringBuilder strSql = new StringBuilder();
  921. strSql.Append("SELECT COUNT(*) callInCount,DATEPART(HH, BeginTime) CallHour FROM T_Call_CallRecords ");
  922. strSql.Append(" where CallType=0 ");
  923. if (!string.IsNullOrEmpty(startDate))
  924. {
  925. strSql.Append(" and BeginTime>='" + startDate + " 00:00:00' ");
  926. }
  927. if (!string.IsNullOrEmpty(endDate))
  928. {
  929. strSql.Append(" and BeginTime<='" + endDate + " 23:59:59' ");
  930. }
  931. strSql.Append(" GROUP BY DATEPART(HH, BeginTime) ORDER BY CallHour asc");
  932. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  933. if (ds.Tables[0].Rows.Count > 0)
  934. {
  935. return ds.Tables[0];
  936. }
  937. else
  938. {
  939. return null;
  940. }
  941. }
  942. public DataTable GetHourDataList(string CallHour, string startDate, string endDate)
  943. {
  944. StringBuilder strSql = new StringBuilder();
  945. strSql.Append("select *,CONVERT(varchar,BeginTime, 120 ) as BeginTimeNew,CONVERT(varchar,TalkStartTime, 120 ) as TalkStartTimeNew,CONVERT(varchar,TalkEndTime, 120 ) as TalkEndTimeNew,CONVERT(varchar,TalkStartTime, 120 ) as TalkStartTimeNew,CONVERT(varchar,TalkEndTime, 120 ) as TalkEndTimeNew from T_Call_CallRecords");
  946. strSql.Append(" where CallType=0 ");
  947. if (!string.IsNullOrEmpty(startDate))
  948. {
  949. strSql.Append(" and BeginTime>='" + startDate + " 00:00:00' ");
  950. }
  951. if (!string.IsNullOrEmpty(endDate))
  952. {
  953. strSql.Append(" and BeginTime<='" + endDate + " 23:59:59' ");
  954. }
  955. if (!string.IsNullOrEmpty(CallHour))
  956. {
  957. strSql.Append(" and DATEPART(HH, BeginTime)=" + CallHour);
  958. }
  959. strSql.Append(" ORDER BY CallId desc");
  960. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  961. if (ds.Tables[0].Rows.Count > 0)
  962. {
  963. return ds.Tables[0];
  964. }
  965. else
  966. {
  967. return null;
  968. }
  969. }
  970. /// <summary>
  971. /// 获取选择类型数据
  972. /// </summary>
  973. /// <param name="StartDate">开始日期</param>
  974. /// <param name="EndDate">结束日期</param>
  975. /// <returns></returns>
  976. public DataTable GetBussTypeData(string startDate, string endDate)
  977. {
  978. StringBuilder strSql = new StringBuilder();
  979. strSql.Append("SELECT COUNT(*) callInCount,BusinessType FROM T_Call_CallRecords ");
  980. strSql.Append(" where CallType=0 ");
  981. if (!string.IsNullOrEmpty(startDate))
  982. {
  983. strSql.Append(" and BeginTime>='" + startDate + " 00:00:00' ");
  984. }
  985. if (!string.IsNullOrEmpty(endDate))
  986. {
  987. strSql.Append(" and BeginTime<='" + endDate + " 23:59:59' ");
  988. }
  989. // strSql.Append(" GROUP BY BusinessType ORDER BY BusinessType ASC");
  990. strSql.Append(" GROUP BY BusinessType ORDER BY BusinessType ASC");
  991. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  992. if (ds.Tables[0].Rows.Count > 0)
  993. {
  994. return ds.Tables[0];
  995. }
  996. else
  997. {
  998. return null;
  999. }
  1000. }
  1001. /// <summary>
  1002. /// 获取选择类型数据
  1003. /// </summary>
  1004. /// <param name="StartDate">开始日期</param>
  1005. /// <param name="EndDate">结束日期</param>
  1006. /// <returns></returns>
  1007. public DataTable GetWorkOrderBussTypeData(string startDate, string endDate)
  1008. {
  1009. StringBuilder strSql = new StringBuilder();
  1010. strSql.Append("SELECT COUNT(*) callInCount,F_FILEFLAG BusinessType,F_HOUSING BusinessTypeName FROM T_Wo_WorkOrderBase ");
  1011. strSql.Append(" where 1=1 ");
  1012. if (!string.IsNullOrEmpty(startDate))
  1013. {
  1014. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1015. }
  1016. if (!string.IsNullOrEmpty(endDate))
  1017. {
  1018. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1019. }
  1020. strSql.Append(" GROUP BY F_FILEFLAG,F_HOUSING ORDER BY F_HOUSING ASC");
  1021. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1022. if (ds.Tables[0].Rows.Count > 0)
  1023. {
  1024. return ds.Tables[0];
  1025. }
  1026. else
  1027. {
  1028. return null;
  1029. }
  1030. }
  1031. public DataTable GetWorkOrderBussTypeDataRX(string startDate, string endDate)
  1032. {
  1033. StringBuilder strSql = new StringBuilder();
  1034. strSql.Append("SELECT COUNT(*) callInCount,F_FILEFLAG BusinessType,F_HOUSING BusinessTypeName FROM T_Wo_WorkOrderBase ");
  1035. strSql.Append(" where 1=1 ");
  1036. if (!string.IsNullOrEmpty(startDate))
  1037. {
  1038. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1039. }
  1040. if (!string.IsNullOrEmpty(endDate))
  1041. {
  1042. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1043. }
  1044. strSql.Append(" GROUP BY F_FILEFLAG,F_HOUSING ORDER BY F_HOUSING ASC");
  1045. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1046. if (ds.Tables[0].Rows.Count > 0)
  1047. {
  1048. return ds.Tables[0];
  1049. }
  1050. else
  1051. {
  1052. return null;
  1053. }
  1054. }
  1055. /// <summary>
  1056. /// 获取选择类型数据
  1057. /// </summary>
  1058. /// <param name="StartDate">开始日期</param>
  1059. /// <param name="EndDate">结束日期</param>
  1060. /// <returns></returns>
  1061. public DataTable GetWorkOrderBussTypeFromData(string startDate, string endDate)
  1062. {
  1063. StringBuilder strSql = new StringBuilder();
  1064. strSql.Append("SELECT COUNT(*) callInCount,F_FILEFLAG BusinessType,F_HOUSING BusinessTypeName,F_REPAIRMANID,F_WORKORDERFROM FROM T_Wo_WorkOrderBase ");
  1065. strSql.Append(" where 1=1 ");
  1066. if (!string.IsNullOrEmpty(startDate))
  1067. {
  1068. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1069. }
  1070. if (!string.IsNullOrEmpty(endDate))
  1071. {
  1072. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1073. }
  1074. strSql.Append(" GROUP BY F_FILEFLAG,F_HOUSING ,F_REPAIRMANID,F_WORKORDERFROM ORDER BY F_HOUSING ASC");
  1075. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1076. if (ds.Tables[0].Rows.Count > 0)
  1077. {
  1078. return ds.Tables[0];
  1079. }
  1080. else
  1081. {
  1082. return null;
  1083. }
  1084. }
  1085. public DataTable GetWorkOrderBussTypeFromDataNew(string startDate, string endDate)
  1086. {
  1087. StringBuilder strSql = new StringBuilder();
  1088. strSql.Append("SELECT COUNT(*) callInCount,F_FILEFLAG BusinessType,F_HOUSING BusinessTypeName,F_REPAIRMANID,F_WORKORDERFROM,F_RETURNVISITPROBLEM,F_WORKORDERTYPEID FROM T_Wo_WorkOrderBase ");
  1089. strSql.Append(" where 1=1 and F_FILEFLAG>0 AND F_WORKORDERTYPEID>0 ");
  1090. if (!string.IsNullOrEmpty(startDate))
  1091. {
  1092. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1093. }
  1094. if (!string.IsNullOrEmpty(endDate))
  1095. {
  1096. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1097. }
  1098. strSql.Append(" GROUP BY F_FILEFLAG,F_HOUSING ,F_REPAIRMANID,F_WORKORDERFROM,F_RETURNVISITPROBLEM,F_WORKORDERTYPEID ORDER BY F_HOUSING ASC");
  1099. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1100. if (ds.Tables[0].Rows.Count > 0)
  1101. {
  1102. return ds.Tables[0];
  1103. }
  1104. else
  1105. {
  1106. return null;
  1107. }
  1108. }
  1109. /// <summary>
  1110. /// 获取选择类型数据
  1111. /// </summary>
  1112. /// <param name="StartDate">开始日期</param>
  1113. /// <param name="EndDate">结束日期</param>
  1114. /// <returns></returns>
  1115. public DataTable GetWorkOrderWeekData(string startDate, string endDate)
  1116. {
  1117. StringBuilder strSql = new StringBuilder();
  1118. strSql.Append("SELECT COUNT(*) callInCount,F_FILEFLAG BusinessType,datepart(weekday,F_CREATEDATE) Weeks FROM T_Wo_WorkOrderBase ");
  1119. strSql.Append(" where 1=1 ");
  1120. if (!string.IsNullOrEmpty(startDate))
  1121. {
  1122. strSql.Append(" and F_CreateDate>='" + startDate + "' ");
  1123. }
  1124. if (!string.IsNullOrEmpty(endDate))
  1125. {
  1126. strSql.Append(" and F_CreateDate<='" + endDate + "' ");
  1127. }
  1128. strSql.Append(" GROUP BY F_FILEFLAG,datepart(weekday,F_CREATEDATE)");
  1129. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1130. if (ds.Tables[0].Rows.Count > 0)
  1131. {
  1132. return ds.Tables[0];
  1133. }
  1134. else
  1135. {
  1136. return null;
  1137. }
  1138. }
  1139. /// <summary>
  1140. /// 坐席业务量
  1141. /// </summary>
  1142. /// <param name="StartDate">开始日期</param>
  1143. /// <param name="EndDate">结束日期</param>
  1144. /// <returns></returns>
  1145. public DataTable GetWorkOrderUeserData(string startDate, string endDate)
  1146. {
  1147. StringBuilder strSql = new StringBuilder();
  1148. strSql.Append("SELECT F_LINKMAN 坐席工号,F_REPAIRMANNAME 坐席姓名, COUNT(*) 业务量,F_REPAIRMANID 渠道 FROM T_Wo_WorkOrderBase ");
  1149. strSql.Append(" where 1=1 and F_REPAIRLEVEL>0 and F_FILEFLAG>0 ");
  1150. if (!string.IsNullOrEmpty(startDate))
  1151. {
  1152. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1153. }
  1154. if (!string.IsNullOrEmpty(endDate))
  1155. {
  1156. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1157. }
  1158. strSql.Append(" GROUP BY F_LINKMAN,F_REPAIRMANNAME,F_REPAIRMANID ");
  1159. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1160. if (ds.Tables[0].Rows.Count > 0)
  1161. {
  1162. return ds.Tables[0];
  1163. }
  1164. else
  1165. {
  1166. return null;
  1167. }
  1168. }
  1169. /// <summary>
  1170. /// 分渠道业务统计
  1171. /// </summary>
  1172. /// <param name="StartDate">开始日期</param>
  1173. /// <param name="EndDate">结束日期</param>
  1174. /// <returns></returns>
  1175. public DataTable GetWorkOrderFrom(string startDate, string endDate)
  1176. {
  1177. StringBuilder strSql = new StringBuilder();
  1178. strSql.Append("SELECT COUNT(*) callInCount,F_REPAIRMANID 渠道 FROM T_Wo_WorkOrderBase ");
  1179. strSql.Append(" where 1=1 and F_REPAIRLEVEL>0 and F_FILEFLAG>0");
  1180. if (!string.IsNullOrEmpty(startDate))
  1181. {
  1182. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1183. }
  1184. if (!string.IsNullOrEmpty(endDate))
  1185. {
  1186. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1187. }
  1188. strSql.Append(" GROUP BY F_REPAIRMANID");
  1189. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1190. if (ds.Tables[0].Rows.Count > 0)
  1191. {
  1192. return ds.Tables[0];
  1193. }
  1194. else
  1195. {
  1196. return null;
  1197. }
  1198. }
  1199. /// <summary>
  1200. /// 处理方式
  1201. /// </summary>
  1202. /// <param name="StartDate">开始日期</param>
  1203. /// <param name="EndDate">结束日期</param>
  1204. /// <returns></returns>
  1205. public DataTable GetWorkOrderTrainFunction(string startDate, string endDate)
  1206. {
  1207. StringBuilder strSql = new StringBuilder();
  1208. strSql.Append("SELECT F_LINKMAN 坐席工号 , F_REPAIRMANNAME 坐席姓名 , COUNT(*) 业务量 ,F_FILEFLAG 业务类别,F_WORKORDERTYPEID 处理方式 FROM T_Wo_WorkOrderBase ");
  1209. strSql.Append(" where 1=1 and F_FILEFLAG>0 AND F_WORKORDERTYPEID>0 ");
  1210. if (!string.IsNullOrEmpty(startDate))
  1211. {
  1212. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1213. }
  1214. if (!string.IsNullOrEmpty(endDate))
  1215. {
  1216. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1217. }
  1218. strSql.Append(" GROUP BY F_LINKMAN,F_REPAIRMANNAME, F_FILEFLAG,F_WORKORDERTYPEID");
  1219. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1220. if (ds.Tables[0].Rows.Count > 0)
  1221. {
  1222. return ds.Tables[0];
  1223. }
  1224. else
  1225. {
  1226. return null;
  1227. }
  1228. }
  1229. public DataTable GetWorkOrderTrainFunctionRX(string startDate, string endDate)
  1230. {
  1231. StringBuilder strSql = new StringBuilder();
  1232. strSql.Append("SELECT F_LINKMAN 坐席工号 , F_REPAIRMANNAME 坐席姓名 , COUNT(*) 业务量 ,F_FILEFLAG 业务类别,F_WORKORDERTYPEID 处理方式 ,F_REPAIRMANID FROM T_Wo_WorkOrderBase ");
  1233. strSql.Append(" where 1=1 and F_FILEFLAG>0 AND F_WORKORDERTYPEID>0 AND F_REPAIRMANID<=2");
  1234. if (!string.IsNullOrEmpty(startDate))
  1235. {
  1236. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1237. }
  1238. if (!string.IsNullOrEmpty(endDate))
  1239. {
  1240. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1241. }
  1242. strSql.Append(" GROUP BY F_LINKMAN,F_REPAIRMANNAME, F_FILEFLAG,F_WORKORDERTYPEID ,F_REPAIRMANID");
  1243. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1244. if (ds.Tables[0].Rows.Count > 0)
  1245. {
  1246. return ds.Tables[0];
  1247. }
  1248. else
  1249. {
  1250. return null;
  1251. }
  1252. }
  1253. public DataTable GetWorkOrderTrainFunctionRXQT(string startDate, string endDate)
  1254. {
  1255. StringBuilder strSql = new StringBuilder();
  1256. strSql.Append("SELECT F_LINKMAN 坐席工号 , F_REPAIRMANNAME 坐席姓名 , COUNT(*) 业务量 ,F_FILEFLAG 业务类别,F_WORKORDERTYPEID 处理方式 ,F_REPAIRMANID FROM T_Wo_WorkOrderBase ");
  1257. strSql.Append(" where 1=1 and F_FILEFLAG>0 AND F_WORKORDERTYPEID>0 ");
  1258. if (!string.IsNullOrEmpty(startDate))
  1259. {
  1260. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1261. }
  1262. if (!string.IsNullOrEmpty(endDate))
  1263. {
  1264. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1265. }
  1266. strSql.Append(" GROUP BY F_LINKMAN,F_REPAIRMANNAME, F_FILEFLAG,F_WORKORDERTYPEID ,F_REPAIRMANID");
  1267. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1268. if (ds.Tables[0].Rows.Count > 0)
  1269. {
  1270. return ds.Tables[0];
  1271. }
  1272. else
  1273. {
  1274. return null;
  1275. }
  1276. }
  1277. public DataTable GetWorkOrderTrainFunctionRXWX(string startDate, string endDate,string wbwx)
  1278. {
  1279. StringBuilder strSql = new StringBuilder();
  1280. strSql.Append("SELECT F_LINKMAN 坐席工号 , F_REPAIRMANNAME 坐席姓名 , COUNT(*) 业务量 ,F_FILEFLAG 业务类别,F_WORKORDERTYPEID 处理方式 ,F_REPAIRMANID FROM T_Wo_WorkOrderBase ");
  1281. strSql.Append(" where 1=1 and F_FILEFLAG>0 AND F_WORKORDERTYPEID>0 ");
  1282. switch(wbwx.Trim())
  1283. {
  1284. case "3": strSql.Append(" and F_REPAIRMANID=3");break;//微信
  1285. case "4": strSql.Append(" and F_REPAIRMANID=4"); break;//微博
  1286. default: strSql.Append(" and F_REPAIRMANID in (1,2)"); break;//1、2语音
  1287. }
  1288. if (!string.IsNullOrEmpty(startDate))
  1289. {
  1290. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1291. }
  1292. if (!string.IsNullOrEmpty(endDate))
  1293. {
  1294. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1295. }
  1296. strSql.Append(" GROUP BY F_LINKMAN,F_REPAIRMANNAME, F_FILEFLAG,F_WORKORDERTYPEID ,F_REPAIRMANID");
  1297. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1298. if (ds.Tables[0].Rows.Count > 0)
  1299. {
  1300. return ds.Tables[0];
  1301. }
  1302. else
  1303. {
  1304. return null;
  1305. }
  1306. }
  1307. public DataTable GetWorkOrderTrainFunctionRXMX(string startDate, string endDate,string sql)
  1308. {
  1309. StringBuilder strSql = new StringBuilder();
  1310. strSql.Append("SELECT COUNT(*) YWSL,F_REPAIRLEVEL,F_FILEFLAG FROM T_Wo_WorkOrderBase ");
  1311. strSql.Append(" where 1=1 ");
  1312. if (!string.IsNullOrEmpty(sql)) {
  1313. strSql.Append(" and " +sql);
  1314. }
  1315. if (!string.IsNullOrEmpty(startDate))
  1316. {
  1317. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1318. }
  1319. if (!string.IsNullOrEmpty(endDate))
  1320. {
  1321. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1322. }
  1323. strSql.Append(" GROUP BY F_REPAIRLEVEL,F_FILEFLAG ORDER BY YWSL DESC");
  1324. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1325. if (ds.Tables[0].Rows.Count > 0)
  1326. {
  1327. return ds.Tables[0];
  1328. }
  1329. else
  1330. {
  1331. return null;
  1332. }
  1333. }
  1334. /// <summary>
  1335. /// 坐席话务量
  1336. /// </summary>
  1337. /// <param name="StartDate">开始日期</param>
  1338. /// <param name="EndDate">结束日期</param>
  1339. /// <returns></returns>
  1340. public DataTable CallTimeMath(string startDate, string endDate)
  1341. {
  1342. StringBuilder strSql = new StringBuilder();
  1343. strSql.Append("SELECT userId, COUNT(*) 呼叫次数,SUM(TalkLongTime) 通话时长,CallType 呼叫类型 FROM T_Call_CallRecords ");
  1344. strSql.Append(" WHERE userId>0 ");
  1345. if (!string.IsNullOrEmpty(startDate))
  1346. {
  1347. strSql.Append(" and BeginTime>='" + startDate + " 00:00:00' ");
  1348. }
  1349. if (!string.IsNullOrEmpty(endDate))
  1350. {
  1351. strSql.Append(" and BeginTime<='" + endDate + " 23:59:59' ");
  1352. }
  1353. strSql.Append(" GROUP BY CallType,userId ");
  1354. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1355. if (ds.Tables[0].Rows.Count > 0)
  1356. {
  1357. return ds.Tables[0];
  1358. }
  1359. else
  1360. {
  1361. return null;
  1362. }
  1363. }
  1364. /// <summary>
  1365. /// 获取工单类型数据
  1366. /// </summary>
  1367. /// <param name="StartDate">开始日期</param>
  1368. /// <param name="EndDate">结束日期</param>
  1369. /// <returns></returns>
  1370. public DataTable WorkOrderDate(string startDate, string endDate)
  1371. {
  1372. StringBuilder strSql = new StringBuilder();
  1373. strSql.Append(" SELECT ");
  1374. strSql.Append(" CASE WHEN F_REPAIRMANID = 1 THEN '语音' WHEN F_REPAIRMANID = 2 THEN '语音'WHEN F_REPAIRMANID = 3 THEN '微信' WHEN F_REPAIRMANID = 4 THEN '微博' END 工单类型 , ");
  1375. strSql.Append(" F_HOUSING , ");
  1376. strSql.Append(" F_ADSLACCOUNT , ");
  1377. strSql.Append(" CASE WHEN F_FILEFLAG = 3 THEN ");
  1378. strSql.Append(" CASE WHEN F_WORKORDERTYPEID = 3 THEN '客服处理' ");
  1379. strSql.Append(" WHEN F_WORKORDERTYPEID = 1 THEN '转办' ");
  1380. strSql.Append(" END ");
  1381. strSql.Append("ELSE '' ");
  1382. strSql.Append(" END 处理方式 , ");
  1383. strSql.Append("CASE WHEN F_FILEFLAG =3 then ");
  1384. strSql.Append(" CASE WHEN F_WORKORDERTYPEID = 1 THEN ");
  1385. strSql.Append(" CASE WHEN ISNULL(F_RETURNVISITRESULT, 2) = 0 THEN '一般' ");
  1386. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 1 THEN '满意' ");
  1387. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 2 THEN '一般' ");
  1388. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 3 THEN '不满意' ");
  1389. strSql.Append(" END ");
  1390. strSql.Append("ELSE '' ");
  1391. strSql.Append(" END ");
  1392. strSql.Append("ELSE '' ");
  1393. strSql.Append(" END ");
  1394. strSql.Append("AS 满意度 , ");
  1395. strSql.Append(" COUNT(*) AS 总数 ");
  1396. strSql.Append("FROM [dbo].[T_Wo_WorkOrderBase] ");
  1397. strSql.Append("WHERE F_FILEFLAG > 0 ");
  1398. if (!string.IsNullOrEmpty(startDate))
  1399. {
  1400. strSql.Append(" and F_CREATEDATE>='" + startDate + " 00:00:00' ");
  1401. }
  1402. if (!string.IsNullOrEmpty(endDate))
  1403. {
  1404. strSql.Append(" and F_CREATEDATE<='" + endDate + " 23:59:59' ");
  1405. }
  1406. strSql.Append("GROUP BY CASE WHEN F_REPAIRMANID = 1 THEN '语音' ");
  1407. strSql.Append(" WHEN F_REPAIRMANID = 2 THEN '语音' ");
  1408. strSql.Append(" WHEN F_REPAIRMANID = 3 THEN '微信' ");
  1409. strSql.Append(" WHEN F_REPAIRMANID = 4 THEN '微博' ");
  1410. strSql.Append(" END , ");
  1411. strSql.Append(" F_FILEFLAG , ");
  1412. strSql.Append(" F_HOUSING , ");
  1413. strSql.Append(" F_REPAIRLEVEL , ");
  1414. strSql.Append(" F_ADSLACCOUNT , ");
  1415. strSql.Append(" CASE WHEN F_FILEFLAG = 3 THEN ");
  1416. strSql.Append(" CASE WHEN F_WORKORDERTYPEID = 3 THEN '客服处理' ");
  1417. strSql.Append(" WHEN F_WORKORDERTYPEID = 1 THEN '转办' ");
  1418. strSql.Append(" END ");
  1419. strSql.Append(" ELSE '' ");
  1420. strSql.Append(" END ");
  1421. strSql.Append(" , ");
  1422. strSql.Append(" CASE WHEN F_FILEFLAG =3 then ");
  1423. strSql.Append(" CASE WHEN F_WORKORDERTYPEID = 1 THEN ");
  1424. strSql.Append(" CASE WHEN ISNULL(F_RETURNVISITRESULT, 2) = 0 THEN '一般' ");
  1425. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 1 THEN '满意' ");
  1426. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 2 THEN '一般'");
  1427. strSql.Append(" WHEN ISNULL(F_RETURNVISITRESULT, 2) = 3 THEN '不满意'");
  1428. strSql.Append(" END");
  1429. strSql.Append(" ELSE ''");
  1430. strSql.Append(" END ");
  1431. strSql.Append("ELSE '' ");
  1432. strSql.Append(" END ");
  1433. strSql.Append("ORDER BY 工单类型,F_FILEFLAG,F_ADSLACCOUNT ");
  1434. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1435. if (ds.Tables[0].Rows.Count > 0)
  1436. {
  1437. return ds.Tables[0];
  1438. }
  1439. else
  1440. {
  1441. return null;
  1442. }
  1443. }
  1444. #endregion
  1445. #region 获取在线坐席
  1446. /// <summary>
  1447. /// 获取在线坐席
  1448. /// </summary>
  1449. /// <returns></returns>
  1450. public DataTable GetLoginUserInfo()
  1451. {
  1452. //当前日期
  1453. string todayDate = DateTime.Now.ToString("yyyy-MM-dd");
  1454. DateTime nowDate = DateTime.Now;
  1455. StringBuilder strSql = new StringBuilder();
  1456. strSql.Append("SELECT u.F_UserName userName,F_UserCode userCode FROM T_Sys_LoginLogs l LEFT JOIN T_Sys_UserAccount u ON l.F_LoginId=u.F_UserId WHERE u.F_SeatFlag=1 AND l.F_LoginDate>='" + todayDate + " 00:00:01'");
  1457. strSql.Append(" AND l.F_LoginDate<='" + todayDate + " 23:59:59' GROUP BY u.F_UserName,F_UserCode");
  1458. if (DateTime.Parse((todayDate + " 08:30:00")) <= nowDate && nowDate < DateTime.Parse((todayDate + " 20:30:00")))
  1459. {
  1460. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  1461. if (ds.Tables[0].Rows.Count > 0)
  1462. {
  1463. return ds.Tables[0];
  1464. }
  1465. else
  1466. {
  1467. return null;
  1468. }
  1469. }
  1470. else
  1471. {
  1472. return null;
  1473. }
  1474. }
  1475. #endregion
  1476. #region 获取坐席微信/微博工单数量
  1477. /// <summary>
  1478. /// 获取坐席微信/微博工单数量
  1479. /// </summary>
  1480. /// <param name="StartDate">开始日期</param>
  1481. /// <param name="EndDate">结束日期</param>
  1482. /// <returns></returns>
  1483. public int WorkOrderCount( int? busType, string startDate, string endDate)
  1484. {
  1485. StringBuilder strSql = new StringBuilder();
  1486. strSql.Append("SELECT COUNT(*) callInCount FROM T_Wo_WorkOrderBase ");
  1487. strSql.Append(" where 1=1 ");
  1488. if (!string.IsNullOrEmpty(startDate))
  1489. {
  1490. strSql.Append(" and F_CreateDate>='" + startDate + " 00:00:00' ");
  1491. }
  1492. if (!string.IsNullOrEmpty(endDate))
  1493. {
  1494. strSql.Append(" and F_CreateDate<='" + endDate + " 23:59:59' ");
  1495. }
  1496. if (busType != null && (int)busType > 0)
  1497. {
  1498. if ((int)busType == 1)
  1499. {
  1500. strSql.Append(" and F_REPAIRMANID<=2 ");
  1501. }
  1502. else if ((int)busType == 2)
  1503. {
  1504. strSql.Append(" and F_REPAIRMANID=3 ");
  1505. }
  1506. else if ((int)busType == 3)
  1507. {
  1508. strSql.Append(" and F_REPAIRMANID=4 ");
  1509. }
  1510. }
  1511. object totalCount = DbHelperSQL.GetSingle(strSql.ToString());
  1512. if(totalCount!=null&&!string.IsNullOrEmpty(totalCount.ToString()))
  1513. {
  1514. return int.Parse(totalCount.ToString());
  1515. }
  1516. else
  1517. {
  1518. return 0;
  1519. }
  1520. }
  1521. #endregion
  1522. /// <summary>
  1523. /// 重新设置线路
  1524. /// </summary>
  1525. public bool SetLine(int F_Linenum,string CallId)
  1526. {
  1527. StringBuilder strSql = new StringBuilder();
  1528. strSql.Append("Update T_Call_CallRecords ");
  1529. strSql.Append(" set F_Linenum=@F_Linenum");
  1530. strSql.Append(" Where CallId=@CallId");
  1531. SqlParameter[] parameters = {
  1532. new SqlParameter("@F_Linenum", SqlDbType.Int,4),
  1533. new SqlParameter("@CallId", SqlDbType.VarChar,10)
  1534. };
  1535. parameters[0].Value = F_Linenum;
  1536. parameters[1].Value = CallId;
  1537. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  1538. if (rows > 0)
  1539. {
  1540. return true;
  1541. }
  1542. else
  1543. {
  1544. return false;
  1545. }
  1546. }
  1547. }
  1548. }