drparameter.ashx 16 KB

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