From 3357e165d60fd2e967d4a49d1299affbcb66e08b Mon Sep 17 00:00:00 2001
From: yxj <1qaz@123>
Date: 星期四, 03 十一月 2022 16:39:32 +0800
Subject: [PATCH] 调拨扫描物料条码条码库存、ERP库存判断修改

---
 CLOUDWEB/WebService1.asmx.cs |   53 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index 8a2a8fc..d13554b 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -43439,6 +43439,7 @@
             DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl();
             Model.ClsKF_PonderationBillMain_Temp oMain = new Model.ClsKF_PonderationBillMain_Temp();
 
+            string HMaterNumber;            //鐗╂枡浠g爜
             string sSourceBillCtl = "N";    //鏄惁杩涜婧愬崟淇℃伅鏍稿锛�'Y'涓烘牳瀵规簮鍗曚俊鎭級
             string sBatchNoCtl = "N";       //鏄惁杩涜鎵瑰彿鏍稿锛�'Y'涓烘牳瀵规壒鍙凤級
             string sMultilineCtl = "N";     //鏄惁瀛樺湪澶氳鐩稿悓鐗╂枡鏃惰嚜鍔ㄦ媶鍒嗘崲琛岋紙'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
@@ -43498,6 +43499,7 @@
                     omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceEntryID"]);
                     omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSourceInterID"]);
                     omodel_View.HSourceQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HQtyMust"]);     //婧愬崟鍙壂鏁伴噺
+                    HMaterNumber = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HMaterNumber"]);
                 }
                 else
                 {
@@ -43568,24 +43570,35 @@
 
             double sWMSQty = 0;     //鏉$爜搴撳瓨鏁伴噺
             double sERPQty = 0;     //ERP搴撳瓨鏁伴噺
+            string sWhName = "";    //浠撳簱鍚嶇О
+            string sSPName = "";    //浠撲綅鍚嶇О
             if (omodel_View.HBarCodeType == "鍞竴鏉$爜")
             {
                 //鍒ゆ柇鏉$爜搴撳瓨    搴撳瓨鎺у埗-WMS璐熷簱瀛樻帶鍒�
                 if (oSystemParameterMain.WMS_WMSStockCtl == "Y" && HBillType != "1251")
                 {
-                    //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
-                    DataSet DsWMS = oCn.RunProcReturn("exec h_p_KF_ICInventory_WMS_GetWHAndSP " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString(), "h_p_KF_ICInventory_WMS_GetWHAndSP");
+                    //鍒ゆ柇鏉$爜搴撳瓨   杩斿洖鏉$爜搴撳瓨鏁伴噺
+                    DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory");
                     if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0)
                     {
-                        sRelQty = 0;
+                        sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛� " + omodel_View.HBarCode + " 锛屾棤鏉$爜搴撳瓨锛�";
+                        return false;
                     }
                     else
                     {
                         HSCWHID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HWhID"]);
                         HSCSPID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HSPID"]);
-                        sWMSQty = DBUtility.ClsPub.isDoule(DsWMS.Tables[0].Rows[0]["HKFQty"]);
-                        //鍒ゆ柇鎵弿鏉$爜鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
-                        if (sRelQty > sWMSQty)
+                        sWMSQty = DBUtility.ClsPub.isDoule(DsWMS.Tables[0].Rows[0]["HQty"]);
+                        sWhName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HWhName"]);
+                        sSPName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HSPName"]);
+
+                        if (sWMSQty <= 0)
+                        {
+                            sErrMsg = "鎵�鎵弿鐗╂枡鏉$爜锛�" + omodel_View.HBarCode + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犳潯鐮佸簱瀛橈紒";
+                            return false;
+                        }
+                        //鍒ゆ柇鎵弿鏁伴噺涓庢潯鐮佸簱瀛樻暟閲�
+                        else if (sRelQty > sWMSQty)
                         {
                             sRelQty = sWMSQty;
                         }
@@ -43619,31 +43632,29 @@
             if (oSystemParameterMain.WMS_ERPStockCtl == "Y" && HBillType != "1251")
             {
                 //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
-                DataSet DsERP = oCn.RunProcReturn("exec h_p_IF_CheckQtyByERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + omodel_View.HMaterID.ToString() + "," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + sRelQty.ToString() + "," + HStockOutOrgID.ToString(), "h_p_IF_CheckQtyByERPICInventory");
+                DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + HMaterNumber + "'," + omodel_View.HAuxPropID.ToString() + ",'" + omodel_View.HBatchNo + "'," + HSCWHID.ToString() + "," + HSCSPID.ToString() + "," + HStockOutOrgID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory");
                 if (DsERP == null || DsERP.Tables[0].Rows.Count == 0)
                 {
-                    sErrMsg = "鍒ゆ柇ERP搴撳瓨锛屽彂鐢熼敊璇紒";
+                    sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛� " + HMaterNumber + " 锛屾棤閲戣澏搴撳瓨锛�";
                     return false;
                 }
                 else
                 {
-                    if (DBUtility.ClsPub.isLong(DsERP.Tables[0].Rows[0][0]) == 0)
+                    sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
+                    sWhName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HWhName"]);
+                    sSPName = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HSPName"]);
+
+                    if (sERPQty <= 0)
                     {
-                        sERPQty = DBUtility.ClsPub.isDoule(DsERP.Tables[0].Rows[0]["HQty"]);
-                        sRelQty = sERPQty;
-                    }
-                    else
-                    {
-                        sErrMsg = DBUtility.ClsPub.isStrNull(DsERP.Tables[0].Rows[0]["HRemark"]);
+                        sErrMsg = "鎵�鎵弿鏉$爜瀵瑰簲鐗╂枡浠g爜锛�" + HMaterNumber + " 锛屽湪浠撳簱[ " + sWhName + " ]銆佷粨浣峓 " + sSPName + " ]涓紝鏃犻噾铦跺簱瀛橈紒";
                         return false;
                     }
+                    //鍒ゆ柇鎵弿鏁伴噺涓庨噾铦跺簱瀛樻暟閲�
+                    else if (sRelQty > sERPQty)
+                    {
+                        sRelQty = sERPQty;
+                    }
                 }
-            }
-
-            if (sRelQty == 0)
-            {
-                sErrMsg = "鍚敤鏉$爜搴撳瓨鎺у埗锛屾墍鎵弿鏉$爜鏃犳潯鐮佸簱瀛橈紒";
-                return false;
             }
 
             if(HWhID ==HSCWHID && HSPID == HSCSPID)

--
Gitblit v1.9.1