From d9d0587b8ae82785a97b874a4d2b0fff9d3e0882 Mon Sep 17 00:00:00 2001 From: yusijie <ysj@hz-kingdee.com> Date: 星期三, 16 八月 2023 14:48:24 +0800 Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API --- WebAPI/Controllers/Sc_AssemblyBillController.cs | 252 +++++++++++++++++++++++++++ WebAPI/Controllers/仓存管理/条码生成/Sc_BarCodeController.cs | 14 + WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs | 87 +++++++-- Pub_Class/CustomerCls/ClsXt_SystemParameter.cs | 72 ++++++++ WebAPI/Controllers/SCGL/日计划管理/JIT_DayPlanPlatFormBillController.cs | 16 - WebAPI/Controllers/Sc_ProcessMangementController.cs | 9 WebAPI/Controllers/SCGL/日计划管理/JIT_Cg_PODemandPlanBillController.cs | 4 Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs | 19 ++ WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs | 42 ++-- WebAPI/Models/ClsSc_AssemblyBillMain.cs | 2 WebAPI/Controllers/生产管理/报工台工序/Sc_MESBeginStepWorkBillController.cs | 14 + 11 files changed, 467 insertions(+), 64 deletions(-) diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs index 02c7421..8122824 100644 --- a/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs +++ b/Pub_Class/CustomerCls/ClsXt_SystemParameter.cs @@ -1646,6 +1646,78 @@ omodel.MES_StationEntrustOutBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); } + + //=============================首件检验单 + //保存后是否自动审核 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_FirstPieceCheckBill_AutoCheck") + { + omodel.QC_FirstPieceCheckBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //保存后变为新增状态 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_FirstPieceCheckBill_SaveAutoAddnew") + { + omodel.QC_FirstPieceCheckBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //删除人必须是制单人 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_FirstPieceCheckBill_DeleterAndMakerMustSame") + { + omodel.QC_FirstPieceCheckBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //质检方案来源 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_FirstPieceCheckBill_QCSchemeSource") + { + omodel.QC_FirstPieceCheckBill_QCSchemeSource = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + + + + //=============================巡检单 + //保存后是否自动审核 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_PatrolProcCheckBill_AutoCheck") + { + omodel.QC_PatrolProcCheckBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //保存后变为新增状态 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_PatrolProcCheckBill_SaveAutoAddnew") + { + omodel.QC_PatrolProcCheckBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //删除人必须是制单人 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_PatrolProcCheckBill_DeleterAndMakerMustSame") + { + omodel.QC_PatrolProcCheckBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //质检方案来源 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_PatrolProcCheckBill_QCSchemeSource") + { + omodel.QC_PatrolProcCheckBill_QCSchemeSource = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + + + //=============================工序转序检验单 + //保存后是否自动审核 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_ProcessCheckBill_AutoCheck") + { + omodel.QC_ProcessCheckBill_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //保存后变为新增状态 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_ProcessCheckBill_SaveAutoAddnew") + { + omodel.QC_ProcessCheckBill_SaveAutoAddnew = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //删除人必须是制单人 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_ProcessCheckBill_DeleterAndMakerMustSame") + { + omodel.QC_ProcessCheckBill_DeleterAndMakerMustSame = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + //质检方案来源 + if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "QC_ProcessCheckBill_QCSchemeSource") + { + omodel.QC_ProcessCheckBill_QCSchemeSource = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]); + } + + + //报工台,工序汇报自动审核参数 if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_MESProceReportWorkBill_AutoCheck") { diff --git a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs index a7d8927..330f406 100644 --- a/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs +++ b/Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs @@ -525,6 +525,25 @@ public string QC_FirstPieceCheckBill_AutoCheck; //保存后是否自动审核 public string QC_FirstPieceCheckBill_SaveAutoAddnew; //保存后变为新增状态 public string QC_FirstPieceCheckBill_DeleterAndMakerMustSame; //删除人必须是制单人 + public string QC_FirstPieceCheckBill_QCSchemeSource; //质检方案来源 + + //巡检单 + + public string QC_PatrolProcCheckBill_AutoCheck; //保存后是否自动审核 + public string QC_PatrolProcCheckBill_SaveAutoAddnew; //保存后变为新增状态 + public string QC_PatrolProcCheckBill_DeleterAndMakerMustSame; //删除人必须是制单人 + public string QC_PatrolProcCheckBill_QCSchemeSource; //质检方案来源 + + //工序转序检验单 + + public string QC_ProcessCheckBill_AutoCheck; //保存后是否自动审核 + public string QC_ProcessCheckBill_SaveAutoAddnew; //保存后变为新增状态 + public string QC_ProcessCheckBill_DeleterAndMakerMustSame; //删除人必须是制单人 + public string QC_ProcessCheckBill_QCSchemeSource; //质检方案来源 + + + + diff --git a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs index f5c918e..b145631 100644 --- a/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs +++ b/WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs @@ -121,6 +121,8 @@ public json AddBillMain(string msg1) { + string sErrMsg = ""; + oSystemParameter.ShowBill(ref sErrMsg); string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); @@ -180,6 +182,50 @@ int IsProNo = mainList[0].IsProNo;//鏄惁杞伐搴� HName_LongShan = mainList[0].HName;//宸ヨ壓璺嚎鍚嶇О + + if (oSystemParameter.omodel.WMS_CampanyName == "") + { + if (HPicNumVer == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍥惧彿鐗堟湰涓嶈兘涓虹┖!"; + objJsonResult.data = null; + return objJsonResult; + } + if (HPicNumAssemble == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎬昏鍥惧彿涓嶈兘涓虹┖!"; + objJsonResult.data = null; + return objJsonResult; + } + if (HMaterTexture == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏉愯川涓嶈兘涓虹┖!"; + objJsonResult.data = null; + return objJsonResult; + } + if (HProductNum == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鎴愬搧缂栧彿涓嶈兘涓虹┖!"; + objJsonResult.data = null; + return objJsonResult; + } + if (HVerNum == "") + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鐗堟湰涓嶈兘涓虹┖!"; + objJsonResult.data = null; + return objJsonResult; + } + } if (OperationType == 2) { ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_Gy_RoutingBillList"); @@ -244,29 +290,9 @@ return objJsonResult; } - string sErrMsg = ""; - if (oSystemParameter.ShowBill(ref sErrMsg)) + if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�") { - if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�") - { - if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y" && OperationType == 1) - { - ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1 and HNumber='9999' ", "Gy_Process"); - - if (ds.Tables[0].Rows.Count == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "鏈缃浆宸ュ簭!"; - objJsonResult.data = null; - return objJsonResult; - } - - //璁剧疆杞伐搴� - oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID); - } - } - else if (IsProNo == 1 && OperationType == 1) + if (oSystemParameter.omodel.Gy_RoutingBill_SaveAutoLastProc == "Y" && OperationType == 1) { ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1 and HNumber='9999' ", "Gy_Process"); @@ -283,6 +309,23 @@ oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID); } } + else if (IsProNo == 1 && OperationType == 1) + { + ds = oCN.RunProcReturn("select * from Gy_Process Where HTProcessFlag = 1 and HNumber='9999' ", "Gy_Process"); + + if (ds.Tables[0].Rows.Count == 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏈缃浆宸ュ簭!"; + objJsonResult.data = null; + return objJsonResult; + } + + //璁剧疆杞伐搴� + oCN.RunProc("exec Gy_RoutingBill_LastProNo " + HInterID); + } + //鏄惁鍕鹃�夐粯璁ゅ伐鑹鸿矾绾� diff --git a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs index 501562b..1dd2ccb 100644 --- a/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs +++ b/WebAPI/Controllers/SCGL/Sc_ICMOReportBillController.cs @@ -783,32 +783,26 @@ { try { - if (sWhere == null || sWhere.Equals("")) + List<object> columnNameList = new List<object>(); + + string sql1 = "select * from h_v_Sc_AssemblyBillList where 1 = 1 "; + string sql = sql1 + sWhere; + ds = oCN.RunProcReturn(sql, "h_v_Sc_AssemblyBillList"); + + //娣诲姞鍒楀悕 + foreach (DataColumn col in ds.Tables[0].Columns) { - ds = oCN.RunProcReturn("select * from h_v_Sc_AssemblyBillList " + sWhere, "h_v_Sc_AssemblyBillList"); + Type dataType = col.DataType; + string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; + columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕 } - else - { - string sql1 = "select * from h_v_Sc_AssemblyBillList where 1 = 1 "; - string sql = sql1 + sWhere; - ds = oCN.RunProcReturn(sql, "h_v_Sc_AssemblyBillList"); - } - if (ds == null || ds.Tables[0].Rows.Count == 0) - { - objJsonResult.code = "0"; - objJsonResult.count = 0; - objJsonResult.Message = "false锛�"; - objJsonResult.data = null; - return objJsonResult; - } - else - { - objJsonResult.code = "1"; - objJsonResult.count = 1; - objJsonResult.Message = "Sucess锛�"; - objJsonResult.data = ds.Tables[0]; - return objJsonResult; - } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = ds.Tables[0]; + objJsonResult.list = columnNameList; + return objJsonResult; } catch (Exception e) { diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" index 9c8ec8e..4884c4b 100644 --- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" +++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_Cg_PODemandPlanBillController.cs" @@ -433,7 +433,7 @@ #region 鎻愭枡璁″垝鍗� 鎻愭枡璁″垝鎶ヨ〃 [Route("JIT_Cg_PODemandPlanBill/ReportPODemandPlanBillList_S")] [HttpGet] - public object ReportPODemandPlanBillList_S(string sWhere, string user) + public object ReportPODemandPlanBillList_S(string sWhere, string user,string HBEGINDATE,string HENDDATE) { try { @@ -447,7 +447,7 @@ return objJsonResult; } - ds = oCN.RunProcReturn($"exec h_p_JIT_PODemandPlanBill_S_ReportList '{sWhere.ToString()}' ", "h_p_JIT_PODemandPlanBill_S_ReportList"); + ds = oCN.RunProcReturn($"exec h_p_JIT_PODemandPlanBill_S_ReportList '{sWhere.ToString()}','{HBEGINDATE}','{HENDDATE}' ", "h_p_JIT_PODemandPlanBill_S_ReportList"); objJsonResult.code = "1"; objJsonResult.count = 1; diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" index 263957f..2a7ef44 100644 --- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" +++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/JIT_DayPlanPlatFormBillController.cs" @@ -300,12 +300,11 @@ { SumCount += 1; ////淇濆瓨瀛愯〃 - objJsonResult = AddBillSub(HInterID == 0 ? list[i]["hmainid"].ToString() : HInterID.ToString() , HBillNo == "" ? list[i]["鍗曟嵁鍙�"].ToString() : HBillNo , DateTime.Parse(DateTime.Now.AddDays(j).ToString("yyyy-MM-dd").ToString()) - , int.Parse(list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString())); - + , int.Parse(list[i][DateTime.Now.AddDays(j).ToString("yyyy-MM-dd")].ToString()) + , list[i]); if (objJsonResult.count == 1) { TrueCount += 1; @@ -314,7 +313,7 @@ //涓昏〃鏈夋暟鎹� 瀛愯〃鏃犳暟鎹� if (j == 30 && SumCount == 0 && HInterID != 0 && HBillNo != "") { - objJsonResult = AddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0); + objJsonResult = AddBillSub(HInterID.ToString(), HBillNo, DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd").ToString()), 0, list[i]); } } } @@ -347,11 +346,10 @@ } } - public json AddBillSub(string HInterID, string HBillNo, DateTime date, int HQTY) + public json AddBillSub(string HInterID, string HBillNo, DateTime date, int HQTY, Dictionary<string, string> dic) { //鑾峰彇琛ㄦ牸鏁版嵁 ds = oCN.RunProcReturn($"select * from h_v_JIT_Sc_WorkBillSortBillList where 鍗曟嵁鍙�='{HBillNo}'", "h_v_JIT_Sc_WorkBillSortBillList"); - int count = 0; if (ds.Tables[0].Rows.Count > 0) { @@ -360,7 +358,7 @@ { if (DateTime.Parse(ds.Tables[0].Rows[i]["鏃ヨ鍒掔敓浜ф棩鏈�"].ToString()) == date) { - oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY}" + + oCN.RunProc($"update Sc_WorkBillSortBillSub set HMasterDate='{date}',HQty={HQTY},HUseTimes={(dic["灏忔椂浜ц兘"]=="0"?0: HQTY / float.Parse(dic["灏忔椂浜ц兘"].ToString()))}" + $" where HInterID={HInterID} and HEntryID={ds.Tables[0].Rows[i]["hsubid"].ToString()}"); count += 1; } @@ -371,9 +369,9 @@ { //鎻掑叆瀛愯〃 oCN.RunProc("insert into Sc_WorkBillSortBillSub(HInterID,HSEQ," + - "HMasterDate,HQty)" + + "HMasterDate,HQty,HUseTimes)" + $"values({HInterID}, {(ds.Tables[0].Rows.Count + 1)}," + - $" '{date}', {HQTY})"); + $" '{date}', {HQTY},{(dic["灏忔椂浜ц兘"] == "0" ? 0 : HQTY / float.Parse(dic["灏忔椂浜ц兘"].ToString()))})"); } objJsonResult.code = "1"; diff --git a/WebAPI/Controllers/Sc_AssemblyBillController.cs b/WebAPI/Controllers/Sc_AssemblyBillController.cs index 6368591..c06489a 100644 --- a/WebAPI/Controllers/Sc_AssemblyBillController.cs +++ b/WebAPI/Controllers/Sc_AssemblyBillController.cs @@ -1,4 +1,6 @@ -锘縰sing System; +锘縰sing Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; using System.Data; using System.Linq; @@ -24,6 +26,7 @@ Int64 sCPMaterID = 0; string sCPMaterName = ""; private json objjson = new json(); + SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); //鎵弿鎴愬搧鏉$爜 [Route("Assembly/Get_Assembly_CPBarCode_Json")] @@ -174,13 +177,258 @@ } + #region 浜х嚎缁勮杩芥函鍗� + [Route("Sc_AssemblyBill/HBardCodeList")] + [HttpGet] + public object HBardCodeList(string HBarCode, string user,string HICMOBillNo) + { + try + { + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鏃犱繚瀛樻潈闄愶紒"; + objjson.data = null; + return objjson; + } + if (HICMOBillNo == "" || HICMOBillNo == null) + { + ds = oCN.RunProcReturn(@"select bard.HSourceInterID,bard.HSourceEntryID,b.FMUSTQTY,a.FMOBILLNO,FERPCLSID,t5.FNAME HMaterName_z,t5.FSPECIFICATION HMaterModel_z ,m.HItemID,b.FMATERIALID,m.HName HMaterName,m.HNumber HMaterNumber,m.HModel HMaterModel,m1.HItemID HMaterID +from AIS20210811135644..T_PRD_PPBOM a +join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID = b.FID +join AIS20210811135644..T_BD_MATERIAL t3 on a.FMATERIALID = t3.FMATERIALID +join AIS20210811135644..T_BD_MATERIAL t31 on b.FMATERIALID = t31.FMATERIALID +join AIS20210811135644..T_BD_MATERIAL_L t5 on b.FMATERIALID = t5.FMATERIALID and FLOCALEID=2052 +join AIS20210811135644..t_BD_MaterialBase t4 on t5.FMATERIALID = t4.FMATERIALID +join Gy_BarCodeBill bard on a.FMOBILLNO=bard.HSourceBillNo +join Gy_Material m on bard.HMaterID=m.HItemID and t3.FNUMBER=m.HNumber +join Gy_Material m1 on t31.FNUMBER=m1.HNumber and t31.FUSEORGID=m1.HUSEORGID +where bard.HBarCode='" + HBarCode + "' AND t4.FERPCLSID in ('1', '3')", "Gy_BarCodeBill"); + if (ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "璇峰厛鎵骇鍝佹潯鐮侊紒"; + objjson.data = null; + return objjson; + } + else + { + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + } + } + else + { + ds = oCN.RunProcReturn(@"select a.FMOBILLNO,FERPCLSID ,t4.FMATERIALID, a.FMATERIALID from AIS20210811135644..T_PRD_PPBOM a + join AIS20210811135644..T_PRD_PPBOMENTRY b on a.FID=b.FID + JOIN AIS20210811135644..T_BD_MATERIAL T6 ON b.FMATERIALID = T6.FMATERIALID + join AIS20210811135644..t_BD_MaterialBase t4 on b.FMATERIALID = t4.FMATERIALID + left join Gy_Material m on t6.FNUMBER=m.HNumber and m.HUSEORGID=a.FPRDORGID + where a.FMOBILLNO ='" + HICMOBillNo + "' and m.HItemID=(select HMaterID from Gy_BarCodeBill where HBarCode = '" + HBarCode + "' )", "ds2"); - + if (ds.Tables[0].Rows.Count == 0) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "閰嶄欢涓嶅睘浜庤鐢熶骇璁㈠崟锛�"; + objjson.data = null; + return objjson; + } + ds = oCN.RunProcReturn(@"select HQty,HSourceBillNo,m.HName HMaterName,m.HItemID HMaterID from Gy_BarCodeBill bard +join Gy_Material m on bard.HMaterID=m.HItemID +where HBarCode='" + HBarCode + "'", "ds3"); + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + } + return objjson; + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion + #region 浜х嚎缁勮杩芥函鍗曚繚瀛� + [Route("Sc_AssemblyBill/AddBill")] + [HttpPost] + public object AddBill([FromBody] JObject sMainSub) + { + var _value = sMainSub["sMainSub"].ToString(); + string msg1 = _value.ToString(); + oCN.BeginTran(); + //淇濆瓨涓昏〃 + objjson = AddBillMain(msg1); + if (objjson.code == "0") + { + oCN.RollBack(); + objjson.code = "0"; + objjson.count = 0; + objjson.Message = objjson.Message; + objjson.data = null; + return objjson; + } + oCN.Commit(); + objjson.code = "1"; + objjson.count = 1; + objjson.Message = "鏂板鍗曟嵁鎴愬姛锛�"; + objjson.data = null; + return objjson; + } + Models.ClsSc_AssemblyBillMain omodel = new Models.ClsSc_AssemblyBillMain();//鍩烘湰璧勬枡 + public json AddBillMain(string msg1) + { + string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); + string msg2 = sArray[0].ToString(); + string msg3 = sArray[1].ToString(); + int OperationType = int.Parse(sArray[2].ToString());//绫诲瀷 + string user = sArray[3].ToString();//鐢ㄦ埛鍚� + try + { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Sc_AssemblyBill_Edit", 1, false, user)) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "鏃犳潈闄愮紪杈�!"; + objjson.data = null; + return objjson; + } + omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(msg2); + //JSON搴忓垪鍖栬浆鎹㈠瓧鍏搁泦鍚� + List<Dictionary<string, string>> list = new List<Dictionary<string, string>>(); + List<object> jb = JsonConvert.DeserializeObject<List<object>>(msg3); + foreach (JObject item in jb) + { + Dictionary<string, string> dic = new Dictionary<string, string>(); + foreach (var itm in item.Properties()) + { + dic.Add(itm.Name, itm.Value.ToString()); + } + list.Add(dic); + } + + if (OperationType == 1)//鏂板涓存椂琛ㄦ簮鍗曡〃 + { + for (int i = 0; i < list.Count; i++) + { + //涓存椂閰嶄欢琛� + oCN.RunProc("Insert Into Sc_AssemblyBill_BindSourceTemp " + + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + + ",HQtyMust,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HQty,HBatchNo,HMTONo,HPlanMode) " + + " values(" + omodel.HInterID.ToString() + "," + (i+1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + + ",'" + list[i]["HQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,0,'','','') "); + } + } + else if (OperationType == 2)//鏂板閰嶄欢鎵爜琛� + { + for (int i = 0; i < list.Count; i++) + { + if (list[i]["HBarCode"].ToString() != "") + { + ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HBarCode='" + list[i]["HBarCode"].ToString() + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); + if (ds.Tables[0].Rows.Count > 0) { + objjson.code = "0"; + objjson.count = 0; + objjson.Message ="璇ユ潯鐮佸凡鎵叆,鏃犻』鍐嶆壂!"; + objjson.data = null; + return objjson; + } + //涓存椂璁板綍琛� + oCN.RunProc("Insert Into Sc_AssemblyBill_BindBarCodeTemp " + + "(HInterID,HEntryID,HBillNo_bak,HSourceBillNo,HSourceInterID,HMaterID" + + ",HBarCode,HQty,HProdOrgID,HSourceEntryID,HSourceBillType,HAuxPropID,HProcID,HBatchNo,HMTONo,HPlanMode) " + + " values(" + omodel.HInterID.ToString() + "," + (i + 1) + ",'" + omodel.HBillNo.ToString() + "','" + omodel.HICMOBillNo.ToString() + "',0," + list[i]["HMaterID"].ToString() + + ",'" + list[i]["HBarCode"].ToString() + "','" + list[i]["HEQty"].ToString() + "','" + list[i]["HPRDORGID"].ToString() + "',0,'',0,0,'','','') "); + } + } + } + else if (OperationType == 3)//鏂板涓诲瓙琛� + { + //淇濆瓨鐢熶骇缁勮鍗曚富琛� + string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate +,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo +,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID) +values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{omodel.HInterID.ToString()},getdate() +,'{omodel.HBillNo.ToString()}','1','{user}',getdate(),{omodel.HICMOInterID.ToString()},{omodel.HICMOEntryID.ToString()},'{omodel.HICMOBillNo.ToString()}' +,{omodel.HICMOInterID.ToString()},'{omodel.HICMOBillNo.ToString()}','{omodel.HBarCode_P.ToString()}',{omodel.HMaterID},0,'{omodel.HAssemblyStatus}',{omodel.HProdOrgID})"; + oCN.RunProc(sql); + + ds = oCN.RunProcReturn("select * from Sc_AssemblyBill_BindBarCodeTemp where HSourceBillNo='" + omodel.HICMOBillNo.ToString() + "' and HInterID='" + omodel.HInterID + "' and HBillNo_bak='" + omodel.HBillNo.ToString() + "'", "Sc_AssemblyBill_BindBarCodeTemp"); + + for (int i = 0; i < ds.Tables[0].Rows.Count; i++) + { + int HMaterID = int.Parse(ds.Tables[0].Rows[i]["HMaterID"].ToString()); + double HQty = double.Parse(ds.Tables[0].Rows[i]["HQty"].ToString()); + string HBarCode = ds.Tables[0].Rows[i]["HBarCode"].ToString(); + string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo +,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty +,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber) +values({omodel.HInterID},'{omodel.HBillNo}',{(i + 1)},0,0,'' +,'',{HMaterID},0,0,0,{HQty} +,0,0,getdate(),'{HBarCode}','{omodel.HBarCode_P}','') "; + oCN.RunProc(sq2); + } + } + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = null; + objjson.data = null; + return objjson; + } + catch (Exception e) + { + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "Exception锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion + + #region 浜х嚎缁勮杩芥函鍗� 鏌ヨ + [Route("Sc_AssemblyBill/Sc_AssemblyBillAddList")] + [HttpGet] + public object Sc_AssemblyBillAddList(string sWhere) + { + try + { + ds = oCN.RunProcReturn(@"select * from h_v_Sc_AssemblyBillList where 1=1 " + sWhere, "h_v_Sc_AssemblyBillList"); + + objjson.code = "1"; + objjson.count = 1; + objjson.Message = ""; + objjson.data = ds.Tables[0]; + return objjson; + } + catch (Exception e) + { + + objjson.code = "0"; + objjson.count = 0; + objjson.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString(); + objjson.data = null; + return objjson; + } + } + #endregion [Route("Assembly/Delete_Json")] [HttpGet] diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs index 26f021c..947f268 100644 --- a/WebAPI/Controllers/Sc_ProcessMangementController.cs +++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs @@ -405,6 +405,10 @@ { try { + string sErr = ""; + oSystemParameter.ShowBill(ref sErr); + + //鑾峰彇鐢熶骇姹囨姤鍗曟渶澶nterID鍜屽崟鎹彿 Int64 HInterID = DBUtility.ClsPub.CreateBillID("3711", ref DBUtility.ClsPub.sExeReturnInfo); string HBillNo = DBUtility.ClsPub.CreateBillCode("3711", ref DBUtility.ClsPub.sExeReturnInfo, true); @@ -521,7 +525,10 @@ FentityModel.Add("FCostRate", dr1["FCostRate"].ToString());// 鎴愭湰鏉冮噸 FentityModel.Add("FISBACKFLUSH", dr1["FISBACKFLUSH"].ToString() == "1" ? true : false);// 鍊掑啿棰嗘枡 FentityModel.Add("FMOMAINENTRYID", dr1["FMOENTRYID"].ToString());// - //FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() }); //鍖呰鏍囪瘑 + if (oSystemParameter.omodel.WMS_CampanyName == "鐟炰笌绁�") + { + FentityModel.Add("F_bsv_Base1", new JObject() { ["Fnumber"] = dr1["FPREBDONENUMBER"].ToString() });//鍖呰鏍囪瘑 + } FentityModel.Add("FLot", new JObject() { ["FNumber"] = dr1["FBATCHNO"].ToString() }); //鎵瑰彿 FentityModel.Add("F_bsv_Text", dr1["宸ュ簭娴佽浆鍗″彿"].ToString()); //娴佽浆鍗″彿 JArray Fentity2 = new JArray(); diff --git "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" index 49a8420..7416774 100644 --- "a/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" +++ "b/WebAPI/Controllers/\344\273\223\345\255\230\347\256\241\347\220\206/\346\235\241\347\240\201\347\224\237\346\210\220/Sc_BarCodeController.cs" @@ -887,7 +887,10 @@ //鐗╂枡浠g爜-鍖呰鏍囪瘑-鏃ユ湡-渚涘簲鍟嗕唬鐮�-鍏綅娴佹按鍙� LSHlen = 8;//娴佹按鍙锋槸8浣� - DataSet dataDs = oCN.RunProcReturn($"select b.F_TEZV_BASE from AIS20220308151944..T_PUR_Receive a inner join AIS20220308151944..T_PUR_RECEIVEENTRY b on a.FID = b.FID where a.FID={ordrlist[j].HMainID} and b.FENTRYID={ordrlist[j].HSubID}", "T_PUR_Receive"); + DataSet dataDs = oCN.RunProcReturn($@"select isnull(pr.FNUMBER,'') F_TEZV_BASE from AIS20220308151944..T_PUR_Receive a +inner join AIS20220308151944..T_PUR_RECEIVEENTRY b on a.FID = b.FID +left join AIS20220308151944..T_BAS_PREBDONE pr on b.F_TEZV_BASE=pr.FID +where a.FID={ordrlist[j].HMainID} and b.FENTRYID={ordrlist[j].HSubID}", "T_PUR_Receive"); if (dataDs.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; @@ -906,8 +909,13 @@ { //鐗╂枡浠g爜-鍖呰鏍囪瘑-鏃ユ湡-缁勭粐浠g爜-鍏綅娴佹按鍙� LSHlen = 8;//娴佹按鍙锋槸8浣� - - DataSet dataDs = oCN.RunProcReturn($"select b.F_bsv_Base1,a.FPRDORGID from AIS20220308151944..T_PRD_INSTOCK a inner join AIS20220308151944..T_PRD_INSTOCKENTRY b on a.FID = b.FID where a.FID={ordrlist[j].HMainID} and b.FENTRYID={ordrlist[j].HSubID}", "T_PRD_INSTOCK"); + DataSet dataDs = oCN.RunProcReturn($@"select isnull(pr.FNUMBER,'') F_bsv_Base1,a.FPRDORGID from AIS20220308151944..T_PRD_INSTOCK a +inner join AIS20220308151944..T_PRD_INSTOCKENTRY b on a.FID = b.FID +join( +select HERPInterID, HERPEntryID, HInterID, HEntryID from Kf_ICStockBillSub +)kf on b.FID = kf.HERPInterID and b.FENTRYID = kf.HERPEntryID +left join AIS20220308151944..T_BAS_PREBDONE pr on b.F_bsv_Base1=pr.FID +where kf.HInterID = {ordrlist[j].HMainID} and kf.HEntryID = {ordrlist[j].HSubID}", "T_PRD_INSTOCK"); if (dataDs.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; diff --git "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_MESBeginStepWorkBillController.cs" "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_MESBeginStepWorkBillController.cs" index f97b1f1..301b23d 100644 --- "a/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_MESBeginStepWorkBillController.cs" +++ "b/WebAPI/Controllers/\347\224\237\344\272\247\347\256\241\347\220\206/\346\212\245\345\267\245\345\217\260\345\267\245\345\272\217/Sc_MESBeginStepWorkBillController.cs" @@ -1026,11 +1026,23 @@ return objJsonResult; } - oCN.BeginTran(); + ds = oCN.RunProcReturn("select * from Sc_ICMOBillWorkQtyStatus_Tmp where HInterID=" + HInterID + " and HSourceInterID=" + HICMOInterID + " and HSourceEntryID=" + HICMOEntryID, "Sc_ICMOBillWorkQtyStatus_Tmp"); + if (ds.Tables[0].Rows.Count == 0) { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏌ユ棤鏁版嵁!"; + objJsonResult.data = null; + return objJsonResult; + } + oCN.BeginTran(); //鍒犻櫎浜ч噺姹囨姤琛� string sql = string.Format(@"delete Sc_ICMOBillWorkQtyStatus_Tmp where HInterID='" + HInterID + "'"); oCN.RunProc(sql); + double sumqty = double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString()) + double.Parse(ds.Tables[0].Rows[0]["HBadQty"].ToString()) + double.Parse(ds.Tables[0].Rows[0]["HWasterQty"].ToString()); //姹囨姤鏁伴噺+涓嶈壇+鎶ュ簾 + //鍥炲啓鐢熶骇鐘舵�佷复鏃惰〃Sc_ICMOBillStatus_Tmp鎷嗗垎姹囨姤鏁伴噺 HSplitRelationQty + oCN.RunProc("update Sc_ICMOBillStatus_Tmp set HSplitRelationQty=HSplitRelationQty-" + sumqty + " where HICMOBillNo='" + ds.Tables[0].Rows[0]["HICMOBillNo"].ToString() + "' and HSourceID='" + ds.Tables[0].Rows[0]["HSourceID"].ToString() + "' and HICMOInterID='" + ds.Tables[0].Rows[0]["HICMOInterID"].ToString() + "' and HICMOEntryID='" + ds.Tables[0].Rows[0]["HICMOEntryID"].ToString() + "' and HInterID=" + ds.Tables[0].Rows[0]["HSourceInterID"].ToString()); + oCN.Commit(); objJsonResult.code = "1"; diff --git a/WebAPI/Models/ClsSc_AssemblyBillMain.cs b/WebAPI/Models/ClsSc_AssemblyBillMain.cs index bf9758c..d9d6640 100644 --- a/WebAPI/Models/ClsSc_AssemblyBillMain.cs +++ b/WebAPI/Models/ClsSc_AssemblyBillMain.cs @@ -24,5 +24,7 @@ public string HPCrux; public string HSCZY; public int HSCZYID; + public int HProdOrgID; //缁勭粐 + public int HICMOEntryID; //浠诲姟鍗曞瓙ID } } \ No newline at end of file -- Gitblit v1.9.1