|
@@ -2116,8 +2116,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
return orderId;
|
|
|
}
|
|
|
|
|
|
- //作业及该作业明细的已取消卷数合计
|
|
|
- private HashMap<String, Integer> operationequcancelrollall;
|
|
|
+ private List<ApsProcessOperationProcessEquDo> operationequrollsall;//作业及该作业明细的已取消卷数合计、输入不合格卷数合计、输入已取消卷数合计
|
|
|
|
|
|
/*
|
|
|
取消和更新工序作业
|
|
@@ -2130,8 +2129,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
String craftrouteid = cancelProcessOperationVo.getCraftrouteid();
|
|
|
Integer curcancelroll = cancelProcessOperationVo.getCurcancelroll();//作业本次取消卷数
|
|
|
//作业及该作业明细的已取消卷数合计
|
|
|
-// HashMap<String, Integer> operationequcancelrollall = cancelProcessOperationVo.getOperationequcancelrollall();
|
|
|
- operationequcancelrollall = cancelProcessOperationVo.getOperationequcancelrollall();
|
|
|
+ operationequrollsall = cancelProcessOperationVo.getOperationequrollsall();
|
|
|
CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
|
|
|
//本道工序作业
|
|
@@ -2160,13 +2158,21 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
Integer tempRoll = processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll();
|
|
|
if (tempRoll <= 0 || processOperationProcessEquDo.getClosestatus().equals("已完工")) {
|
|
|
//计算所有作业明细已取消卷数的合计
|
|
|
- if (operationequcancelrollall == null) {
|
|
|
- operationequcancelrollall = new HashMap<>();
|
|
|
+ if (operationequrollsall == null) {
|
|
|
+ operationequrollsall = new ArrayList<>();
|
|
|
}
|
|
|
- if (operationequcancelrollall.containsKey(newOperDo.getId())) {
|
|
|
- operationequcancelrollall.replace(newOperDo.getId(), operationequcancelrollall.get(newOperDo.getId()) + processOperationProcessEquDo.getCancelrollno());
|
|
|
- } else {
|
|
|
- operationequcancelrollall.put(newOperDo.getId(), processOperationProcessEquDo.getCancelrollno());
|
|
|
+ boolean inlist = false;
|
|
|
+ for (ApsProcessOperationProcessEquDo operationProcessEquDo : operationequrollsall) {
|
|
|
+ if (operationProcessEquDo.getProcessid().equals(newOperDo.getId()) && !operationProcessEquDo.getRoption().contains(processOperationProcessEquDo.getId())) {
|
|
|
+ inlist = true;
|
|
|
+ operationProcessEquDo.setCancelrollno(operationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getCancelrollno());//已取消卷数合计
|
|
|
+ operationProcessEquDo.setInputunqualifiednum(operationProcessEquDo.getInputunqualifiednum() + processOperationProcessEquDo.getInputunqualifiednum());//输入不合格卷数合计
|
|
|
+ operationProcessEquDo.setInputunqualifiedroll(operationProcessEquDo.getInputunqualifiedroll() + processOperationProcessEquDo.getInputunqualifiedroll());//输入已取消卷数合计
|
|
|
+ operationProcessEquDo.setSecondroll(operationProcessEquDo.getSecondroll() + processOperationProcessEquDo.getSecondroll());//已借调卷数合计
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!inlist) {
|
|
|
+ operationequrollsall.add(processOperationProcessEquDo);
|
|
|
}
|
|
|
continue;
|
|
|
}
|
|
@@ -2181,10 +2187,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
|
|
|
cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
|
|
|
cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
|
|
|
-// cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
|
|
|
+// cancelOperationProcessEquVo.setOperationequcancelrollall(operationequrollsall);
|
|
|
cancelProcessOperationEqu(cancelOperationProcessEquVo);
|
|
|
- } else {
|
|
|
- break;
|
|
|
}
|
|
|
equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
|
|
|
}
|
|
@@ -2192,16 +2196,22 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
|
|
|
newOperDo.setCancelroll(apsProcessOperationDo.getCancelroll());
|
|
|
newOperDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll());
|
|
|
- if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调或取消
|
|
|
- newOperDo.setCancelroll(apsProcessOperationDo.getCancelroll() + curcancelroll);
|
|
|
- } else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//输入取消
|
|
|
- newOperDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
|
- Integer cancelrollall = ((operationequcancelrollall == null || operationequcancelrollall.get(newOperDo.getId()) == null) ? 0 : operationequcancelrollall.get(newOperDo.getId()));
|
|
|
- curcancelroll = curcancelroll - apsProcessOperationDo.getCancelroll() - cancelrollall;
|
|
|
- newOperDo.setCancelroll(cancelrollall);
|
|
|
- } else if (cancelProcessOperationVo.getCancelreason().equals("3")) {//输入不合格
|
|
|
- newOperDo.setInputunqualifiednum(apsProcessOperationDo.getInputunqualifiednum() + curcancelroll);
|
|
|
- newOperDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
|
+ if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调
|
|
|
+ newOperDo.setSecondroll(apsProcessOperationDo.getSecondroll() + curcancelroll);
|
|
|
+ newOperDo.setCancelroll(newOperDo.getCancelroll() + curcancelroll);
|
|
|
+ } else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//取消
|
|
|
+ newOperDo.setCancelroll(newOperDo.getCancelroll() + curcancelroll);
|
|
|
+ } else if (cancelProcessOperationVo.getCancelreason().equals("3") || cancelProcessOperationVo.getCancelreason().equals("4")) {//输入取消或输入不合格
|
|
|
+ ApsProcessOperationProcessEquDo processEquDo = operationequrollsall.stream().filter(es -> es.getProcessid().equals(newOperDo.getId())).findFirst().get();
|
|
|
+ if (processEquDo != null) {
|
|
|
+ if (cancelProcessOperationVo.getCancelreason().equals("4")) {
|
|
|
+ newOperDo.setInputunqualifiednum(processEquDo.getInputunqualifiednum());
|
|
|
+ }
|
|
|
+ newOperDo.setInputunqualifiedroll(processEquDo.getInputunqualifiedroll());
|
|
|
+ newOperDo.setCancelroll(processEquDo.getCancelrollno());
|
|
|
+ newOperDo.setSecondroll(processEquDo.getSecondroll());
|
|
|
+ }
|
|
|
+ curcancelroll = newOperDo.getCancelroll() + newOperDo.getInputunqualifiedroll() - (newOperDo.getCancelrollsum() == null ? 0 : newOperDo.getCancelrollsum());
|
|
|
}
|
|
|
newOperDo.setCancelrollsum(newOperDo.getCancelroll() + newOperDo.getInputunqualifiedroll());
|
|
|
newOperDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - newOperDo.getCancelrollsum());
|
|
@@ -2250,13 +2260,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
cancelProcessOperationVo1.setUpdatecuropration(false);
|
|
|
Integer nextCurCancelRoll = (int) Math.floor((double) (curcancelroll * processOperationDo.getPlanprocessrall()) / apsProcessOperationDo.getPlanprocessrall());
|
|
|
cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
|
|
|
- if (cancelProcessOperationVo.getCancelreason().equals("3")) {
|
|
|
- cancelProcessOperationVo1.setCancelreason("3");
|
|
|
+ if (cancelProcessOperationVo.getCancelreason().equals("4")) {
|
|
|
+ cancelProcessOperationVo1.setCancelreason("4");
|
|
|
} else {
|
|
|
- cancelProcessOperationVo1.setCancelreason("2");
|
|
|
+ cancelProcessOperationVo1.setCancelreason("3");
|
|
|
}
|
|
|
cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
- cancelProcessOperationVo1.setOperationequcancelrollall(operationequcancelrollall);
|
|
|
+ cancelProcessOperationVo1.setOperationequrollsall(operationequrollsall);
|
|
|
cancelProcessOperation(cancelProcessOperationVo1);
|
|
|
}
|
|
|
}
|
|
@@ -2339,24 +2349,25 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
ApsProcessOperationDo apsProcessOperationDo = cancelOperationProcessEquVo.getApsProcessOperationDo();
|
|
|
ApsProcessOperationProcessEquDo processOperationProcessEquDo = cancelOperationProcessEquVo.getProcessOperationProcessEquDo();
|
|
|
String cancelreason = cancelOperationProcessEquVo.getCancelreason();
|
|
|
- if (cancelreason.equals("1")) {//借调或取消
|
|
|
+ if (cancelreason.equals("1")) {//借调
|
|
|
+ processOperationProcessEquDo.setSecondroll(processOperationProcessEquDo.getSecondroll() + curEquCancelRoll);
|
|
|
processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
|
|
|
- } else if (cancelreason.equals("2")) {//输入取消
|
|
|
+ } else if (cancelreason.equals("2")) {//取消
|
|
|
+ processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
|
|
|
+ } else if (cancelreason.equals("3") || cancelreason.equals("4")) {//输入取消或输入不合格
|
|
|
+ if (cancelreason.equals("4")) {
|
|
|
+ processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
|
|
|
+ }
|
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
|
if (processOperationProcessEquDo.getCancelrollno() > 0) {//如果已取消卷数>0,则不要重复取消,本次取消卷数需要扣除已取消卷数
|
|
|
- if (curEquCancelRoll > processOperationProcessEquDo.getCancelrollno()) {
|
|
|
- processOperationProcessEquDo.setCancelrollno(0);
|
|
|
- curEquCancelRoll = curEquCancelRoll - processOperationProcessEquDo.getCancelrollno();
|
|
|
+ if (curEquCancelRoll > (processOperationProcessEquDo.getCancelrollno() - processOperationProcessEquDo.getSecondroll())) {
|
|
|
+ processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getSecondroll());
|
|
|
+ curEquCancelRoll = curEquCancelRoll - processOperationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getSecondroll();
|
|
|
} else {
|
|
|
processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() - curEquCancelRoll);
|
|
|
curEquCancelRoll = 0;
|
|
|
}
|
|
|
- } else {
|
|
|
- processOperationProcessEquDo.setCancelrollno(curEquCancelRoll);
|
|
|
}
|
|
|
- } else if (cancelreason.equals("3")) {//输入不合格
|
|
|
- processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
|
|
|
- processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
|
}
|
|
|
|
|
|
//该坯料计划下所有的作业明细
|
|
@@ -2370,16 +2381,25 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
|
|
|
//作业及该作业明细的已取消卷数合计
|
|
|
-// HashMap<String, Integer> operationequcancelrollall = cancelOperationProcessEquVo.getOperationequcancelrollall();
|
|
|
- if (operationequcancelrollall == null) {
|
|
|
- operationequcancelrollall = new HashMap<>();
|
|
|
+ if (operationequrollsall == null) {
|
|
|
+ operationequrollsall = new ArrayList<>();
|
|
|
}
|
|
|
- if (operationequcancelrollall.containsKey(processOperationProcessEquDo.getProcessid())) {
|
|
|
- operationequcancelrollall.replace(processOperationProcessEquDo.getProcessid(), operationequcancelrollall.get(processOperationProcessEquDo.getProcessid()) + processOperationProcessEquDo.getCancelrollno());
|
|
|
- } else {
|
|
|
- operationequcancelrollall.put(processOperationProcessEquDo.getProcessid(), processOperationProcessEquDo.getCancelrollno());
|
|
|
+ boolean inlist = false;
|
|
|
+ for (ApsProcessOperationProcessEquDo operationProcessEquDo : operationequrollsall) {
|
|
|
+ if (operationProcessEquDo.getProcessid().equals(processOperationProcessEquDo.getProcessid())) {
|
|
|
+ inlist = true;
|
|
|
+ operationProcessEquDo.setRoption(operationProcessEquDo.getRoption() + "," + processOperationProcessEquDo.getId());//标记
|
|
|
+ operationProcessEquDo.setCancelrollno(operationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getCancelrollno());//已取消卷数合计
|
|
|
+ operationProcessEquDo.setInputunqualifiednum(operationProcessEquDo.getInputunqualifiednum() + processOperationProcessEquDo.getInputunqualifiednum());//输入不合格卷数合计
|
|
|
+ operationProcessEquDo.setInputunqualifiedroll(operationProcessEquDo.getInputunqualifiedroll() + processOperationProcessEquDo.getInputunqualifiedroll());//输入已取消卷数合计
|
|
|
+ operationProcessEquDo.setSecondroll(operationProcessEquDo.getSecondroll() + processOperationProcessEquDo.getSecondroll());//已借调卷数合计
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!inlist) {
|
|
|
+ processOperationProcessEquDo.setRoption(processOperationProcessEquDo.getId());//标记
|
|
|
+ operationequrollsall.add(processOperationProcessEquDo);
|
|
|
}
|
|
|
-// cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
|
|
|
+// cancelOperationProcessEquVo.setOperationequcancelrollall(operationequrollsall);
|
|
|
|
|
|
processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getInputunqualifiedroll());
|
|
|
processOperationProcessEquDo.setLeavewaitworkroll(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll());
|
|
@@ -2454,9 +2474,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getId());
|
|
|
if (processOperationProcessEquDos.size() > 0 && curEquCancelRoll > 0) {
|
|
|
for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
|
|
|
- //1-借调或取消 2-输入取消 3-输入不合格
|
|
|
- if (!cancelreason.equals("3")) {
|
|
|
- cancelreason = "2";
|
|
|
+ //如果本次取消原因=输入不合格,则临时计算本次取消原因=输入不合格;否则临时计算本次取消原因=输入取消
|
|
|
+ //1-借调 2-取消 3-输入取消 4-输入不合格
|
|
|
+ if (!cancelreason.equals("4")) {
|
|
|
+ cancelreason = "3";
|
|
|
}
|
|
|
CancelOperationProcessEquVo tempCancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
tempCancelOperationProcessEquVo.setCurEquCancelRoll((int) Math.floor((double) (curEquCancelRoll * processOperationEquDo.getPlanprocessrall()) / processOperationProcessEquDo.getPlanprocessrall()));
|