| | |
| | | |
| | | #region 物料条码调用方法 |
| | | |
| | | #region 一键扫码 |
| | | |
| | | //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) |
| | | [WebMethod] |
| | | public Model.ClsKf_ICStockBill_WMS get_CheckTypeByBarCode_New(string sBarCode, Int64 HBillID, string HBillType, string HBillNo, string HMaker, Int64 HWhID, Int64 HSPID, Double HQty, bool HRedBlueFlag, bool SourceFlag, string HSourceBillNo, string HSourceBillType, Int64 HOWNERID, string HExpressNumber, string HScanStyle, ref string sErrMsg) |
| | | { |
| | | try |
| | | { |
| | | SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); |
| | | Model.ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS(); |
| | | DAL.ClsKF_PonderationBillMain_Temp_Ctl tem = new DAL.ClsKF_PonderationBillMain_Temp_Ctl(); |
| | | Model.ClsKF_PonderationBillMain_Temp model = new Model.ClsKF_PonderationBillMain_Temp(); |
| | | string sHSourceBillType = ""; |
| | | string sHSourceBillNo = ""; |
| | | Int64 sHSupID = 0; |
| | | string sHSupName = ""; |
| | | Int64 sHDeptID = 0; |
| | | string sHDeptName = ""; |
| | | string sHBarType = ""; |
| | | sBarCode = sBarCode.Trim(); |
| | | string sBarCodePrefix = sBarCode.Substring(0, Math.Min(3, sBarCode.Length));//截取条码前三位字符串 |
| | | |
| | | //获取系统参数 |
| | | Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); |
| | | if (oSystemParameter.ShowBill(ref sErrMsg) == false) |
| | | { |
| | | sErrMsg = "获取系统参数失败! " + sErrMsg; |
| | | return null; |
| | | } |
| | | //销售出库、销售退库模块扫码流程 飞龙专用 |
| | | if ((HBillType == "1205" || HBillType == "1247") && oSystemParameter.omodel.WMS_CampanyName == "飞龙") //系统参数 客户定制化名称 空白为通用 |
| | | { |
| | | //将物料条码信息写入出入库条码临时表 |
| | | if (set_SavePonderationBillMain_Temp_FeiLong(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sHBarType, ref sErrMsg)) |
| | | { |
| | | oBar.HBarType = sHBarType; |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "!" + sErrMsg; |
| | | return null; |
| | | } |
| | | return oBar; |
| | | } |
| | | //其他入库 森楷专用 |
| | | else if (HBillType == "1203" && oSystemParameter.omodel.WMS_CampanyName == "森楷") //系统参数 客户定制化名称 空白为通用 |
| | | { |
| | | //根据单个条码获取对应整托条码信息写入条码出入库临时表 |
| | | string sBarCode_New; |
| | | DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode '" + sBarCode + "'", "h_p_WMS_BeforeCheckToBarCode"); |
| | | 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++) |
| | | { |
| | | sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]); |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | SourceFlag = true; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sBarCode_New + sErrMsg; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | //销售出库 森楷专用 |
| | | else if (HBillType == "1205" && oSystemParameter.omodel.WMS_CampanyName == "森楷") //系统参数 客户定制化名称 空白为通用 |
| | | { |
| | | //根据单个条码获取对应整托条码信息写入条码出入库临时表 |
| | | string sBarCode_New; |
| | | DataSet dsTBarCode = oCn.RunProcReturn("exec h_p_WMS_BeforeCheckToBarCode_ScanStyle '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillType + "','" + HScanStyle + "'", "h_p_WMS_BeforeCheckToBarCode_ScanStyle"); |
| | | 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 if (DBUtility.ClsPub.isLong(dsTBarCode.Tables[0].Rows[0][0]) == 2) |
| | | { |
| | | oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HInterID=" + HBillID.ToString() + " and HBillType='" + HBillType + "' and HBarCode='" + sBarCode + "'", ref DBUtility.ClsPub.sExeReturnInfo); |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++) |
| | | { |
| | | sBarCode_New = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCode"]); |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_New, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | SourceFlag = true; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sBarCode_New + sErrMsg; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | //生产入库 多源单模式 |
| | | else if (HBillType == "1202" && oSystemParameter.omodel.Kf_ProductInBill_MulSourceBill == "Y") |
| | | { |
| | | oBar = get_CheckTypeByBarCode_MulSourceBill(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, oSystemParameter.omodel, ref sErrMsg); |
| | | if (oBar == null) |
| | | { |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | return oBar; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //判断是否启用一键扫码模式,Y为启用,未启用时只扫描物料条码 |
| | | if (oSystemParameter.omodel.WMS_OneKeyMode.ToUpper() == "N") |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "博日科技" || oSystemParameter.omodel.WMS_CampanyName == "杭州智见" || oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔" || oSystemParameter.omodel.WMS_CampanyName == "奥邦") //系统参数 客户定制化名称 空白为通用 |
| | | { |
| | | DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); |
| | | if (dal.GetInfoByNumber_View(sBarCode)) |
| | | { |
| | | //如果是托盘条码分解并模拟扫码 |
| | | if (dal.omodel_View.HBarCodeType == "托盘条码") |
| | | { |
| | | //分解托条码得到明细条码信息写入出入库条码临时表 |
| | | DataSet dsTBarCode; |
| | | string sBarCode_MX; |
| | | dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " + |
| | | " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum"); |
| | | if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "没有找到托盘条码对应子条码记录!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++) |
| | | { |
| | | sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]); |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | SourceFlag = true; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sBarCode_MX + sErrMsg; |
| | | //sErrMsg = "扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //将物料条码信息写入出入库条码临时表 |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "没有找到该条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (sBarCodePrefix == "PAK") |
| | | { |
| | | //将模治具信息写入模治具出入库临时表 |
| | | DataSet Mould = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddMouldBarCode"); |
| | | if (Mould == null || Mould.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "将模治具信息写入模治具出入库临时表失败!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | if (DBUtility.ClsPub.isLong(Mould.Tables[0].Rows[0][0]) == 0) |
| | | { |
| | | oBar.HBarType = "模治具条码"; |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = DBUtility.ClsPub.isStrNull(Mould.Tables[0].Rows[0]["HRemark"]); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //将物料条码信息写入出入库条码临时表 |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | } |
| | | //一键扫码模式,根据条码前缀走 不同方法(仓库、仓位、部门)(源单、物料条码) |
| | | else |
| | | { |
| | | string sRedBlue = "蓝字"; |
| | | if (HRedBlueFlag) |
| | | { |
| | | sRedBlue = "红字"; |
| | | } |
| | | else |
| | | { |
| | | sRedBlue = "蓝字"; |
| | | } |
| | | DataSet Dss; |
| | | //根据递入的条码前三位,判断条码类型(仓库、仓位、部门、源单、物料条码) |
| | | Dss = oCn.RunProcReturn(" select HSourceName,BarCodeType from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "'", "Xt_BarCodeType"); |
| | | |
| | | //无返回数据则为物料条码 |
| | | if (Dss == null || Dss.Tables[0].Rows.Count == 0) |
| | | { |
| | | if (oSystemParameter.omodel.WMS_CampanyName == "博日科技" || oSystemParameter.omodel.WMS_CampanyName == "杭州智见" || oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔" || oSystemParameter.omodel.WMS_CampanyName == "奥邦") //系统参数 客户定制化名称 空白为通用 |
| | | { |
| | | DAL.ClsGy_BarCodeBill_View dal = new DAL.ClsGy_BarCodeBill_View(); |
| | | if (dal.GetInfoByNumber_View(sBarCode)) |
| | | { |
| | | //如果是托盘条码分解并模拟扫码 |
| | | if (dal.omodel_View.HBarCodeType == "托盘条码") |
| | | { |
| | | //分解托条码得到明细条码信息写入出入库条码临时表 |
| | | DataSet dsTBarCode; |
| | | string sBarCode_MX; |
| | | dsTBarCode = oCn.RunProcReturn("select HBarCode HBarCodeMX from Sc_PackUnionBillSub_Sum " + |
| | | " Where HBarCode_Pack = '" + sBarCode + "'", "Sc_PackUnionBillSub_Sum"); |
| | | if (dsTBarCode == null || dsTBarCode.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "没有找到托盘条码对应子条码记录!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | for (int i = 0; i < dsTBarCode.Tables[0].Rows.Count; i++) |
| | | { |
| | | sBarCode_MX = DBUtility.ClsPub.isStrNull(dsTBarCode.Tables[0].Rows[i]["HBarCodeMX"]); |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode_MX, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | SourceFlag = true; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sBarCode_MX + sErrMsg; |
| | | //sErrMsg = "扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //将物料条码信息写入出入库条码临时表 |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "没有找到该条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (sBarCodePrefix == "PAK") |
| | | { |
| | | //将模治具信息写入模治具出入库临时表 |
| | | DataSet Mould = oCn.RunProcReturn("exec h_p_WMS_AddMouldBarCode '" + sBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID.ToString() + "," + HSPID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "','" + HRedBlueFlag + "','" + HMaker + "'," + HOWNERID.ToString(), "h_p_WMS_AddMouldBarCode"); |
| | | if (Mould == null || Mould.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "将模治具信息写入模治具出入库临时表失败!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | if (DBUtility.ClsPub.isLong(Mould.Tables[0].Rows[0][0]) == 0) |
| | | { |
| | | oBar.HBarType = "模治具条码"; |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = DBUtility.ClsPub.isStrNull(Mould.Tables[0].Rows[0]["HRemark"]); |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //将物料条码信息写入出入库条码临时表 |
| | | if (set_SavePonderationBillMain_Temp_BarCode(sBarCode, HBillID, HBillType, HBillNo, HMaker, HWhID, HSPID, HQty, HRedBlueFlag, SourceFlag, HSourceBillNo, HSourceBillType, HOWNERID, HExpressNumber, ref sHSourceBillNo, ref sHSourceBillType, ref sHSupID, ref sHSupName, ref sHDeptID, ref sHDeptName, ref sErrMsg)) |
| | | { |
| | | oBar.HSourceBillType = sHSourceBillType; |
| | | oBar.HSourceBillNo = sHSourceBillNo; |
| | | oBar.HSupID = sHSupID; |
| | | oBar.HSupName = sHSupName; |
| | | oBar.HDeptID = sHDeptID; |
| | | oBar.HDeptName = sHDeptName; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "单据号:" + HBillNo + ",单据ID:" + HBillID + ";扫描失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | return oBar; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | string sBarBillName = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["HSourceName"]); |
| | | string sBarBillType = Pub_Class.ClsPub.isStrNull(Dss.Tables[0].Rows[0]["BarCodeType"]); |
| | | |
| | | //判断条码类型为 基础资料条码 或 源单条码 |
| | | if (sBarBillType == "基础资料条码") |
| | | { |
| | | //仓库条码 |
| | | if (sBarBillName == "仓库") |
| | | { |
| | | DAL.ClsIF_Warehouse_View dal = new DAL.ClsIF_Warehouse_View(); |
| | | //将递入的条码去掉前三位后转化成整形,TryParse不能转换成整数时返回false,并返回ID=0 |
| | | int ID; |
| | | if (int.TryParse(sBarCode.Remove(0, 3), out ID)) |
| | | { |
| | | if (dal.GetInfoByID(ID, HOWNERID)) |
| | | { |
| | | oBar.HBarType = "仓库条码"; |
| | | oBar.HWhID = dal.omodel.HItemID; |
| | | oBar.HWhNumber = dal.omodel.HNumber; |
| | | oBar.HWhName = dal.omodel.HName; |
| | | oBar.HSPFlag = dal.omodel.HIsStockMgr; |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "无效仓库条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "错误的仓库条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | //仓位条码 |
| | | else if (sBarBillName == "仓位") |
| | | { |
| | | DAL.ClsIF_StockPlace_View dal = new DAL.ClsIF_StockPlace_View(); |
| | | //将递入的条码去掉前三位后转化成整形 |
| | | int sHSPID; |
| | | int sHWHID; |
| | | string[] sArray = sBarCode.Remove(0, 3).Split(';'); |
| | | if (int.TryParse(sArray[1], out sHSPID) && int.TryParse(sArray[0], out sHWHID)) |
| | | { |
| | | if (dal.GetInfoByID(sHSPID, sHWHID, HOWNERID)) |
| | | { |
| | | oBar.HBarType = "仓位条码"; |
| | | oBar.HSPID = dal.omodel.HItemID; |
| | | oBar.HSPNumber = dal.omodel.HNumber; |
| | | oBar.HSPName = dal.omodel.HName; |
| | | oBar.HWhID = dal.omodel.HWHID; |
| | | oBar.HWhNumber = dal.omodel.HWhNumber; |
| | | oBar.HWhName = dal.omodel.HWhName; |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "无效仓位条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "错误的仓位条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | //部门条码 |
| | | else if (sBarBillName == "部门") |
| | | { |
| | | DAL.ClsIF_Department_View dal = new DAL.ClsIF_Department_View(); |
| | | //将递入的条码去掉前三位后转化成整形 |
| | | int ID; |
| | | if (int.TryParse(sBarCode.Remove(0, 3), out ID)) |
| | | { |
| | | if (dal.GetInfoByID(ID)) |
| | | { |
| | | oBar.HBarType = "部门条码"; |
| | | oBar.HDeptID = dal.omodel.HItemID; |
| | | oBar.HDeptNumber = dal.omodel.HNumber; |
| | | oBar.HDeptName = dal.omodel.HName; |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "无效部门条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "错误的部门条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "无效基础资料条码!"; |
| | | return null; |
| | | } |
| | | } |
| | | //源单条码 |
| | | else if (sBarBillType == "源单条码") |
| | | { |
| | | //当该单据类型的系统参数:多源单模式 时,不允许扫描原单 |
| | | |
| | | |
| | | //======================= |
| | | DataSet Ds = oCn.RunProcReturn(" select HSourceName from Xt_BarCodeType where HSourceNumber= '" + sBarCodePrefix + "' and HBillType= '" + HBillType + "'", "Xt_BarCodeType"); |
| | | |
| | | if (Ds == null || Ds.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "所扫源单条码不属于此模块源单范围!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | sBarBillName = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HSourceName"]); |
| | | //扫描源单条码时判断是否已经扫描过源单信息 |
| | | if (SourceFlag) |
| | | { |
| | | sErrMsg = "明细信息列表已有扫码记录,不允许多次扫描源单条码!"; |
| | | return null; |
| | | } |
| | | else |
| | | { |
| | | //产品入库单 源单:生产任务单 |
| | | if (sBarBillName == "生产任务单" && HBillType == "1202") |
| | | { |
| | | DAL.Cls_S_IF_ICMOBill_Lite dal = new DAL.Cls_S_IF_ICMOBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //产品入库单 源单:生产汇报单 |
| | | else if (sBarBillName == "生产汇报单" && HBillType == "1202") |
| | | { |
| | | DAL.Cls_S_IF_ICMOReportBill_Lite dal = new DAL.Cls_S_IF_ICMOReportBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //外购入库单 源单:采购订单 |
| | | else if (sBarBillName == "采购订单" && HBillType == "1201") |
| | | { |
| | | DAL.Cls_S_IF_POOrderBill_Lite dal = new DAL.Cls_S_IF_POOrderBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //外购入库单 源单:收料通知单 |
| | | else if (sBarBillName == "收料通知单" && HBillType == "1201") |
| | | { |
| | | DAL.Cls_S_IF_POInStockBill_Lite dal = new DAL.Cls_S_IF_POInStockBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "' and isnull(HBillSubType,0)=12510 "; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //委外入库单 源单:委外订单 |
| | | else if (sBarBillName == "委外订单" && HBillType == "1210") |
| | | { |
| | | DAL.Cls_S_IF_WWOrderBill_Lite dal = new DAL.Cls_S_IF_WWOrderBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //委外入库单 源单:收料通知单-委外 |
| | | else if (sBarBillName == "收料通知单-委外" && HBillType == "1210") |
| | | { |
| | | DAL.Cls_S_IF_POStockInBill_Lite dal = new DAL.Cls_S_IF_POStockInBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "' and isnull(HBillSubType,0)=12511 "; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //领料出库 源单:生产任务单-投料 |
| | | else if (sBarBillName == "生产任务单-投料" && HBillType == "1204") |
| | | { |
| | | DAL.Cls_S_IF_PPBomBillList_Lite dal = new DAL.Cls_S_IF_PPBomBillList_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | //销售出库 源单:销售订单 |
| | | else if (sBarBillName == "销售订单" && HBillType == "1205") |
| | | { |
| | | DAL.Cls_S_IF_SEOrderBill_Lite dal = new DAL.Cls_S_IF_SEOrderBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]); |
| | | } |
| | | //销售出库 源单:发货通知单 |
| | | else if (sBarBillName == "发货通知单" && HBillType == "1205") |
| | | { |
| | | DAL.Cls_S_IF_SeOutStockBill_Lite dal = new DAL.Cls_S_IF_SeOutStockBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | oBar.HCustom = Convert.ToString(DS.Tables[0].Rows[0]["HCustom"]); |
| | | } |
| | | //委外出库单 源单:委外订单-投料 |
| | | else if (sBarBillName == "委外订单-投料" && HBillType == "1211") |
| | | { |
| | | DAL.Cls_S_IF_WWPPBomBill_Lite dal = new DAL.Cls_S_IF_WWPPBomBill_Lite(); |
| | | DataSet DS; |
| | | //根据单据号获取过滤条件 |
| | | string sWhere = " Where 单据号 like '" + sBarCode + "'"; |
| | | DS = dal.DisSourceBillList(sWhere); |
| | | if (DS == null || DS.Tables[0].Rows.Count <= 0) |
| | | { |
| | | sErrMsg = "没有返回任何记录!"; |
| | | return null; |
| | | } |
| | | oBar.HBarType = "源单条码"; |
| | | oBar.HSourceBillNo = Convert.ToString(DS.Tables[0].Rows[0]["HBillNo"]); |
| | | oBar.HSourceBillType = Convert.ToString(DS.Tables[0].Rows[0]["HBillType"]); |
| | | oBar.HSupID = Convert.ToInt64(DS.Tables[0].Rows[0]["HSupID"]); |
| | | oBar.HSupName = Convert.ToString(DS.Tables[0].Rows[0]["HSupName"]); |
| | | oBar.HDeptID = Convert.ToInt64(DS.Tables[0].Rows[0]["HDeptID"]); |
| | | oBar.HDeptName = Convert.ToString(DS.Tables[0].Rows[0]["HDeptName"]); |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "源单类型名称设置不正确!"; |
| | | return null; |
| | | } |
| | | // 将源单信息写入 临时缓存表 |
| | | if (tem.AddNew_Source(HBillID, HBillNo, HBillType, oBar.HSourceBillNo, oBar.HSourceBillType, sRedBlue, ref sErrMsg)) |
| | | { |
| | | return oBar; |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "保存源单信息失败!" + sErrMsg; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | sErrMsg = "无效条码类型!"; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | sErrMsg = e.Message + ";" + e.StackTrace; |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region 扫描物料条码 调拨 |
| | | |
| | | [WebMethod] |