| | |
| | | sMulSourceCtl = "Y"; |
| | | } |
| | | } |
| | | //委外补料单 |
| | | else if (HBillType == "1255") |
| | | { |
| | | //是否进行批号核对('Y'为核对批号) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_BatchNoCtl.ToUpper() == "Y") |
| | | { |
| | | sBatchNoCtl = "Y"; |
| | | } |
| | | //是否存在多行相同物料时自动拆分换行('Y'为自动拆分) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_MultilineCtl.ToUpper() == "Y") |
| | | { |
| | | sMultilineCtl = "Y"; |
| | | } |
| | | //扫码数量能否可超单据数量控制(小于等于应收、完全等于应收、不控制) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_MustQtyCtl == "小于等于应收") |
| | | { |
| | | sMustQtyCtl = "小于等于应收"; |
| | | } |
| | | else if (oSystemParameterMain.Kf_EntrustReplenishOutBill_MustQtyCtl == "完全等于应收") |
| | | { |
| | | sMustQtyCtl = "完全等于应收"; |
| | | } |
| | | else |
| | | { |
| | | sMustQtyCtl = "不控制"; |
| | | } |
| | | //是否取物料默认仓库仓位('Y'为是) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_MaterWHSPCtl.ToUpper() == "Y") |
| | | { |
| | | sMaterWHSPCtl = "Y"; |
| | | } |
| | | //是否取源单中仓库仓位('Y'为是) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_SourceWHSPCtl.ToUpper() == "Y") |
| | | { |
| | | sSourceWHSPCtl = "Y"; |
| | | } |
| | | //一次扫码控制('Y'为控制) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_BillTypeOneScan.ToUpper() == "Y") |
| | | { |
| | | sOneScanCtl = "Y"; |
| | | } |
| | | //先进先出控制('Y'为控制) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_FIFOCtl.ToUpper() == "Y") |
| | | { |
| | | sFIFOCtl = "Y"; |
| | | } |
| | | //是否启用多源单扫码模式('Y'为启用) |
| | | if (oSystemParameterMain.Kf_EntrustReplenishOutBill_MustQtyCtl.ToUpper() == "Y") |
| | | { |
| | | sMulSourceCtl = "Y"; |
| | | } |
| | | } |
| | | //直接调拨单 |
| | | else if (HBillType == "1207") |
| | | { |
| | |
| | | sRelQty = omodel_View.HQty; |
| | | } |
| | | |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | { |
| | | if (omodel_View.HSourceQty == 0) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫物料在列表中剩余可扫数量为0,不允许扫码!"; |
| | | return null; |
| | | } |
| | | else if (sRelQty > omodel_View.HSourceQty) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫描条码数量为 " + sRelQty.ToString() + " 大于列表中剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!"; |
| | | return null; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | //批次条码、品种条码 |
| | |
| | | { |
| | | sRelQty = omodel_View.HQty; |
| | | } |
| | | } |
| | | |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | { |
| | | if (omodel_View.HSourceQty == 0) |
| | | { |
| | | if (omodel_View.HSourceQty == 0) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫物料在单据中剩余可扫数量为0,不允许扫码!"; |
| | | return null; |
| | | } |
| | | else if (sRelQty > omodel_View.HSourceQty) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!"; |
| | | return null; |
| | | } |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫物料在列表中剩余可扫数量为0,不允许扫码!"; |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | sLogNote = sLogNote + ",4-条码数量获取:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | //生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)、生产补料(1254) |
| | | //生产领料(1204)、销售出库(1205)、其他出库蓝字(1206)、委外出库(1211)、生产补料(1254)、委外补料(1255) |
| | | //外购退料(1239)、产品退库(1245)、其他入库红字(1248)、委外退库(1246) |
| | | //出库、红字入库,判断条码库存、ERP库存 |
| | | if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211" || HBillType == "1254" |
| | | if (HBillType == "1204" || HBillType == "1205" || HBillType == "1206" || HBillType == "1211" || HBillType == "1254" || HBillType == "1255" |
| | | || HBillType == "1239" || HBillType == "1245" || HBillType == "1248" || HBillType == "1246") |
| | | { |
| | | double sWMSQty = 0; //条码库存数量 |
| | |
| | | sErrMsg = "所扫描物料条码: " + omodel_View.HBarCode + " ,数量不允许为0!"; |
| | | return null; |
| | | } |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | { |
| | | if (sRelQty > omodel_View.HSourceQty) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫描条码数量为 " + sRelQty.ToString() + " 大于列表中剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!"; |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | sLogNote = sLogNote + ",5-条码库存判断:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff"); |
| | | //唯一条码,是否启用一次扫码控制('Y'为启用) |
| | | if (omodel_View.HBarCodeType == "唯一条码" && sOneScanCtl == "Y") |
| | |
| | | { |
| | | sRelQty = omodel_View.HQty; |
| | | } |
| | | |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (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; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | //批次条码、品种条码 |
| | |
| | | { |
| | | sRelQty = omodel_View.HQty; |
| | | } |
| | | } |
| | | |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | { |
| | | if (omodel_View.HSourceQty == 0) |
| | | { |
| | | if (omodel_View.HSourceQty == 0) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫物料在单据中剩余可扫数量为0,不允许扫码!"; |
| | | return false; |
| | | } |
| | | else if (sRelQty > omodel_View.HSourceQty) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫描条码数量为 " + sRelQty.ToString() + " 大于对应源单剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!"; |
| | | return false; |
| | | } |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫物料在列表中剩余可扫数量为0,不允许扫码!"; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | //有源单扫码,根据系统参数 控制扫码数量能否可超单据数量(小于等于应收、完全等于应收、不控制) |
| | | if (omodel_View.HSourceInterID != 0 && (sMustQtyCtl == "小于等于应收" || sMustQtyCtl == "完全等于应收")) |
| | | { |
| | | if (sRelQty > omodel_View.HSourceQty) |
| | | { |
| | | sErrMsg = "启用条码扫描数量不能超源单可扫数量,所扫描条码数量为 " + sRelQty.ToString() + " 大于列表中剩余可扫描数量" + omodel_View.HSourceQty.ToString() + ",不允许扫码!"; |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | if (HWhID == HSCWHID && HSPID == HSCSPID) |
| | | { |
| | | sErrMsg = "调入仓库、仓位不能与调出仓库、仓位相同!"; |