jzsetting.ashx 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. <%@ WebHandler Language="C#" Class="jzsetting" %>
  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. /// JZ_SETTING
  12. /// xuwei create 2021-07-13
  13. /// </summary>
  14. public class jzsetting : 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 = false;
  27. b.btnCopy = true;
  28. b.btnUpdate = true;
  29. b.btnDelete = true;
  30. b.btnCancel = false;
  31. b.btnSearch = false;
  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"] is object)
  49. context.Response.Write(detail());
  50. else
  51. {
  52. List<xRecord> list = new List<xRecord>();
  53. xRecord r = new xRecord();
  54. list.Add(r);
  55. context.Response.Write(new JsonResult(list).ToJson());
  56. }
  57. break;
  58. }
  59. case "s":
  60. {
  61. //搜索
  62. if (b.btnIndex)
  63. context.Response.Write(search(context.Request.Form));
  64. else
  65. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  66. break;
  67. }
  68. case "t":
  69. {
  70. //详细
  71. if (b.btnDetail)
  72. context.Response.Write(detail());
  73. else
  74. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  75. break;
  76. }
  77. case "i":
  78. {
  79. //插入
  80. if (b.btnInsert)
  81. context.Response.Write(insert(context.Request.Form));
  82. else
  83. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  84. break;
  85. }
  86. case "u":
  87. {
  88. //修改
  89. if (b.btnUpdate)
  90. context.Response.Write(update(context.Request.Form));
  91. else
  92. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  93. break;
  94. }
  95. case "d":
  96. {
  97. //删除
  98. if (b.btnDelete)
  99. context.Response.Write(delete());
  100. else
  101. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  102. break;
  103. }
  104. case "e":
  105. {
  106. //导出
  107. if (b.btnExport)
  108. {
  109. context.Response.Write(export());
  110. }
  111. else
  112. {
  113. context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
  114. }
  115. break;
  116. }
  117. default:
  118. {
  119. break;
  120. }
  121. }
  122. }
  123. else
  124. {
  125. context.Response.Write(new JsonResult(JsonStatus.loginError).ToJson());
  126. }
  127. }
  128. /// <summary>
  129. /// JZ_SETTING 查询
  130. /// </summary>
  131. /// <returns>json</returns>
  132. private string search(NameValueCollection form)
  133. {
  134. using(IDataAccess conn=DataAccess.Create())
  135. {
  136. int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
  137. int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
  138. string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "";
  139. string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
  140. string sqlStr = @"
  141. SELECT
  142. m.GUID,
  143. m.RPTNAME,
  144. m.EXECUTETYPE,
  145. m.SQLCODE,
  146. m.APIURL,
  147. m.EXECUTECYC,
  148. m.EXECUTEDATE,
  149. m.BEGINDATE,
  150. m.ENDDATE,
  151. m.GUID AS SID
  152. FROM
  153. JZ_SETTING m
  154. WHERE
  155. 1 = 1
  156. ";
  157. List<CDAParameter> sqlPara = new List<CDAParameter>();
  158. if(!string.IsNullOrEmpty(form["GUID"]))
  159. {
  160. sqlStr += " AND m.GUID = @GUID@ ";
  161. sqlPara.Add(new CDAParameter("GUID", form["GUID"]));
  162. }
  163. if(!string.IsNullOrEmpty(form["RPTNAME"]))
  164. {
  165. sqlStr += " AND INSTR( m.RPTNAME, @RPTNAME@ ) > 0 ";
  166. sqlPara.Add(new CDAParameter("RPTNAME", form["RPTNAME"]));
  167. }
  168. if(!string.IsNullOrEmpty(form["EXECUTETYPE"]))
  169. {
  170. sqlStr += " AND INSTR( m.EXECUTETYPE, @EXECUTETYPE@ ) > 0 ";
  171. sqlPara.Add(new CDAParameter("EXECUTETYPE", form["EXECUTETYPE"]));
  172. }
  173. if(!string.IsNullOrEmpty(form["SQLCODE"]))
  174. {
  175. sqlStr += " AND INSTR( m.SQLCODE, @SQLCODE@ ) > 0 ";
  176. sqlPara.Add(new CDAParameter("SQLCODE", form["SQLCODE"]));
  177. }
  178. if(!string.IsNullOrEmpty(form["APIURL"]))
  179. {
  180. sqlStr += " AND INSTR( m.APIURL, @APIURL@ ) > 0 ";
  181. sqlPara.Add(new CDAParameter("APIURL", form["APIURL"]));
  182. }
  183. if(!string.IsNullOrEmpty(form["EXECUTECYC"]))
  184. {
  185. sqlStr += " AND INSTR( m.EXECUTECYC, @EXECUTECYC@ ) > 0 ";
  186. sqlPara.Add(new CDAParameter("EXECUTECYC", form["EXECUTECYC"]));
  187. }
  188. if(!string.IsNullOrEmpty(form["EXECUTEDATE"]))
  189. {
  190. sqlStr += " AND INSTR( m.EXECUTEDATE, @EXECUTEDATE@ ) > 0 ";
  191. sqlPara.Add(new CDAParameter("EXECUTEDATE", form["EXECUTEDATE"]));
  192. }
  193. if(!string.IsNullOrEmpty(form["BEGINDATE"]))
  194. {
  195. sqlStr += " AND INSTR( m.BEGINDATE, @BEGINDATE@ ) > 0 ";
  196. sqlPara.Add(new CDAParameter("BEGINDATE", form["BEGINDATE"]));
  197. }
  198. if(!string.IsNullOrEmpty(form["ENDDATE"]))
  199. {
  200. sqlStr += " AND INSTR( m.ENDDATE, @ENDDATE@ ) > 0 ";
  201. sqlPara.Add(new CDAParameter("ENDDATE", form["ENDDATE"]));
  202. }
  203. if(sort != "")
  204. {
  205. sqlStr += " ORDER BY " + sort + " " + order;
  206. }
  207. int total = 0;
  208. DataTable dt = conn.SelectPages(page, rows,out total, sqlStr, sqlPara.ToArray());
  209. return new JsonResult(dt) { total = total}.ToJson();
  210. }
  211. }
  212. /// <summary>
  213. /// 详细 JZ_SETTING
  214. /// </summary>
  215. /// <returns>json</returns>
  216. private string detail()
  217. {
  218. using(IDataAccess conn= DataAccess.Create())
  219. {
  220. DataTable dt = conn.ExecuteDatatable(@"
  221. SELECT
  222. m.RPTNAME,
  223. m.EXECUTETYPE,
  224. m.SQLCODE,
  225. m.APIURL,
  226. m.EXECUTECYC,
  227. m.EXECUTEDATE,
  228. m.BEGINDATE,
  229. m.ENDDATE,
  230. m.GUID
  231. FROM
  232. JZ_SETTING m
  233. WHERE
  234. m.GUID = @GUID@
  235. ",
  236. new CDAParameter("GUID",HttpContext.Current.Request["id"])
  237. );
  238. return new JsonResult(dt).ToJson();
  239. }
  240. }
  241. /// <summary>
  242. /// 插入 JZ_SETTING
  243. /// </summary>
  244. /// <returns>json</returns>
  245. private string insert(NameValueCollection form)
  246. {
  247. using(IDataAccess conn= DataAccess.Create())
  248. {
  249. //string primaryKey = conn.GetSequenceNextval("SEQ_JZ_SETTING_ID").ToString();
  250. int result = conn.ExecuteNonQuery(@"
  251. INSERT INTO JZ_SETTING (
  252. RPTNAME,
  253. EXECUTETYPE,
  254. SQLCODE,
  255. APIURL,
  256. EXECUTECYC,
  257. EXECUTEDATE,
  258. BEGINDATE,
  259. ENDDATE
  260. ) VALUES (
  261. @RPTNAME@,
  262. @EXECUTETYPE@,
  263. @SQLCODE@,
  264. @APIURL@,
  265. @EXECUTECYC@,
  266. @EXECUTEDATE@,
  267. @BEGINDATE@,
  268. @ENDDATE@
  269. )
  270. ",
  271. new CDAParameter("RPTNAME",form["RPTNAME"]),
  272. new CDAParameter("EXECUTETYPE",form["EXECUTETYPE"]),
  273. new CDAParameter("SQLCODE",form["SQLCODE"]),
  274. new CDAParameter("APIURL",form["APIURL"]),
  275. new CDAParameter("EXECUTECYC",form["EXECUTECYC"]),
  276. new CDAParameter("EXECUTEDATE",form["EXECUTEDATE"],DataType.DateTime),
  277. new CDAParameter("BEGINDATE",form["BEGINDATE"],DataType.DateTime),
  278. new CDAParameter("ENDDATE",form["ENDDATE"],DataType.DateTime)
  279. );
  280. return new JsonResult(JsonStatus.success).ToJson();
  281. }
  282. }
  283. /// <summary>
  284. /// 更新 JZ_SETTING
  285. /// </summary>
  286. /// <returns>json</returns>
  287. private string update(NameValueCollection form)
  288. {
  289. using(IDataAccess conn=DataAccess.Create())
  290. {
  291. int result = conn.ExecuteNonQuery(@"
  292. UPDATE JZ_SETTING
  293. SET
  294. RPTNAME = @RPTNAME@,
  295. EXECUTETYPE = @EXECUTETYPE@,
  296. SQLCODE = @SQLCODE@,
  297. APIURL = @APIURL@,
  298. EXECUTECYC = @EXECUTECYC@,
  299. EXECUTEDATE = @EXECUTEDATE@,
  300. BEGINDATE = @BEGINDATE@,
  301. ENDDATE = @ENDDATE@
  302. WHERE
  303. GUID = @GUID@
  304. ",
  305. new CDAParameter("RPTNAME",form["RPTNAME"]),
  306. new CDAParameter("EXECUTETYPE",form["EXECUTETYPE"]),
  307. new CDAParameter("SQLCODE",form["SQLCODE"]),
  308. new CDAParameter("APIURL",form["APIURL"]),
  309. new CDAParameter("EXECUTECYC",form["EXECUTECYC"]),
  310. new CDAParameter("EXECUTEDATE",form["EXECUTEDATE"],DataType.DateTime),
  311. new CDAParameter("BEGINDATE",form["BEGINDATE"],DataType.DateTime),
  312. new CDAParameter("ENDDATE",form["ENDDATE"],DataType.DateTime),
  313. new CDAParameter("GUID",HttpContext.Current.Request["id"])
  314. );
  315. return new JsonResult(JsonStatus.success).ToJson();
  316. }
  317. }
  318. /// <summary>
  319. /// 删除 JZ_SETTING
  320. /// </summary>
  321. /// <returns>json</returns>
  322. private string delete()
  323. {
  324. using(IDataAccess conn= DataAccess.Create())
  325. {
  326. if (HttpContext.Current.Request["id"] is object)
  327. {
  328. int result = conn.ExecuteNonQuery(@"
  329. DELETE
  330. JZ_SETTING
  331. WHERE
  332. INSTR(',' || @GUID@ || ',' , ',' || GUID || ',') > 0
  333. ",
  334. new CDAParameter("GUID", HttpContext.Current.Request["id"])
  335. );
  336. return new JsonResult(JsonStatus.success).ToJson();
  337. }
  338. else
  339. {
  340. return new JsonResult(JsonStatus.otherError).ToJson();
  341. }
  342. }
  343. }
  344. /// <summary>
  345. /// 导出 JZ_SETTING
  346. /// </summary>
  347. /// <returns>json</returns>
  348. private string export()
  349. {
  350. return search(new NameValueCollection());
  351. }
  352. private class Button
  353. {
  354. public bool btnIndex = false;
  355. public bool btnInsert = false;
  356. public bool btnInsertBatch = false;
  357. public bool btnCopy = false;
  358. public bool btnUpdate = false;
  359. public bool btnDelete = false;
  360. public bool btnCancel = false;
  361. public bool btnSearch = false;
  362. public bool btnDetail = false;
  363. public bool btnCheckbox = false;
  364. public bool btnExport = false;
  365. public bool btnReload = false;
  366. }
  367. private class xRecord
  368. {
  369. public string sid { get; set; }
  370. public string RPTNAME { get; set; }
  371. public string EXECUTETYPE { get; set; }
  372. public string SQLCODE { get; set; }
  373. public string APIURL { get; set; }
  374. public string EXECUTECYC { get; set; }
  375. public string EXECUTEDATE { get; set; }
  376. public string BEGINDATE { get; set; }
  377. public string ENDDATE { get; set; }
  378. }
  379. public bool IsReusable
  380. {
  381. get
  382. {
  383. return false;
  384. }
  385. }
  386. }