|
@@ -2206,7 +2206,12 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
curEquCancelRoll = tempRoll;
|
|
|
}
|
|
|
//取消和更新作业明细
|
|
|
- cancelProcessOperationEqu(curEquCancelRoll, apsProcessOperationDo, processOperationProcessEquDo, cancelProcessOperationVo.getCancelreason());
|
|
|
+ CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
+ cancelOperationProcessEquVo.setCurEquCancelRoll(curEquCancelRoll);
|
|
|
+ cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
|
|
|
+ cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
|
|
|
+ cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
|
|
|
+ cancelProcessOperationEqu(cancelOperationProcessEquVo);
|
|
|
} else {
|
|
|
break;
|
|
|
}
|
|
@@ -2281,15 +2286,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /*
|
|
|
- 分配和取消作业明细
|
|
|
- curEquCancelRoll:作业明细本次取消卷数
|
|
|
- apsProcessOperationDo:当前作业
|
|
|
- processOperationProcessEquDo:作业明细
|
|
|
- cancelreason:取消原因
|
|
|
- */
|
|
|
+ //分配和取消作业明细
|
|
|
@Transactional
|
|
|
- public R cancelProcessOperationEqu(Integer curEquCancelRoll, ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo processOperationProcessEquDo, String cancelreason) {
|
|
|
+ public R cancelProcessOperationEqu(CancelOperationProcessEquVo cancelOperationProcessEquVo) {
|
|
|
+ Integer curEquCancelRoll = cancelOperationProcessEquVo.getCurEquCancelRoll();
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = cancelOperationProcessEquVo.getApsProcessOperationDo();
|
|
|
+ ApsProcessOperationProcessEquDo processOperationProcessEquDo = cancelOperationProcessEquVo.getProcessOperationProcessEquDo();
|
|
|
+ String cancelreason = cancelOperationProcessEquVo.getCancelreason();
|
|
|
if (cancelreason.equals("1")) {//借调或取消
|
|
|
processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
|
|
|
} else if (cancelreason.equals("2")) {//输入取消
|
|
@@ -2298,12 +2301,23 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
|
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
|
}
|
|
|
+ List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = cancelOperationProcessEquVo.getApsProcessOperationProcessEquDos();
|
|
|
+ if (apsProcessOperationProcessEquDos == null) {
|
|
|
+ apsProcessOperationProcessEquDos = apsProcessOperationDao.getNextOperationProcessEqus(apsProcessOperationDo.getBlankid());
|
|
|
+ }
|
|
|
+ List<String> noEquProcessEquIds = cancelOperationProcessEquVo.getNoEquProcessEquIds();
|
|
|
+ if (noEquProcessEquIds == null) {
|
|
|
+ noEquProcessEquIds = new ArrayList<>();
|
|
|
+ }
|
|
|
processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelroll() + curEquCancelRoll);
|
|
|
processOperationProcessEquDo.setLeavewaitworkroll(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll());
|
|
|
List<String> noUpdatePlanenddateList = Arrays.asList("小卷成退", "中退", "成退");
|
|
|
if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
|
|
|
processOperationProcessEquDo.setProcessdevice("");
|
|
|
processOperationProcessEquDo.setProcessdeviceid("");
|
|
|
+ if (!noEquProcessEquIds.contains(processOperationProcessEquDo.getId())) {
|
|
|
+ noEquProcessEquIds.add(processOperationProcessEquDo.getId());
|
|
|
+ }
|
|
|
} else if (!noUpdatePlanenddateList.contains(apsProcessOperationDo.getProcess()) && processOperationProcessEquDo.getPlanprocessrall() > processOperationProcessEquDo.getCancelroll()) {
|
|
|
BigDecimal addMinute = apsProcessOperationDo.getOnceprocessmin().multiply(new BigDecimal(60)).multiply(new BigDecimal(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getCancelroll()));//秒向上取整
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
@@ -2371,7 +2385,31 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
if (!cancelreason.equals("3")) {
|
|
|
cancelreason = "2";
|
|
|
}
|
|
|
- cancelProcessOperationEqu((int) Math.floor((double) (curEquCancelRoll * processOperationEquDo.getPlanprocessrall()) / processOperationProcessEquDo.getPlanprocessrall()), apsProcessOperationDo, processOperationEquDo, cancelreason);
|
|
|
+ CancelOperationProcessEquVo tempCancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
+ tempCancelOperationProcessEquVo.setCurEquCancelRoll((int) Math.floor((double) (curEquCancelRoll * processOperationEquDo.getPlanprocessrall()) / processOperationProcessEquDo.getPlanprocessrall()));
|
|
|
+ tempCancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
|
|
|
+ tempCancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationEquDo);
|
|
|
+ tempCancelOperationProcessEquVo.setCancelreason(cancelreason);
|
|
|
+ tempCancelOperationProcessEquVo.setApsProcessOperationProcessEquDos(apsProcessOperationProcessEquDos);
|
|
|
+ tempCancelOperationProcessEquVo.setNoEquProcessEquIds(noEquProcessEquIds);
|
|
|
+ cancelProcessOperationEqu(tempCancelOperationProcessEquVo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //断开与后道的关系
|
|
|
+ if (noEquProcessEquIds.size() > 0 && StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
|
|
|
+ String newNextIds = "";
|
|
|
+ for (String nextid : processOperationProcessEquDo.getNextprocessesids().split(",")) {
|
|
|
+ if (noEquProcessEquIds.contains(nextid)) {
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+ newNextIds += nextid + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(newNextIds)) {
|
|
|
+ processOperationProcessEquDo.setNextprocessesids("");
|
|
|
+ } else {
|
|
|
+ processOperationProcessEquDo.setNextprocessesids(newNextIds.substring(0, newNextIds.length() - 1));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2386,6 +2424,30 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
apsBlankOrderDo.setIswaitgetmaterial(isWaitGetMaterial);
|
|
|
apsBlankOrderService.updateById(apsBlankOrderDo);
|
|
|
}
|
|
|
+
|
|
|
+ if (StringUtils.isBlank(processOperationProcessEquDo.getProcessdeviceid())) {
|
|
|
+ //断开与前道的关系
|
|
|
+ List<ApsProcessOperationProcessEquDo> operationProcessEquDos = apsProcessOperationProcessEquDos.stream().filter(qu -> qu.getNextprocessesids().contains(processOperationProcessEquDo.getId())).collect(Collectors.toList());
|
|
|
+ for (ApsProcessOperationProcessEquDo processEquDo : operationProcessEquDos) {
|
|
|
+ String nextprocessesids = processEquDo.getNextprocessesids();
|
|
|
+ String newNextprocessesids = "";
|
|
|
+ for (String nextprocessesid : nextprocessesids.split(",")) {
|
|
|
+ if (nextprocessesid.equals(processOperationProcessEquDo.getId())) {
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+ newNextprocessesids += nextprocessesid + ",";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ ApsProcessOperationProcessEquDo operationProcessEquDo = new ApsProcessOperationProcessEquDo();
|
|
|
+ operationProcessEquDo.setId(processEquDo.getId());
|
|
|
+ if (StringUtils.isBlank(newNextprocessesids)) {
|
|
|
+ operationProcessEquDo.setNextprocessesids("");
|
|
|
+ } else {
|
|
|
+ operationProcessEquDo.setNextprocessesids(newNextprocessesids.substring(0, newNextprocessesids.length() - 1));
|
|
|
+ }
|
|
|
+ apsProcessOperationProcessEquService.updateById(operationProcessEquDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
} else {
|
|
|
return R.error();
|