diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WMentryWarehousing_productController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WMentryWarehousing_productController.cs
index 36b66fe6..27cc64cc 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WMentryWarehousing_productController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WMentryWarehousing_productController.cs
@@ -127,6 +127,8 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
}
return ToResponse(new ApiResult(200, msg, num));
}
+
+
///
/// 获取库位已经存在箱子
///
@@ -146,6 +148,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
return ToResponse(new ApiResult(200, msg, productionList));
}
+
+
+
///
/// 解析外标签码
///
diff --git a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
index 9368c784..ac4e68f0 100644
--- a/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
+++ b/ZR.Admin.WebApi/Controllers/mes/wms/WmOutOrderController.cs
@@ -102,7 +102,8 @@ namespace ZR.Admin.WebApi.Controllers
var response = _WmOutOrderService.Delete(ids.Split(","));
-
+ // 删除外键 物料清单
+ _WmOutOrderService.Delete_fk_matrial(ids.Split(","));
return ToResponse(response);
}
@@ -195,14 +196,14 @@ namespace ZR.Admin.WebApi.Controllers
///
///
[HttpGet("over_outorderplan")]
- public IActionResult OverOutorderplan(string shipment_num)
+ public IActionResult OverOutorderplan(string shipmentNum)
{
- if (shipment_num == null)
+ if (shipmentNum == null)
{
return SUCCESS(null);
}
- bool status = _WmOutOrderService.OverOutorderplan(shipment_num);
+ bool status = _WmOutOrderService.OverOutorderplan(shipmentNum);
return SUCCESS(status);
}
diff --git a/ZR.Service/Utils/MaterialUtils.cs b/ZR.Service/Utils/MaterialUtils.cs
index b7f9cf5a..e06ad114 100644
--- a/ZR.Service/Utils/MaterialUtils.cs
+++ b/ZR.Service/Utils/MaterialUtils.cs
@@ -15,22 +15,26 @@ namespace ZR.Service.Utils
//解析外箱标签码
public ResultionPackageCodeDto ResolutionPackage(string code)
{
- // 初步进行解析检测,增加解析成功率
- string[] splitstr = code.Split('^');
- if (splitstr.Length < 1)
+ if(code.Contains("^"))
{
- return null;
- }
- // 第一类
- if (splitstr[0].Contains("Code="))
- {
- return ResolutionPackagecode1(code);
- }
- // 第二类
- if (splitstr[3].Contains("Cd="))
- {
- return ResolutionPackagecode2(code);
+ // 初步进行解析检测,增加解析成功率
+ string[] splitstr = code.Split('^');
+ if (splitstr.Length < 1)
+ {
+ return null;
+ }
+ // 第一类
+ if (splitstr[0].Contains("Code="))
+ {
+ return ResolutionPackagecode1(code);
+ }
+ // 第二类
+ if (splitstr[3].Contains("Cd="))
+ {
+ return ResolutionPackagecode2(code);
+ }
}
+
// 解析失败
return null;
}
diff --git a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
index 84488375..a1dd5e81 100644
--- a/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
+++ b/ZR.Service/mes/wms/IService/IWmOutOrderService.cs
@@ -20,6 +20,7 @@ namespace ZR.Service.mes.wms.IService
WmOutOrder AddWmOutOrder(WmOutOrder_materialDto parm);
int UpdateWmOutOrder(WmOutOrder parm);
+ int Delete_fk_matrial(string[] primarys);
List GetCustominfo();
diff --git a/ZR.Service/mes/wms/WmOutOrderService.cs b/ZR.Service/mes/wms/WmOutOrderService.cs
index 7c2ddb2e..d00ac87f 100644
--- a/ZR.Service/mes/wms/WmOutOrderService.cs
+++ b/ZR.Service/mes/wms/WmOutOrderService.cs
@@ -142,6 +142,24 @@ namespace ZR.Service.mes.wms
return Context.Insertable(wmOutOrder).ExecuteReturnEntity();
}
+ ///
+ /// 删除出货单关联的物料出货单
+ ///
+ ///
+ ///
+ public int Delete_fk_matrial(string[] primarys)
+ {
+ if(primarys.Count()>0)
+ {
+ for(int i = 0; i < primarys.Length; i++)
+ {
+ Context.Deleteable().Where(it => it.FkOutorderId == primarys[i]).ExecuteCommand();
+ }
+
+ }
+ return 1;
+
+ }
///
/// 修改出货单(物料+客户)
@@ -204,7 +222,9 @@ namespace ZR.Service.mes.wms
List materialList = Context.Queryable()
- .Where(predicate.ToExpression()).OrderByDescending(it => it.CreatedTime)
+ .Where(predicate.ToExpression())
+
+ .OrderByDescending(it => it.CreatedTime)
.ToPageList(parm.PageNum, parm.PageSize, ref total);
@@ -231,8 +251,13 @@ namespace ZR.Service.mes.wms
material_num = material_num + (int)product.GoodsNumLogic;
}
}
- wmMaterialQuery_Stock_item.stockQuantity = material_num;
- material_stockQuantity_list.Add(wmMaterialQuery_Stock_item);
+ if(material_num>0)
+ {
+ wmMaterialQuery_Stock_item.stockQuantity = material_num;
+ material_stockQuantity_list.Add(wmMaterialQuery_Stock_item);
+ }
+
+
}
@@ -333,10 +358,7 @@ namespace ZR.Service.mes.wms
.Where(it => it.Partnumber == partnumber)
.OrderBy(it => it.PackageCodeClient)
.ToList();
- // 计算批次零件总数
- //int totalPartnumberNum = Context.Queryable()
- //.Where(it => it.Partnumber == partnumber)
- //.Sum(it => it.GoodsNumAction) ?? 0;
+
// 判断要出多少批次的货
List wmOutOrderPlans = new List();
// 当前累计批次货物总数
@@ -353,19 +375,19 @@ namespace ZR.Service.mes.wms
orderPlan.WarehouseCode = witem.LocationCode;
orderPlan.PackageNum = material.PackageNum;
// 获得批次的总零件数
- orderPlan.PartnumberNum = witem.GoodsNumAction;
+ orderPlan.PartnumberNum = witem.GoodsNumLogic;
orderPlan.RequireNum = require_num;
orderPlan.Patchtime = Resolution_bath(witem.PackageCodeOriginal);
wmOutOrderPlans.Add(orderPlan);
// 实际值计算
- accumulation_num = accumulation_num + witem.GoodsNumAction ?? 0;
+ accumulation_num = accumulation_num + witem.GoodsNumLogic ?? 0;
}
}
// 进行聚合
if (wmOutOrderPlans.Count > 0)
{
// 根据批次号下划线前进行聚合
- planList = wmOutOrderPlans.GroupBy(it => it.Patchcode_short).Select(g => new
+ List < WmOutOrderPlan > material_plan_item = wmOutOrderPlans.GroupBy(it => it.Patchcode_short).Select(g => new
WmOutOrderPlan
{
FkOutOrderId = g.Max(p => p.FkOutOrderId),
@@ -378,6 +400,8 @@ namespace ZR.Service.mes.wms
RequireNum = g.Max(p => p.RequireNum),
Patchtime = g.Max(p => p.Patchtime),
}).ToList();
+
+ planList=planList.Concat(material_plan_item).ToList();
}
@@ -392,10 +416,10 @@ namespace ZR.Service.mes.wms
count++;
witem.Inventory_pack_num = Context.Queryable()
- .Where(it=>it.PackageCodeClient== witem.Patchcode)
+ .Where(it=>it.PackageCodeClient.Contains(witem.Patchcode))
.Count();
witem.Inventory_num = Context.Queryable()
- .Where(it => it.PackageCodeClient == witem.Patchcode)
+ .Where(it => it.PackageCodeClient.Contains( witem.Patchcode))
.Sum(it=>it.GoodsNumLogic)??0;
@@ -522,7 +546,7 @@ namespace ZR.Service.mes.wms
{
return "该箱号未入库!请先入库";
}
-
+
// 4.获取出库单号对应的出库计划
List orderPlans = Generate_outorderplan(shipment_num);
// 5.配对是否符合出库条件
@@ -534,6 +558,7 @@ namespace ZR.Service.mes.wms
return "ok";
}
}
+ // 6 .还差一个 数量超过要出库的箱子
return "此箱标签不可出库,批次号不在出库单计划内!请检查出库单计划!";
}
catch (Exception ex)