|
@@ -1128,7 +1128,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
.collect(Collectors.toList());
|
|
|
updateProductStatusByOrderIds(toupstatus);*/
|
|
|
// 自动加锁坯料计划下的工序作业
|
|
|
- apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>().in(ApsProcessOperationDo::getBlankid, blankKeys).set(ApsProcessOperationDo::getLockmark, "y"));
|
|
|
+ apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>().in(ApsProcessOperationDo::getBlankid, blankids).set(ApsProcessOperationDo::getLockmark, "y"));
|
|
|
// 自动加锁坯料计划下的排程作业明细
|
|
|
// apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getBlankid, blankKeys).set(ApsProcessOperationProcessEquDo::getLockmark, "y"));
|
|
|
}
|
|
@@ -4317,51 +4317,61 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
if (ObjectUtil.isEmpty(previousProcess)) {
|
|
|
break;
|
|
|
}
|
|
|
- //如果前道工序是 铸轧或退火 或者 前道明细不是 “待开工”,不解锁,但要传入排程
|
|
|
- if (Arrays.asList("铸轧", "成退", "小卷成退", "中退").contains(previousProcess.getProcess())
|
|
|
- || !"待开工".equals(previousEqu.getWorkstatus())) {
|
|
|
+ //如果前道明细不是待开工,不解锁,传入排程
|
|
|
+ if (!"待开工".equals(previousEqu.getWorkstatus())){
|
|
|
+ previousprocessesid = previousEqu.getPreviousprocessesids();
|
|
|
+ nowProcess = previousProcess;
|
|
|
notNeedUnLockList.add(previousEqu);
|
|
|
- break;
|
|
|
- }
|
|
|
- //如果本道工序和前道工序 的工序类型相同,并且最小等待时间为空/0,并且可选设备和辊相同 ,加入待解锁集合
|
|
|
- if (nowProcess.getProcess().equals(previousProcess.getProcess())
|
|
|
- && (nowProcess.getMinflowwaitmin() == null || nowProcess.getMinflowwaitmin().intValue() == 0)) {
|
|
|
- //对比确认是否存在相同的设备和辊
|
|
|
- boolean have = false;
|
|
|
- //查询当前工序作业的可选设备
|
|
|
- String nowProcessId = nowProcess.getId();
|
|
|
- List<ApsProcessOperationEquDo> nowEquList = processOperationEquDoList.stream().filter(item -> item.getMainid().equals(nowProcessId)).collect(Collectors.toList());
|
|
|
- //查询前道工序作业的可选设备
|
|
|
- List<ApsProcessOperationEquDo> previousEquList = processOperationEquDoList.stream().filter(item -> item.getMainid().equals(previousProcess.getId())).collect(Collectors.toList());
|
|
|
- for (ApsProcessOperationEquDo equDo : nowEquList) {
|
|
|
- if (have) {
|
|
|
- break;
|
|
|
- }
|
|
|
- for (ApsProcessOperationEquDo equDo2 : previousEquList) {
|
|
|
- if (equDo.getResourceid().equals(equDo2.getResourceid())
|
|
|
- && equDo.getRollerid().equals(equDo2.getRollerid())) {
|
|
|
- have = true;
|
|
|
+ }else {
|
|
|
+ //如果连续
|
|
|
+ //如果本道工序和前道工序 的工序类型相同,并且最小等待时间为空/0,并且可选设备和辊相同 ,加入待解锁集合
|
|
|
+ if (nowProcess.getProcess().equals(previousProcess.getProcess())
|
|
|
+ && (nowProcess.getMinflowwaitmin() == null || nowProcess.getMinflowwaitmin().intValue() == 0)) {
|
|
|
+ //对比确认是否存在相同的设备和辊
|
|
|
+ boolean have = false;
|
|
|
+ //查询当前工序作业的可选设备
|
|
|
+ String nowProcessId = nowProcess.getId();
|
|
|
+ List<ApsProcessOperationEquDo> nowEquList = processOperationEquDoList.stream().filter(item -> item.getMainid().equals(nowProcessId)).collect(Collectors.toList());
|
|
|
+ //查询前道工序作业的可选设备
|
|
|
+ List<ApsProcessOperationEquDo> previousEquList = processOperationEquDoList.stream().filter(item -> item.getMainid().equals(previousProcess.getId())).collect(Collectors.toList());
|
|
|
+ for (ApsProcessOperationEquDo equDo : nowEquList) {
|
|
|
+ if (have) {
|
|
|
break;
|
|
|
}
|
|
|
+ for (ApsProcessOperationEquDo equDo2 : previousEquList) {
|
|
|
+ if (equDo.getResourceid().equals(equDo2.getResourceid())
|
|
|
+ && equDo.getRollerid().equals(equDo2.getRollerid())) {
|
|
|
+ have = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- //存在相同
|
|
|
- if (have) {
|
|
|
- needUnLockList.add(previousEqu);
|
|
|
- if (ObjectUtil.isNotEmpty(previousEqu.getPreviousprocessesids())) {
|
|
|
+ //存在相同
|
|
|
+ if (have) {
|
|
|
+ needUnLockList.add(previousEqu);
|
|
|
+ if (ObjectUtil.isNotEmpty(previousEqu.getPreviousprocessesids())) {
|
|
|
+ previousprocessesid = previousEqu.getPreviousprocessesids();
|
|
|
+ nowProcess = previousProcess;
|
|
|
+ } else {
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
previousprocessesid = previousEqu.getPreviousprocessesids();
|
|
|
nowProcess = previousProcess;
|
|
|
- } else {
|
|
|
- break;
|
|
|
+ notNeedUnLockList.add(previousEqu);
|
|
|
}
|
|
|
} else {
|
|
|
+ previousprocessesid = previousEqu.getPreviousprocessesids();
|
|
|
+ nowProcess = previousProcess;
|
|
|
notNeedUnLockList.add(previousEqu);
|
|
|
- break;
|
|
|
}
|
|
|
- } else {
|
|
|
- notNeedUnLockList.add(previousEqu);
|
|
|
- break;
|
|
|
}
|
|
|
+// //如果前道工序是 铸轧或退火 或者 前道明细不是 “待开工”,不解锁,但要传入排程
|
|
|
+// if (Arrays.asList("铸轧", "成退", "小卷成退", "中退").contains(previousProcess.getProcess())
|
|
|
+// || !"待开工".equals(previousEqu.getWorkstatus())) {
|
|
|
+// notNeedUnLockList.add(previousEqu);
|
|
|
+// break;
|
|
|
+// }
|
|
|
} else {
|
|
|
break;
|
|
|
}
|
|
@@ -4397,9 +4407,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
|
|
|
|
|
|
String scheduletype = apsScheduleConfigDo.getScheduletype();
|
|
|
ApsTypeVo apsTypeVo = BeanUtil.toBean(scheduletype, ApsTypeVo.class);
|
|
|
-// apsTypeVo.setMixIf("mix");
|
|
|
-// apsTypeVo.setThMergeMode("notThMergeBf");
|
|
|
-// apsTypeVo.setConstraintMode("lz");
|
|
|
+ apsTypeVo.setMixIf("default");
|
|
|
+ apsTypeVo.setThMergeMode("notThMergeBf");
|
|
|
+ apsTypeVo.setConstraintMode("lz");
|
|
|
apsTypeVo.setScheduleType("dd");
|
|
|
//重新排程
|
|
|
//组装需要传入排程的工序作业ID
|