goodscommonmodel.ashx 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  1. <%@ WebHandler Language="C#" Class="workstationuser" %>
  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_WORKSTATIONUSER
  12. /// xuwei create 2020-05-25
  13. /// </summary>
  14. public class workstationuser : IHttpHandler, IRequiresSessionState
  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"] != null && 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. case "o":
  116. {
  117. context.Response.Write(getOUTLETDISTANCE());
  118. break;
  119. }
  120. case "logo":
  121. {
  122. context.Response.Write(getPLATELIMITNUM());
  123. break;
  124. }
  125. case "lo":
  126. {
  127. context.Response.Write(getLogo());
  128. break;
  129. }
  130. default:
  131. {
  132. break;
  133. }
  134. }
  135. }
  136. else
  137. {
  138. context.Response.Write(new JsonResult(JsonStatus.loginError).ToJson());
  139. }
  140. }
  141. /// <summary>
  142. /// TP_MST_WORKSTATIONUSER 查询
  143. /// </summary>
  144. /// <returns>json</returns>
  145. private string search(NameValueCollection form)
  146. {
  147. using (IDataAccess conn = DataAccess.Create())
  148. {
  149. int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1;
  150. int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10;
  151. string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : "";
  152. string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : "";
  153. string sqlStr = @"
  154. SELECT
  155. TMCM.COMMONGOODSID SID,
  156. TMCM.GOODSCODE,
  157. TML.LOGONAME,
  158. TMCM.OUTLETDISTANCE,
  159. TMCM.MATERIALCODE,
  160. TMCM.PLATELIMITNUM1,
  161. TMCM.PLATELIMITNUM2,
  162. TMCM.COMMONFLAG,
  163. CASE WHEN TO_CHAR(TMCM.EFFECTIVETIME,'yyyy') = '2000' THEN NULL ELSE TMCM.EFFECTIVETIME END EFFECTIVETIME,
  164. CASE WHEN TO_CHAR(TMCM.ENDTIME,'yyyy') = '2099' THEN NULL ELSE TMCM.ENDTIME END ENDTIME
  165. FROM TP_MST_COMMONMODEL TMCM
  166. LEFT JOIN TP_MST_LOGO TML ON TMCM.LOGOID = TML.LOGOID
  167. WHERE
  168. TMCM.VALUEFLAG = '1'
  169. AND TMCM.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["GOODS"]))
  174. {
  175. sqlStr += " AND instr(','||@GOODS@||',',','||TMCM.GOODSID||',')>0 ";
  176. sqlPara.Add(new CDAParameter("GOODS", form["GOODS"]));
  177. }
  178. if (sort != "")
  179. {
  180. sqlStr += " ORDER BY " + sort + " " + order;
  181. }
  182. int total = 0;
  183. DataTable dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
  184. return new JsonResult(dt) { total = total }.ToJson();
  185. }
  186. }
  187. private string getLogo()
  188. {
  189. using (IDataAccess conn = DataAccess.Create())
  190. {
  191. DataTable dt = conn.ExecuteDatatable(@"
  192. SELECT
  193. DISTINCT
  194. T.LOGOID LOGOID,
  195. T.LOGONAME LOGONAME
  196. FROM(
  197. SELECT
  198. G.LOGOID,
  199. TML.LOGONAME
  200. FROM
  201. TP_MST_GOODS G
  202. LEFT JOIN TP_MST_LOGO TML ON G.LOGOID = TML.LOGOID
  203. WHERE
  204. G.GOODSID = @GOODSID@ UNION ALL
  205. SELECT
  206. GLS.LOGOID,
  207. L.LOGONAME
  208. FROM
  209. TP_MST_GOODSLOGOSAP GLS
  210. INNER JOIN TP_MST_LOGO L ON L.LOGOID = GLS.LOGOID
  211. WHERE
  212. GLS.GOODSID = @GOODSID@
  213. ) T
  214. ",
  215. new CDAParameter("GOODSID", HttpContext.Current.Request["goodsid"])
  216. );
  217. return new JsonResult(dt).ToJson();
  218. }
  219. }
  220. private string getOUTLETDISTANCE()
  221. {
  222. using (IDataAccess conn = DataAccess.Create())
  223. {
  224. DataTable dt = conn.ExecuteDatatable(@"
  225. SELECT OUTLETDISTANCE FROM TP_MST_GOODS WHERE GOODSCODE = @GOODSCODE@
  226. ",
  227. new CDAParameter("GOODSCODE", HttpContext.Current.Request["goodsid"])
  228. );
  229. string jsonStr = new JsonResult(dt).ToJson();
  230. return jsonStr;
  231. }
  232. }
  233. private string getPLATELIMITNUM()
  234. {
  235. using (IDataAccess conn = DataAccess.Create())
  236. {
  237. DataTable dt = conn.ExecuteDatatable(@"
  238. SELECT
  239. PLATELIMITNUM,
  240. PLATELIMITNUMNEW,
  241. MATERIALCODE
  242. FROM
  243. (
  244. SELECT
  245. 1 id,
  246. SAP.GOODSID,
  247. SAP.LOGOID,
  248. SAP.GOODSCODE,
  249. SAP.MATERIALCODE,
  250. SAP.PLATELIMITNUM,
  251. SAP.PLATELIMITNUMNEW
  252. FROM
  253. TP_MST_GOODSLOGOSAP SAP
  254. WHERE
  255. GOODSID = (SELECT GOODSID FROM TP_MST_GOODS WHERE GOODSCODE = @GOODSCODE@)
  256. AND LOGOID = (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGONAME = @LOGONAME@)
  257. UNION
  258. SELECT
  259. 2 id,
  260. G.GOODSID,
  261. G.LOGOID,
  262. G.GOODSCODE,
  263. G.MATERIALCODE,
  264. G.PLATELIMITNUM,
  265. G.PLATELIMITNUMNEW
  266. FROM
  267. TP_MST_GOODS G
  268. WHERE
  269. GOODSID = (SELECT GOODSID FROM TP_MST_GOODS WHERE GOODSCODE = @GOODSCODE@)
  270. AND LOGOID = (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGONAME = @LOGONAME@)
  271. ORDER BY
  272. GOODSCODE,
  273. LOGOID DESC
  274. )
  275. WHERE
  276. ROWNUM < 2
  277. ORDER BY
  278. id DESC
  279. ",
  280. new CDAParameter("GOODSCODE", HttpContext.Current.Request["goodsid"]),
  281. new CDAParameter("LOGONAME", HttpContext.Current.Request["logoid"])
  282. );
  283. string jsonStr = new JsonResult(dt).ToJson();
  284. return jsonStr;
  285. }
  286. }
  287. /// <summary>
  288. /// 详细 TP_MST_WORKSTATIONUSER
  289. /// </summary>
  290. /// <returns>json</returns>
  291. private string detail()
  292. {
  293. using (IDataAccess conn = DataAccess.Create())
  294. {
  295. DataTable dt = conn.ExecuteDatatable(@"
  296. SELECT
  297. TMCM.COMMONGOODSID SID,
  298. TMCM.GOODSCODE GOODS,
  299. TML.LOGONAME,
  300. TMCM.OUTLETDISTANCE,
  301. TMCM.MATERIALCODE,
  302. TMCM.PLATELIMITNUM1,
  303. TMCM.PLATELIMITNUM2,
  304. TMCM.COMMONFLAG,
  305. TMCM.EFFECTIVETIME,
  306. TMCM.ENDTIME
  307. FROM TP_MST_COMMONMODEL TMCM
  308. LEFT JOIN TP_MST_LOGO TML ON TMCM.LOGOID = TML.LOGOID
  309. WHERE
  310. TMCM.COMMONGOODSID = @COMMONGOODSID@
  311. AND TMCM.ACCOUNTID = @ACCOUNTID@
  312. ",
  313. new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
  314. new CDAParameter("COMMONGOODSID", HttpContext.Current.Request["id"])
  315. );
  316. return new JsonResult(dt).ToJson();
  317. }
  318. }
  319. /// <summary>
  320. /// 插入 TP_MST_WORKSTATIONUSER
  321. /// </summary>
  322. /// <returns>json</returns>
  323. private string insert(NameValueCollection form)
  324. {
  325. var EFFECTIVETIME = "";
  326. var ENDTIME = "";
  327. using (IDataAccess conn = DataAccess.Create())
  328. {
  329. //判断是否存在
  330. string count = conn.ExecuteScalar(@"
  331. SELECT
  332. count(*)
  333. FROM
  334. TP_MST_COMMONMODEL
  335. WHERE
  336. VALUEFLAG = '1'
  337. AND GOODSID = @GOODSID@
  338. AND LOGOID = @LOGOID@
  339. "
  340. , new CDAParameter("GOODSID", form["GOODS"]),
  341. new CDAParameter("LOGOID", form["LOGONAME"])
  342. ).ToString();
  343. try
  344. {
  345. if (count == "0")
  346. {
  347. int result = 0;
  348. if (form["EFFECTIVETIME"] == "")
  349. {
  350. EFFECTIVETIME = "2000-01-01";
  351. }
  352. else
  353. {
  354. EFFECTIVETIME = form["EFFECTIVETIME"];
  355. }
  356. if (form["ENDTIME"] == "")
  357. {
  358. ENDTIME = "2099-12-31";
  359. }
  360. else
  361. {
  362. ENDTIME = form["ENDTIME"];
  363. }
  364. result = conn.ExecuteNonQuery(@"
  365. INSERT INTO TP_MST_COMMONMODEL
  366. (GOODSCODE,GOODSID,LOGOID,OUTLETDISTANCE,MATERIALCODE,PLATELIMITNUM1,PLATELIMITNUM2,COMMONFLAG,EFFECTIVETIME,ENDTIME,CREATEUSERID,UPDATEUSERID,ACCOUNTID)
  367. VALUES
  368. (
  369. (SELECT GOODSCODE FROM TP_MST_GOODS WHERE GOODSID = @GOODSID@),
  370. @GOODSID@,
  371. @LOGONAME@,
  372. @OUTLETDISTANCE@,
  373. @MATERIALCODE@,
  374. @PLATELIMITNUM1@,
  375. @PLATELIMITNUM2@,
  376. @COMMONFLAG@,
  377. @EFFECTIVETIME@,
  378. @ENDTIME@,
  379. @CREATEUSERID@,
  380. @UPDATEUSERID@,
  381. @ACCOUNTID@
  382. )",
  383. new CDAParameter("GOODSID", form["GOODS"]),
  384. new CDAParameter("LOGONAME", form["LOGONAME"]),
  385. new CDAParameter("OUTLETDISTANCE", form["OUTLETDISTANCE"]),
  386. new CDAParameter("MATERIALCODE", form["MATERIALCODE"]),
  387. new CDAParameter("PLATELIMITNUM1", form["PLATELIMITNUM1"]),
  388. new CDAParameter("PLATELIMITNUM2", form["PLATELIMITNUM2"]),
  389. new CDAParameter("COMMONFLAG", form["COMMONFLAG"]),
  390. new CDAParameter("EFFECTIVETIME", EFFECTIVETIME, DataType.DateTime),
  391. new CDAParameter("ENDTIME", ENDTIME, DataType.DateTime),
  392. new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
  393. new CDAParameter("CREATEUSERID", HttpContext.Current.Session["userId"]),
  394. new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"])
  395. );
  396. if (result <= 0) {
  397. conn.Transaction.Rollback();
  398. return new JsonResult(JsonStatus.error).ToJson();
  399. }
  400. }
  401. }
  402. catch (Exception)
  403. {
  404. conn.Transaction.Rollback();
  405. return new JsonResult(JsonStatus.error).ToJson();
  406. }
  407. return new JsonResult(JsonStatus.success).ToJson();
  408. }
  409. }
  410. /// <summary>
  411. /// 更新 TP_MST_WORKSTATIONUSER
  412. /// </summary>
  413. /// <returns>json</returns>
  414. private string update(NameValueCollection form)
  415. {
  416. var EFFECTIVETIME = "";
  417. var ENDTIME = "";
  418. using (IDataAccess conn = DataAccess.Create())
  419. {
  420. if (form["EFFECTIVETIME"] == "")
  421. {
  422. EFFECTIVETIME = "2000-01-01";
  423. }
  424. else
  425. {
  426. EFFECTIVETIME = form["EFFECTIVETIME"];
  427. }
  428. if (form["ENDTIME"] == "")
  429. {
  430. ENDTIME = "2099-12-31";
  431. }
  432. else
  433. {
  434. ENDTIME = form["ENDTIME"];
  435. }
  436. int result = conn.ExecuteNonQuery(@"
  437. UPDATE TP_MST_COMMONMODEL
  438. SET
  439. GOODSCODE = @GOODSCODE@,
  440. GOODSID = (SELECT GOODSID FROM TP_MST_GOODS WHERE GOODSCODE = @GOODSCODE@),
  441. LOGOID = (SELECT LOGOID FROM TP_MST_LOGO WHERE LOGONAME = @LOGOID@),
  442. OUTLETDISTANCE = @OUTLETDISTANCE@,
  443. MATERIALCODE = @MATERIALCODE@,
  444. PLATELIMITNUM1 = @PLATELIMITNUM1@,
  445. PLATELIMITNUM2 = @PLATELIMITNUM2@,
  446. COMMONFLAG = @COMMONFLAG@,
  447. EFFECTIVETIME = @EFFECTIVETIME@,
  448. ENDTIME = @ENDTIME@,
  449. UPDATEUSERID = @UPDATEUSERID@,
  450. UPDATETIME = sysdate
  451. WHERE
  452. COMMONGOODSID = @COMMONGOODSID@
  453. ",
  454. new CDAParameter("GOODSCODE", form["GOODS"]),
  455. new CDAParameter("LOGOID", form["LOGONAME"]),
  456. new CDAParameter("OUTLETDISTANCE", form["OUTLETDISTANCE"]),
  457. new CDAParameter("MATERIALCODE", form["MATERIALCODE"]),
  458. new CDAParameter("PLATELIMITNUM1", form["PLATELIMITNUM1"]),
  459. new CDAParameter("PLATELIMITNUM2", form["PLATELIMITNUM2"]),
  460. new CDAParameter("COMMONFLAG", form["COMMONFLAG"]),
  461. new CDAParameter("EFFECTIVETIME", EFFECTIVETIME, DataType.DateTime),
  462. new CDAParameter("ENDTIME", ENDTIME, DataType.DateTime),
  463. new CDAParameter("UPDATEUSERID", HttpContext.Current.Session["userId"]),
  464. new CDAParameter("COMMONGOODSID", HttpContext.Current.Request["id"])
  465. );
  466. return new JsonResult(JsonStatus.success).ToJson();
  467. }
  468. }
  469. /// <summary>
  470. /// 删除 TP_MST_WORKSTATIONUSER
  471. /// </summary>
  472. /// <returns>json</returns>
  473. private string delete()
  474. {
  475. using (IDataAccess conn = DataAccess.Create())
  476. {
  477. if (HttpContext.Current.Request["id"] is object)
  478. {
  479. int result = conn.ExecuteNonQuery(@"
  480. DELETE
  481. TP_MST_WORKSTATIONUSER
  482. WHERE
  483. INSTR(',' || @WORKSTATIONUSERID@ || ',' , ',' || WORKSTATIONUSERID || ',') > 0
  484. ",
  485. new CDAParameter("WORKSTATIONUSERID", HttpContext.Current.Request["id"])
  486. );
  487. return new JsonResult(JsonStatus.success).ToJson();
  488. }
  489. else
  490. {
  491. return new JsonResult(JsonStatus.otherError).ToJson();
  492. }
  493. }
  494. }
  495. /// <summary>
  496. /// 导出 TP_MST_WORKSTATIONUSER
  497. /// </summary>
  498. /// <returns>json</returns>
  499. private string export()
  500. {
  501. return search(new NameValueCollection());
  502. }
  503. private class Button
  504. {
  505. public bool btnIndex = false;
  506. public bool btnInsert = false;
  507. public bool btnInsertBatch = false;
  508. public bool btnCopy = false;
  509. public bool btnUpdate = false;
  510. public bool btnDelete = false;
  511. public bool btnCancel = false;
  512. public bool btnSearch = false;
  513. public bool btnDetail = false;
  514. public bool btnCheckbox = false;
  515. public bool btnExport = false;
  516. public bool btnReload = false;
  517. }
  518. private class xRecord
  519. {
  520. public string sid { get; set; }
  521. public string WORKSTATIONID { get; set; }
  522. public string USERID { get; set; }
  523. public string USERCODE { get; set; }
  524. public string REMARKS { get; set; }
  525. public string ORGANIZATIONID { get; set; }
  526. }
  527. public bool IsReusable
  528. {
  529. get
  530. {
  531. return false;
  532. }
  533. }
  534. }