仓库-优化入库出库接口,添加trycatch判断
This commit is contained in:
@@ -475,35 +475,52 @@ namespace ZR.Service.mes.wms
|
||||
/// <returns></returns>
|
||||
public string CheckProductionOut(string production_packcode, string shipment_num)
|
||||
{
|
||||
if (shipment_num == "" || production_packcode == "")
|
||||
try
|
||||
{
|
||||
return "传入数据为空!请检查参数";
|
||||
}
|
||||
MaterialUtils materialToos = new MaterialUtils();
|
||||
// 1.解析标签编码
|
||||
ResultionPackageCodeDto resultionPackage = materialToos.ResolutionPackage(production_packcode);
|
||||
if (resultionPackage == null)
|
||||
{
|
||||
return "标签解析异常!请检查标签";
|
||||
}
|
||||
// 2.判断是否已入库
|
||||
bool isExistedWarehouse = Context.Queryable<WmGoodsNowProduction>().Where(it => it.PackageCodeClient == resultionPackage.PatchCode).Any();
|
||||
if (!isExistedWarehouse)
|
||||
{
|
||||
return "该箱号未入库!请先入库";
|
||||
}
|
||||
// 3.获取出库单号对应的出库计划
|
||||
List<WmOutOrderPlan> orderPlans = Generate_outorderplan(shipment_num);
|
||||
// 4.配对是否符合出库条件
|
||||
foreach(var orderPlan in orderPlans)
|
||||
{
|
||||
// 存在匹配条件: 箱标签批次号包含计划短批次号
|
||||
if(orderPlan != null && resultionPackage.PatchCode.Contains(orderPlan.Patchcode_short) )
|
||||
if (shipment_num == "" || production_packcode == "")
|
||||
{
|
||||
return "ok";
|
||||
return "传入数据为空!请检查参数";
|
||||
}
|
||||
|
||||
// 1.判断工单是否处于已完成状态
|
||||
bool isOutOrderCanUse = Context.Queryable<WmOutOrder>().Where(it => it.ShipmentNum == shipment_num).Where(it => it.Type == 1).Any();
|
||||
if (!isOutOrderCanUse)
|
||||
{
|
||||
return "出库单已完成或已弃用!请检查出库单";
|
||||
}
|
||||
|
||||
MaterialUtils materialToos = new MaterialUtils();
|
||||
// 2.解析标签编码
|
||||
ResultionPackageCodeDto resultionPackage = materialToos.ResolutionPackage(production_packcode);
|
||||
if (resultionPackage == null)
|
||||
{
|
||||
return "标签解析异常!请检查标签";
|
||||
}
|
||||
// 3.判断是否已入库
|
||||
bool isExistedWarehouse = Context.Queryable<WmGoodsNowProduction>().Where(it => it.PackageCodeClient == resultionPackage.PatchCode).Any();
|
||||
if (!isExistedWarehouse)
|
||||
{
|
||||
return "该箱号未入库!请先入库";
|
||||
}
|
||||
|
||||
// 4.获取出库单号对应的出库计划
|
||||
List<WmOutOrderPlan> orderPlans = Generate_outorderplan(shipment_num);
|
||||
// 5.配对是否符合出库条件
|
||||
foreach (var orderPlan in orderPlans)
|
||||
{
|
||||
// 存在匹配条件: 箱标签批次号包含计划短批次号
|
||||
if (orderPlan != null && resultionPackage.PatchCode.Contains(orderPlan.Patchcode_short))
|
||||
{
|
||||
return "ok";
|
||||
}
|
||||
}
|
||||
return "此箱标签不可出库,批次号不在出库单计划内!请检查出库单计划!";
|
||||
}
|
||||
return "此箱标签不可出库,批次号不在出库单计划内!请检查出库单计划!";
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "此箱标签存在异常不可出库!";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user