<%@ WebHandler Language="C#" Class="drparameter" %> using System; using System.Web; using System.Web.SessionState; using System.Collections.Generic; using System.Collections.Specialized; using System.Data; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Curtain.DataAccess; using DK.XuWei.WebMes; /// /// T_MST_DR_PARAMETER /// xuwei create 2020-02-08 /// public class drparameter : IHttpHandler, IReadOnlySessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (mes.LoginCheck() && context.Request["m"] is object) { Button b = new Button(); if(mes.RightCheck("报表参数")) { b.btnIndex = true; b.btnInsert = true; b.btnInsertBatch = true; b.btnCopy = true; b.btnUpdate = true; b.btnDelete = true; b.btnCancel = true; b.btnSearch = true; b.btnDetail = true; b.btnCheckbox = true; b.btnExport = false; b.btnReload = true; }; switch (context.Request["m"].ToString().ToLower()) { case "b": { //按钮 context.Response.Write(new JsonResult(b).ToJson()); break; } case "a": { //添加 if (b.btnDetail && context.Request["id"] is object) context.Response.Write(detail()); else { xRecord r = new xRecord(); r.REPORTID = context.Request["REPORTID"] is object ? context.Request["REPORTID"].ToString() : ""; r.DISPLAYNO = "0"; r.PARAMETERKIND = "1"; r.PARAMETERTYPE = "nvarchar"; r.MUSTINPUT = "0"; JArray data = new JArray(JObject.Parse(JsonConvert.SerializeObject(r))); context.Response.Write(new JsonResult(data).ToJson()); } break; } case "s": { //搜索 if (b.btnIndex) context.Response.Write(search(context.Request.Form)); else context.Response.Write(new JsonResult(0).ToJson()); break; } case "t": { //详细 if (b.btnDetail) context.Response.Write(detail()); else context.Response.Write(new JsonResult(0).ToJson()); break; } case "i": { //插入 if (b.btnInsert) context.Response.Write(insert(context.Request.Form)); else context.Response.Write(new JsonResult(0).ToJson()); break; } case "u": { //修改 if (b.btnUpdate) context.Response.Write(update(context.Request.Form)); else context.Response.Write(new JsonResult(0).ToJson()); break; } case "d": { //删除 if (b.btnDelete) context.Response.Write(delete()); else context.Response.Write(new JsonResult(0).ToJson()); break; } case "e": { //导出 if (b.btnExport) { context.Response.Write(export()); } else { context.Response.Write(new JsonResult(0).ToJson()); } break; } default: { break; } } } else { context.Response.Write(new JsonResult(-1).ToJson()); } } /// /// T_MST_DR_PARAMETER 查询 /// /// json private string search(NameValueCollection form) { using(IDataAccess conn=DataAccess.Create()) { int page = HttpContext.Current.Request["page"] is object ? Convert.ToInt32(HttpContext.Current.Request["page"]) : 1; int rows = HttpContext.Current.Request["rows"] is object ? Convert.ToInt32(HttpContext.Current.Request["rows"]) : 10; string sort = HttpContext.Current.Request["sort"] is object ? HttpContext.Current.Request["sort"] : ""; string order = HttpContext.Current.Request["order"] is object ? HttpContext.Current.Request["order"] : ""; string sqlStr = @" SELECT m.PARAMETERID AS SID, m.PARAMETERID, m.REPORTID, m.PARAMETERCODE, m.PARAMETERNAME, m.PARAMETERKIND, m.PARAMETERTYPE, m.DISPLAYNO, m.FORMAT, m.MUSTINPUT, m.REMARKS, m.VALUEFLAG, m.ACCOUNTID, m.CREATEUSERID, m.CREATETIME, m.UPDATEUSERID, m.UPDATETIME FROM T_MST_DR_PARAMETER m WHERE m.VALUEFLAG = '1' AND m.ACCOUNTID = @ACCOUNTID@ "; List sqlPara = new List(); sqlPara.Add(new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"])); if(!string.IsNullOrEmpty(form["PARAMETERID"])) { sqlStr += " AND m.PARAMETERID = @PARAMETERID@ "; sqlPara.Add(new CDAParameter("PARAMETERID", form["PARAMETERID"])); } if(!string.IsNullOrEmpty(form["REPORTID"])) { sqlStr += " AND INSTR( m.REPORTID, @REPORTID@ ) > 0 "; sqlPara.Add(new CDAParameter("REPORTID", form["REPORTID"])); } if(!string.IsNullOrEmpty(form["PARAMETERCODE"])) { sqlStr += " AND INSTR( m.PARAMETERCODE, @PARAMETERCODE@ ) > 0 "; sqlPara.Add(new CDAParameter("PARAMETERCODE", form["PARAMETERCODE"])); } if(!string.IsNullOrEmpty(form["PARAMETERNAME"])) { sqlStr += " AND INSTR( m.PARAMETERNAME, @PARAMETERNAME@ ) > 0 "; sqlPara.Add(new CDAParameter("PARAMETERNAME", form["PARAMETERNAME"])); } if(!string.IsNullOrEmpty(form["PARAMETERKIND"])) { sqlStr += " AND INSTR( m.PARAMETERKIND, @PARAMETERKIND@ ) > 0 "; sqlPara.Add(new CDAParameter("PARAMETERKIND", form["PARAMETERKIND"])); } if(!string.IsNullOrEmpty(form["PARAMETERTYPE"])) { sqlStr += " AND INSTR( m.PARAMETERTYPE, @PARAMETERTYPE@ ) > 0 "; sqlPara.Add(new CDAParameter("PARAMETERTYPE", form["PARAMETERTYPE"])); } if(!string.IsNullOrEmpty(form["DISPLAYNO"])) { sqlStr += " AND INSTR( m.DISPLAYNO, @DISPLAYNO@ ) > 0 "; sqlPara.Add(new CDAParameter("DISPLAYNO", form["DISPLAYNO"])); } if(!string.IsNullOrEmpty(form["FORMAT"])) { sqlStr += " AND INSTR( m.FORMAT, @FORMAT@ ) > 0 "; sqlPara.Add(new CDAParameter("FORMAT", form["FORMAT"])); } if(!string.IsNullOrEmpty(form["MUSTINPUT"])) { sqlStr += " AND INSTR( m.MUSTINPUT, @MUSTINPUT@ ) > 0 "; sqlPara.Add(new CDAParameter("MUSTINPUT", form["MUSTINPUT"])); } if(!string.IsNullOrEmpty(form["REMARKS"])) { sqlStr += " AND INSTR( m.REMARKS, @REMARKS@ ) > 0 "; sqlPara.Add(new CDAParameter("REMARKS", form["REMARKS"])); } if(sort != "") { sqlStr += " ORDER BY " + sort + " " + order; } int total = 0; DataTable dt = conn.SelectPages(page, rows,out total, sqlStr, sqlPara.ToArray()); return new JsonResult(dt) { total = total}.ToJson(); } } /// /// 详细 T_MST_DR_PARAMETER /// /// json private string detail() { using(IDataAccess conn= DataAccess.Create()) { DataTable dt = conn.ExecuteDatatable(@" SELECT m.PARAMETERID, m.REPORTID, m.PARAMETERCODE, m.PARAMETERNAME, m.PARAMETERKIND, m.PARAMETERTYPE, m.DISPLAYNO, m.FORMAT, m.MUSTINPUT, m.REMARKS, m.VALUEFLAG, m.ACCOUNTID, m.CREATEUSERID, m.CREATETIME, m.UPDATEUSERID, m.UPDATETIME FROM T_MST_DR_PARAMETER m WHERE m.VALUEFLAG = '1' AND m.ACCOUNTID = @ACCOUNTID@ AND m.PARAMETERID = @PARAMETERID@ ", new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]), new CDAParameter("PARAMETERID",HttpContext.Current.Request["id"]) ); return new JsonResult(dt).ToJson(); } } /// /// 插入 T_MST_DR_PARAMETER /// /// json private string insert(NameValueCollection form) { using(IDataAccess conn= DataAccess.Create()) { string primaryKey = conn.GetSequenceNextval("SEQ_MST_DR_PARAMETER_ID").ToString(); int result = conn.ExecuteNonQuery(@" INSERT INTO T_MST_DR_PARAMETER ( PARAMETERID, REPORTID, PARAMETERCODE, PARAMETERNAME, PARAMETERKIND, PARAMETERTYPE, DISPLAYNO, FORMAT, MUSTINPUT, REMARKS, ACCOUNTID,CREATEUSERID,UPDATEUSERID ) VALUES ( @PARAMETERID@, @REPORTID@, @PARAMETERCODE@, @PARAMETERNAME@, @PARAMETERKIND@, @PARAMETERTYPE@, @DISPLAYNO@, @FORMAT@, @MUSTINPUT@, @REMARKS@, @ACCOUNTID@,@CREATEUSERID@,@UPDATEUSERID@ ) ", new CDAParameter("PARAMETERID",primaryKey), new CDAParameter("REPORTID",form["REPORTID"]), new CDAParameter("PARAMETERCODE",form["PARAMETERCODE"]), new CDAParameter("PARAMETERNAME",form["PARAMETERNAME"]), new CDAParameter("PARAMETERKIND",form["PARAMETERKIND"]), new CDAParameter("PARAMETERTYPE",form["PARAMETERTYPE"]), new CDAParameter("DISPLAYNO",form["DISPLAYNO"]), new CDAParameter("FORMAT",form["FORMAT"]), new CDAParameter("MUSTINPUT",form["MUSTINPUT"]), new CDAParameter("REMARKS",form["REMARKS"]), new CDAParameter("ACCOUNTID",HttpContext.Current.Session["accountId"]), new CDAParameter("CREATEUSERID",HttpContext.Current.Session["userId"]), new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"]) ); return new JsonResult(1).ToJson(); } } /// /// 更新 T_MST_DR_PARAMETER /// /// json private string update(NameValueCollection form) { using(IDataAccess conn=DataAccess.Create()) { int result = conn.ExecuteNonQuery(@" UPDATE T_MST_DR_PARAMETER SET REPORTID = @REPORTID@, PARAMETERCODE = @PARAMETERCODE@, PARAMETERNAME = @PARAMETERNAME@, PARAMETERKIND = @PARAMETERKIND@, PARAMETERTYPE = @PARAMETERTYPE@, DISPLAYNO = @DISPLAYNO@, FORMAT = @FORMAT@, MUSTINPUT = @MUSTINPUT@, REMARKS = @REMARKS@, UPDATEUSERID = @UPDATEUSERID@, UPDATETIME = sysdate WHERE PARAMETERID = @PARAMETERID@ ", new CDAParameter("REPORTID",form["REPORTID"]), new CDAParameter("PARAMETERCODE",form["PARAMETERCODE"]), new CDAParameter("PARAMETERNAME",form["PARAMETERNAME"]), new CDAParameter("PARAMETERKIND",form["PARAMETERKIND"]), new CDAParameter("PARAMETERTYPE",form["PARAMETERTYPE"]), new CDAParameter("DISPLAYNO",form["DISPLAYNO"]), new CDAParameter("FORMAT",form["FORMAT"]), new CDAParameter("MUSTINPUT",form["MUSTINPUT"]), new CDAParameter("REMARKS",form["REMARKS"]), new CDAParameter("UPDATEUSERID",HttpContext.Current.Session["userId"]), new CDAParameter("PARAMETERID",HttpContext.Current.Request["id"]) ); return new JsonResult(1).ToJson(); } } /// /// 删除 T_MST_DR_PARAMETER /// /// json private string delete() { using(IDataAccess conn= DataAccess.Create()) { if (HttpContext.Current.Request["id"] is object) { int result = conn.ExecuteNonQuery(@" DELETE T_MST_DR_PARAMETER WHERE INSTR(',' || @PARAMETERID@ || ',' , ',' || PARAMETERID || ',') > 0 ", new CDAParameter("PARAMETERID", HttpContext.Current.Request["id"]) ); return new JsonResult(1).ToJson(); } else { return new JsonResult(-2).ToJson(); } } } /// /// 导出 T_MST_DR_PARAMETER /// /// json private string export() { return search(new NameValueCollection()); } private class Button { public bool btnIndex = false; public bool btnInsert = false; public bool btnInsertBatch = false; public bool btnCopy = false; public bool btnUpdate = false; public bool btnDelete = false; public bool btnCancel = false; public bool btnSearch = false; public bool btnDetail = false; public bool btnCheckbox = false; public bool btnExport = false; public bool btnReload = false; } private class xRecord { public string sid { get; set; } public string REPORTID { get; set; } public string PARAMETERCODE { get; set; } public string PARAMETERNAME { get; set; } public string PARAMETERKIND { get; set; } public string PARAMETERTYPE { get; set; } public string DISPLAYNO { get; set; } public string FORMAT { get; set; } public string MUSTINPUT { get; set; } public string REMARKS { get; set; } } public bool IsReusable { get { return false; } } }