wms调整
This commit is contained in:
@@ -127,6 +127,8 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
|
||||
}
|
||||
return ToResponse(new ApiResult(200, msg, num));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 获取库位已经存在箱子
|
||||
/// </summary>
|
||||
@@ -146,6 +148,9 @@ namespace ZR.Admin.WebApi.Controllers.mes.wms
|
||||
|
||||
return ToResponse(new ApiResult(200, msg, productionList));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 解析外标签码
|
||||
/// </summary>
|
||||
|
||||
@@ -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
|
||||
/// <param name="shipment_num"></param>
|
||||
/// <returns></returns>
|
||||
[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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<WmCustom> GetCustominfo();
|
||||
|
||||
@@ -142,6 +142,24 @@ namespace ZR.Service.mes.wms
|
||||
|
||||
return Context.Insertable(wmOutOrder).ExecuteReturnEntity();
|
||||
}
|
||||
/// <summary>
|
||||
/// 删除出货单关联的物料出货单
|
||||
/// </summary>
|
||||
/// <param name="primarys"></param>
|
||||
/// <returns></returns>
|
||||
public int Delete_fk_matrial(string[] primarys)
|
||||
{
|
||||
if(primarys.Count()>0)
|
||||
{
|
||||
for(int i = 0; i < primarys.Length; i++)
|
||||
{
|
||||
Context.Deleteable<WmMaterialOutorder>().Where(it => it.FkOutorderId == primarys[i]).ExecuteCommand();
|
||||
}
|
||||
|
||||
}
|
||||
return 1;
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 修改出货单(物料+客户)
|
||||
@@ -204,7 +222,9 @@ namespace ZR.Service.mes.wms
|
||||
|
||||
|
||||
List<WmMaterial> materialList = Context.Queryable<WmMaterial>()
|
||||
.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<WmGoodsNowProduction>()
|
||||
//.Where(it => it.Partnumber == partnumber)
|
||||
//.Sum(it => it.GoodsNumAction) ?? 0;
|
||||
|
||||
// 判断要出多少批次的货
|
||||
List<WmOutOrderPlan> wmOutOrderPlans = new List<WmOutOrderPlan>();
|
||||
// 当前累计批次货物总数
|
||||
@@ -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<WmGoodsNowProduction>()
|
||||
.Where(it=>it.PackageCodeClient== witem.Patchcode)
|
||||
.Where(it=>it.PackageCodeClient.Contains(witem.Patchcode))
|
||||
.Count();
|
||||
witem.Inventory_num = Context.Queryable<WmGoodsNowProduction>()
|
||||
.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<WmOutOrderPlan> orderPlans = Generate_outorderplan(shipment_num);
|
||||
// 5.配对是否符合出库条件
|
||||
@@ -534,6 +558,7 @@ namespace ZR.Service.mes.wms
|
||||
return "ok";
|
||||
}
|
||||
}
|
||||
// 6 .还差一个 数量超过要出库的箱子
|
||||
return "此箱标签不可出库,批次号不在出库单计划内!请检查出库单计划!";
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
Reference in New Issue
Block a user