|
@@ -428,7 +428,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ApsBlankOrderVo> notLockOrders = apsBlankOrderDao.getNotLockOrders(tenantId);
|
|
|
blankOrderAps(notLockOrders);
|
|
|
//更新生产状态为“待发布”(20)
|
|
|
- updateProductStatusByOrderIds(notLockOrders.stream().map(ApsBlankOrderVo::getProductionorderid).collect(Collectors.toSet()));
|
|
|
+ updateProductStatusByOrderIds(notLockOrders);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -464,7 +464,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
blankOrderAps(resBlankList);
|
|
|
//blankOrderAps(apsBlankOrders);
|
|
|
//更新生产状态为“待发布”(20)
|
|
|
- updateProductStatusByOrderIds(resBlankList.stream().map(ApsBlankOrderVo::getProductionorderid).collect(Collectors.toSet()));
|
|
|
+ updateProductStatusByOrderIds(resBlankList);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -698,7 +698,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
if (apsBlankOrders != null && apsBlankOrders.size() > 0) {
|
|
|
for (ApsBlankOrderVo apsBlankOrderVo : apsBlankOrders) {
|
|
|
// 坯料计划订单
|
|
|
- ProduceOrder produceOrder = new ProduceOrder(apsBlankOrderVo.getId(), apsBlankOrderVo.getMaterialname(), DateUtil.offsetHour(apsBlankOrderVo.getDeliverydate(),-apsBlankOrderVo.getDeliverytime()));
|
|
|
+ ProduceOrder produceOrder = new ProduceOrder(apsBlankOrderVo.getId(), apsBlankOrderVo.getMaterialname(), DateUtil.offsetHour(apsBlankOrderVo.getDeliverydate(), -apsBlankOrderVo.getDeliverytime()));
|
|
|
// 获取所有订单工序
|
|
|
List<ApsProcessOperationDo> operationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
|
|
|
.eq(ApsProcessOperationDo::getBlankid, apsBlankOrderVo.getId()));
|
|
@@ -740,7 +740,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
.gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
|
|
|
.orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
|
|
|
);
|
|
|
- if(lastpros != null && lastpros.size()>0){
|
|
|
+ if (lastpros != null && lastpros.size() > 0) {
|
|
|
ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
|
|
|
ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
|
|
|
equipment.setLastProcessType(lastop.getProcess());
|
|
@@ -1183,10 +1183,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 排程结束之后根据订单IDs修改生产状态
|
|
|
+ * 排程结束之后根据坯料计划IDs修改生产状态
|
|
|
*/
|
|
|
- private void updateProductStatusByOrderIds(Set<String> orderIds) {
|
|
|
- String idStrs = CollUtil.join(orderIds, "','");
|
|
|
+ private void updateProductStatusByOrderIds(List<ApsBlankOrderVo> blankOrderVoList) {
|
|
|
+
|
|
|
+ //每个需要排程的订单挑选一个坯料计划,用于更新订单的生产状态
|
|
|
+ Set<String> orderIds = new HashSet<>();
|
|
|
+ //最终需要更新生产状态的坯料计划Id集合
|
|
|
+ List<String> needUpdateProductStatusBlankIdList = new LinkedList<>();
|
|
|
+ for (ApsBlankOrderVo blankOrderVo : blankOrderVoList) {
|
|
|
+ if (!orderIds.contains(blankOrderVo.getProductionorderid())) {
|
|
|
+ orderIds.add(blankOrderVo.getProductionorderid());
|
|
|
+ needUpdateProductStatusBlankIdList.add(blankOrderVo.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //需要修改自身状态的坯料计划ID集合
|
|
|
+ Set<String> blankIds = blankOrderVoList.stream().map(ApsBlankOrderVo::getId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ String idStrs = CollUtil.join(blankIds, "','");
|
|
|
idStrs = "'" + idStrs + "'";
|
|
|
|
|
|
//更新工序作业的生产状态为‘待发布’(20)
|
|
@@ -1195,15 +1209,22 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
ApsBlankOrderDo apsBlankOrderDo = new ApsBlankOrderDo();
|
|
|
apsBlankOrderDo.setProductstatus(TO_BE_PUBLISHED);
|
|
|
apsBlankOrderDo.setSchedulingstatus(SaveConstans.SchedulingStatus.TO_BE_PUBLISHED);
|
|
|
- this.update(apsBlankOrderDo, new QueryWrapper<ApsBlankOrderDo>().lambda().in(ApsBlankOrderDo::getProductionorderid, orderIds).eq(ApsBlankOrderDo::getProductstatus, "10"));
|
|
|
- //更新所有产品明细的生产状态
|
|
|
- ApsProductDetailDo apsProductDetailDo = new ApsProductDetailDo();
|
|
|
- apsProductDetailDo.setProductstatus(TO_BE_PUBLISHED);
|
|
|
- apsProductDetailService.update(apsProductDetailDo, new QueryWrapper<ApsProductDetailDo>().lambda().in(ApsProductDetailDo::getMainid, orderIds).eq(ApsProductDetailDo::getProductstatus, "10"));
|
|
|
- //更新订单的生产状态
|
|
|
- ApsProductionOrderDo apsProductionOrderDo = new ApsProductionOrderDo();
|
|
|
- apsProductionOrderDo.setProductionstatus(TO_BE_PUBLISHED);
|
|
|
- apsProductionOrderService.update(apsProductionOrderDo, new QueryWrapper<ApsProductionOrderDo>().lambda().in(ApsProductionOrderDo::getId, orderIds).eq(ApsProductionOrderDo::getProductionstatus, "10"));
|
|
|
+ this.update(apsBlankOrderDo, new QueryWrapper<ApsBlankOrderDo>().lambda().in(ApsBlankOrderDo::getId, blankIds).eq(ApsBlankOrderDo::getProductstatus, SaveConstans.SchedulingStatus.TO_BE_SCHEDULED));
|
|
|
+ //公共方法挨个更新
|
|
|
+ for (String blankId : needUpdateProductStatusBlankIdList) {
|
|
|
+ CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
|
|
|
+ commonUpdateProductionStatusReq.setBlankId(blankId);
|
|
|
+ apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
|
|
|
+ }
|
|
|
+
|
|
|
+// //更新所有产品明细的生产状态
|
|
|
+// ApsProductDetailDo apsProductDetailDo = new ApsProductDetailDo();
|
|
|
+// apsProductDetailDo.setProductstatus(TO_BE_PUBLISHED);
|
|
|
+// apsProductDetailService.update(apsProductDetailDo, new QueryWrapper<ApsProductDetailDo>().lambda().in(ApsProductDetailDo::getMainid, blankIds).eq(ApsProductDetailDo::getProductstatus, SaveConstans.SchedulingStatus.TO_BE_SCHEDULED));
|
|
|
+// //更新订单的生产状态
|
|
|
+// ApsProductionOrderDo apsProductionOrderDo = new ApsProductionOrderDo();
|
|
|
+// apsProductionOrderDo.setProductionstatus(TO_BE_PUBLISHED);
|
|
|
+// apsProductionOrderService.update(apsProductionOrderDo, new QueryWrapper<ApsProductionOrderDo>().lambda().in(ApsProductionOrderDo::getId, orderIds).eq(ApsProductionOrderDo::getProductionstatus, SaveConstans.SchedulingStatus.TO_BE_SCHEDULED));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1634,9 +1655,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
//查询此订单的其他任一一个坯料计划的Id,重新更新订单的状态
|
|
|
CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
|
|
|
- ApsBlankOrderDo one = this.getOne(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));
|
|
|
- if (ObjectUtil.isNotEmpty(one)) {
|
|
|
- commonUpdateProductionStatusReq.setBlankId(one.getId());
|
|
|
+ List<ApsBlankOrderDo> list = this.list(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));
|
|
|
+ if (ObjectUtil.isNotEmpty(list)) {
|
|
|
+ commonUpdateProductionStatusReq.setBlankId(list.get(0).getId());
|
|
|
} else {
|
|
|
commonUpdateProductionStatusReq.setOrderId(apsBlankOrderDo.getProductionorderid());
|
|
|
}
|