defect.ashx 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390
  1. <%@ WebHandler Language="C#" Class="defect" %>
  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_DEFECT
  12. /// xuwei create 2020-04-16
  13. /// </summary>
  14. public class defect : 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 = false;
  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_DEFECT 查询
  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.DEFECTID AS SID,
  141. m.DEFECTID,
  142. m.DEFECTCODE,
  143. m.DEFECTNAME,
  144. m.REMARKS,
  145. m.DEFECTTYPEID,
  146. t.DEFECTTYPENAME,
  147. m.DISPLAYNO,
  148. m.VALUEFLAG,
  149. m.ACCOUNTID,
  150. m.CREATEUSERID,
  151. m.CREATETIME,
  152. m.UPDATEUSERID,
  153. m.UPDATETIME
  154. FROM
  155. TP_MST_DEFECT m
  156. LEFT JOIN TP_MST_DEFECTTYPE t ON m.DEFECTTYPEID = t.DEFECTTYPEID
  157. WHERE
  158. m.VALUEFLAG = '1'
  159. AND m.ACCOUNTID = @ACCOUNTID@
  160. ";
  161. List<CDAParameter> sqlPara = new List<CDAParameter>();
  162. sqlPara.Add(new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]));
  163. if(!string.IsNullOrEmpty(form["DEFECTID"]))
  164. {
  165. sqlStr += " AND m.DEFECTID = @DEFECTID@ ";
  166. sqlPara.Add(new CDAParameter("DEFECTID", form["DEFECTID"]));
  167. }
  168. if(!string.IsNullOrEmpty(form["DEFECTCODE"]))
  169. {
  170. sqlStr += " AND INSTR( m.DEFECTCODE, @DEFECTCODE@ ) > 0 ";
  171. sqlPara.Add(new CDAParameter("DEFECTCODE", form["DEFECTCODE"]));
  172. }
  173. if(!string.IsNullOrEmpty(form["DEFECTNAME"]))
  174. {
  175. sqlStr += " AND INSTR( m.DEFECTNAME, @DEFECTNAME@ ) > 0 ";
  176. sqlPara.Add(new CDAParameter("DEFECTNAME", form["DEFECTNAME"]));
  177. }
  178. if(!string.IsNullOrEmpty(form["REMARKS"]))
  179. {
  180. sqlStr += " AND INSTR( m.REMARKS, @REMARKS@ ) > 0 ";
  181. sqlPara.Add(new CDAParameter("REMARKS", form["REMARKS"]));
  182. }
  183. if(!string.IsNullOrEmpty(form["DEFECTTYPEID"]))
  184. {
  185. sqlStr += " AND INSTR( m.DEFECTTYPEID, @DEFECTTYPEID@ ) > 0 ";
  186. sqlPara.Add(new CDAParameter("DEFECTTYPEID", form["DEFECTTYPEID"]));
  187. }
  188. if(!string.IsNullOrEmpty(form["DISPLAYNO"]))
  189. {
  190. sqlStr += " AND INSTR( m.DISPLAYNO, @DISPLAYNO@ ) > 0 ";
  191. sqlPara.Add(new CDAParameter("DISPLAYNO", form["DISPLAYNO"]));
  192. }
  193. if(sort != "")
  194. {
  195. sqlStr += " ORDER BY " + sort + " " + order;
  196. }
  197. int total = 0;
  198. DataTable dt = conn.SelectPages(page, rows,out total, sqlStr, sqlPara.ToArray());
  199. return new JsonResult(dt) { total = total}.ToJson();
  200. }
  201. }
  202. /// <summary>
  203. /// 详细 TP_MST_DEFECT
  204. /// </summary>
  205. /// <returns>json</returns>
  206. private string detail()
  207. {
  208. using(IDataAccess conn= DataAccess.Create())
  209. {
  210. DataTable dt = conn.ExecuteDatatable(@"
  211. SELECT
  212. m.DEFECTID,
  213. m.DEFECTCODE,
  214. m.DEFECTNAME,
  215. m.REMARKS,
  216. m.DEFECTTYPEID,
  217. m.DISPLAYNO,
  218. m.VALUEFLAG,
  219. m.ACCOUNTID,
  220. m.CREATEUSERID,
  221. m.CREATETIME,
  222. m.UPDATEUSERID,
  223. m.UPDATETIME
  224. FROM
  225. TP_MST_DEFECT m
  226. WHERE
  227. m.VALUEFLAG = '1'
  228. AND m.ACCOUNTID = @ACCOUNTID@
  229. AND m.DEFECTID = @DEFECTID@
  230. ",
  231. new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]),
  232. new CDAParameter("DEFECTID",HttpContext.Current.Request["id"])
  233. );
  234. return new JsonResult(dt).ToJson();
  235. }
  236. }
  237. /// <summary>
  238. /// 插入 TP_MST_DEFECT
  239. /// </summary>
  240. /// <returns>json</returns>
  241. private string insert(NameValueCollection form)
  242. {
  243. using(IDataAccess conn= DataAccess.Create())
  244. {
  245. //string primaryKey = conn.GetSequenceNextval("SEQ_TP_MST_DEFECT").ToString();
  246. int result = conn.ExecuteNonQuery(@"
  247. INSERT INTO TP_MST_DEFECT (
  248. --DEFECTID,
  249. DEFECTCODE,
  250. DEFECTNAME,
  251. REMARKS,
  252. DEFECTTYPEID,
  253. DISPLAYNO,
  254. ACCOUNTID,CREATEUSERID,UPDATEUSERID
  255. ) VALUES (
  256. --@DEFECTID@,
  257. @DEFECTCODE@,
  258. @DEFECTNAME@,
  259. @REMARKS@,
  260. @DEFECTTYPEID@,
  261. @DISPLAYNO@,
  262. @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@
  263. )
  264. ",
  265. //new CDAParameter("DEFECTID",primaryKey),
  266. new CDAParameter("DEFECTCODE",form["DEFECTCODE"]),
  267. new CDAParameter("DEFECTNAME",form["DEFECTNAME"]),
  268. new CDAParameter("REMARKS",form["REMARKS"]),
  269. new CDAParameter("DEFECTTYPEID",form["DEFECTTYPEID"]),
  270. new CDAParameter("DISPLAYNO",form["DISPLAYNO"]),
  271. new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]),
  272. new CDAParameter("CREATEUSERID",HttpContext.Current.Session["userId"]),
  273. new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"])
  274. );
  275. return new JsonResult(JsonStatus.success).ToJson();
  276. }
  277. }
  278. /// <summary>
  279. /// 更新 TP_MST_DEFECT
  280. /// </summary>
  281. /// <returns>json</returns>
  282. private string update(NameValueCollection form)
  283. {
  284. using(IDataAccess conn=DataAccess.Create())
  285. {
  286. int result = conn.ExecuteNonQuery(@"
  287. UPDATE TP_MST_DEFECT
  288. SET
  289. DEFECTCODE = @DEFECTCODE@,
  290. DEFECTNAME = @DEFECTNAME@,
  291. REMARKS = @REMARKS@,
  292. DEFECTTYPEID = @DEFECTTYPEID@,
  293. DISPLAYNO = @DISPLAYNO@,
  294. UPDATEUSERID = @UPDATEUSERID@,
  295. UPDATETIME = sysdate
  296. WHERE
  297. DEFECTID = @DEFECTID@
  298. ",
  299. new CDAParameter("DEFECTCODE",form["DEFECTCODE"]),
  300. new CDAParameter("DEFECTNAME",form["DEFECTNAME"]),
  301. new CDAParameter("REMARKS",form["REMARKS"]),
  302. new CDAParameter("DEFECTTYPEID",form["DEFECTTYPEID"]),
  303. new CDAParameter("DISPLAYNO",form["DISPLAYNO"]),
  304. new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"]),
  305. new CDAParameter("DEFECTID",HttpContext.Current.Request["id"])
  306. );
  307. return new JsonResult(JsonStatus.success).ToJson();
  308. }
  309. }
  310. /// <summary>
  311. /// 删除 TP_MST_DEFECT
  312. /// </summary>
  313. /// <returns>json</returns>
  314. private string delete()
  315. {
  316. using(IDataAccess conn= DataAccess.Create())
  317. {
  318. if (HttpContext.Current.Request["id"] is object)
  319. {
  320. int result = conn.ExecuteNonQuery(@"
  321. DELETE
  322. TP_MST_DEFECT
  323. WHERE
  324. INSTR(',' || @DEFECTID@ || ',' , ',' || DEFECTID || ',') > 0
  325. ",
  326. new CDAParameter("DEFECTID", HttpContext.Current.Request["id"])
  327. );
  328. return new JsonResult(JsonStatus.success).ToJson();
  329. }
  330. else
  331. {
  332. return new JsonResult(JsonStatus.otherError).ToJson();
  333. }
  334. }
  335. }
  336. /// <summary>
  337. /// 导出 TP_MST_DEFECT
  338. /// </summary>
  339. /// <returns>json</returns>
  340. private string export()
  341. {
  342. return search(new NameValueCollection());
  343. }
  344. private class Button
  345. {
  346. public bool btnIndex = false;
  347. public bool btnInsert = false;
  348. public bool btnInsertBatch = false;
  349. public bool btnCopy = false;
  350. public bool btnUpdate = false;
  351. public bool btnDelete = false;
  352. public bool btnCancel = false;
  353. public bool btnSearch = false;
  354. public bool btnDetail = false;
  355. public bool btnCheckbox = false;
  356. public bool btnExport = false;
  357. public bool btnReload = false;
  358. }
  359. private class xRecord
  360. {
  361. public string sid { get; set; }
  362. public string DEFECTCODE { get; set; }
  363. public string DEFECTNAME { get; set; }
  364. public string REMARKS { get; set; }
  365. public string DEFECTTYPEID { get; set; }
  366. public string DISPLAYNO { get; set; }
  367. }
  368. public bool IsReusable
  369. {
  370. get
  371. {
  372. return false;
  373. }
  374. }
  375. }