|
@@ -665,6 +665,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
logger.info("作业明细保存结束..: " + blankids);
|
|
|
// 回写订单排程交货期
|
|
|
Map<String, Date> orderDeliveryTime = new HashMap<>();
|
|
|
+ // 查询所有坯料计划信息
|
|
|
+ List<ApsBlankOrderDo> apsBlankOrderDos = (List<ApsBlankOrderDo>)apsBlankOrderService.listByIds(blankids);
|
|
|
// 坯料计划ID集合
|
|
|
List<String> blankKeys = new ArrayList<>();
|
|
|
List<ApsBlankOrderDo> blankIds = new ArrayList<>();
|
|
@@ -672,17 +674,28 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
List<ProduceOrder> produceOrder = process.getProduceOrder();
|
|
|
if (produceOrder != null && produceOrder.size() > 0) {
|
|
|
for (ProduceOrder order : produceOrder) {
|
|
|
+ // 坯料计划信息
|
|
|
+ List<ApsBlankOrderDo> orders = apsBlankOrderDos.stream().filter(v -> v.getId().equals(order.getId())).collect(Collectors.toList());
|
|
|
+ ApsBlankOrderDo nowOrder = null;
|
|
|
+ if(orders != null && orders.size()>0){
|
|
|
+ nowOrder = orders.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
Date endDate = Date.from(process.getEndTime().atZone(ZoneId.systemDefault()).toInstant());
|
|
|
List<ApsBlankOrderDo> hasblanks = blankIds.stream().filter(v -> v.getId().equals(order.getId())).collect(Collectors.toList());
|
|
|
if (hasblanks != null && hasblanks.size() > 0) {
|
|
|
ApsBlankOrderDo blankOrderDo = hasblanks.get(0);
|
|
|
if (blankOrderDo.getScheduledatestart().compareTo(endDate) > 0) {
|
|
|
blankOrderDo.setScheduledatestart(endDate);
|
|
|
- blankOrderDo.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
+ if(nowOrder != null && nowOrder.getPromisedatestart() == null){
|
|
|
+ blankOrderDo.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
+ }
|
|
|
}
|
|
|
if (blankOrderDo.getScheduledateend().compareTo(endDate) < 0) {
|
|
|
blankOrderDo.setScheduledateend(endDate);
|
|
|
- blankOrderDo.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
+ if(nowOrder != null && nowOrder.getPromisedateend() == null){
|
|
|
+ blankOrderDo.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
ApsBlankOrderDo blankOrder = this.getById(order.getId());
|
|
@@ -691,8 +704,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
updateBlank.setSchedulingstatus(TO_BE_PUBLISHED);
|
|
|
updateBlank.setScheduledatestart(endDate);
|
|
|
updateBlank.setScheduledateend(endDate);
|
|
|
- updateBlank.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
- updateBlank.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
+ if(nowOrder != null && nowOrder.getPromisedatestart() == null){
|
|
|
+ updateBlank.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
|
|
|
+ }
|
|
|
+ if(nowOrder != null && nowOrder.getPromisedateend() == null){
|
|
|
+ updateBlank.setPromisedateend(DateUtil.offsetDay(endDate, 2));
|
|
|
+ }
|
|
|
// 自动加锁坯料计划
|
|
|
updateBlank.setLockmark("y");
|
|
|
blankIds.add(updateBlank);
|