defectgroup.ashx 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <%@ WebHandler Language="C#" Class="defectgroup" %>
  2. using System;
  3. using System.Web;
  4. using System.Web.SessionState;
  5. using System.Collections.Generic;
  6. using System.Collections.Specialized;
  7. using System.Data;
  8. using Curtain.DataAccess;
  9. using DK.XuWei.WebMes;
  10. /// <summary>
  11. /// TP_MST_DEFECTGROUP
  12. /// xuwei create 2020-04-28
  13. /// </summary>
  14. public class defectgroup : IHttpHandler, IReadOnlySessionState
  15. {
  16. public void ProcessRequest(HttpContext context)
  17. {
  18. context.Response.ContentType = "text/plain";
  19. if (mes.LoginCheck() && context.Request["m"] is object)
  20. {
  21. Button b = new Button();
  22. if(mes.RightCheck("系统管理"))
  23. {
  24. b.btnIndex = true;
  25. b.btnInsert = true;
  26. b.btnInsertBatch = true;
  27. b.btnCopy = true;
  28. b.btnUpdate = true;
  29. b.btnDelete = true;
  30. b.btnCancel = true;
  31. b.btnSearch = true;
  32. b.btnDetail = true;
  33. b.btnCheckbox = true;
  34. b.btnExport = true;
  35. b.btnReload = true;
  36. };
  37. switch (context.Request["m"].ToString().ToLower())
  38. {
  39. case "b":
  40. {
  41. //按钮
  42. context.Response.Write(new JsonResult(b).ToJson());
  43. break;
  44. }
  45. case "a":
  46. {
  47. //添加
  48. if (b.btnDetail && context.Request["id"].ToString() != "")
  49. context.Response.Write(detail());
  50. else
  51. {
  52. xRecord r = new xRecord();
  53. context.Response.Write(new JsonResult(r).ToJson());
  54. }
  55. break;
  56. }
  57. case "s":
  58. {
  59. //搜索
  60. if (b.btnIndex)
  61. context.Response.Write(search(context.Request.Form));
  62. else
  63. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  64. break;
  65. }
  66. case "t":
  67. {
  68. //详细
  69. if (b.btnDetail)
  70. context.Response.Write(detail());
  71. else
  72. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  73. break;
  74. }
  75. case "i":
  76. {
  77. //插入
  78. if (b.btnInsert)
  79. context.Response.Write(insert(context.Request.Form));
  80. else
  81. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  82. break;
  83. }
  84. case "u":
  85. {
  86. //修改
  87. if (b.btnUpdate)
  88. context.Response.Write(update(context.Request.Form));
  89. else
  90. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  91. break;
  92. }
  93. case "d":
  94. {
  95. //删除
  96. if (b.btnDelete)
  97. context.Response.Write(delete());
  98. else
  99. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  100. break;
  101. }
  102. case "e":
  103. {
  104. //导出
  105. if (b.btnExport)
  106. {
  107. context.Response.Write(export());
  108. }
  109. else
  110. {
  111. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  112. }
  113. break;
  114. }
  115. default:
  116. {
  117. break;
  118. }
  119. }
  120. }
  121. else
  122. {
  123. context.Response.Write(new JsonResult(JsonStatus.loginError).ToJson());
  124. }
  125. }
  126. /// <summary>
  127. /// TP_MST_DEFECTGROUP 查询
  128. /// </summary>
  129. /// <returns>json</returns>
  130. private string search(NameValueCollection form)
  131. {
  132. using(IDataAccess conn=DataAccess.Create())
  133. {
  134. int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
  135. int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
  136. string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "";
  137. string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
  138. string sqlStr = @"
  139. SELECT
  140. m.DEFECTGROUPID AS SID,
  141. m.DEFECTGROUPID,
  142. m.DEFECTGROUPTYPE,
  143. m.DEFECTGROUPNAME,
  144. m.DEFECTID,
  145. d.DEFECTNAME,
  146. m.PROCEDUREID1,
  147. p1.PROCEDURENAME AS PROCEDURENAME1,
  148. m.PROCEDUREID2,
  149. p2.PROCEDURENAME AS PROCEDURENAME2,
  150. --m.PROCEDUREID3,
  151. --p3.PROCEDURENAME AS PROCEDURENAME3,
  152. --m.PROCEDUREID4,
  153. --p4.PROCEDURENAME AS PROCEDURENAME4,
  154. --m.PROCEDUREID5,
  155. --p5.PROCEDURENAME AS PROCEDURENAME5,
  156. --m.PROCEDUREID6,
  157. --p6.PROCEDURENAME AS PROCEDURENAME6,
  158. m.VALUEFLAG,
  159. m.ACCOUNTID,
  160. m.CREATEUSERID,
  161. m.CREATETIME,
  162. m.UPDATEUSERID,
  163. m.UPDATETIME
  164. FROM
  165. TP_MST_DEFECTGROUP m
  166. LEFT JOIN TP_MST_DEFECT d ON m.DEFECTID = d.DEFECTID
  167. LEFT JOIN TP_PC_PROCEDURE p1 ON p1.PROCEDUREID = m.PROCEDUREID1
  168. LEFT JOIN TP_PC_PROCEDURE p2 ON p2.PROCEDUREID = m.PROCEDUREID2
  169. --LEFT JOIN TP_PC_PROCEDURE p3 ON p3.PROCEDUREID = m.PROCEDUREID3
  170. --LEFT JOIN TP_PC_PROCEDURE p4 ON p4.PROCEDUREID = m.PROCEDUREID4
  171. --LEFT JOIN TP_PC_PROCEDURE p5 ON p5.PROCEDUREID = m.PROCEDUREID5
  172. --LEFT JOIN TP_PC_PROCEDURE p6 ON p6.PROCEDUREID = m.PROCEDUREID6
  173. WHERE
  174. m.VALUEFLAG = '1'
  175. AND m.ACCOUNTID = @ACCOUNTID@
  176. ";
  177. List<CDAParameter> sqlPara = new List<CDAParameter>();
  178. sqlPara.Add(new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]));
  179. if(!string.IsNullOrEmpty(form["DEFECTGROUPID"]))
  180. {
  181. sqlStr += " AND m.DEFECTGROUPID = @DEFECTGROUPID@ ";
  182. sqlPara.Add(new CDAParameter("DEFECTGROUPID", form["DEFECTGROUPID"]));
  183. }
  184. if(!string.IsNullOrEmpty(form["DEFECTGROUPTYPE"]))
  185. {
  186. sqlStr += " AND INSTR( m.DEFECTGROUPTYPE, @DEFECTGROUPTYPE@ ) > 0 ";
  187. sqlPara.Add(new CDAParameter("DEFECTGROUPTYPE", form["DEFECTGROUPTYPE"]));
  188. }
  189. if(!string.IsNullOrEmpty(form["DEFECTGROUPNAME"]))
  190. {
  191. sqlStr += " AND INSTR( m.DEFECTGROUPNAME, @DEFECTGROUPNAME@ ) > 0 ";
  192. sqlPara.Add(new CDAParameter("DEFECTGROUPNAME", form["DEFECTGROUPNAME"]));
  193. }
  194. if(!string.IsNullOrEmpty(form["DEFECTID"]))
  195. {
  196. sqlStr += " AND INSTR( m.DEFECTID, @DEFECTID@ ) > 0 ";
  197. sqlPara.Add(new CDAParameter("DEFECTID", form["DEFECTID"]));
  198. }
  199. if(!string.IsNullOrEmpty(form["PROCEDUREID1"]))
  200. {
  201. sqlStr += " AND INSTR( m.PROCEDUREID1, @PROCEDUREID1@ ) > 0 ";
  202. sqlPara.Add(new CDAParameter("PROCEDUREID1", form["PROCEDUREID1"]));
  203. }
  204. if(!string.IsNullOrEmpty(form["PROCEDUREID2"]))
  205. {
  206. sqlStr += " AND INSTR( m.PROCEDUREID2, @PROCEDUREID2@ ) > 0 ";
  207. sqlPara.Add(new CDAParameter("PROCEDUREID2", form["PROCEDUREID2"]));
  208. }
  209. if(!string.IsNullOrEmpty(form["PROCEDUREID3"]))
  210. {
  211. sqlStr += " AND INSTR( m.PROCEDUREID3, @PROCEDUREID3@ ) > 0 ";
  212. sqlPara.Add(new CDAParameter("PROCEDUREID3", form["PROCEDUREID3"]));
  213. }
  214. if(sort != "")
  215. {
  216. sqlStr += " ORDER BY " + sort + " " + order;
  217. }
  218. int total = 0;
  219. DataTable dt = conn.SelectPages(page, rows,out total, sqlStr, sqlPara.ToArray());
  220. return new JsonResult(dt) { total = total}.ToJson();
  221. }
  222. }
  223. /// <summary>
  224. /// 详细 TP_MST_DEFECTGROUP
  225. /// </summary>
  226. /// <returns>json</returns>
  227. private string detail()
  228. {
  229. using(IDataAccess conn= DataAccess.Create())
  230. {
  231. DataTable dt = conn.ExecuteDatatable(@"
  232. SELECT
  233. m.DEFECTGROUPID,
  234. m.DEFECTGROUPTYPE,
  235. m.DEFECTGROUPNAME,
  236. m.DEFECTID,
  237. d.DEFECTNAME,
  238. m.PROCEDUREID1,
  239. p1.PROCEDURENAME AS PROCEDURENAME1,
  240. m.PROCEDUREID2,
  241. p2.PROCEDURENAME AS PROCEDURENAME2,
  242. m.PROCEDUREID3,
  243. --p3.PROCEDURENAME AS PROCEDURENAME3,
  244. --m.PROCEDUREID4,
  245. --p4.PROCEDURENAME AS PROCEDURENAME4,
  246. --m.PROCEDUREID5,
  247. --p5.PROCEDURENAME AS PROCEDURENAME5,
  248. --m.PROCEDUREID6,
  249. --p6.PROCEDURENAME AS PROCEDURENAME6,
  250. m.VALUEFLAG,
  251. m.ACCOUNTID,
  252. m.CREATEUSERID,
  253. m.CREATETIME,
  254. m.UPDATEUSERID,
  255. m.UPDATETIME
  256. FROM
  257. TP_MST_DEFECTGROUP m
  258. LEFT JOIN TP_MST_DEFECT d ON m.DEFECTID = d.DEFECTID
  259. LEFT JOIN TP_PC_PROCEDURE p1 ON p1.PROCEDUREID = m.PROCEDUREID1
  260. LEFT JOIN TP_PC_PROCEDURE p2 ON p2.PROCEDUREID = m.PROCEDUREID2
  261. --LEFT JOIN TP_PC_PROCEDURE p3 ON p3.PROCEDUREID = m.PROCEDUREID3
  262. --LEFT JOIN TP_PC_PROCEDURE p4 ON p4.PROCEDUREID = m.PROCEDUREID4
  263. --LEFT JOIN TP_PC_PROCEDURE p5 ON p5.PROCEDUREID = m.PROCEDUREID5
  264. --LEFT JOIN TP_PC_PROCEDURE p6 ON p6.PROCEDUREID = m.PROCEDUREID6
  265. WHERE
  266. m.VALUEFLAG = '1'
  267. AND m.ACCOUNTID = @ACCOUNTID@
  268. AND m.DEFECTGROUPID = @DEFECTGROUPID@
  269. ",
  270. new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]),
  271. new CDAParameter("DEFECTGROUPID",HttpContext.Current.Request["id"])
  272. );
  273. return new JsonResult(dt).ToJson();
  274. }
  275. }
  276. /// <summary>
  277. /// 插入 TP_MST_DEFECTGROUP
  278. /// </summary>
  279. /// <returns>json</returns>
  280. private string insert(NameValueCollection form)
  281. {
  282. using(IDataAccess conn= DataAccess.Create())
  283. {
  284. //string primaryKey = conn.GetSequenceNextval("SEQ_TP_MST_DEFECTGROUP").ToString();
  285. int result = conn.ExecuteNonQuery(@"
  286. INSERT INTO TP_MST_DEFECTGROUP (
  287. --DEFECTGROUPID,
  288. DEFECTGROUPTYPE,
  289. DEFECTGROUPNAME,
  290. DEFECTID,
  291. PROCEDUREID1,
  292. PROCEDUREID2,
  293. --PROCEDUREID3,
  294. --PROCEDUREID4,
  295. --PROCEDUREID5,
  296. --PROCEDUREID6,
  297. ACCOUNTID,CREATEUSERID,UPDATEUSERID
  298. ) VALUES (
  299. --@DEFECTGROUPID@,
  300. @DEFECTGROUPTYPE@,
  301. @DEFECTGROUPNAME@,
  302. @DEFECTID@,
  303. @PROCEDUREID1@,
  304. @PROCEDUREID2@,
  305. --@PROCEDUREID3@,
  306. --@PROCEDUREID4@,
  307. --@PROCEDUREID5@,
  308. --@PROCEDUREID6@,
  309. @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
  310. )
  311. ",
  312. //new CDAParameter("DEFECTGROUPID",primaryKey),
  313. new CDAParameter("DEFECTGROUPTYPE",form["DEFECTGROUPTYPE"]),
  314. new CDAParameter("DEFECTGROUPNAME",form["DEFECTGROUPNAME"]),
  315. new CDAParameter("DEFECTID",form["DEFECTID"]),
  316. new CDAParameter("PROCEDUREID1",form["PROCEDUREID1"]),
  317. new CDAParameter("PROCEDUREID2",form["PROCEDUREID2"]),
  318. //new CDAParameter("PROCEDUREID3",form["PROCEDUREID3"]),
  319. //new CDAParameter("PROCEDUREID4",form["PROCEDUREID3"]),
  320. //new CDAParameter("PROCEDUREID5",form["PROCEDUREID3"]),
  321. //new CDAParameter("PROCEDUREID6",form["PROCEDUREID3"]),
  322. new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]),
  323. new CDAParameter("CREATEUSERID",HttpContext.Current.Session["userId"]),
  324. new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"])
  325. );
  326. return new JsonResult(JsonStatus.success).ToJson();
  327. }
  328. }
  329. /// <summary>
  330. /// 更新 TP_MST_DEFECTGROUP
  331. /// </summary>
  332. /// <returns>json</returns>
  333. private string update(NameValueCollection form)
  334. {
  335. using(IDataAccess conn=DataAccess.Create())
  336. {
  337. int result = conn.ExecuteNonQuery(@"
  338. UPDATE TP_MST_DEFECTGROUP
  339. SET
  340. DEFECTGROUPTYPE = @DEFECTGROUPTYPE@,
  341. DEFECTGROUPNAME = @DEFECTGROUPNAME@,
  342. DEFECTID = @DEFECTID@,
  343. PROCEDUREID1 = @PROCEDUREID1@,
  344. PROCEDUREID2 = @PROCEDUREID2@,
  345. --PROCEDUREID3 = @PROCEDUREID3@,
  346. --PROCEDUREID4 = @PROCEDUREID4@,
  347. --PROCEDUREID5 = @PROCEDUREID5@,
  348. --PROCEDUREID6 = @PROCEDUREID6@,
  349. UPDATEUSERID = @UPDATEUSERID@,
  350. UPDATETIME = sysdate
  351. WHERE
  352. DEFECTGROUPID = @DEFECTGROUPID@
  353. ",
  354. new CDAParameter("DEFECTGROUPTYPE",form["DEFECTGROUPTYPE"]),
  355. new CDAParameter("DEFECTGROUPNAME",form["DEFECTGROUPNAME"]),
  356. new CDAParameter("DEFECTID",form["DEFECTID"]),
  357. new CDAParameter("PROCEDUREID1",form["PROCEDUREID1"]),
  358. new CDAParameter("PROCEDUREID2",form["PROCEDUREID2"]),
  359. //new CDAParameter("PROCEDUREID3",form["PROCEDUREID3"]),
  360. //new CDAParameter("PROCEDUREID4",form["PROCEDUREID3"]),
  361. //new CDAParameter("PROCEDUREID5",form["PROCEDUREID3"]),
  362. //new CDAParameter("PROCEDUREID6",form["PROCEDUREID3"]),
  363. new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"]),
  364. new CDAParameter("DEFECTGROUPID",HttpContext.Current.Request["id"])
  365. );
  366. return new JsonResult(JsonStatus.success).ToJson();
  367. }
  368. }
  369. /// <summary>
  370. /// 删除 TP_MST_DEFECTGROUP
  371. /// </summary>
  372. /// <returns>json</returns>
  373. private string delete()
  374. {
  375. using(IDataAccess conn= DataAccess.Create())
  376. {
  377. if (HttpContext.Current.Request["id"] is object)
  378. {
  379. int result = conn.ExecuteNonQuery(@"
  380. DELETE
  381. TP_MST_DEFECTGROUP
  382. WHERE
  383. INSTR(',' || @DEFECTGROUPID@ || ',' , ',' || DEFECTGROUPID || ',') > 0
  384. ",
  385. new CDAParameter("DEFECTGROUPID", HttpContext.Current.Request["id"])
  386. );
  387. return new JsonResult(JsonStatus.success).ToJson();
  388. }
  389. else
  390. {
  391. return new JsonResult(JsonStatus.otherError).ToJson();
  392. }
  393. }
  394. }
  395. /// <summary>
  396. /// 导出 TP_MST_DEFECTGROUP
  397. /// </summary>
  398. /// <returns>json</returns>
  399. private string export()
  400. {
  401. return search(new NameValueCollection());
  402. }
  403. private class Button
  404. {
  405. public bool btnIndex = false;
  406. public bool btnInsert = false;
  407. public bool btnInsertBatch = false;
  408. public bool btnCopy = false;
  409. public bool btnUpdate = false;
  410. public bool btnDelete = false;
  411. public bool btnCancel = false;
  412. public bool btnSearch = false;
  413. public bool btnDetail = false;
  414. public bool btnCheckbox = false;
  415. public bool btnExport = false;
  416. public bool btnReload = false;
  417. }
  418. private class xRecord
  419. {
  420. public string sid { get; set; }
  421. public string DEFECTGROUPTYPE { get; set; }
  422. public string DEFECTGROUPNAME { get; set; }
  423. public string DEFECTID { get; set; }
  424. public string PROCEDUREID1 { get; set; }
  425. public string PROCEDUREID2 { get; set; }
  426. public string PROCEDUREID3 { get; set; }
  427. }
  428. public bool IsReusable
  429. {
  430. get
  431. {
  432. return false;
  433. }
  434. }
  435. }