| | |
| | | string sOneScanCtl = "N"; //一次扫码控制('Y'为控制) |
| | | string sStockPlaceAutoCtl = "Y"; //仓位是否从ERP同步('N'为仓位数据本地维护,'Y'为仓位数据从ERP中同步至本地) |
| | | string sFIFOCtl = "4"; //先进先出控制(1、不控制仅显示下架清单 2、严格控制先进先出 3、仅提示和显示下架清单 4、不显示下架清单也不控制) |
| | | string sWMSStockCtl = oSystemParameterMain.WMS_WMSStockCtl.ToUpper(); //库存控制-条码库存控制 |
| | | |
| | | #region 系统参数获取 |
| | | //采购入库单 |
| | |
| | | #endregion |
| | | |
| | | string HMaterNumber; //物料代码 |
| | | //判断是否存在相同条码,判断所扫条码是否在单据中 |
| | | DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sWHSPCtl + "','" + sWHCtl + "','" + sMultilineCtl + "'", "h_p_WMS_AddBarCode_BillCheck_New"); |
| | | //判断是否存在相同条码,判断所扫条码是否在单据中;出库、红字入库、调拨,判断条码库存 |
| | | DataSet ds1 = oCn.RunProcReturn("exec h_p_WMS_AddBarCode_BillCheck_New '" + omodel_View.HBarCode + "'," + HBillID.ToString() + ",'" + HBillNo + "','" + HBillType + "'," + HWhID + "," + HSPID + ",'" + sWHSPCtl + "','" + sWHCtl + "','" + sWMSStockCtl + "','" + sStockPlaceAutoCtl + "','" + sMultilineCtl + "'," + HOWNERID.ToString(), "h_p_WMS_AddBarCode_BillCheck_New"); |
| | | if (ds1 == null || ds1.Tables[0].Rows.Count == 0) |
| | | { |
| | | sErrMsg = "判断所扫条码是否在单据中发生错误!"; |
| | |
| | | || HBillType == "1254" || HBillType == "1255" || HBillType == "1207" || HBillType == "1250") |
| | | { |
| | | //库存控制-WMS负库存控制 |
| | | if (oSystemParameterMain.WMS_WMSStockCtl.ToUpper() == "Y") |
| | | if (sWMSStockCtl == "Y") |
| | | { |
| | | //判断WMS库存 返回WMS库存数量 |
| | | 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"); |
| | | if (DsWMS == null || DsWMS.Tables[0].Rows.Count == 0) |
| | | sWMSQty = DBUtility.ClsPub.isDoule(ds1.Tables[0].Rows[0]["HWMSQty"]); |
| | | sWhName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HWhName"]); |
| | | sSPName = DBUtility.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HSPName"]); |
| | | |
| | | if (sWMSQty <= 0) |
| | | { |
| | | sErrMsg = "所扫描物料条码: " + omodel_View.HBarCode + " ,无条码库存!"; |
| | | sErrMsg = "所扫描物料条码:" + omodel_View.HBarCode + " ,在仓库[ " + sWhName + " ]、仓位[ " + sSPName + " ]中,无条码库存!"; |
| | | return false; |
| | | } |
| | | else |
| | | //判断扫描数量与条码库存数量 |
| | | else if (sRelQty > sWMSQty) |
| | | { |
| | | HWhID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HWhID"]); |
| | | HSPID = DBUtility.ClsPub.isLong(DsWMS.Tables[0].Rows[0]["HSPID"]); |
| | | sWMSQty = DBUtility.ClsPub.isDoule(DsWMS.Tables[0].Rows[0]["HQty"]); |
| | | sWhName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HWhName"]); |
| | | sSPName = DBUtility.ClsPub.isStrNull(DsWMS.Tables[0].Rows[0]["HSPName"]); |
| | | |
| | | if (sWMSQty <= 0) |
| | | { |
| | | sErrMsg = "所扫描物料条码:" + omodel_View.HBarCode + " ,在仓库[ " + sWhName + " ]、仓位[ " + sSPName + " ]中,无条码库存!"; |
| | | return false; |
| | | } |
| | | //判断扫描数量与条码库存数量 |
| | | else if (sRelQty > sWMSQty) |
| | | { |
| | | sRelQty = sWMSQty; |
| | | } |
| | | sRelQty = sWMSQty; |
| | | } |
| | | } |
| | | |
| | | //库存控制-ERP负库存控制 金蝶云私有云模式 |
| | | if (oSystemParameterMain.WMS_ERPStockCtl.ToUpper() == "Y" && oSystemParameterMain.WMS_CloudMode.ToUpper() == "Y") |
| | | if (oSystemParameterMain.WMS_ERPStockCtl_BillCheck.ToUpper() == "Y" && 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"); |