惠康WEBS代码,做二次开发用
yusijie
2025-10-11 b05826892971952b4f044d9bf9bf39afc800b5eb
Merge branch 'master' of http://101.37.171.70:10101/r/MESWMS-WEB-HK
1个文件已修改
490 ■■■■■ 已修改文件
CLOUDWEB/WebService1.asmx.cs 490 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CLOUDWEB/WebService1.asmx.cs
@@ -56124,6 +56124,91 @@
                                    return null;
                                }
                            }
                            else if(oSystemParameter.omodel.WMS_CampanyName == "惠康")
                            {
                                //解析条码
                                if (!GetJXBarCode_HuiKang(sBarCode, HQty, ref sErrMsg))
                                {
                                    return null;
                                }
                                if (dal.GetInfoByBarCode_View(sBarCode))
                                {
                                    if (dal.omodel_View.HStopflag)
                                    {
                                        sErrMsg = "条码已被禁用,不允许扫描!";
                                        return null;
                                    }
                                    else
                                    {
                                        //判断条码类型是否为托盘条码,如果是托盘条码则分解并模拟扫码
                                        if (dal.omodel_View.HBarCodeType == "托盘条码")
                                        {
                                            //分解托盘条码得到明细条码信息写入条码出入库临时表
                                            DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
                                            if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                                            {
                                                sErrMsg = "分解托盘条码发生错误!";
                                                return null;
                                            }
                                            else
                                            {
                                                if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
                                                {
                                                    sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
                                                    return null;
                                                }
                                                else
                                                {
                                                    for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                                                    {
                                                        dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
                                                        dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
                                                        dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
                                                        dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
                                                        dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
                                                        dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
                                                        dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
                                                        dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
                                                        dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
                                                        dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
                                                        //将物料条码信息写入条码出入库临时表
                                                        oBar = get_SavePonderationBillMain_Temp_BarCode(dal.omodel_View, HInterID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, SourceFlag, HSourceBillType, HStockOrgID, HCustom1, HCustom2, oSystemParameter.omodel, ref sErrMsg);
                                                        if (oBar == null)
                                                        {
                                                            sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HInterID + ";扫描失败!" + dal.omodel_View.HBarCode + sErrMsg;
                                                            return null;
                                                        }
                                                        SourceFlag = true;
                                                    }
                                                }
                                                return oBar;
                                            }
                                        }
                                        else
                                        //条码类型不为托盘条码
                                        {
                                            //将物料条码信息写入条码出入库临时表
                                            oBar = get_SavePonderationBillMain_Temp_BarCode(dal.omodel_View, HInterID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, SourceFlag, HSourceBillType, HStockOrgID, HCustom1, HCustom2, oSystemParameter.omodel, ref sErrMsg);
                                            if (oBar == null)
                                            {
                                                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HInterID + ";扫描失败!" + sErrMsg;
                                                return null;
                                            }
                                            else
                                            {
                                                return oBar;
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                                    return null;
                                }
                            }
                            else
                            {
                                sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
@@ -56343,6 +56428,100 @@
                                    {
                                        sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                                        return null;
                                    }
                                }
                                else if (oSystemParameter.omodel.WMS_CampanyName == "惠康")
                                {
                                    //解析条码
                                    if (!GetJXBarCode_HuiKang(sBarCode, HQty, ref sErrMsg))
                                    {
                                        return null;
                                    }
                                    if (dal.omodel_View.HStopflag)
                                    {
                                        sErrMsg = "条码已被禁用,不允许扫描!";
                                        return null;
                                    }
                                    else
                                    {
                                        //判断条码类型是否为托盘条码,如果是托盘条码则分解并模拟扫码
                                        if (dal.omodel_View.HBarCodeType == "托盘条码")
                                        {
                                            if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                                            {
                                                //分解托盘条码得到明细条码信息写入条码出入库临时表
                                                DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
                                                if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                                                {
                                                    sErrMsg = "分解托盘条码发生错误!";
                                                    return null;
                                                }
                                                else
                                                {
                                                    if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
                                                    {
                                                        sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
                                                        return null;
                                                    }
                                                    else
                                                    {
                                                        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                                                        {
                                                            dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
                                                            dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
                                                            dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
                                                            dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
                                                            dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
                                                            dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
                                                            dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
                                                            dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
                                                            dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
                                                            dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
                                                            //将物料条码信息写入条码出入库临时表
                                                            oBar = get_SavePonderationBillMain_Temp_BarCode(dal.omodel_View, HInterID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, SourceFlag, HSourceBillType, HStockOrgID, HCustom1, HCustom2, oSystemParameter.omodel, ref sErrMsg);
                                                            if (oBar == null)
                                                            {
                                                                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HInterID + ";扫描失败!" + dal.omodel_View.HBarCode + sErrMsg;
                                                                return null;
                                                            }
                                                            SourceFlag = true;
                                                        }
                                                    }
                                                    return oBar;
                                                }
                                            }
                                            else
                                            {
                                                //将托条码信息写入条码出入库临时表
                                                oBar = get_SavePonderationBillMain_Temp_PackBarCode(dal.omodel_View, HInterID, HBillType, HBillNo, HMaker, HWhID, HSPID, 0, 0, SourceFlag, HSourceBillType, HStockOrgID, HStockOrgID, HCustom1, HCustom2, oSystemParameter.omodel, ref sErrMsg);
                                                if (oBar == null)
                                                {
                                                    sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HInterID + ";扫描失败!" + sErrMsg;
                                                    return null;
                                                }
                                                else
                                                {
                                                    return oBar;
                                                }
                                            }
                                        }
                                        else
                                        //条码类型不为托盘条码
                                        {
                                            //将物料条码信息写入条码出入库临时表
                                            oBar = get_SavePonderationBillMain_Temp_BarCode(dal.omodel_View, HInterID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, SourceFlag, HSourceBillType, HStockOrgID, HCustom1, HCustom2, oSystemParameter.omodel, ref sErrMsg);
                                            if (oBar == null)
                                            {
                                                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HInterID + ";扫描失败!" + sErrMsg;
                                                return null;
                                            }
                                            else
                                            {
                                                return oBar;
                                            }
                                        }
                                    }
                                }
                                else
@@ -59382,6 +59561,156 @@
        #endregion
        #region 惠康条码解析
        [WebMethod]
        public bool GetJXBarCode_HuiKang(string sBarCode, Double HQty, ref string sErrMsg)
        {
            try
            {
                //条码解析
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                string[] str = sBarCode.Split('@');
                if (str.Length != 6)
                {
                    sErrMsg = "条码解析失败,请确认条码是否正确!";
                    return false;
                }
                int HOrgIDs = 0;
                //查询组织
                DataSet ds = oCn.RunProcReturn("select * from Xt_ORGANIZATIONS with(nolock) ", "Xt_ORGANIZATIONS");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    sErrMsg = "条码解析失败,请确认条码组织是否正确!";
                    return false;
                }
                else
                {
                    HOrgIDs = int.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                }
                string HSupIDs = "0";
                //查询供应商
                ds = oCn.RunProcReturn("select * from Gy_Supplier with(nolock) where HName='" + str[0] + "' and HUSEORGID=" + HOrgIDs, "Gy_Supplier");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    sErrMsg = "条码解析失败,请确认条码供应商是否正确!";
                    return false;
                }
                else
                {
                    HSupIDs = ds.Tables[0].Rows[0]["HItemID"].ToString();
                }
                string HMaterNames = "";
                string HMaterModels = "";
                string HMaterIDs = "0";
                string HISKFPERIOD = "0";// 保质期启用标记
                string HUnitIDs = "0";
                //查询物料
                ds = oCn.RunProcReturn("select  HUnitID,HItemID,HName,HModel,case HISKFPERIOD when 1 then '1' else '0' end HISKFPERIOD from Gy_Material a with(nolock) where HNumber='" + str[1] + "' and HUSEORGID=" + HOrgIDs + " order by a.HISKFPERIOD desc", "Gy_Material");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    sErrMsg = "条码解析失败,请确认条码物料是否正确!";
                    return false;
                }
                else
                {
                    HMaterIDs = ds.Tables[0].Rows[0]["HItemID"].ToString();
                    HMaterNames = ds.Tables[0].Rows[0]["HName"].ToString();
                    HMaterModels = ds.Tables[0].Rows[0]["HModel"].ToString();
                    HISKFPERIOD = ds.Tables[0].Rows[0]["HISKFPERIOD"].ToString();
                    HUnitIDs = ds.Tables[0].Rows[0]["HUnitID"].ToString();
                }
                DateTime HDate = DateTime.Now;//日期
                string HProduceDate = "";//生产日期
                string HExpiryDate = "";//保质期至
                //数量
                HQty = double.Parse(str[3]);
                string HSourceInterIDs = "0";
                string HSourceEntryIDs = "0";
                string HSourceBillNos = "";
                string HInnerBillNos = "";
                //日期获取方式
                string HBarCodeType = "唯一条码";
                Int64 HMaterID = int.Parse(HMaterIDs);
                Int64 HUnitID = int.Parse(HUnitIDs);
                double HQty2 = HQty;
                string HBatchNo2 = "";
                Int64 HSupID = int.Parse(HSupIDs);
                Int64 HGroupID = 0;
                int HPrintQty = 1;
                Int64 HSourceInterID = int.Parse(HSourceInterIDs);
                Int64 HSourceEntryID = int.Parse(HSourceEntryIDs);
                string HSourceBillNo = HSourceBillNos;
                string HSourceBillType = "";
                string HWei = "0";      //尾数
                Int64 HBarcodeQtys = 0;     //总托数
                Int64 HBarcodeNo = 0;       //托号
                Int64 HDeptID = 0;
                string HRemark = "条码解析";
                Int64 HCusID = 0;
                string HCusType = "";
                DateTime HEndDate = DateTime.Now;
                string HWorkLineName = "";
                string sDate = DateTime.ParseExact(str[4], "yyyyMMdd", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
                int HOrgID = HOrgIDs;
                string HSeOrderBillNo = "";
                Int64 HInterIDs = DBUtility.ClsPub.CreateBillID_Prod("85", ref DBUtility.ClsPub.sExeReturnInfo);
                Int64 HEntryID = 1;
                bool HGiveAwayFlag = false;
                string HMaterName = HMaterNames;
                string HMaterModel = HMaterModels;
                string HPinfan = "";
                string HMTONo = "";
                Int64 HAuxPropID = 0;
                string HInnerBillNo = HInnerBillNos;
                //Int64 HWhID = 0;
                //Int64 HSPID = 0;
                oCn.RunProc("insert into Gy_BarCodeBill (HBarCode,HBarCodeType,HMaterID,HUnitID,HQty" +
                            ",HBatchNo,HSupID,HGroupID,HMaker,HMakeDate,HPrintQty,HinitQty" +
                            ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HEndQty " +
                            ",HBarcodeQtys,HBarcodeNo,HDeptID,HWhID,HSPID,HRemark " +
                            ",HCusID,HCusType,HEndDate,HWorkLineName,HBarCodeDate " +
                            ",HSTOCKORGID,HOWNERID,HSeOrderBillNo,HInterID,HEntryID " +
                            ",HGiveAwayFlag " +
                            ",HMaterName,HMaterModel,HPinfan,HAuxPropID,HMTONo,HInnerBillNo" +
                            ",HProduceDate,HExpiryDate,HISKFPERIOD " +
                            ") values ("
                            + "'" + sBarCode + "','" + HBarCodeType + "'," + HMaterID.ToString() + "," + HUnitID.ToString() + "," + HQty2.ToString()
                            + ",'" + HBatchNo2 + "'," + HSupID.ToString() + "," + HGroupID.ToString() + ",'admin',getdate()," + HPrintQty.ToString() + "," + HQty2.ToString()
                            + ", " + HSourceInterID.ToString() + "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HWei + "'"
                            + ", " + HBarcodeQtys.ToString() + "," + HBarcodeNo.ToString() + "," + HDeptID.ToString() + ",0,0,'" + HRemark + "'"
                            + ", " + HCusID.ToString() + ",'" + HCusType + "','" + HEndDate.ToShortDateString() + "','" + HWorkLineName + "','" + sDate + "'"
                            + ", " + HOrgID.ToString() + "," + HOrgID.ToString() + ",'" + HSeOrderBillNo + "'," + HInterIDs.ToString() + "," + HEntryID.ToString() + ""
                            + ", " + DBUtility.ClsPub.BoolToString(HGiveAwayFlag)
                            + ",'" + HMaterName + "','" + HMaterModel + "','" + HPinfan + "'," + HAuxPropID.ToString() + ",'" + HMTONo + "','" + HInnerBillNo + "','" + HProduceDate + "','" + HExpiryDate + "'," + HISKFPERIOD + ")");
                return true;
            }
            catch (Exception e)
            {
                sErrMsg = e.Message + ";" + e.StackTrace;
                return false;
            }
        }
        #endregion
        #endregion
@@ -63025,8 +63354,106 @@
                    }
                    else
                    {
                        sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                        return null;
                        if (oSystemParameter.omodel.WMS_CampanyName == "惠康")
                        {
                            //解析条码
                            if (!GetJXBarCode_HuiKang(sBarCode, HQty, ref sErrMsg))
                            {
                                return null;
                            }
                            if (dal.GetInfoByBarCode(sBarCode, HBillType, HOWNERID))
                            {
                                if (dal.omodel_View.HStopflag)
                                {
                                    sErrMsg = "条码已被禁用,不允许扫描!";
                                    return null;
                                }
                                else
                                {
                                    //判断条码类型是否为托盘条码,如果是托盘条码则分解并模拟扫码
                                    if (dal.omodel_View.HBarCodeType == "托盘条码")
                                    {
                                        //将托条码信息写入条码出入库临时表
                                        oBar = get_SavePonderationBillMain_Temp_PackBarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HOWNERID, oSystemParameter.omodel, ref sErrMsg);
                                        if (oBar == null)
                                        {
                                            sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
                                            return null;
                                        }
                                        else
                                        {
                                            return oBar;
                                        }
                                        #region 扫描托条码原调用方法 20241226前
                                        ////分解托盘条码得到明细条码信息写入条码出入库临时表
                                        //DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToTPBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToTPBarCode");
                                        //if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0)
                                        //{
                                        //    sErrMsg = "分解托盘条码发生错误!";
                                        //    return null;
                                        //}
                                        //else
                                        //{
                                        //    if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 1)
                                        //    {
                                        //        sErrMsg = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[0]["HRemark"]);
                                        //        return null;
                                        //    }
                                        //    else
                                        //    {
                                        //        for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++)
                                        //        {
                                        //            dal.omodel_View.HBarCode = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]);
                                        //            dal.omodel_View.HBarCodeType = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeType"]);
                                        //            dal.omodel_View.HMaterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HMaterID"]);
                                        //            dal.omodel_View.HAuxPropID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HAuxPropID"]);
                                        //            dal.omodel_View.HBatchNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBatchNo"]);
                                        //            dal.omodel_View.HQty = DBUtility.ClsPub.isDoule(dsTBarCode.Tables[0].Rows[i]["HQty"]);
                                        //            dal.omodel_View.HSourceInterID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceInterID"]);
                                        //            dal.omodel_View.HSourceEntryID = DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[i]["HSourceEntryID"]);
                                        //            dal.omodel_View.HSourceBillNo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HSourceBillNo"]);
                                        //            dal.omodel_View.HMTONo = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HMTONo"]);
                                        //            //将物料条码信息写入条码出入库临时表
                                        //            if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
                                        //            {
                                        //                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描物料条码失败!" + sErrMsg;
                                        //                return null;
                                        //            }
                                        //        }
                                        //    }
                                        //    return oBar;
                                        //}
                                        #endregion
                                    }
                                    else
                                    //条码类型不为托盘条码
                                    {
                                        //将物料条码信息写入条码出入库临时表
                                        if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
                                        {
                                            sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描物料条码失败!" + sErrMsg;
                                            return null;
                                        }
                                        oBar.HBarType = "物料条码";
                                        return oBar;
                                    }
                                }
                            }
                            else
                            {
                                sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                                return null;
                            }
                        }
                        else
                        {
                            sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                            return null;
                        }
                    }
                }
                //启用,根据条码前缀走不同方法(仓库条码、仓位条码、单据条码、物料条码)
@@ -63081,8 +63508,63 @@
                        }
                        else
                        {
                            sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                            return null;
                            if (oSystemParameter.omodel.WMS_CampanyName == "惠康")
                            {
                                //解析条码
                                if (!GetJXBarCode_HuiKang(sBarCode, HQty, ref sErrMsg))
                                {
                                    return null;
                                }
                                if (dal.GetInfoByBarCode(sBarCode, HBillType, HOWNERID))
                                {
                                    if (dal.omodel_View.HStopflag)
                                    {
                                        sErrMsg = "条码已被禁用,不允许扫描!";
                                        return null;
                                    }
                                    else
                                    {
                                        //判断条码类型是否为托盘条码,如果是托盘条码则分解并模拟扫码
                                        if (dal.omodel_View.HBarCodeType == "托盘条码")
                                        {
                                            //将托条码信息写入条码出入库临时表
                                            oBar = get_SavePonderationBillMain_Temp_PackBarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HOWNERID, oSystemParameter.omodel, ref sErrMsg);
                                            if (oBar == null)
                                            {
                                                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg;
                                                return null;
                                            }
                                            else
                                            {
                                                return oBar;
                                            }
                                        }
                                        else
                                        //条码类型不为托盘条码
                                        {
                                            //将物料条码信息写入条码出入库临时表
                                            if (!set_SavePonderationBillMain_Temp_BarCode_BillCheck(dal.omodel_View, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HOWNERID, oSystemParameter.omodel, ref sErrMsg))
                                            {
                                                sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描物料条码失败!" + sErrMsg;
                                                return null;
                                            }
                                            oBar.HBarType = "物料条码";
                                            return oBar;
                                        }
                                    }
                                }
                                else
                                {
                                    sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                                    return null;
                                }
                            }
                            else
                            {
                                sErrMsg = "条码档案中不存在该条码,请确认条码是否正确或是否已被删除!";
                                return null;
                            }
                        }
                    }
                    //仓库条码、仓位条码、单据条码