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