From acf4ffab05198d66399b7d3786a5ca6b8364138f Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 15 一月 2026 15:03:41 +0800
Subject: [PATCH] 新增生产退料校验扫码上传调用方法,校验模块扫描单据条码、物料条码,返回缓存列表信息调用方法修改

---
 CLOUDWEB/WebService1.asmx.cs |  921 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 921 insertions(+), 0 deletions(-)

diff --git a/CLOUDWEB/WebService1.asmx.cs b/CLOUDWEB/WebService1.asmx.cs
index f5c018b..71e2c85 100644
--- a/CLOUDWEB/WebService1.asmx.cs
+++ b/CLOUDWEB/WebService1.asmx.cs
@@ -24513,6 +24513,462 @@
 
         #endregion
 
+        #region 鐢熶骇閫�鏂�    鐢熶骇棰嗘枡锛堢孩瀛楋級    鏍¢獙妯″紡*
+
+        //鏍¢獙鐢熶骇閫�鏂欏崟
+        [WebMethod]
+        public bool set_SaveMateOutBackBill_BillCheck(Model.ClsKf_ICStockBillMain oMain, ref string sErrMsg)
+        {
+            //鑾峰彇绯荤粺鍙傛暟
+            Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+            if (oSystemParameter.ShowBillByOrgID(oMain.HSTOCKORGID, ref sErrMsg) == false)
+            {
+                sErrMsg = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                return false;
+            }
+            //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆丮ES锛�
+            if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_ERPMode.ToUpper() == "WISE")
+            {
+                sErrMsg = "鏆傛棤姝ゅ姛鑳斤紒";
+                return false;
+            }
+            else if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_ERPMode.ToUpper() == "CLOUD")
+            {
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛堝彧鎵弿婧愬崟杩涜瀹℃牳锛屼笉鎵弿鐗╂枡鏉$爜锛�
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_AutoBarCode == "Y"
+                    || oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    if (set_SaveMateOutBackBill_CLD_BillCheck_Verify(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
+                    {
+                        //涓婁紶鎴愬姛
+                        return true;
+                    }
+                    else
+                    {
+                        //涓婁紶澶辫触
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛涗笂浼犲崟鎹け璐ワ紒" + sErrMsg;
+                        return false;
+                    }
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveMateOutBackBill_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_MateOutBackBillCheck_ERPMode.ToUpper() == "WMS")  //鍙敓鎴怶MS鍗曟嵁
+            {
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛堝彧鎵弿婧愬崟杩涜瀹℃牳锛屼笉鎵弿鐗╂枡鏉$爜锛�
+                //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_AutoBarCode == "Y"
+                    || oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl == "Y")
+                {
+                    sErrMsg = "鏆備笉鏀寔鎵爜鐢熸垚鍗曟嵁鐨勬牎楠屽姛鑳斤紒";
+                    return false;
+                }
+                //鍘熷崟鎹潪鎵爜鐢熸垚
+                else
+                {
+                    if (set_SaveMateOutBackBill_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_SaveMateOutBackBill_CLD_BillCheck(Model.ClsKf_ICStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateOutBackBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_MateOutBackBillCheck_MustQtyCtl + "'", "h_p_WMS_BeforeUpload_MateOutBackBillCheck");
+            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 = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + 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 + "'");
+
+                //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+                if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+                {
+                    sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                    return false;
+                }
+
+                //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+                string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+                string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+
+                //浠庣敤鎴疯〃鑾峰彇鐢ㄦ埛缁戝畾閲戣澏璐﹀彿
+                DataSet ds11 = oCn.RunProcReturn("exec h_p_API_GetCloudUserByLoginUser '" + oMain.HMaker + "'", "h_p_API_GetCloudUserByLoginUser");
+                if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
+                    sCLOUDPsd = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserPsd"]);
+                }
+
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_MustQtyCtl == "瀹屽叏绛変簬搴旀敹")
+                {
+                    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)
+                    {
+                        //鎻愪氦鍗曟嵁
+                        string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                        var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                        new object[] { "PRD_ReturnMtrl", sJson2 });
+                        //瀹℃牳鍗曟嵁
+                        string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                        var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                        new object[] { "PRD_ReturnMtrl", 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_GetMateOutBackBillCheck " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "'", "h_p_Kf_GetMateOutBackBillCheck");
+                    if (Ds2 == null || Ds2.Tables[0].Rows.Count == 0 || Ds2.Tables[1].Rows.Count == 0)
+                    {
+                        sErrMsg = "鑾峰彇瀛愯〃淇℃伅澶辫触锛�";
+                        oCn.RollBack();
+                        return false;
+                    }
+                    else
+                    {
+                        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[] { "PRD_ReturnMtrl", 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[] { "PRD_ReturnMtrl", sJson2 });
+                                //瀹℃牳鍗曟嵁
+                                string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                                var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                                new object[] { "PRD_ReturnMtrl", 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_MateOutBack '" + oMain.HBillNo + "'");
+                                    sErrMsg = "淇敼骞跺鏍哥敓浜ч��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                                    LogService.Write("鏍¢獙淇敼骞跺鏍哥敓浜ч��鏂欏崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo);   //鍐欏叆txt鏂囨湰
+                                    oCn.Commit();
+                                    return true;
+                                }
+                            }
+                        }
+                        else
+                        {
+                            sErrMsg = "鏍¢獙瀹℃牳鐢熶骇閫�鏂欏崟澶辫触锛侀噾铦朵簯鐧诲綍澶辫触锛�";
+                            oCn.RollBack();
+                            return false;
+                        }
+                    }
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙瀹℃牳鐢熶骇閫�鏂欏崟澶辫触锛�" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //CLOUD 鍏嶆壂鐗╂枡鏉$爜妯″紡锛堝彧鎵弿婧愬崟杩涜瀹℃牳锛屼笉鎵弿鐗╂枡鏉$爜锛�
+        //CLOUD 鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿
+        private bool set_SaveMateOutBackBill_CLD_BillCheck_Verify(Model.ClsKf_ICStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateOutBackBillCheck_Verify " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.Kf_MateOutBackBillCheck_AutoBarCode + "'", "h_p_WMS_BeforeUpload_MateOutBackBillCheck_Verify");
+            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 = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
+                    return false;
+                }
+            }
+
+            try
+            {
+                oCn.BeginTran();
+                //鍐欏叆鍑哄叆搴撴牎楠岃〃銆佹潯鐮佸嚭鍏ュ簱鏍¢獙琛�
+                oCn.RunProc("EXEC h_p_Kf_ICStockBillSub_WMS_Verify_Insert " + oMain.HInterID.ToString() + ",'" + oMain.HBillType + "','" + oMain.HBillNo + "','" + oSystemParameterMain.Kf_MateOutBackBillCheck_AutoBarCode + "'");
+
+                //浠庨厤缃枃浠惰幏鍙� CLOUD缃戝潃銆佽处濂椾俊鎭�佺櫥褰曠敤鎴枫�佺櫥褰曞瘑鐮�
+                if (!Pub_Class.ClsPub.GetCLOUDLoginInfo(ref Pub_Class.ClsPub.sExeReturnInfo))
+                {
+                    sErrMsg = Pub_Class.ClsPub.sExeReturnInfo;
+                    return false;
+                }
+
+                //鑾峰彇CLOUD璐﹀彿瀵嗙爜
+                string sCLOUDUseName = Pub_Class.ClsPub.sCLOUDUseName;
+                string sCLOUDPsd = Pub_Class.ClsPub.sCLOUDPsd;
+
+                //浠庣敤鎴疯〃鑾峰彇鐢ㄦ埛缁戝畾閲戣澏璐﹀彿
+                DataSet ds11 = oCn.RunProcReturn("exec h_p_API_GetCloudUserByLoginUser '" + oMain.HMaker + "'", "h_p_API_GetCloudUserByLoginUser");
+                if (ds11 == null || ds11.Tables[0].Rows.Count == 0)
+                {
+                }
+                else
+                {
+                    sCLOUDUseName = DBUtility.ClsPub.isStrNull(ds11.Tables[0].Rows[0]["HCloudUserName"]);
+                    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)
+                {
+                    //鎻愪氦鍗曟嵁
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit",
+                    new object[] { "PRD_ReturnMtrl", sJson2 });
+                    //瀹℃牳鍗曟嵁
+                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
+                    new object[] { "PRD_ReturnMtrl", 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;
+                }
+            }
+            catch (Exception e)
+            {
+                sErrMsg = "鏍¢獙瀹℃牳鐢熶骇閫�鏂欏崟澶辫触锛�" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+        }
+
+        //WMS   鍘熷崟鎹潪鎵爜鐢熸垚    鍙敓鎴怶MS鍗曟嵁
+        private bool set_SaveMateOutBackBill_WMS_BillCheck(Model.ClsKf_ICStockBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_MateOutBackBillCheck_WMS " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "','" + oSystemParameterMain.WMS_WMSStockCtl_ERPMode + "'", "h_p_WMS_BeforeUpload_MateOutBackBillCheck_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 棰嗘枡鍑哄簱        *鏃�
 
         //鐢熸垚棰嗘枡鍑哄簱鍗�
@@ -66678,6 +67134,216 @@
                 //鍏堣繘鍏堝嚭鎺у埗
                 sFIFOCtl = oSystemParameter.omodel.Kf_MoveStockBillCheck_FIFOCtl;
             }
+            //閲囪喘閫�鏂欏崟
+            else if (HBillType == "1239")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_AutoBarCode.ToUpper() == "Y")
+                {
+                    sAutoBarCode = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameter.omodel.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //鐢熶骇閫�搴撳崟
+            else if (HBillType == "1245")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_AutoBarCode.ToUpper() == "Y")
+                {
+                    sAutoBarCode = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameter.omodel.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //鐢熶骇閫�鏂欏崟
+            else if (HBillType == "1244")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
+                {
+                    sAutoBarCode = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameter.omodel.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //閿�鍞��璐у崟
+            else if (HBillType == "1247")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
+                {
+                    sAutoBarCode = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameter.omodel.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //濮斿閫�鏂欏崟
+            else if (HBillType == "1238")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+                //鍏嶆壂鐗╂枡鏉$爜妯″紡锛�'Y'涓轰笉鎵墿鏂欐潯鐮侊級
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_AutoBarCode.ToUpper() == "Y")
+                {
+                    sAutoBarCode = "Y";
+                }
+                //WMS绯荤粺鍚屾鑷矱RP鐨勭被鍨嬶紙WISE銆丆LOUD銆乄MS锛�
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_ERPMode == "WMS")
+                {
+                    sERPMode = "WMS";
+                }
+                else if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_ERPMode == "WISE")
+                {
+                    sERPMode = "WISE";
+                }
+                else
+                {
+                    sERPMode = "CLOUD";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameter.omodel.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
 
             //鍒ゆ柇鏄惁鏍″浠撳簱浠撲綅銆佹槸鍚︽牎瀵逛粨搴撶姸鎬�
             //锛堝惎鐢ㄦ潯鐮佸簱瀛� 鎴� 鍚敤鍏堣繘鍏堝嚭锛変笖 浠撲綅鏁版嵁浠嶦RP涓悓姝ヨ嚦鏈湴
@@ -67741,6 +68407,216 @@
                 }
                 //鍏堣繘鍏堝嚭鎺у埗
                 sFIFOCtl = oSystemParameterMain.Kf_MoveStockBillCheck_FIFOCtl;
+            }
+            //閲囪喘閫�鏂欏崟
+            else if (HBillType == "1239")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_POStockInBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_POStockInBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_POStockInBackBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_POStockInBackBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_POStockInBackBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_POStockInBackBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameterMain.Kf_POStockInBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameterMain.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //鐢熶骇閫�搴撳崟
+            else if (HBillType == "1245")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_ProductInBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_ProductInBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_ProductInBackBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_ProductInBackBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_ProductInBackBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_ProductInBackBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameterMain.Kf_ProductInBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameterMain.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //鐢熶骇閫�鏂欏崟
+            else if (HBillType == "1244")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_MateOutBackBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_MateOutBackBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameterMain.Kf_MateOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameterMain.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //閿�鍞��璐у崟
+            else if (HBillType == "1247")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_SellOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_SellOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_SellOutBackBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_SellOutBackBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_SellOutBackBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_SellOutBackBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameterMain.Kf_SellOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameterMain.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
+            }
+            //濮斿閫�鏂欏崟
+            else if (HBillType == "1238")
+            {
+                //鏍¢獙-鏄惁鏍″浠撳簱浠撲綅锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_WHSPCtl.ToUpper() == "N")
+                {
+                    sWHSPCtl = "N";
+                }
+                //鏍¢獙-鏄惁鏍″浠撳簱锛�'Y'涓烘牎瀵癸級
+                if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_WHCtl.ToUpper() == "N")
+                {
+                    sWHCtl = "N";
+                }
+                //鏍¢獙-澶氳鐩稿悓鐗╂枡鑷姩鎷嗗垎鎹㈣鍖归厤锛�'Y'涓鸿嚜鍔ㄦ媶鍒嗭級
+                if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_MultilineCtl.ToUpper() == "Y")
+                {
+                    sMultilineCtl = "Y";
+                }
+                //鏍¢獙鏁伴噺鎺у埗锛堝皬浜庣瓑浜庡簲鏀躲�佸畬鍏ㄧ瓑浜庡簲鏀躲�佷笉鎺у埗锛�
+                if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_MustQtyCtl == "灏忎簬绛変簬搴旀敹")
+                {
+                    sMustQtyCtl = "灏忎簬绛変簬搴旀敹";
+                }
+                else if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_MustQtyCtl == "涓嶆帶鍒�")
+                {
+                    sMustQtyCtl = "涓嶆帶鍒�";
+                }
+                else
+                {
+                    sMustQtyCtl = "瀹屽叏绛変簬搴旀敹";
+                }
+                //涓�娆℃壂鐮佹帶鍒讹紙'Y'涓烘帶鍒讹級
+                if (oSystemParameterMain.Kf_EntrustOutBackBill_BillTypeOneScan.ToUpper() == "Y")
+                {
+                    sOneScanCtl = "Y";
+                }
+                //浠撲綅鏄惁浠嶦RP鍚屾锛�'N'涓轰粨浣嶆暟鎹湰鍦扮淮鎶わ紝'Y'涓轰粨浣嶆暟鎹粠ERP涓悓姝ヨ嚦鏈湴锛�
+                if (oSystemParameterMain.Kf_EntrustOutBackBillCheck_ERPMode.ToUpper() != "WMS" && oSystemParameterMain.WMS_StockPlaceAutoCtl.ToUpper() == "N")
+                {
+                    sStockPlaceAutoCtl = "N";
+                }
             }
             #endregion
 
@@ -69552,6 +70428,51 @@
                     sSourceBarCodeCtl = "Y";
                 }
             }
+            //閲囪喘閫�鏂欏崟
+            else if (sHBillType == "1239")
+            {
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_POStockInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鐢熶骇閫�搴撳崟
+            else if (sHBillType == "1245")
+            {
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_ProductInBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //鐢熶骇閫�鏂欏崟
+            else if (sHBillType == "1244")
+            {
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_MateOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //閿�鍞��璐у崟
+            else if (sHBillType == "1247")
+            {
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_SellOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
+            //濮斿閫�鏂欏崟
+            else if (sHBillType == "1238")
+            {
+                //鏍¢獙-鏄惁杩涜婧愬崟瀵瑰簲鏉$爜鏍稿锛�'Y'涓烘牳瀵癸級
+                if (oSystemParameter.omodel.Kf_EntrustOutBackBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
+                {
+                    sSourceBarCodeCtl = "Y";
+                }
+            }
             #endregion
 
             //鍘熷崟鎹负鎵爜鐢熸垚锛屽鍘熸壂鎻忕殑鏉$爜杩涜鏍稿

--
Gitblit v1.9.1