|
@@ -976,7 +976,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
//更新生产状态为“待发布”(20)
|
|
|
List<ApsBlankOrderVo> toupstatus = apsBlankOrders.stream().filter(v ->
|
|
|
- blankids.contains(v.getId()) && (StringUtils.isBlank(v.getIfcp()) || "N".equals(v.getIfcp())))
|
|
|
+ blankids.contains(v.getId()) && (StringUtils.isBlank(v.getIfcp()) || "N".equals(v.getIfcp())))
|
|
|
.collect(Collectors.toList());
|
|
|
updateProductStatusByOrderIds(toupstatus);
|
|
|
// 自动加锁坯料计划下的工序作业
|
|
@@ -4193,8 +4193,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
chongpaiEndDate = DateUtil.offsetHour(chongpaiStartDate, hour);
|
|
|
}
|
|
|
} else {
|
|
|
- chongpaiStartDate = DateUtil.parse(chongpaiStartDateStr,"yyyy-MM-dd HH:mm:ss");
|
|
|
- chongpaiEndDate = DateUtil.parse(chongpaiEndDateStr,"yyyy-MM-dd HH:mm:ss");
|
|
|
+ chongpaiStartDate = DateUtil.parse(chongpaiStartDateStr, "yyyy-MM-dd HH:mm:ss");
|
|
|
+ chongpaiEndDate = DateUtil.parse(chongpaiEndDateStr, "yyyy-MM-dd HH:mm:ss");
|
|
|
needScheduleDate = DateUtil.format(chongpaiStartDate, "yyyy-MM-dd");
|
|
|
}
|
|
|
if (ObjectUtil.isNotEmpty(needScheduleDate)) {
|
|
@@ -4553,9 +4553,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
nowProcess = previousProcess;
|
|
|
notNeedUnLockList.add(previousEqu);
|
|
|
rollEquIdList.add(previousEqu.getId());
|
|
|
- if (previousEqu.getPlanstartdate().compareTo(chongpaiStartDate)>=0){
|
|
|
+ if (previousEqu.getPlanstartdate().compareTo(chongpaiStartDate) >= 0) {
|
|
|
List<String> finalRollEquIdList = rollEquIdList;
|
|
|
- notNeedUnLockList = notNeedUnLockList.stream().filter(item->!finalRollEquIdList.contains(item.getId())).collect(Collectors.toList());
|
|
|
+ notNeedUnLockList = notNeedUnLockList.stream().filter(item -> !finalRollEquIdList.contains(item.getId())).collect(Collectors.toList());
|
|
|
rollEquIdList = new LinkedList<>();
|
|
|
}
|
|
|
continue;
|
|
@@ -4609,7 +4609,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
}
|
|
|
//后道明细不为空
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getNextprocessesids())) {
|
|
|
- getNextProcess(apsProcessOperationProcessEquDo.getNextprocessesids(), needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
|
|
|
+ //当前工序作业
|
|
|
+ ApsProcessOperationDo nowProcess = allProcessList.stream().filter(item -> item.getId().equals(apsProcessOperationProcessEquDo.getProcessid())).findFirst().orElse(null);
|
|
|
+ getNextProcess(apsProcessOperationProcessEquDo.getNextprocessesids(), nowProcess, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
|
|
|
}
|
|
|
}
|
|
|
//查询需要清除的明细及其后续 连续的明细
|
|
@@ -4737,6 +4739,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
//迭代处理寻找下道明细
|
|
|
private void getNextProcess(String nextprocessesids,
|
|
|
+ ApsProcessOperationDo nowProcess,
|
|
|
List<ApsProcessOperationProcessEquDo> needScheduleList,
|
|
|
List<String> needScheduleIdList,
|
|
|
List<ApsProcessOperationProcessEquDo> allProcessEquList,
|
|
@@ -4752,15 +4755,22 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
//下一个明细
|
|
|
ApsProcessOperationProcessEquDo nextEqu = allProcessEquList.stream().filter(item -> item.getId().equals(nextProcessEquId)).findFirst().orElse(null);
|
|
|
if (ObjectUtil.isNotEmpty(nextEqu)) {
|
|
|
+ String nextNewProcessesids = nextEqu.getNextprocessesids();
|
|
|
//查询对应明细的工序作业
|
|
|
ApsProcessOperationDo nextProcess = allProcessList.stream().filter(item -> item.getId().equals(nextEqu.getProcessid())).findFirst().orElse(null);
|
|
|
if (ObjectUtil.isNotEmpty(nextProcess)
|
|
|
- && !Arrays.asList("铸轧", "成退", "小卷成退", "中退").contains(nextProcess.getProcess())) {
|
|
|
+ && !Arrays.asList("铸轧", "成退", "小卷成退", "中退").contains(nextProcess.getProcess())
|
|
|
+ && nextProcess.getProcess().equals(nowProcess.getProcess())
|
|
|
+ && (ObjectUtil.isEmpty(nextProcess.getMinflowwaitmin()) || nextProcess.getMinflowwaitmin().compareTo(new BigDecimal(1440)) < 0)) {
|
|
|
needUnLockList.add(nextEqu);
|
|
|
if (ObjectUtil.isNotEmpty(nextEqu.getNextprocessesids())) {
|
|
|
- String nextNewProcessesids = nextEqu.getNextprocessesids();
|
|
|
- getNextProcess(nextNewProcessesids, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
|
|
|
+ getNextProcess(nextNewProcessesids, nextProcess, needScheduleList, needScheduleIdList, allProcessEquList, allProcessEquIdList, needUnLockList, allProcessList);
|
|
|
}
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ //如果下道作业和当前作业不同,结束,后续全部不解锁
|
|
|
+ //有最小等待时间,并且>=1440,后续全部不解锁
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
}
|