From bc3d264b8e3e54d372608bcbddc1d260f20af68d Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期五, 03 一月 2025 15:20:53 +0800
Subject: [PATCH] 其他入库、销售出库、委外领料、其他出库、生产补料、委外补料扫码校验上传方法新增修改完善;校验模块所调用扫描单据条码、物料条码方法修改完善

---
 CLOUDWEB/WebService1.asmx.cs | 1367 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 1,202 insertions(+), 165 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index a408d6b..0170dbb 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -18511,52 +18511,83 @@
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return false;
             }
-
-            //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
-            if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode.ToUpper() == "WISE")
             {
-                if (set_SaveSellOutBill_CLD_BillCheck_Verify(oMain, ref sErrMsg) == true)
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
                 {
-                    //涓婁紶鎴愬姛
-                    return true;
+                    if (set_SaveSellOutBill_CLD_BillCheck_Verify(oMain, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
                 }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
                 else
                 {
-                    //涓婁紶澶辫触
-                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
-                    return false;
+                    if (set_SaveSellOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
                 }
             }
-            //鍘熷崟鎹潪鎵爜鐢熸垚
-            else
+            else if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
             {
-                if (set_SaveSellOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
                 {
-                    //涓婁紶鎴愬姛
-                    return true;
-                }
-                else
-                {
-                    //涓婁紶澶辫触
-                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
                     return false;
                 }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveSellOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else
+            {
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
+                return false;
             }
         }
 
-        //鍘熷崟鎹潪鎵爜鐢熸垚
-        private bool set_SaveSellOutBill_CLD_BillCheck(Model.ClsKf_SellOutBillMain oMain, ref string sErrMsg)
+        //CLOUD 鍘熷崟鎹潪鎵爜鐢熸垚
+        private bool set_SaveSellOutBill_CLD_BillCheck(Model.ClsKf_SellOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
-            //鑾峰彇绯荤粺鍙傛暟
-            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
-            {
-                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
-                return false;
-            }
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_SellOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_SellOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_SellOutBillCheck");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_SellOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_SellOutBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -18597,7 +18628,7 @@
                     sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
                 }
 
-                if (oSystemParameter.omodel.Kf_SellOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                if (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                 {
                     string HReturn;
                     ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
@@ -18618,13 +18649,24 @@
 
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn;
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             sErrMsg = "瀹℃牳閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                             oCn.Commit();
                             return true;
                         }
@@ -18685,7 +18727,17 @@
 
                             if (HReturn.Contains("\"IsSuccess\":false") == true)
                             {
-                                sErrMsg = "淇敼閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson;
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼閿�鍞嚭搴撳崟澶辫触锛�" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                 oCn.RollBack();
                                 return false;
                             }
@@ -18705,7 +18757,17 @@
 
                                 if (HReturn.Contains("\"IsSuccess\":false") == true)
                                 {
-                                    sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson;
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                     oCn.RollBack();
                                     return false;
                                 }
@@ -18714,6 +18776,7 @@
                                     //閲嶆柊鍚屾閿�鍞嚭搴撳崟
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_SellOut '" + oMain.HBillNo + "'");
                                     sErrMsg = "淇敼骞跺鏍搁攢鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍搁攢鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                                     oCn.Commit();
                                     return true;
                                 }
@@ -18736,7 +18799,7 @@
             }
         }
 
-        //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+        //CLOUD 鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
         private bool set_SaveSellOutBill_CLD_BillCheck_Verify(Model.ClsKf_SellOutBillMain oMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -18802,13 +18865,24 @@
 
                     if (HReturn.Contains("\"IsSuccess\":false") == true)
                     {
-                        sErrMsg = "瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn;
+                        //鍙嶅簭鍒楀寲json鏁版嵁
+                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                        //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                        var strErrorMsg = string.Empty;
+                        //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                        foreach (var item in retModel.Result.ResponseStatus.Errors)
+                        {
+                            strErrorMsg += item.Message + "\r\n";
+                        };
+                        sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + strErrorMsg;
+                        LogService.Write("鏍稿鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + HReturn);   //鍐欏叆txt鏂囨湰
                         oCn.RollBack();
                         return false;
                     }
                     else
                     {
                         sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        LogService.Write("鏍稿鏍¢獙瀹℃牳閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                         oCn.Commit();
                         return true;
                     }
@@ -18823,6 +18897,46 @@
             catch (Exception e)
             {
                 sErrMsg = "鏍¢獙瀹℃牳閿�鍞嚭搴撳崟澶辫触锛�" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveSellOutBill_WMS_BillCheck(Model.ClsKf_SellOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_SellOutBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_SellOutBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                LogService.Write("鏍¢獙閿�鍞嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙閿�鍞嚭搴撳崟澶辫触锛�" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -22449,31 +22563,81 @@
         [WebMethod]
         public bool set_SaveMateReplenishOutBill_BillCheck(Model.ClsKf_MateReplenishOutBillMain oMain, ref string sErrMsg)
         {
-            if (set_SaveMateReplenishOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
-            {
-                //涓婁紶鎴愬姛
-                return true;
-            }
-            else
-            {
-                //涓婁紶澶辫触
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
-                return false;
-            }
-        }
-
-        private bool set_SaveMateReplenishOutBill_CLD_BillCheck(Model.ClsKf_MateReplenishOutBillMain oMain, ref string sErrMsg)
-        {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
             {
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return false;
             }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveMateReplenishOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveMateReplenishOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else
+            {
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
+                return false;
+            }
+        }
+
+        //CLOUD 鍘熷崟鎹潪鎵爜鐢熸垚
+        private bool set_SaveMateReplenishOutBill_CLD_BillCheck(Model.ClsKf_MateReplenishOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateReplenishOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_MateReplenishOutBillCheck");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateReplenishOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_MateReplenishOutBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -22514,7 +22678,7 @@
                     sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
                 }
 
-                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                 {
                     string HReturn;
                     ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
@@ -22535,13 +22699,24 @@
 
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn;
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             sErrMsg = "瀹℃牳鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                             oCn.Commit();
                             return true;
                         }
@@ -22602,7 +22777,17 @@
 
                             if (HReturn.Contains("\"IsSuccess\":false") == true)
                             {
-                                sErrMsg = "淇敼鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼鐢熶骇琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                 oCn.RollBack();
                                 return false;
                             }
@@ -22622,7 +22807,17 @@
 
                                 if (HReturn.Contains("\"IsSuccess\":false") == true)
                                 {
-                                    sErrMsg = "鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳鐢熶骇琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                     oCn.RollBack();
                                     return false;
                                 }
@@ -22631,6 +22826,7 @@
                                     //閲嶆柊鍚屾閿�鍞嚭搴撳崟
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_MateReplenishOut '" + oMain.HBillNo + "'");
                                     sErrMsg = "淇敼骞跺鏍哥敓浜цˉ鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍哥敓浜цˉ鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                                     oCn.Commit();
                                     return true;
                                 }
@@ -22653,6 +22849,46 @@
             }
         }
 
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveMateReplenishOutBill_WMS_BillCheck(Model.ClsKf_MateReplenishOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateReplenishOutBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_MateReplenishOutBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                LogService.Write("鏍¢獙鐢熶骇琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙鐢熶骇琛ユ枡鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
         #endregion
 
         #region 濮斿琛ユ枡   鏍¢獙妯″紡*
@@ -22661,22 +22897,6 @@
         [WebMethod]
         public bool set_SaveEntrustReplenishOutBill_BillCheck(Model.ClsKf_EntrustReplenishOutBillMain oMain, ref string sErrMsg)
         {
-            if (set_SaveEntrustReplenishOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
-            {
-                //涓婁紶鎴愬姛
-                return true;
-            }
-            else
-            {
-                //涓婁紶澶辫触
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
-                return false;
-            }
-        }
-
-        private bool set_SaveEntrustReplenishOutBill_CLD_BillCheck(Model.ClsKf_EntrustReplenishOutBillMain oMain, ref string sErrMsg)
-        {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
@@ -22684,8 +22904,74 @@
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return false;
             }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveEntrustReplenishOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveEntrustReplenishOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else
+            {
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
+                return false;
+            }
+        }
+
+        //CLOUD 鍘熷崟鎹潪鎵爜鐢熸垚
+        private bool set_SaveEntrustReplenishOutBill_CLD_BillCheck(Model.ClsKf_EntrustReplenishOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -22732,7 +23018,7 @@
                     //鍐欏叆鏉$爜鍑哄叆搴撹〃
                     oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
 
-                    if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                    if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                     {
                         //鎻愪氦鍗曟嵁
                         string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
@@ -22747,13 +23033,24 @@
 
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn;
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             sErrMsg = "瀹℃牳濮斿琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳濮斿琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                             oCn.Commit();
                             return true;
                         }
@@ -22800,7 +23097,17 @@
 
                             if (HReturn.Contains("\"IsSuccess\":false") == true)
                             {
-                                sErrMsg = "淇敼濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼濮斿琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                 oCn.RollBack();
                                 return false;
                             }
@@ -22820,7 +23127,17 @@
 
                                 if (HReturn.Contains("\"IsSuccess\":false") == true)
                                 {
-                                    sErrMsg = "鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                     oCn.RollBack();
                                     return false;
                                 }
@@ -22829,6 +23146,7 @@
                                     //閲嶆柊鍚屾濮斿琛ユ枡鍗�
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_EntrustReplenishOut '" + oMain.HBillNo + "'");
                                     sErrMsg = "淇敼骞跺鏍稿澶栬ˉ鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍稿澶栬ˉ鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                                     oCn.Commit();
                                     return true;
                                 }
@@ -22846,6 +23164,46 @@
             else
             {
                 sErrMsg = "鏍¢獙瀹℃牳濮斿琛ユ枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveEntrustReplenishOutBill_WMS_BillCheck(Model.ClsKf_EntrustReplenishOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_EntrustReplenishOutBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙濮斿琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                LogService.Write("鏍¢獙濮斿琛ユ枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙濮斿琛ユ枡鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -24954,22 +25312,6 @@
         [WebMethod]
         public bool set_SaveEntrustOutBill_BillCheck(Model.ClsKf_EntrustOutBillMain oMain, ref string sErrMsg)
         {
-            if (set_SaveEntrustOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
-            {
-                //涓婁紶鎴愬姛
-                return true;
-            }
-            else
-            {
-                //涓婁紶澶辫触
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
-                return false;
-            }
-        }
-
-        private bool set_SaveEntrustOutBill_CLD_BillCheck(Model.ClsKf_EntrustOutBillMain oMain, ref string sErrMsg)
-        {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
             if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
@@ -24977,8 +25319,74 @@
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return false;
             }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveEntrustOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveEntrustOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else
+            {
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
+                return false;
+            }
+        }
+
+        //CLOUD 鍘熷崟鎹潪鎵爜鐢熸垚
+        private bool set_SaveEntrustOutBill_CLD_BillCheck(Model.ClsKf_EntrustOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_EntrustOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_EntrustOutBillCheck");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_EntrustOutBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -25025,7 +25433,7 @@
                     //鍐欏叆鏉$爜鍑哄叆搴撹〃
                     oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
 
-                    if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                    if (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                     {
                         //鎻愪氦鍗曟嵁
                         string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
@@ -25040,13 +25448,24 @@
 
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn;
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
                             sErrMsg = "瀹℃牳濮斿棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳濮斿棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                             oCn.Commit();
                             return true;
                         }
@@ -25093,7 +25512,17 @@
 
                             if (HReturn.Contains("\"IsSuccess\":false") == true)
                             {
-                                sErrMsg = "淇敼濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼濮斿棰嗘枡鍗曞け璐ワ紒" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                 oCn.RollBack();
                                 return false;
                             }
@@ -25113,7 +25542,17 @@
 
                                 if (HReturn.Contains("\"IsSuccess\":false") == true)
                                 {
-                                    sErrMsg = "鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson;
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                     oCn.RollBack();
                                     return false;
                                 }
@@ -25122,6 +25561,7 @@
                                     //閲嶆柊鍚屾濮斿棰嗘枡鍗�
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_EntrustOut '" + oMain.HBillNo + "'");
                                     sErrMsg = "淇敼骞跺鏍稿澶栭鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍稿澶栭鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                                     oCn.Commit();
                                     return true;
                                 }
@@ -25139,6 +25579,46 @@
             else
             {
                 sErrMsg = "鏍¢獙瀹℃牳濮斿棰嗘枡鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveEntrustOutBill_WMS_BillCheck(Model.ClsKf_EntrustOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_EntrustOutBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_EntrustOutBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙濮斿棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                LogService.Write("鏍¢獙濮斿棰嗘枡鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙濮斿棰嗘枡鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -27045,24 +27525,81 @@
         [WebMethod]
         public bool set_SaveOtherOutBill_BillCheck(Model.ClsKf_OtherOutBillMain oMain, ref string sErrMsg)
         {
-            if (set_SaveOtherOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
             {
-                //涓婁紶鎴愬姛
-                return true;
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveOtherOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveOtherOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
             }
             else
             {
-                //涓婁紶澶辫触
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
                 return false;
             }
         }
 
-        public bool set_SaveOtherOutBill_CLD_BillCheck(Model.ClsKf_OtherOutBillMain oMain, ref string sErrMsg)
+        //鍘熷崟鎹潪鎵爜鐢熸垚
+        public bool set_SaveOtherOutBill_CLD_BillCheck(Model.ClsKf_OtherOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_PreUploadJudgmentBillCheck_OtherOut " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_PreUploadJudgmentBillCheck_OtherOut");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_OtherOutBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -27072,7 +27609,7 @@
             {
                 if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
                 {
-                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                     return false;
                 }
             }
@@ -27103,46 +27640,212 @@
                     sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
                 }
 
-                //鐢熸垚 鍏朵粬鍑哄簱鍗�
-                string HReturn;
-                ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
-                string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
-                bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
-                if (bLogin)
+                if (oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                 {
-                    //鎻愪氦鍗曟嵁
-                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
-                    new object[] { "STK_MisDelivery", sJson2 });
-                    //瀹℃牳鍗曟嵁
-                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
-                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
-                    new object[] { "STK_MisDelivery", sJson3 });
-
-                    HReturn = result2.ToString() + "," + result3.ToString();
-
-                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    string HReturn;
+                    ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+                    string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+                    bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                    if (bLogin)
                     {
-                        sErrMsg = "瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn;
+                        //鎻愪氦鍗曟嵁
+                        string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                        var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                        new object[] { "STK_MisDelivery", sJson2 });
+                        //瀹℃牳鍗曟嵁
+                        string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                        var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                        new object[] { "STK_MisDelivery", sJson3 });
+
+                        HReturn = result3.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
+                            oCn.RollBack();
+                            return false;
+                        }
+                        else
+                        {
+                            sErrMsg = "瀹℃牳鍏朵粬鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                            oCn.Commit();
+                            return true;
+                        }
+                    }
+                    else
+                    {
+                        sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                        oCn.RollBack();
+                        return false;
+                    }
+                }
+                else
+                {
+                    //鏍规嵁TMP琛� 杩斿洖 淇敼淇℃伅
+                    DataSet Ds2;
+                    Ds2 = oCn.RunProcReturn("exec h_p_Kf_GetOtherOutBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetOtherOutBillCheck");
+                    if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0)
+                    {
+                        sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
                         oCn.RollBack();
                         return false;
                     }
                     else
                     {
-                        oCn.Commit();
-                        return true;
+                        string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[\"FEntity\",\"FQty\"]," +
+                            "\"NeedReturnFields\":[],\"IsDeleteEntry\":\"false\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\"," +
+                            "\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\"," +
+                            "\"Model\":{ \"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[0].Rows[0]["FID"]) + "\"," +
+                            "\"FEntity\":[";
+                        string sJson_Entry = "";
+                        for (int i = 0; i < Ds2.Tables[1].Rows.Count; i++)
+                        {
+                            if (sJson_Entry != "")
+                            {
+                                sJson_Entry = sJson_Entry + " , ";
+                            }
+
+                            sJson_Entry = sJson_Entry + "{" +
+                            "\"FEntryID\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FEntryID"]) + "\"," +
+                            "\"FQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds2.Tables[1].Rows[i]["FQty"]) + "\" " +
+                            "}";
+                        }
+                        string sJson_End = "  ]  }}";
+                        string sJson = sJson_Main + sJson_Entry + sJson_End;
+
+                        //楠岃瘉鐢ㄦ埛淇℃伅
+                        string HReturn;
+                        ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
+                        string dbId = Pub_Class.ClsPub.sCLOUDAcc; //AotuTest117
+                        bool bLogin = client.Login(dbId, sCLOUDUseName, sCLOUDPsd, 2052);
+                        if (bLogin)
+                        {
+                            //淇敼鍗曟嵁
+                            var result = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save",
+                            new object[] { "STK_MisDelivery", sJson });
+
+                            HReturn = result.ToString();
+
+                            if (HReturn.Contains("\"IsSuccess\":false") == true)
+                            {
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼鍏朵粬鍑哄簱鍗曞け璐ワ紒" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                                oCn.RollBack();
+                                return false;
+                            }
+                            else
+                            {
+                                HReturn = "";
+                                //鎻愪氦鍗曟嵁
+                                string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                                var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                                new object[] { "STK_MisDelivery", sJson2 });
+                                //瀹℃牳鍗曟嵁
+                                string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                                var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                                new object[] { "STK_MisDelivery", sJson3 });
+
+                                HReturn = result3.ToString();
+
+                                if (HReturn.Contains("\"IsSuccess\":false") == true)
+                                {
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                                    oCn.RollBack();
+                                    return false;
+                                }
+                                else
+                                {
+                                    //閲嶆柊鍚屾鍏朵粬鍑哄簱鍗�
+                                    oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherOut '" + oMain.HBillNo + "'");
+                                    sErrMsg = "淇敼骞跺鏍稿叾浠栧嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍稿叾浠栧嚭搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                                    oCn.Commit();
+                                    return true;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                            oCn.RollBack();
+                            return false;
+                        }
                     }
-                }
-                else
-                {
-                    sErrMsg = "瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒鐧诲綍澶辫触锛�";
-                    oCn.RollBack();
-                    return false;
                 }
             }
             catch (Exception e)
             {
-                sErrMsg = "瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveOtherOutBill_WMS_BillCheck(Model.ClsKf_OtherOutBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherOutBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_OtherOutBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙鍏朵粬鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                LogService.Write("鏍¢獙鍏朵粬鍑哄簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙鍏朵粬鍑哄簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -37478,33 +38181,90 @@
         [WebMethod]
         public bool set_SaveOtherInBill_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
         {
-            if (set_SaveOtherInBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
-            {
-                //涓婁紶鎴愬姛
-                return true;
-            }
-            else
-            {
-                //涓婁紶澶辫触
-                sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
-                return false;
-            }
-        }
-
-        //鍘熷崟鎹潪鎵爜鐢熸垚
-        [WebMethod]
-        public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
-        {
-            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
             //鑾峰彇绯荤粺鍙傛暟
             Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
-            if (oSystemParameter.ShowBill(ref sErrMsg) == false)
+            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
             {
                 sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                 return false;
             }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    if (set_SaveOtherInBill_CLD_BillCheck_Verify(oMain, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveOtherInBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveOtherInBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+            }
+            else
+            {
+                sErrMsg = "WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬪搴旂郴缁熷弬鏁拌缃敊璇紒";
+                return false;
+            }
+        }
+
+        //CLOUD 鍘熷崟鎹潪鎵爜鐢熸垚
+        public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
             //涓婁紶鍓嶅垽鏂�
-            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck");
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck");
             if (Ds == null || Ds.Tables[0].Rows.Count == 0)
             {
                 sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
@@ -37545,7 +38305,7 @@
                     sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
                 }
 
-                if (oSystemParameter.omodel.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                if (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
                 {
                     string HReturn;
                     ApiClient client = new ApiClient(Pub_Class.ClsPub.sCLOUDUrl);
@@ -37566,13 +38326,24 @@
 
                         if (HReturn.Contains("\"IsSuccess\":false") == true)
                         {
-                            sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn;
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + strErrorMsg;
+                            LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
                             oCn.RollBack();
                             return false;
                         }
                         else
                         {
-                            sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                            sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                            LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                             oCn.Commit();
                             return true;
                         }
@@ -37633,7 +38404,17 @@
 
                             if (HReturn.Contains("\"IsSuccess\":false") == true)
                             {
-                                sErrMsg = "淇敼鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                                //鍙嶅簭鍒楀寲json鏁版嵁
+                                var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                var strErrorMsg = string.Empty;
+                                //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                {
+                                    strErrorMsg += item.Message + "\r\n";
+                                };
+                                sErrMsg = "鏍¢獙淇敼鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + strErrorMsg;
+                                LogService.Write("鏍¢獙淇敼鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                 oCn.RollBack();
                                 return false;
                             }
@@ -37653,7 +38434,17 @@
 
                                 if (HReturn.Contains("\"IsSuccess\":false") == true)
                                 {
-                                    sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson;
+                                    //鍙嶅簭鍒楀寲json鏁版嵁
+                                    var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                                    //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                                    var strErrorMsg = string.Empty;
+                                    //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                                    foreach (var item in retModel.Result.ResponseStatus.Errors)
+                                    {
+                                        strErrorMsg += item.Message + "\r\n";
+                                    };
+                                    sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + strErrorMsg;
+                                    LogService.Write("鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
                                     oCn.RollBack();
                                     return false;
                                 }
@@ -37662,6 +38453,7 @@
                                     //閲嶆柊鍚屾鍏朵粬鍏ュ簱鍗�
                                     oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherIn '" + oMain.HBillNo + "'");
                                     sErrMsg = "淇敼骞跺鏍稿叾浠栧叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍稿叾浠栧叆搴撳崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                                     oCn.Commit();
                                     return true;
                                 }
@@ -37684,8 +38476,7 @@
             }
         }
 
-        //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
-        [WebMethod]
+        //CLOUD 鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
         public bool set_SaveOtherInBill_CLD_BillCheck_Verify(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
         {
             SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -37751,13 +38542,24 @@
 
                     if (HReturn.Contains("\"IsSuccess\":false") == true)
                     {
-                        sErrMsg = "瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn;
+                        //鍙嶅簭鍒楀寲json鏁版嵁
+                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                        //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                        var strErrorMsg = string.Empty;
+                        //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                        foreach (var item in retModel.Result.ResponseStatus.Errors)
+                        {
+                            strErrorMsg += item.Message + "\r\n";
+                        };
+                        sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + strErrorMsg;
+                        LogService.Write("鏍稿鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + HReturn);   //鍐欏叆txt鏂囨湰
                         oCn.RollBack();
                         return false;
                     }
                     else
                     {
                         sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                        LogService.Write("鏍稿鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
                         oCn.Commit();
                         return true;
                     }
@@ -37772,6 +38574,46 @@
             catch (Exception e)
             {
                 sErrMsg = "鏍¢獙瀹℃牳鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveOtherInBill_WMS_BillCheck(Model.ClsKf_OtherInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck_WMS");
+            if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "鏍¢獙涓婁紶鍓嶅垽鏂紝鍙戠敓閿欒锛�";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0][0]) == 1)
+                {
+                    sErrMsg = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鏉$爜鍑哄叆搴撹〃
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Insert_New " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "'");
+
+                sErrMsg = "鏍¢獙鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                LogService.Write("鏍¢獙鍏朵粬鍏ュ簱鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                oCn.Commit();
+                return true;
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙鍏朵粬鍏ュ簱鍗曞け璐ワ紒" + e.Message;
                 oCn.RollBack();
                 return false;
             }
@@ -54756,6 +55598,7 @@
             }
             string sSourceBarCodeCtl = "N";     //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
             string sWHSPCtl = "Y";              //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+            string sERPMode = "CLOUD";          //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
 
             #region 绯荤粺鍙傛暟鑾峰彇
             //閲囪喘鍏ュ簱鍗�
@@ -54771,6 +55614,19 @@
                 {
                     sSourceBarCodeCtl = "Y";
                 }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_POStockInBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_POStockInBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
             }
             //鐢熶骇鍏ュ簱鍗�
             else if (HBillType == "1202")
@@ -54784,6 +55640,19 @@
                 if (oSystemParameter.omodel.Kf_ProductInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                 {
                     sSourceBarCodeCtl = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_ProductInBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_ProductInBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
                 }
             }
             //鍏朵粬鍏ュ簱鍗�
@@ -54799,6 +55668,19 @@
                 {
                     sSourceBarCodeCtl = "Y";
                 }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
             }
             //棰嗘枡鍑哄簱鍗�
             else if (HBillType == "1204")
@@ -54812,6 +55694,19 @@
                 if (oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                 {
                     sSourceBarCodeCtl = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_MateOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_MateOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
                 }
             }
             //閿�鍞嚭搴撳崟
@@ -54827,6 +55722,19 @@
                 {
                     sSourceBarCodeCtl = "Y";
                 }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
             }
             //鍏朵粬鍑哄簱鍗�
             else if (HBillType == "1206")
@@ -54840,6 +55748,19 @@
                 if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                 {
                     sSourceBarCodeCtl = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
                 }
             }
             //濮斿棰嗘枡鍗�
@@ -54855,6 +55776,19 @@
                 {
                     sSourceBarCodeCtl = "Y";
                 }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
             }
             //鐢熶骇琛ユ枡鍗�
             else if (HBillType == "1254")
@@ -54868,6 +55802,19 @@
                 if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                 {
                     sSourceBarCodeCtl = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
                 }
             }
             //濮斿琛ユ枡鍗�
@@ -54883,6 +55830,19 @@
                 {
                     sSourceBarCodeCtl = "Y";
                 }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
             }
             //鐩存帴璋冩嫧鍗�
             else if (HBillType == "1207")
@@ -54896,6 +55856,19 @@
                 if (oSystemParameter.omodel.Kf_MoveStockBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                 {
                     sSourceBarCodeCtl = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_MoveStockBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
                 }
             }
             #endregion
@@ -54937,7 +55910,7 @@
             else
             {
                 //灏嗗崟鎹俊鎭啓鍏ユ潯鐮佸嚭鍏ュ簱涓存椂琛↘F_PonderationBillMain_Temp
-                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck_New '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString() + ",'" + sWHSPCtl + "'", "h_p_WMS_AddBillBarCode_BillCheck_New");
+                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck_New '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString() + ",'" + sWHSPCtl + "','" + sERPMode + "'", "h_p_WMS_AddBillBarCode_BillCheck_New");
                 if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
                 {
                     sErrMsg = "鍗曟嵁鍙凤細" + HBillNo + "锛涘皢鍗曟嵁淇℃伅鍐欏叆鏉$爜鍑哄叆搴撲复鏃惰〃澶辫触锛�";
@@ -55480,6 +56453,7 @@
             string sMultilineCtl = "N";           //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
             string sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";  //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
             string sOneScanCtl = "N";             //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+            string sERPStockCtl = "N";            //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
 
             #region 绯荤粺鍙傛暟鑾峰彇
             //閲囪喘鍏ュ簱鍗�
@@ -55609,6 +56583,15 @@
                 {
                     sOneScanCtl = "Y";
                 }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_MateOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
+                }
             }
             //閿�鍞嚭搴撳崟
             else if (HBillType == "1205")
@@ -55640,6 +56623,15 @@
                 if (oSystemParameterMain.Kf_SellOutBill_BillTypeOneScan.ToUpper() == "Y")
                 {
                     sOneScanCtl = "Y";
+                }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_SellOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
                 }
             }
             //鍏朵粬鍑哄簱鍗�
@@ -55673,6 +56665,15 @@
                 {
                     sOneScanCtl = "Y";
                 }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_OtherOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
+                }
             }
             //濮斿棰嗘枡鍗�
             else if (HBillType == "1211")
@@ -55704,6 +56705,15 @@
                 if (oSystemParameterMain.Kf_EntrustOutBill_BillTypeOneScan.ToUpper() == "Y")
                 {
                     sOneScanCtl = "Y";
+                }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_EntrustOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
                 }
             }
             //鐢熶骇琛ユ枡鍗�
@@ -55737,6 +56747,15 @@
                 {
                     sOneScanCtl = "Y";
                 }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
+                }
             }
             //濮斿琛ユ枡鍗�
             else if (HBillType == "1255")
@@ -55769,6 +56788,15 @@
                 {
                     sOneScanCtl = "Y";
                 }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
+                }
             }
             //鐩存帴璋冩嫧鍗�
             else if (HBillType == "1207")
@@ -55800,6 +56828,15 @@
                 if (oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan.ToUpper() == "Y")
                 {
                     sOneScanCtl = "Y";
+                }
+                //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�
+                if (oSystemParameterMain.Kf_MoveStockBillCheck_ERPMode == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                {
+                    sERPStockCtl = "Y";
+                }
+                else
+                {
+                    sERPStockCtl = "N";
                 }
             }
             #endregion
@@ -55916,7 +56953,7 @@
                 }
 
                 //搴撳瓨鎺у埗-ERP璐熷簱瀛樻帶鍒�     閲戣澏浜戠鏈変簯妯″紡
-                if (oSystemParameterMain.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y")
+                if (sERPStockCtl == "Y")
                 {
                     //鍒ゆ柇ERP搴撳瓨   杩斿洖ERP搴撳瓨鏁伴噺
                     DataSet DsERP = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetERPICInventory_New " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddBarCode_GetERPICInventory_New");

--
Gitblit v1.9.1