| | |
| | | //获取对应条码解析数据 |
| | | string[] str = sBarCode.Split('@'); |
| | | |
| | | if (str.Length < 6) |
| | | if (str.Length != 4 && str.Length < 6) |
| | | { |
| | | sErrMsg = "条码解析失败,条码格式错误,必须包含最少5个 @ 分隔符!"; |
| | | sErrMsg = "1、条码档案中不存在该条码,请确认条码是否正确!2、条码解析失败,条码格式错误,必须包含3个 @ 分隔符或不少于5个 @ 分隔符!"; |
| | | return false; |
| | | } |
| | | string sHMaterNumber = str[0]; //物料编码 |
| | | string sHSupNumber = str[1]; //供应商编码 |
| | | string sHBatchNo = str[2]; //来料批号/物料名称 |
| | | string sHBatchNo = str[2]; //来料批号/物料名称(包含3个@和5个@的为批号,包含6个@的为物料名称) |
| | | string sHBarQty = str[3]; //来料数量 |
| | | string sHPOOrderBillNo = str[4]; //采购订单编码 |
| | | string sHPOOrderBillNo = str.Length > 4 ? str[4] : ""; //采购订单编码 |
| | | |
| | | //定义并赋值条码表所需写入字段数据 |
| | | Int64 HInterID = 0; //主ID |
| | |
| | | string HPinfan = ""; //品番 |
| | | DateTime HEndDate = DateTime.Now; ; //计划完工日期 |
| | | |
| | | //获取条码类型、源单类型 |
| | | if (str.Length == 4) |
| | | { |
| | | HBarCodeType = "批次条码"; |
| | | HSourceBillType = ""; |
| | | } |
| | | |
| | | //获取物料相关数据 |
| | | DataSet Mds = oCn.RunProcReturn("select top 1 HItemID,HNumber,HName,HModel,HUnitID,HISKFPERIOD,HEXPUNIT,HEXPPERIOD from Gy_Material with(nolock) where HNumber='" + sHMaterNumber + "' and HUSEORGID=" + HStockOrgID.ToString() + " order by HISKFPERIOD desc", "Gy_Material"); |
| | | if (Mds.Tables[0].Rows.Count == 0) |
| | |
| | | } |
| | | |
| | | //获取批号 |
| | | if (str.Length == 6) |
| | | if (str.Length == 6 || str.Length == 4) |
| | | { |
| | | HBatchNo = sHBatchNo; |
| | | } |