| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- <%@ WebHandler Language="C#" Class="AddFQCInspect_WCF" %>
- using System.Web;
- using System.Data;
- using System;
- using System.Web.SessionState;
- using System.Web.Configuration;
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System.Collections;
- using Curtain.DataAccess;
- using Curtain.Log;
- using DK.XuWei.WebMes;
- /// <summary>
- /// 从WCF接口获取 成检保存
- /// qq 2023-09-19
- /// </summary>
- public class AddFQCInspect_WCF : IHttpHandler, IReadOnlySessionState
- {
- public void ProcessRequest(HttpContext context)
- {
- //处理提交数据
- if(context.Request["saveTable"] is object)
- {
- using (IDataAccess conn = DataAccess.Create())
- {
- conn.BeginTransaction();
- //提交到接口
- DataTable saveTable = JsonConvert.DeserializeObject<DataTable>(context.Request["saveTable"]);
- DataTable saveBOMTable = new DataTable();
- if (context.Request["saveBOMTable"] != null)
- {
- saveBOMTable = JsonConvert.DeserializeObject<DataTable>(context.Request["saveBOMTable"]);
- }
- string goodsCode = context.Request["goodsCode"];
- int planID = 0;
- int inspectionquality = 0;
- int planInspectionQuality = 0;
- DataTable timeTable = conn.ExecuteDatatable(@" select FUN_CMN_GetAccountDate(1) as time From DUAL"
- );
- DateTime result = Convert.ToDateTime(timeTable.Rows[0]["time"].ToString());
- DataTable time1Table = conn.ExecuteDatatable(@" select FUN_CMN_GetAccountDate(1) - 1 as time1 From DUAL"
- );
- DateTime result1 = Convert.ToDateTime(time1Table.Rows[0]["time1"].ToString());
- DataTable hourTable = conn.ExecuteDatatable(@" SELECT TO_CHAR(SYSDATE, 'HH24') AS hour FROM DUAL"
- );
- int hour = Convert.ToInt32(hourTable.Rows[0]["hour"]);
- if (saveTable != null && saveTable.Rows.Count > 0)
- {
- string barcode = saveTable.Rows[0]["BARCODE"].ToString();
- if (barcode.Length == 8)
- {
- DataTable procedurename = conn.ExecuteDatatable(@"
- SELECT BARCODE
- FROM TP_PM_GROUTINGDAILYDETAIL
- WHERE SERVICECODE = @OUTLABELCODE@",
- new CDAParameter("OUTLABELCODE", barcode.Substring(barcode.IndexOf('-')+1))
- );
- barcode = procedurename.Rows[0]["BARCODE"].ToString();
- }
- else if (barcode.Length == 28)
- {
- DataTable procedurename = conn.ExecuteDatatable(@"
- SELECT BARCODE
- FROM TP_PM_GROUTINGDAILYDETAIL
- WHERE OUTLABELCODE = @OUTLABELCODE@",
- new CDAParameter("OUTLABELCODE", barcode)
- );
- barcode = procedurename.Rows[0]["BARCODE"].ToString();
- }
- string sqlString= "";
- //A班
- if (hour >= 7 && hour < 18)
- {
- sqlString = @"SELECT distinct
- FP.PLANID,
- FP.PLANINSPECTIONQUANTITY,
- FP.INSPECTIONQUANTITY
- FROM TP_PM_FQCITEMSPLAN FP
- left join tp_pm_fqcconfig_detail fd on FP.configtype = fd.configtype and fd.valueflag = 1
- WHERE FP.Plandate = @PLANDATE@
- AND fd.inspecttype = @INSPECTTYPE@
- and ((fp.classes = 2 and CLASSESTYPE = 'A') or (fp.classes = 1 and CLASSESTYPE is null))
- AND FP.GOODSCODE = @GOODSCODE@";
- }
- else if(hour >= 18)
- {
- sqlString = @"SELECT distinct
- FP.PLANID,
- FP.PLANINSPECTIONQUANTITY,
- FP.INSPECTIONQUANTITY
- FROM TP_PM_FQCITEMSPLAN FP
- left join tp_pm_fqcconfig_detail fd on FP.configtype = fd.configtype and fd.valueflag = 1
- WHERE FP.Plandate = @PLANDATE@
- AND fd.inspecttype = @INSPECTTYPE@
- and ((fp.classes = 2 and CLASSESTYPE = 'B') or (fp.classes = 1 and CLASSESTYPE is null))
- AND FP.GOODSCODE = @GOODSCODE@";
- }
- else if(hour < 7)
- {
- sqlString = @"SELECT distinct
- FP.PLANID,
- FP.PLANINSPECTIONQUANTITY,
- FP.INSPECTIONQUANTITY
- FROM TP_PM_FQCITEMSPLAN FP
- left join tp_pm_fqcconfig_detail fd on FP.configtype = fd.configtype and fd.valueflag = 1
- WHERE FP.Plandate = @PLANDATE1@
- AND fd.inspecttype = @INSPECTTYPE@
- and ((fp.classes = 2 and CLASSESTYPE = 'B') or (fp.classes = 1 and CLASSESTYPE is null))
- AND FP.GOODSCODE = @GOODSCODE@";
- }
- //查询当前产品的当日计划ID-PLANID
- DataTable planTable = conn.ExecuteDatatable(sqlString,
- new CDAParameter("INSPECTTYPE", saveTable.Rows[0]["INSPECTTYPE"]),
- new CDAParameter("GOODSCODE", goodsCode),
- new CDAParameter("PLANDATE1", result1),
- new CDAParameter("PLANDATE", result)
- );
- if (planTable != null && planTable.Rows.Count > 0)
- {
- planID = Convert.ToInt32(planTable.Rows[0]["PLANID"]);
- inspectionquality = Convert.ToInt32(planTable.Rows[0]["INSPECTIONQUANTITY"]);
- planInspectionQuality = Convert.ToInt32(planTable.Rows[0]["PLANINSPECTIONQUANTITY"]);
- }
- //查询该条码是否保存过数据,如果保存过删除之前的检验记录,插入最新的数据
- int updateReault = conn.ExecuteNonQuery(@"
- UPDATE TP_PM_FQCITEMSDATA SET VALUEFLAG = '0' WHERE BARCODE = @BARCODE@ AND VALUEFLAG = '1' AND INSPECTTYPE = @INSPECTTYPE@",
- new CDAParameter("BARCODE", barcode),
- new CDAParameter("INSPECTTYPE", saveTable.Rows[0]["INSPECTTYPE"])
- );
- //if (planID > 0)
- {
- for (int i = 0; i < saveTable.Rows.Count; i++)
- {
- //插入检验数据
- int resultaddItems = conn.ExecuteNonQuery(@"
- INSERT INTO TP_PM_FQCITEMSDATA (
- PLANID,
- BARCODE,
- GOODSID,
- ITEMSID,
- INSPECTTYPE,
- ITEMSDETAILID,
- INSPECTITEM,
- INSPECTVALUE,
- ISQUALIFIED,
- ACCOUNTID,
- CREATEUSERID,
- UPDATEUSERID,
- REMARKS
- ) VALUES (
- @PLANID@,
- @BARCODE@,
- @GOODSID@,
- @ITEMSID@,
- @INSPECTTYPE@,
- @ITEMSDETAILID@,
- @INSPECTITEM@,
- @INSPECTVALUE@,
- @ISQUALIFIED@,
- @ACCOUNTID@,
- @CREATEUSERID@,
- @UPDATEUSERID@,
- @REMARKS@
- )
- ",
- new CDAParameter("PLANID", planID),
- new CDAParameter("BARCODE", barcode),
- new CDAParameter("GOODSID", Convert.ToInt32(saveTable.Rows[i]["GOODSID"])),
- new CDAParameter("ITEMSID", Convert.ToInt32(saveTable.Rows[i]["ITEMSID"])),
- new CDAParameter("INSPECTTYPE", Convert.ToInt32(saveTable.Rows[i]["INSPECTTYPE"])),
- new CDAParameter("ITEMSDETAILID", Convert.ToInt32(saveTable.Rows[i]["ITEMSDETAILID"])),
- new CDAParameter("INSPECTITEM", saveTable.Rows[i]["INSPECTITEM"].ToString()),
- new CDAParameter("INSPECTVALUE", saveTable.Rows[i]["INSPECTVALUE"].ToString()),
- new CDAParameter("ISQUALIFIED", saveTable.Rows[i]["ISQUALIFIED"].ToString() == "0"? 0:1),
- new CDAParameter("ACCOUNTID", Convert.ToInt32(HttpContext.Current.Session["accountId"])),
- new CDAParameter("CREATEUSERID", Convert.ToInt32(HttpContext.Current.Session["userId"])),
- new CDAParameter("UPDATEUSERID", Convert.ToInt32(HttpContext.Current.Session["userId"])),
- new CDAParameter("REMARKS", saveTable.Rows[i]["REMARKS"].ToString())
- );
- }
- if (updateReault <= 0 && planID > 0)
- {
- //更新检验次数
- int planresult = conn.ExecuteNonQuery(@"
- UPDATE TP_PM_FQCITEMSPLAN SET INSPECTIONQUANTITY = @INSPECTIONQUANTITY@ WHERE PLANID = @PLANID@",
- new CDAParameter("PLANID", planID),
- new CDAParameter("INSPECTIONQUANTITY", inspectionquality+1)
- );
- }
- }
- }
- if (saveBOMTable != null && saveBOMTable.Rows.Count > 0)
- {
- string barcode = saveBOMTable.Rows[0]["BARCODE"].ToString();
- //if (barcode.Length > 11)
- //{
- // DataTable procedurename = conn.ExecuteDatatable(@"
- // SELECT BARCODE
- // FROM TP_PM_GROUTINGDAILYDETAIL
- // WHERE OUTLABELCODE = @OUTLABELCODE@",
- // new CDAParameter("OUTLABELCODE", barcode)
- // );
- // barcode = procedurename.Rows[0]["BARCODE"].ToString();
- //}
- if (barcode.Length >= 73)
- {
- DataTable procedurename = conn.ExecuteDatatable(@"
- SELECT BARCODE
- FROM TP_PM_GROUTINGDAILYDETAIL
- WHERE OUTLABELCODE = @OUTLABELCODE@",
- new CDAParameter("OUTLABELCODE", barcode.Substring(barcode.IndexOf('-')+1))
- );
- barcode = procedurename.Rows[0]["BARCODE"].ToString();
- }
- else if (barcode.Length == 28)
- {
- DataTable procedurename = conn.ExecuteDatatable(@"
- SELECT BARCODE
- FROM TP_PM_GROUTINGDAILYDETAIL
- WHERE OUTLABELCODE = @OUTLABELCODE@",
- new CDAParameter("OUTLABELCODE", barcode)
- );
- barcode = procedurename.Rows[0]["BARCODE"].ToString();
- }
- for (int i = 0; i < saveBOMTable.Rows.Count; i++)
- {
- //插入检验数据
- int resultaddItems = conn.ExecuteNonQuery(@"
- INSERT INTO TP_PM_FQCBOM (
- BARCODE,
- PACKINGBOMDETAILID,
- BOMNAME,
- CHECKVALUE,
- REMARKS,
- CREATEUSERID,
- UPDATEUSERID
- ) VALUES (
- @BARCODE@,
- @PACKINGBOMDETAILID@,
- @BOMNAME@,
- @CHECKVALUE@,
- @REMARKS@,
- @CREATEUSERID@,
- @UPDATEUSERID@
- )
- ",
- new CDAParameter("BARCODE", barcode),
- new CDAParameter("PACKINGBOMDETAILID", Convert.ToInt32(saveBOMTable.Rows[i]["packingBomDetailID"])),
- new CDAParameter("BOMNAME", saveBOMTable.Rows[i]["bomName"]),
- new CDAParameter("CHECKVALUE", saveBOMTable.Rows[i]["checkVlaue"]),
- new CDAParameter("REMARKS", saveBOMTable.Rows[i]["remarks"]),
- new CDAParameter("CREATEUSERID", Convert.ToInt32(HttpContext.Current.Session["userId"])),
- new CDAParameter("UPDATEUSERID", Convert.ToInt32(HttpContext.Current.Session["userId"]))
- );
- }
- }
- conn.Commit();
- string jsonStr = ("{'success':true,'message':'操作成功!','rows':''}").Replace("'", "\"");
- context.Response.Write(jsonStr);
- }
- }
- else
- {
- string jsonStr = ("{'success':false,'message':'操作失败!','rows':''}").Replace("'","\"");
- context.Response.Write(jsonStr);
- }
- }
- public bool IsReusable
- {
- get
- {
- return false;
- }
- }
- }
|