|
|
@ -88,20 +88,22 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
|
|
|
|
|
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
|
|
|
|
|
|
|
|
Set<String> zyProductPlanProductCodes = new LinkedHashSet<>(); |
|
|
|
Set<String> zyProductPlanProductNos = new LinkedHashSet<>(); |
|
|
|
List<SysDepart> sysDepartList = iSysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getOrgCategory, "2")); |
|
|
|
List<SysDepart> sysDepartList = iSysDepartService.list(new LambdaQueryWrapper<SysDepart>().eq(SysDepart::getOrgCategory, "2")); |
|
|
|
List<SysDepart> sysDepartList2 = this.copyList(workOrderList, sysDepartList); |
|
|
|
List<SysDepart> sysDepartList2 = this.copyList(workOrderList, sysDepartList); |
|
|
|
|
|
|
|
|
|
|
|
AtomicInteger i = new AtomicInteger(0); |
|
|
|
AtomicInteger i = new AtomicInteger(0); |
|
|
|
workOrderList.stream().forEach(e -> { |
|
|
|
workOrderList.stream().forEach(e -> { |
|
|
|
String productCode = e.getProductCode(); |
|
|
|
//工单id
|
|
|
|
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>() |
|
|
|
String workOrderId = e.getId(); |
|
|
|
.eq(ZyProduct::getWorkOrderId, productCode)); |
|
|
|
//一个工单对应一个产品
|
|
|
|
Optional.ofNullable(zyProduct).orElseThrow(() -> new JeecgBootException(productCode + ":产品不存在")); |
|
|
|
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>().eq(ZyProduct::getWorkOrderId, workOrderId)); |
|
|
|
|
|
|
|
if (!ObjectUtils.isEmpty(zyProduct)) { |
|
|
|
//2,保存生产计划
|
|
|
|
//2,保存生产计划
|
|
|
|
ZyProductPlan zyProductPlan = new ZyProductPlan(); |
|
|
|
ZyProductPlan zyProductPlan = new ZyProductPlan(); |
|
|
|
zyProductPlan.setProductCode(productCode); |
|
|
|
//工单编号
|
|
|
|
|
|
|
|
zyProductPlan.setProductCode(e.getProductCode()); |
|
|
|
|
|
|
|
//产品编号
|
|
|
|
zyProductPlan.setProductNo(zyProduct.getProductCode()); |
|
|
|
zyProductPlan.setProductNo(zyProduct.getProductCode()); |
|
|
|
zyProductPlan.setProductName(zyProduct.getProductName()); |
|
|
|
zyProductPlan.setProductName(zyProduct.getProductName()); |
|
|
|
|
|
|
|
|
|
|
@ -146,15 +148,19 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
iZyProductPlanService.save(zyProductPlan); |
|
|
|
iZyProductPlanService.save(zyProductPlan); |
|
|
|
|
|
|
|
|
|
|
|
//更新work_order表work_order_status为“1” (不能为其新增生产计划)
|
|
|
|
//更新work_order表work_order_status为“1” (不能为其新增生产计划)
|
|
|
|
iWorkOrderService.lambdaUpdate().set(WorkOrder::getWorkOrderStatus, WorkOrderStatusEnum.REVIEWED.getCode()).update(); |
|
|
|
iWorkOrderService.lambdaUpdate() |
|
|
|
|
|
|
|
.set(WorkOrder::getWorkOrderStatus, WorkOrderStatusEnum.REVIEWED.getCode()) |
|
|
|
|
|
|
|
.eq(WorkOrder::getProductCode, zyProductPlan.getProductCode()) |
|
|
|
|
|
|
|
.update(); |
|
|
|
|
|
|
|
zyProductPlanProductNos.add(zyProduct.getProductCode()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
zyProductPlanProductCodes.add(productCode); |
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
//根据productCode,查询本次创建生产计划
|
|
|
|
//根据产品编号,查询本次创建成功的生产计划
|
|
|
|
List<ZyProductPlan> productPlanList = iZyProductPlanService.list(new LambdaQueryWrapper<ZyProductPlan>() |
|
|
|
List<ZyProductPlan> productPlanList = iZyProductPlanService.list(new LambdaQueryWrapper<ZyProductPlan>() |
|
|
|
.eq(ZyProductPlan::getStatus, ProductPlanStatusEnum.UNAUDITED.getCode()) |
|
|
|
.eq(ZyProductPlan::getStatus, ProductPlanStatusEnum.UNAUDITED.getCode()) |
|
|
|
.in(ZyProductPlan::getStatus, zyProductPlanProductCodes)); |
|
|
|
.in(ZyProductPlan::getProductNo, zyProductPlanProductNos)); |
|
|
|
return productPlanList; |
|
|
|
return productPlanList; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -168,20 +174,21 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
List<ZyProductPlan> saveProductPlan4Mock(List<WorkOrder> workOrderList) { |
|
|
|
List<ZyProductPlan> saveProductPlan4Mock(List<WorkOrder> workOrderList) { |
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
|
|
|
|
|
|
|
|
Set<String> zyProductPlanProductCodes = new LinkedHashSet<>(); |
|
|
|
Set<String> zyProductPlanProductNos = new LinkedHashSet<>(); |
|
|
|
/** |
|
|
|
/** |
|
|
|
* 模拟测试 车间、负责人、班组、组长使用固定值 |
|
|
|
* 模拟测试 车间、负责人、班组、组长使用固定值 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
workOrderList.stream().forEach(e -> { |
|
|
|
workOrderList.stream().forEach(e -> { |
|
|
|
String productCode = e.getProductCode(); |
|
|
|
// 工单编号
|
|
|
|
|
|
|
|
String productCode = e.getId(); |
|
|
|
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>() |
|
|
|
ZyProduct zyProduct = iZyProductService.getOne(new LambdaQueryWrapper<ZyProduct>() |
|
|
|
.eq(ZyProduct::getWorkOrderId, productCode)); |
|
|
|
.eq(ZyProduct::getWorkOrderId, productCode) |
|
|
|
Optional.ofNullable(zyProduct).orElseThrow(() -> new JeecgBootException(productCode + ":产品不存在")); |
|
|
|
); |
|
|
|
|
|
|
|
if (!ObjectUtils.isEmpty(zyProduct)) { |
|
|
|
//2,保存生产计划
|
|
|
|
//2,保存生产计划
|
|
|
|
ZyProductPlan zyProductPlan = new ZyProductPlan(); |
|
|
|
ZyProductPlan zyProductPlan = new ZyProductPlan(); |
|
|
|
zyProductPlan.setProductCode(productCode); |
|
|
|
zyProductPlan.setProductCode(e.getProductCode()); |
|
|
|
zyProductPlan.setProductNo(zyProduct.getProductCode()); |
|
|
|
zyProductPlan.setProductNo(zyProduct.getProductCode()); |
|
|
|
zyProductPlan.setProductName(zyProduct.getProductName()); |
|
|
|
zyProductPlan.setProductName(zyProduct.getProductName()); |
|
|
|
|
|
|
|
|
|
|
@ -196,7 +203,8 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper<SysDepart>() |
|
|
|
SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper<SysDepart>() |
|
|
|
.eq(SysDepart::getOrgCategory, "2") |
|
|
|
.eq(SysDepart::getOrgCategory, "2") |
|
|
|
.eq(SysDepart::getDepartName, "测试生产企业")); |
|
|
|
.eq(SysDepart::getDepartName, "测试生产企业")); |
|
|
|
if (ObjectUtils.isEmpty(sysDepart)) throw new JeecgBootException("生产计划自动化-mock-[企业信息]数据异常!"); |
|
|
|
if (ObjectUtils.isEmpty(sysDepart)) |
|
|
|
|
|
|
|
throw new JeecgBootException("生产计划自动化-mock-[企业信息]数据异常!"); |
|
|
|
|
|
|
|
|
|
|
|
//车间
|
|
|
|
//车间
|
|
|
|
zyProductPlan.setWorkshopId(sysDepart.getId()); |
|
|
|
zyProductPlan.setWorkshopId(sysDepart.getId()); |
|
|
@ -225,15 +233,19 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
iZyProductPlanService.save(zyProductPlan); |
|
|
|
iZyProductPlanService.save(zyProductPlan); |
|
|
|
|
|
|
|
|
|
|
|
//更新work_order表work_order_status为“1” (不能为其新增生产计划)
|
|
|
|
//更新work_order表work_order_status为“1” (不能为其新增生产计划)
|
|
|
|
iWorkOrderService.lambdaUpdate().set(WorkOrder::getWorkOrderStatus, WorkOrderStatusEnum.REVIEWED.getCode()).update(); |
|
|
|
iWorkOrderService.lambdaUpdate() |
|
|
|
|
|
|
|
.set(WorkOrder::getWorkOrderStatus, WorkOrderStatusEnum.REVIEWED.getCode()) |
|
|
|
|
|
|
|
.eq(WorkOrder::getProductCode, zyProductPlan.getProductCode()) |
|
|
|
|
|
|
|
.update(); |
|
|
|
|
|
|
|
|
|
|
|
zyProductPlanProductCodes.add(productCode); |
|
|
|
zyProductPlanProductNos.add(zyProduct.getProductCode()); |
|
|
|
|
|
|
|
} |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
//根据productCode,查询本次创建生产计划
|
|
|
|
//根据productCode,查询本次创建生产计划
|
|
|
|
List<ZyProductPlan> productPlanList = iZyProductPlanService.list(new LambdaQueryWrapper<ZyProductPlan>() |
|
|
|
List<ZyProductPlan> productPlanList = iZyProductPlanService.list(new LambdaQueryWrapper<ZyProductPlan>() |
|
|
|
.eq(ZyProductPlan::getStatus, ProductPlanStatusEnum.UNAUDITED.getCode()) |
|
|
|
.eq(ZyProductPlan::getStatus, ProductPlanStatusEnum.UNAUDITED.getCode()) |
|
|
|
.in(ZyProductPlan::getStatus, zyProductPlanProductCodes)); |
|
|
|
.eq(ZyProductPlan::getProductNo, zyProductPlanProductNos)); |
|
|
|
return productPlanList; |
|
|
|
return productPlanList; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -270,9 +282,9 @@ public class IZyProductPlanAutoServiceImpl extends ServiceImpl<ZyProductPlanMapp |
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
if (ObjectUtils.isEmpty(workOrderList)) return Collections.EMPTY_LIST; |
|
|
|
|
|
|
|
|
|
|
|
//2,保存生产计划
|
|
|
|
//2,保存生产计划
|
|
|
|
// List<ZyProductPlan> productPlanList = this.saveProductPlan(workOrderList);
|
|
|
|
List<ZyProductPlan> productPlanList = this.saveProductPlan(workOrderList); |
|
|
|
//TODO
|
|
|
|
//TODO
|
|
|
|
List<ZyProductPlan> productPlanList = this.saveProductPlan4Mock(workOrderList); |
|
|
|
// List<ZyProductPlan> productPlanList = this.saveProductPlan4Mock(workOrderList);
|
|
|
|
if (ObjectUtils.isEmpty(productPlanList)) return Collections.EMPTY_LIST; |
|
|
|
if (ObjectUtils.isEmpty(productPlanList)) return Collections.EMPTY_LIST; |
|
|
|
|
|
|
|
|
|
|
|
//3,同步计划生产工序、同步生产计划工序面料、同步生产计划辅料
|
|
|
|
//3,同步计划生产工序、同步生产计划工序面料、同步生产计划辅料
|
|
|
|