From 87999e9c0ef70ea07f097b6ced1c23019c767a0a Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 25 四月 2024 13:36:28 +0800
Subject: [PATCH] 新增生产补料单扫描源单条码功能

---
 DLL/Pub_Class.dll            |    0 
 CLOUDWEB/WebService1.asmx.cs |  113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 0 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 7a86b2f..abddb82 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -39555,6 +39555,10 @@
             {
                 sFIFOCtl = "Y";
             }
+            else if (sHBillType == "1254" && (oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOCtl == "Y" || oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOList == "Y"))   //鍒嗘寮忚皟鍑哄崟-鍏堣繘鍏堝嚭鎺у埗
+            {
+                sFIFOCtl = "Y";
+            }
 
             try
             {
@@ -48155,6 +48159,93 @@
 
         #endregion
 
+        #region 鐢熶骇琛ユ枡    鎵弿婧愬崟鏉$爜
+
+        [WebMethod]
+        public Model.ClsKf_ICStockBill_WMS get_SourceBarCode_MateReplenishOut(Int64 HInterID, string HBillNo, string HBillType, string HSourceBillNo, string HSourceBillType, string HMaker, Int64 HFIFOWhID, Int64 HOWNERID, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
+            Int64 sMulSourceFlag = 0;   //澶氭簮鍗曟爣蹇楋紙0涓洪潪澶氭簮鍗曟ā寮忥紝1涓哄婧愬崟妯″紡锛�
+
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBillByOrgID(HOWNERID, ref sErrMsg) == false)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涙壂鎻忔簮鍗曟椂鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return null;
+            }
+
+            if (oSystemParameter.omodel.Kf_MateReplenishOutBill_MulSourceBill.ToUpper() == "Y") //绯荤粺鍙傛暟  鐢熶骇琛ユ枡鍗�-澶氭簮鍗曟ā寮�
+            {
+                sMulSourceFlag = 1;
+            }
+
+            //灏嗘簮鍗曚俊鎭瓨鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛�
+            DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddSourceBarCode_MateReplenishOut " + HInterID.ToString() + ",'" + HBillNo + "','" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + sMulSourceFlag.ToString() + ",'" + HMaker + "'," + HFIFOWhID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddSourceBarCode_MateReplenishOut");
+            if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘皢婧愬崟淇℃伅瀛樺叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
+                return null;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
+                {
+                    //鍏堣繘鍏堝嚭鎺у埗
+                    if (oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOCtl == "Y")  //绯荤粺鍙傛暟  鐢熶骇琛ユ枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+                    {
+                        DataSet FIFO = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFO_MateReplenishOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddSourceFIFO_MateReplenishOut");
+                        if (FIFO == null || FIFO.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰复鏃惰〃澶辫触锛�";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFO.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFO.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    //鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    else if (oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOList == "Y")  //绯荤粺鍙傛暟  鐢熶骇琛ユ枡鍗�-鍏堣繘鍏堝嚭涓嬫灦娓呭崟
+                    {
+                        DataSet FIFOList = oCn.RunProcReturn("exec h_p_WMS_AddSourceFIFOList_MateReplenishOut " + HInterID.ToString() + ",'" + HBillType + "','" + HSourceBillNo + "','" + HSourceBillType + "'," + HFIFOWhID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddSourceFIFOList_MateReplenishOut");
+                        if (FIFOList == null || FIFOList.Tables[0].Rows.Count == 0)
+                        {
+                            sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛涘瓨鍏ュ厛杩涘厛鍑轰笅鏋舵竻鍗曞け璐ワ紒";
+                            return null;
+                        }
+                        else
+                        {
+                            if (DBUtility.ClsPub.isLong(FIFOList.Tables[0].Rows[0][0]) == 1)
+                            {
+                                sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(FIFOList.Tables[0].Rows[0]["HRemark"]);
+                                return null;
+                            }
+                        }
+                    }
+                    oBar.HBarType = "婧愬崟鏉$爜";
+                    oBar.HMulSourceFlag = sMulSourceFlag;
+                    oBar.HSourceBillType = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillType"]);
+                    oBar.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSourceBillNo"]);
+                    oBar.HDeptID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HDeptID"]);
+                    oBar.HDeptName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HDeptName"]);
+                    return oBar;
+                }
+                else
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛屽崟鎹甀D锛�" + HInterID + "锛�" + DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
+                    return null;
+                }
+            }
+        }
+
+        #endregion
+
         #region 鐩存帴璋冩嫧    鎵弿婧愬崟鏉$爜
 
         [WebMethod]
@@ -49000,6 +49091,11 @@
                 if (oSystemParameterMain.Kf_MateReplenishOutBill_BillTypeOneScan.ToUpper() == "Y")
                 {
                     sOneScanCtl = "Y";
+                }
+                //鍏堣繘鍏堝嚭鎺у埗锛�'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_MateReplenishOutBill_FIFOCtl.ToUpper() == "Y")
+                {
+                    sFIFOCtl = "Y";
                 }
                 //鏄惁鍚敤澶氭簮鍗曟壂鐮佹ā寮忥紙'Y'涓哄惎鐢級
                 if (oSystemParameterMain.Kf_MateReplenishOutBill_MustQtyCtl.ToUpper() == "Y")
@@ -50893,6 +50989,19 @@
                     return oBar;
                 }
             }
+            else if (HBillType == "1254")
+            {
+                //鐢熶骇琛ユ枡鍗�
+                oBar = get_SourceBarCode_MateReplenishOut(HInterID, HBillNo, HBillType, HSourceBillNo, HSourceBillType, HMaker, HFIFOWhID, HStockOrgID, ref sErrMsg);
+                if (oBar == null)
+                {
+                    return null;
+                }
+                else
+                {
+                    return oBar;
+                }
+            }
             else
             {
                 sErrMsg = "鍗曟嵁绫诲瀷閿欒锛�";
@@ -52445,6 +52554,10 @@
             {
                 sFIFOCtl = "Y";
             }
+            else if (HBillType == "1254" && (oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOCtl == "Y" || oSystemParameter.omodel.Kf_MateReplenishOutBill_FIFOList == "Y"))   //鐢熶骇琛ユ枡鍗�-鍏堣繘鍏堝嚭鎺у埗
+            {
+                sFIFOCtl = "Y";
+            }
 
             DataSet DS = oCn.RunProcReturn("exec h_p_WMS_BillEntryTmpList " + HInterID.ToString() + ",'" + HBillType + "','" + sMouldManagerCtl + "','" + sFIFOCtl + "','" + sSimpleMode + "'", "h_p_WMS_BillEntryTmpList");
             return DS;
diff --git a/DLL/Pub_Class.dll b/DLL/Pub_Class.dll
index 5fa8952..d6337e5 100644
--- a/DLL/Pub_Class.dll
+++ b/DLL/Pub_Class.dll
Binary files differ

--
Gitblit v1.9.1