校验扫码模块相关调用方法新增、修改;其他入库校验上传方法新增
3个文件已修改
937 ■■■■■ 已修改文件
CLOUDWEB/WebService1.asmx.cs 937 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DLL/Model.dll 补丁 | 查看 | 原始文档 | blame | 历史
DLL/Pub_Class.dll 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/WebService1.asmx.cs
@@ -37343,6 +37343,8 @@
            }
        }
        //原单据非扫码生成
        [WebMethod]
        public bool set_SaveOtherInBill_CLD_BillCheck(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
@@ -37422,6 +37424,7 @@
                        }
                        else
                        {
                            sErrMsg = "审核其他入库成功!单据号为:" + oMain.HBillNo;
                            oCn.Commit();
                            return true;
                        }
@@ -37510,6 +37513,7 @@
                                {
                                    //重新同步其他入库单
                                    oCn.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_OtherIn '" + oMain.HBillNo + "'");
                                    sErrMsg = "修改并审核其他入库单成功!单据号为:" + oMain.HBillNo;
                                    oCn.Commit();
                                    return true;
                                }
@@ -37522,6 +37526,99 @@
                            return false;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                sErrMsg = "校验审核其他入库单失败!" + e.Message;
                oCn.RollBack();
                return false;
            }
        }
        //原单据为扫码生成,对原扫描的条码进行核对
        [WebMethod]
        public bool set_SaveOtherInBill_CLD_BillCheck_Verify(Model.ClsKf_OtherInBillMain oMain, ref string sErrMsg)
        {
            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
            //上传前判断
            DataSet Ds = oCn.RunProcReturn("exec h_p_WMS_BeforeUpload_OtherInBillCheck_Verify " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'", "h_p_WMS_BeforeUpload_OtherInBillCheck_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 = 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 + "'");
                //从配置文件获取 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 = get_SaveCLOUDUseNameandPsd(oMain.HInterID);
                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[] { "STK_MISCELLANEOUS", sJson2 });
                    //审核单据
                    string sJson3 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
                    var result3 = client.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit",
                    new object[] { "STK_MISCELLANEOUS", sJson3 });
                    HReturn = result3.ToString();
                    if (HReturn.Contains("\"IsSuccess\":false") == true)
                    {
                        sErrMsg = "审核其他入库单失败!" + HReturn;
                        oCn.RollBack();
                        return false;
                    }
                    else
                    {
                        sErrMsg = "校验审核其他入库单成功!单据号为:" + oMain.HBillNo;
                        oCn.Commit();
                        return true;
                    }
                }
                else
                {
                    sErrMsg = "校验审核其他入库单失败!金蝶云登录失败!";
                    oCn.RollBack();
                    return false;
                }
            }
            catch (Exception e)
@@ -54460,13 +54557,151 @@
                sErrMsg = "获取系统参数失败! " + sErrMsg;
                return null;
            }
            string sSourceBarCodeCtl = "N";   //校验-是否进行源单对应条码核对('Y'为核对)
            if (HBillType == "1205" && oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl == "Y")
            string sWHSPCtl = "Y";              //校验-是否校对仓库仓位('Y'为校对)
            #region 系统参数获取
            //采购入库单
            if (HBillType == "1201")
            {
                //销售出库单
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_POStockInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_POStockInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                sSourceBarCodeCtl = "Y";
            }
            }
            //生产入库单
            else if (HBillType == "1202")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_ProductInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_ProductInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //其他入库单
            else if (HBillType == "1203")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_OtherInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_OtherInBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //领料出库单
            else if (HBillType == "1204")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_MateOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_MateOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //销售出库单
            else if (HBillType == "1205")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_SellOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_SellOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //其他出库单
            else if (HBillType == "1206")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_OtherOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //委外领料单
            else if (HBillType == "1211")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_EntrustOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //生产补料单
            else if (HBillType == "1254")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_MateReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //委外补料单
            else if (HBillType == "1255")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_EntrustReplenishOutBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            //直接调拨单
            else if (HBillType == "1207")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-是否进行源单对应条码核对('Y'为核对)
                if (oSystemParameter.omodel.Kf_MoveStockBillCheck_SourceBarCodeCtl.ToUpper() == "Y")
                {
                    sSourceBarCodeCtl = "Y";
                }
            }
            #endregion
            //原单据为扫码生成,对原扫描的条码进行核对
            if (sSourceBarCodeCtl == "Y")
@@ -54489,6 +54724,9 @@
                        oBar.HSPFlag = DBUtility.ClsPub.isBool(dsVerify.Tables[0].Rows[0]["HSPFlag"]);
                        oBar.HSPID = DBUtility.ClsPub.isLong(dsVerify.Tables[0].Rows[0]["HSPID"]);
                        oBar.HSPName = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HSPName"]);
                        oBar.HRemark = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HRemark"]);
                        oBar.HBack = DBUtility.ClsPub.isStrNull(dsVerify.Tables[0].Rows[0]["HBack"]);
                        oBar.HSourceBarCodeFlag = true;
                        return oBar;
                    }
                    else
@@ -54502,7 +54740,7 @@
            else
            {
                //将单据信息写入条码出入库临时表KF_PonderationBillMain_Temp
                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddBillBarCode_BillCheck");
                DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBillBarCode_BillCheck_New '" + HBillNo + "','" + HBillType + "','" + HMaker + "'," + HOWNERID.ToString() + ",'" + sWHSPCtl + "'", "h_p_WMS_AddBillBarCode_BillCheck_New");
                if (ds1 == null || ds1.Tables[0].Rows.Count == 0)
                {
                    sErrMsg = "单据号:" + HBillNo + ";将单据信息写入条码出入库临时表失败!";
@@ -54510,21 +54748,23 @@
                }
                else
                {
                    if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 0)
                    {
                        oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
                        oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
                        oBar.HWhID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HWhID"]);
                        oBar.HWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]);
                        oBar.HSPFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSPFlag"]);
                        oBar.HSPID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HSPID"]);
                        oBar.HSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]);
                        return oBar;
                    }
                    else
                    if (DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0][0]) == 1)
                    {
                        sErrMsg = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
                        return null;
                    }
                    else
                    {
                        oBar.HInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HInterID"]);
                        oBar.HBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBillNo"]);
                        oBar.HStockInOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockInOrgID"]);
                        oBar.HStockInOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockInOrgName"]);
                        oBar.HStockOutOrgID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[0]["HStockOutOrgID"]);
                        oBar.HStockOutOrgName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HStockOutOrgName"]);
                        oBar.HRemark = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HRemark"]);
                        oBar.HBack = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HBack"]);
                        oBar.HSourceBarCodeFlag = DBUtility.ClsPub.isBool(ds1.Tables[0].Rows[0]["HSourceBarCodeFlag"]);
                        return oBar;
                    }
                }
            }
@@ -55040,78 +55280,332 @@
            double sRelQty = 0;
            string sWHSPCtl = "Y";   //校验-是否校对仓库仓位('Y'为校对)
            if (HBillType == "1203")
            {
                //其他入库单
                sWHSPCtl = "Y";
            }
            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_WHSPCtl == "N")
            {
                //领料出库单
                sWHSPCtl = "N";
            }
            else if (HBillType == "1205" && oSystemParameterMain.Kf_SellOutBillCheck_WHSPCtl == "N")
            {
                //销售出库单
                sWHSPCtl = "N";
            }
            else if (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBillCheck_WHSPCtl == "N")
            {
                //委外领料单
                sWHSPCtl = "N";
            }
            else if (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBillCheck_WHSPCtl == "N")
            {
                //生产补料单
                sWHSPCtl = "N";
            }
            else if (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_WHSPCtl == "N")
            {
                //委外补料单
                sWHSPCtl = "N";
            }
            else if (HBillType == "1206")
            {
                //其他出库单
                sWHSPCtl = "Y";
            }
            string sMultilineCtl = "N";   //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
            if (HBillType == "1203")
            string sMustQtyCtl = "完全等于应收";  //校验数量控制(小于等于应收、完全等于应收、不控制)
            string sOneScanCtl = "N";             //一次扫码控制('Y'为控制)
            #region 系统参数获取
            //采购入库单
            if (HBillType == "1201")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_POStockInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_POStockInBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_POStockInBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_POStockInBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_POStockInBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //生产入库单
            else if (HBillType == "1202")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_ProductInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_ProductInBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_ProductInBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_ProductInBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_ProductInBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
                //其他入库单
                sMultilineCtl = "N";
            }
            else if (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBillCheck_MultilineCtl == "Y")
            else if (HBillType == "1203")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_OtherInBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_OtherInBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
                //领料出库单
            else if (HBillType == "1204")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_MateOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_MateOutBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                sMultilineCtl = "Y";
            }
            else if (HBillType == "1205" && oSystemParameterMain.Kf_SellOutBillCheck_MultilineCtl == "Y")
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "小于等于应收")
            {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
                //销售出库单
                sMultilineCtl = "Y";
            }
            else if (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBillCheck_MultilineCtl == "Y")
            else if (HBillType == "1205")
            {
                //委外领料单
                sMultilineCtl = "Y";
            }
            else if (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBillCheck_MultilineCtl == "Y")
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_SellOutBillCheck_WHSPCtl.ToUpper() == "N")
            {
                //生产补料单
                sMultilineCtl = "Y";
                    sWHSPCtl = "N";
            }
            else if (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MultilineCtl == "Y")
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_SellOutBillCheck_MultilineCtl.ToUpper() == "Y")
            {
                //委外补料单
                sMultilineCtl = "Y";
            }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_SellOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //其他出库单
            else if (HBillType == "1206")
            {
                //其他出库单
                sMultilineCtl = "N";
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_OtherOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
            }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_OtherOutBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_OtherOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //委外领料单
            else if (HBillType == "1211")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_EntrustOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_EntrustOutBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_EntrustOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //生产补料单
            else if (HBillType == "1254")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_MateReplenishOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //委外补料单
            else if (HBillType == "1255")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_EntrustReplenishOutBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            //直接调拨单
            else if (HBillType == "1207")
            {
                //校验-是否校对仓库仓位('Y'为校对)
                if (oSystemParameterMain.Kf_MoveStockBillCheck_WHSPCtl.ToUpper() == "N")
                {
                    sWHSPCtl = "N";
                }
                //校验-多行相同物料自动拆分换行匹配('Y'为自动拆分)
                if (oSystemParameterMain.Kf_MoveStockBillCheck_MultilineCtl.ToUpper() == "Y")
                {
                    sMultilineCtl = "Y";
                }
                //校验数量控制(小于等于应收、完全等于应收、不控制)
                if (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "小于等于应收")
                {
                    sMustQtyCtl = "小于等于应收";
                }
                else if (oSystemParameterMain.Kf_MoveStockBillCheck_MustQtyCtl == "不控制")
                {
                    sMustQtyCtl = "不控制";
                }
                else
                {
                    sMustQtyCtl = "完全等于应收";
                }
                //一次扫码控制('Y'为控制)
                if (oSystemParameterMain.Kf_MoveStockBill_BillTypeOneScan.ToUpper() == "Y")
                {
                    sOneScanCtl = "Y";
                }
            }
            #endregion
            string HMaterNumber;            //物料代码
            //判断是否存在相同条码,判断所扫条码是否在单据中
@@ -55163,105 +55657,6 @@
                {
                    sRelQty = omodel_View.HQty;
                }
                //其他入库校验,根据系统参数:其他入库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //领料出库校验,根据系统参数:领料出库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //销售出库校验,根据系统参数:销售出库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1205" && (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //委外领料校验,根据系统参数:委外领料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1211" && (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //生产补料校验,根据系统参数:生产补料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1254" && (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //委外补料校验,根据系统参数:委外补料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1255" && (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //其他出库校验,不可超单据数量
                else if (HBillType == "1206")
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应单据剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
            }
            else
            //批次条码、品种条码
@@ -55278,105 +55673,6 @@
                {
                    sRelQty = omodel_View.HQty;
                }
                //其他入库校验,根据系统参数:其他入库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                if (HBillType == "1203" && (oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_OtherInBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //领料出库校验,根据系统参数:领料出库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1204" && (oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_MateOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //销售出库校验,根据系统参数:销售出库校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1205" && (oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_SellOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //委外领料校验,根据系统参数:委外领料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1211" && (oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_EntrustOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //生产补料校验,根据系统参数:生产补料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1254" && (oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_MateReplenishOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //委外补料校验,根据系统参数:委外补料校验-应收数量 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
                else if (HBillType == "1255" && (oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "小于等于应收" || oSystemParameterMain.Kf_EntrustReplenishOutBillCheck_MustQtyCtl == "完全等于应收"))
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
                //其他出库校验,不可超单据数量
                else if (HBillType == "1206")
                {
                    if (omodel_View.HSourceQty == 0)
                    {
                        sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                        return false;
                    }
                    else if (sRelQty > omodel_View.HSourceQty)
                    {
                        sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应单据剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                        return false;
                    }
                }
            }
            //生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)
@@ -55392,7 +55688,7 @@
                || HBillType == "1254" || HBillType == "1255")
            {
                //库存控制-WMS负库存控制
                if (omodel_View.HBarCodeType == "唯一条码" && oSystemParameterMain.WMS_WMSStockCtl == "Y")
                if (omodel_View.HBarCodeType == "唯一条码" && oSystemParameterMain.WMS_WMSStockCtl.ToUpper() == "Y")
                {
                    //判断ERP库存   返回ERP库存数量
                    DataSet DsWMS = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetWMSICInventory " + HBillID.ToString() + ",'" + HBillType + "','" + omodel_View.HBarCode + "'," + HWhID.ToString() + "," + HSPID.ToString() + "," + HOWNERID.ToString(), "h_p_WMS_AddBarCode_GetWMSICInventory");
@@ -55422,8 +55718,8 @@
                    }
                }
                //库存控制-ERP负库存控制     私有云模式
                if (oSystemParameterMain.WMS_CloudMode == "Y")
                //库存控制-ERP负库存控制     金蝶云私有云模式
                if (oSystemParameterMain.Kf_SellOutBill_ERPMode.ToUpper() == "CLOUD" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "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");
@@ -55456,22 +55752,46 @@
            //入库、红字出库,判断条码可扫描数量   返回剩余未扫描数量
            else
            {
                //判断条码扫描数量   返回剩余未扫描数量
                if (!tem.IsBarCode_New(omodel_View.HBarCode, HBillType, false, ref sRelQty, ref sErrMsg))
                //获取唯一条码剩余可扫描数量
                if (omodel_View.HBarCodeType == "唯一条码")
                {
                    sErrMsg = sErrMsg;
                    DataSet DsInQty = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_GetInBillQty '" + omodel_View.HBarCode + "','" + HBillType + "'," + omodel_View.HQty.ToString(), "h_p_WMS_AddBarCode_GetInBillQty");
                    if (DsInQty == null || DsInQty.Tables[0].Rows.Count == 0)
                    {
                        //正常,不存在已扫码上传记录
                    }
                    else
                    {
                        if (DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]) == 0)
                        {
                            sErrMsg = "所扫描物料条码: " + omodel_View.HBarCode + " ,已被其他单据扫描入库,不允许再次扫码!";
                            return false;
                        }
                        else if (DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]) < sRelQty)
                        {
                            sRelQty = DBUtility.ClsPub.isDoule(DsInQty.Tables[0].Rows[0]["HQty"]);
                        }
                    }
                }
            }
            //根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制)
            if (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")
            {
                if (omodel_View.HSourceQty == 0)
                {
                    sErrMsg = "所扫物料在单据中剩余可扫数量为0,不允许扫码!";
                    return false;
                }
                else if (sRelQty > omodel_View.HSourceQty)
                {
                    sErrMsg = "所扫描条码数量为 " + sRelQty.ToString() + " 大于对应单据剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!";
                    return false;
                }
            }
            //一次扫码控制,同一条码、同一单据类型,在WMS表和TEMP表里,只允许进行一次扫码
            if ((HBillType == "1203" && oSystemParameterMain.Kf_OtherInBill_BillTypeOneScan == "Y")
                || (HBillType == "1204" && oSystemParameterMain.Kf_MateOutBill_BillTypeOneScan == "Y")
                || (HBillType == "1205" && oSystemParameterMain.Kf_SellOutBill_BillTypeOneScan == "Y")
                || (HBillType == "1211" && oSystemParameterMain.Kf_EntrustOutBill_BillTypeOneScan == "Y")
                || (HBillType == "1254" && oSystemParameterMain.Kf_MateReplenishOutBill_BillTypeOneScan == "Y")
                || (HBillType == "1255" && oSystemParameterMain.Kf_EntrustReplenishOutBill_BillTypeOneScan == "Y")
                || (HBillType == "1206" && oSystemParameterMain.Kf_OtherOutBill_BillTypeOneScan == "Y"))
            //唯一条码,一次扫码控制,同一条码、同一单据类型,在WMS表和TEMP表里,只允许进行一次扫码
            if (omodel_View.HBarCodeType == "唯一条码" && sOneScanCtl == "Y")
            {
                DataSet dsOneScan = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_OneScan '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",0,0,'" + HMaker + "'", "h_p_WMS_AddBarCode_OneScan");
                if (dsOneScan == null || dsOneScan.Tables[0].Rows.Count == 0)
@@ -55521,11 +55841,31 @@
                    oMain.HPieceQty = 0;
                }
                //红蓝单标志
                //生产退料(1244)、销售退库(1247)、其他出库红字(1249)、委外退料(1238)
                //外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246)
                if (HBillType == "1244" || HBillType == "1247" || HBillType == "1249" || HBillType == "1238"
                    || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246")
                {
                    oMain.HRedBlueFlag = true;
                }
                else
                {
                    oMain.HRedBlueFlag = false;
                }
                //条码类型为唯一条码,扫码存入时 HRelationEntryID=1,用于判断刷新列表时区分是否重复扫入
                if (omodel_View.HBarCodeType == "唯一条码")
                {
                    oMain.HRelationEntryID = 1;
                }
                oMain.HInterID = HBillID;
                oMain.HBillNo = HBillNo;
                oMain.HBillType = HBillType;
                oMain.HMaker = HMaker;
                oMain.HMaterID = omodel_View.HMaterID;
                oMain.HUnitID = omodel_View.HUnitID;
                oMain.HAuxPropID = omodel_View.HAuxPropID;
                oMain.HQtyMust = 0;
                oMain.HBarCode = omodel_View.HBarCode;
@@ -55533,29 +55873,48 @@
                oMain.HMTONo = omodel_View.HMTONo;
                oMain.HWhID = HWhID;
                oMain.HStockPlaceID = HSPID;
                oMain.HSCWHID = 0;
                oMain.HOutStockPlaceID = 0;
                oMain.HSourceInterID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceInterID"]);
                oMain.HSourceEntryID = DBUtility.ClsPub.isLong(ds1.Tables[0].Rows[i]["HSourceEntryID"]);
                oMain.HSourceBillNo = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[i]["HSourceBillNo"]);
                oMain.HSourceBillType = HBillType;
                oMain.HRedBlueFlag = false;
                oMain.HMulSourceBill = 0;       //是否多源单标志(0为非多源单模式,1为多源单模式)
                oMain.HSubBillType = "1";       //校验模式,HSubBillType=1
                if (omodel_View.HProduceDate < Convert.ToDateTime("1950-01-01"))
                {
                    oMain.HBeginDate = "";
                }
                else
                {
                    oMain.HBeginDate = omodel_View.HProduceDate.ToShortDateString();
                }
                if (omodel_View.HExpiryDate < Convert.ToDateTime("1950-01-01"))
                {
                    oMain.HEndDate = "";
                }
                else
                {
                    oMain.HEndDate = omodel_View.HExpiryDate.ToShortDateString();
                }
                oMain.HSTOCKORGID = HOWNERID;
                oMain.HOWNERID = HOWNERID;
                oCn.RunProc("Insert into KF_PonderationBillMain_Temp " +
                    "(HInterID,HBillNo,HBillType,HMaterID,HAuxPropID,HProcID" +
                "(HInterID,HBillNo,HBillType,HMaterID,HUnitID,HAuxPropID,HProcID" +
                    ",HWhID,HSCWHID,HStockPlaceID,HOutStockPlaceID,HGroupID,HAddr" +
                    ",HQtyMust,HQty,HPieceQty,HBatchNo,HBarCode,HBarCode_Pack" +
                    ",HMaker,HMakeDate,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo" +
                    ",HRelationInterID,HRelationEntryID,HRelationBillNo,HRedBlueFlag,HMTONo,HPlanMode" +
                    ",HSTOCKORGID,HOtherOrgID,HOWNERID,HOWNERTYPEID,HExpressNumber,HSubBillType" +
                    ",HCusID,HDeptID,HCusBarCode,HMulSourceBill) " +
                    " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
                ",HCusID,HDeptID,HCusBarCode,HMulSourceBill,HBeginDate,HEndDate) " +
                " Values(" + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HBillType + "'," + oMain.HMaterID.ToString() + "," + oMain.HUnitID.ToString() + "," + oMain.HAuxPropID.ToString() + "," + oMain.HProcID.ToString() +
                    "," + oMain.HWhID.ToString() + "," + oMain.HSCWHID.ToString() + "," + oMain.HStockPlaceID.ToString() + "," + oMain.HOutStockPlaceID.ToString() + "," + oMain.HGroupID.ToString() + ",'" + oMain.HAddr + "'" +
                    "," + oMain.HQtyMust.ToString() + "," + oMain.HQty.ToString() + "," + oMain.HPieceQty.ToString() + ",'" + oMain.HBatchNo + "','" + oMain.HBarCode + "',''" +
                    ",'" + oMain.HMaker + "',getdate()," + oMain.HSourceInterID.ToString() + "," + oMain.HSourceEntryID.ToString() + ",'" + oMain.HSourceBillType + "','" + oMain.HSourceBillNo + "'" +
                    "," + oMain.HRelationInterID.ToString() + "," + oMain.HRelationEntryID.ToString() + ",'" + oMain.HRelationBillNo + "'," + Convert.ToString(oMain.HRedBlueFlag ? 1 : 0) + ",'" + oMain.HMTONo + "',0" +
                    "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + ",'','校验模式',1" +
                    ",0,0,'" + oMain.HCusBarCode + "',0)");
                "," + oMain.HSTOCKORGID.ToString() + "," + oMain.HOWNERID.ToString() + "," + oMain.HSTOCKORGID.ToString() + ",'','校验模式','" + oMain.HSubBillType + "'" +
                ",0,0,'" + oMain.HCusBarCode + "'," + oMain.HMulSourceBill.ToString() + "," + (oMain.HBeginDate == "" ? "NULL" : "'" + oMain.HBeginDate + "'") + "," + (oMain.HEndDate == "" ? "NULL" : "'" + oMain.HEndDate + "'") + ")");
                if (sRemQty <= 0)
                {
@@ -55672,6 +56031,7 @@
                                    sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描物料条码失败!" + sErrMsg;
                                    return null;
                                }
                                oBar.HBarType = "物料条码";
                                return oBar;
                            }
                        }
@@ -55755,6 +56115,7 @@
                                        sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描物料条码失败!" + sErrMsg;
                                        return null;
                                    }
                                    oBar.HBarType = "物料条码";
                                    return oBar;
                                }
                            }
DLL/Model.dll
Binary files differ
DLL/Pub_Class.dll
Binary files differ