%@ 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;
}
}
}