CLOUDWEB/WebService1.asmx.cs
@@ -18511,52 +18511,83 @@
                sErrMsg = "获取系统参数失败! " + sErrMsg;
                return false;
            }
            //原单据为扫码生成,对原扫描的条码进行核对
            if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
            //WMS系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
                //原单据非扫码生成
                else
                {
                    //上传失败
                    sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                    return false;
                    if (set_SaveSellOutBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
                    {
                        //上传成功
                        return true;
                    }
                    else
                    {
                        //上传失败
                        sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            //原单据非扫码生成
            else
            else if (oSystemParameter.omodel.Kf_SellOutBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                if (set_SaveSellOutBill_CLD_BillCheck(oMain, ref sErrMsg) == true)
                //原单据为扫码生成,对原扫描的条码进行核对
                if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
                {
                    //上传成功
                    return true;
                }
                else
                {
                    //上传失败
                    sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                    sErrMsg = "暂不支持扫码生成单据的校验功能!";
                    return false;
                }
                //原单据非扫码生成
                else
                {
                    if (set_SaveSellOutBill_WMS_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
                    {
                        //上传成功
                        return true;
                    }
                    else
                    {
                        //上传失败
                        sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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   原单据非扫码生成    只生成WMS单据
        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 + ",单据ID:" + 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系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                //原单据为扫码生成,对原扫描的条码进行核对
                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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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   原单据非扫码生成    只生成WMS单据
        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 + ",单据ID:" + 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系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                //原单据为扫码生成,对原扫描的条码进行核对
                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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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   原单据非扫码生成    只生成WMS单据
        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 + ",单据ID:" + 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系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                //原单据为扫码生成,对原扫描的条码进行核对
                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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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   原单据非扫码生成    只生成WMS单据
        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系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else if (oSystemParameter.omodel.Kf_OtherOutBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                //原单据为扫码生成,对原扫描的条码进行核对
                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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                //上传失败
                sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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 + ",单据ID:" + 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   原单据非扫码生成    只生成WMS单据
        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 + ",单据ID:" + 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系统同步至ERP的类型(WISE、CLOUD、MES)
            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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
                //原单据非扫码生成
                else
                {
                    if (set_SaveOtherInBill_CLD_BillCheck(oMain, oSystemParameter.omodel, ref sErrMsg) == true)
                    {
                        //上传成功
                        return true;
                    }
                    else
                    {
                        //上传失败
                        sErrMsg = "单据号:" + oMain.HBillNo + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else if (oSystemParameter.omodel.Kf_OtherInBillCheck_ERPMode.ToUpper() == "WMS")  //只生成WMS单据
            {
                //原单据为扫码生成,对原扫描的条码进行核对
                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 + ",单据ID:" + oMain.HInterID + ";上传单据失败!" + sErrMsg;
                        return false;
                    }
                }
            }
            else
            {
                sErrMsg = "WMS系统同步至ERP的类型对应系统参数设置错误!";
                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   原单据非扫码生成    只生成WMS单据
        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系统同步至ERP的类型(WISE、CLOUD、WMS)
            #region 系统参数获取
            //采购入库单
@@ -54771,6 +55614,19 @@
                {
                    sSourceBarCodeCtl = "Y";
                }
                //WMS系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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系统同步至ERP的类型(WISE、CLOUD、WMS)
                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
            {
                //将单据信息写入条码出入库临时表KF_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");