| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478 |
- <%@ WebHandler Language="C#" Class="bompackunit" %>
- using System;
- using System.Web;
- using System.Web.SessionState;
- using System.Collections.Generic;
- using System.Collections.Specialized;
- using System.Data;
- using Curtain.DataAccess;
- using DK.XuWei.WebMes;
- /// <summary>
- /// TP_PC_BOMPACKUNIT
- /// xuwei create 2022-04-15
- /// </summary>
- public class bompackunit : 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.bompackunitButtonIndex = true;
- b.bompackunitButtonSync = true;
- b.bompackunitButtonInsert = true;
- b.bompackunitButtonInsertBatch = true;
- b.bompackunitButtonCopy = true;
- b.bompackunitButtonUpdate = true;
- b.bompackunitButtonDelete = true;
- b.bompackunitButtonCancel = true;
- b.bompackunitButtonSearch = true;
- b.bompackunitButtonDetail = true;
- b.bompackunitButtonCheckbox = true;
- b.bompackunitButtonExport = true;
- b.bompackunitButtonReload = true;
- };
- switch (context.Request["m"].ToString().ToLower())
- {
- case "b":
- {
- //按钮
- context.Response.Write(new JsonResult(b).ToJson());
- break;
- }
- case "a":
- {
- //添加
- if (b.bompackunitButtonDetail && context.Request["id"] is object)
- context.Response.Write(detail());
- else
- {
- List<xRecord> list = new List<xRecord>();
- xRecord r = new xRecord();
- list.Add(r);
- context.Response.Write(new JsonResult(list).ToJson());
- }
- break;
- }
- case "s":
- {
- //搜索
- if (b.bompackunitButtonIndex)
- context.Response.Write(search(context.Request.Form));
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "t":
- {
- //详细
- if (b.bompackunitButtonDetail)
- context.Response.Write(detail());
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "sync":
- {
- //插入
- if (b.bompackunitButtonSync)
- context.Response.Write(sync(context));
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "i":
- {
- //插入
- if (b.bompackunitButtonInsert)
- context.Response.Write(insert(context.Request.Form));
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "u":
- {
- //修改
- if (b.bompackunitButtonUpdate)
- context.Response.Write(update(context.Request.Form));
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "d":
- {
- //删除
- if (b.bompackunitButtonDelete)
- context.Response.Write(delete());
- else
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- break;
- }
- case "e":
- {
- //导出
- if (b.bompackunitButtonExport)
- {
- context.Response.Write(export());
- }
- else
- {
- context.Response.Write(new JsonResult(JsonStatus.rightError).ToJson());
- }
- break;
- }
- default:
- {
- break;
- }
- }
- }
- else
- {
- context.Response.Write(new JsonResult(JsonStatus.loginError).ToJson());
- }
- }
- /// <summary>
- /// TP_PC_BOMPACKUNIT 查询
- /// </summary>
- /// <returns>json</returns>
- 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 BP.BOMPACKUNITID AS SID,
- BP.BOMPACKUNITID,
- BP.IDNRK,
- T.NAME,
- BP.MENGE,
- BP.MEINS,
- BP.CREATETIME,
- BP.UPDATETIME,
- BP.ORDERMEINS,
- CU.USERNAME AS CREATEUSERNAME,
- CU.USERNAME AS UPDATEUSERNAME
- FROM TP_PC_BOMPACKUNIT BP
- LEFT JOIN (SELECT PBD.IDNRK,
- NAME
- FROM TP_MST_PACKINGBOMDETAIL PBD
- GROUP BY PBD.IDNRK,
- NAME) T
- ON T.IDNRK = BP.IDNRK
- LEFT JOIN TP_MST_USER CU
- ON CU.USERID = BP.CREATEUSERID
- LEFT JOIN TP_MST_USER UU
- ON UU.USERID = BP.UPDATEUSERID
- WHERE BP.VALUEFLAG = '1'
- AND BP.ACCOUNTID = @ACCOUNTID@ ";
- List<CDAParameter> sqlPara = new List<CDAParameter>();
- sqlPara.Add(new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]));
- if (!string.IsNullOrEmpty(form["BOMPACKUNITID"]))
- {
- sqlStr += " AND BP.BOMPACKUNITID = @BOMPACKUNITID@ ";
- sqlPara.Add(new CDAParameter("BOMPACKUNITID", form["BOMPACKUNITID"]));
- }
- if (!string.IsNullOrEmpty(form["IDNRK"]))
- {
- sqlStr += " AND INSTR( BP.IDNRK, @IDNRK@ ) > 0 ";
- sqlPara.Add(new CDAParameter("IDNRK", form["IDNRK"]));
- }
- if (!string.IsNullOrEmpty(form["NAME"]))
- {
- sqlStr += " AND INSTR( T.NAME, @NAME@ ) > 0 ";
- sqlPara.Add(new CDAParameter("NAME", form["NAME"]));
- }
- if (sort != "")
- {
- sqlStr += " ORDER BY " + sort + " " + order;
- }
- else
- {
- sqlStr += " ORDER BY BP.BOMPACKUNITID DESC";
- }
- int total = 0;
- DataTable dt = conn.SelectPages(page, rows, out total, sqlStr, sqlPara.ToArray());
- return new JsonResult(dt) { total = total }.ToJson();
- }
- }
- /// <summary>
- /// 详细 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string detail()
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- DataTable dt = conn.ExecuteDatatable(@"
- SELECT BP.BOMPACKUNITID AS SID,
- BP.BOMPACKUNITID,
- BP.IDNRK,
- T.NAME,
- BP.MENGE,
- BP.MEINS,
- BP.CREATETIME,
- BP.UPDATETIME,
- CU.USERNAME AS CREATEUSERNAME,
- CU.USERNAME AS UPDATEUSERNAME
- FROM TP_PC_BOMPACKUNIT BP
- LEFT JOIN (SELECT PBD.IDNRK,
- NAME
- FROM TP_MST_PACKINGBOMDETAIL PBD
- GROUP BY PBD.IDNRK,
- NAME) T
- ON T.IDNRK = BP.IDNRK
- LEFT JOIN TP_MST_USER CU
- ON CU.USERID = BP.CREATEUSERID
- LEFT JOIN TP_MST_USER UU
- ON UU.USERID = BP.UPDATEUSERID
- WHERE BP.BOMPACKUNITID = @BOMPACKUNITID@ ",
- new CDAParameter("BOMPACKUNITID", HttpContext.Current.Request["id"])
- );
- return new JsonResult(dt).ToJson();
- }
- }
- /// <summary>
- /// 删除 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string sync(HttpContext context)
- {
- string ZTYPE;
- string ZMSG;
- DataTable dtResult = SapApi.ZMMFM054(out ZTYPE, out ZMSG);
- if ("E".Equals(ZTYPE) || dtResult == null || dtResult.Rows.Count == 0)
- {
- return new JsonResult(JsonStatus.otherError).ToJson();
- }
- using (IDataAccess conn = DataAccess.Create())
- {
- // 开启事务
- conn.BeginTransaction();
- // 删除所有
- int result = conn.ExecuteNonQuery(@"
- DELETE FROM TP_PC_BOMPACKUNIT "
- );
- // 插入新的
- string sqlString = @"
- INSERT INTO TP_PC_BOMPACKUNIT
- (IDNRK,
- MENGE,
- MEINS,
- ORDERMEINS,
- MAKTX,
- MATKL,
- WGBEZ,
- LABOR,
- LGFSB,
- MTART,
- LVORM,
- PRDHA,
- VTEXT,
- ACCOUNTID,
- CREATEUSERID,
- UPDATEUSERID)
- VALUES
- (@IDNRK@,
- @MENGE@,
- @MEINS@,
- @ORDERMEINS@,
- @MAKTX@,
- @MATKL@,
- @WGBEZ@,
- @LABOR@,
- @LGFSB@,
- @MTART@,
- @LVORM@,
- @PRDHA@,
- @VTEXT@,
- @ACCOUNTID@,
- @USERID@,
- @USERID@) ";
- decimal menge = 0;
- foreach (DataRow row in dtResult.Rows)
- {
- decimal.TryParse(row["BSTRF"] + "", out menge);
- menge = menge == 0 ? 1 : menge;
- result += conn.ExecuteNonQuery(sqlString,
- new CDAParameter("IDNRK", row["MATNR"]),
- new CDAParameter("MENGE", menge),
- new CDAParameter("MEINS", row["MEINS"]),
- new CDAParameter("ORDERMEINS", row["BSTME"]),
- new CDAParameter("MAKTX", row["MAKTX"]),
- new CDAParameter("MATKL", row["MATKL"]),
- new CDAParameter("WGBEZ", row["WGBEZ"]),
- new CDAParameter("LABOR", row["LABOR"]),
- new CDAParameter("LGFSB", row["LGFSB"]),
- new CDAParameter("MTART", row["MTART"]),
- new CDAParameter("LVORM", row["LVORM"]),
- new CDAParameter("PRDHA", row["PRDHA"]),
- new CDAParameter("VTEXT", row["VTEXT"]),
- new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
- new CDAParameter("USERID", HttpContext.Current.Session["userId"])
- );
- }
- if (result > 0)
- {
- conn.Commit();
- return new JsonResult(JsonStatus.success).ToJson();
- }
- else
- {
- conn.Rollback();
- return new JsonResult(JsonStatus.error).ToJson();
- }
- }
- }
- /// <summary>
- /// 插入 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string insert(NameValueCollection form)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- int result = conn.ExecuteNonQuery(@"
- INSERT INTO TP_PC_BOMPACKUNIT
- (IDNRK,
- MENGE,
- MEINS,
- ACCOUNTID,
- CREATEUSERID,
- UPDATEUSERID)
- VALUES
- (@IDNRK@,
- @MENGE@,
- @MEINS@,
- @ACCOUNTID@,
- @USERID@,
- @USERID@) ",
- new CDAParameter("IDNRK", form["IDNRK"]),
- new CDAParameter("MENGE", form["MENGE"]),
- new CDAParameter("MEINS", form["MEINS"]),
- new CDAParameter("ACCOUNTID", HttpContext.Current.Session["accountId"]),
- new CDAParameter("USERID", HttpContext.Current.Session["userId"])
- );
- return new JsonResult(JsonStatus.success).ToJson();
- }
- }
- /// <summary>
- /// 更新 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string update(NameValueCollection form)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- int result = conn.ExecuteNonQuery(@"
- UPDATE TP_PC_BOMPACKUNIT
- SET IDNRK = @IDNRK@,
- MENGE = @MENGE@,
- MEINS = @MEINS@,
- UPDATEUSERID = @USERID@
- WHERE BOMPACKUNITID = @BOMPACKUNITID@ ",
- new CDAParameter("IDNRK", form["IDNRK"]),
- new CDAParameter("MENGE", form["MENGE"]),
- new CDAParameter("MEINS", form["MEINS"]),
- new CDAParameter("USERID", HttpContext.Current.Session["userId"]),
- new CDAParameter("BOMPACKUNITID", HttpContext.Current.Request["id"])
- );
- return new JsonResult(JsonStatus.success).ToJson();
- }
- }
- /// <summary>
- /// 删除 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string delete()
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- if (HttpContext.Current.Request["id"] is object)
- {
- int result = conn.ExecuteNonQuery(@"
- DELETE TP_PC_BOMPACKUNIT
- WHERE INSTR(',' || @BOMPACKUNITID@ || ',' , ',' || BOMPACKUNITID || ',') > 0 ",
- new CDAParameter("BOMPACKUNITID", HttpContext.Current.Request["id"])
- );
- return new JsonResult(JsonStatus.success).ToJson();
- }
- else
- {
- return new JsonResult(JsonStatus.otherError).ToJson();
- }
- }
- }
- /// <summary>
- /// 导出 TP_PC_BOMPACKUNIT
- /// </summary>
- /// <returns>json</returns>
- private string export()
- {
- return search(new NameValueCollection());
- }
- private class Button
- {
- public bool bompackunitButtonSync = false;
- public bool bompackunitButtonIndex = false;
- public bool bompackunitButtonInsert = false;
- public bool bompackunitButtonInsertBatch = false;
- public bool bompackunitButtonCopy = false;
- public bool bompackunitButtonUpdate = false;
- public bool bompackunitButtonDelete = false;
- public bool bompackunitButtonCancel = false;
- public bool bompackunitButtonSearch = false;
- public bool bompackunitButtonDetail = false;
- public bool bompackunitButtonCheckbox = false;
- public bool bompackunitButtonExport = false;
- public bool bompackunitButtonReload = false;
- }
- private class xRecord
- {
- public string sid { get; set; }
- public string IDNRK { get; set; }
- public string MENGE { get; set; }
- public string MEINS { get; set; }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|