|
@@ -2112,26 +2112,74 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
try {
|
|
try {
|
|
String craftrouteid = cancelProcessOperationVo.getCraftrouteid();
|
|
String craftrouteid = cancelProcessOperationVo.getCraftrouteid();
|
|
Integer curcancelroll = cancelProcessOperationVo.getCurcancelroll();//作业本次取消卷数
|
|
Integer curcancelroll = cancelProcessOperationVo.getCurcancelroll();//作业本次取消卷数
|
|
|
|
+ //作业及该作业明细的已取消卷数合计
|
|
|
|
+ HashMap<String, Integer> operationequcancelrollall = cancelProcessOperationVo.getOperationequcancelrollall();
|
|
|
|
+ CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
|
|
|
//本道工序作业
|
|
//本道工序作业
|
|
ApsProcessOperationDo apsProcessOperationDo = cancelProcessOperationVo.getApsprocessoperationdo();
|
|
ApsProcessOperationDo apsProcessOperationDo = cancelProcessOperationVo.getApsprocessoperationdo();
|
|
if (apsProcessOperationDo == null && StringUtils.isNotBlank(cancelProcessOperationVo.getProcessid())) {
|
|
if (apsProcessOperationDo == null && StringUtils.isNotBlank(cancelProcessOperationVo.getProcessid())) {
|
|
apsProcessOperationDo = apsProcessOperationService.getById(cancelProcessOperationVo.getProcessid());
|
|
apsProcessOperationDo = apsProcessOperationService.getById(cancelProcessOperationVo.getProcessid());
|
|
}
|
|
}
|
|
|
|
+ //先更新本道作业明细取消卷数
|
|
|
|
+ String euqwhr = "";
|
|
|
|
+ if (StringUtils.isNotBlank(cancelProcessOperationVo.getProcessequid())) {
|
|
|
|
+ euqwhr = "and ID='" + cancelProcessOperationVo.getProcessequid() + "'";
|
|
|
|
+ }
|
|
|
|
+ List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId(), euqwhr);
|
|
|
|
+ if (cancelProcessOperationVo.getUpdatecuropration()) {
|
|
|
|
+ Integer equWaitCancelRoll = curcancelroll;//明细的待分配取消卷数
|
|
|
|
+ Integer curEquCancelRoll = 0;//作业明细本次取消卷数
|
|
|
|
+ for (ApsProcessOperationProcessEquDo processOperationProcessEquDo : apsProcessOperationProcessEquDos) {
|
|
|
|
+ Integer tempRoll = processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll();
|
|
|
|
+ if (tempRoll <= 0 || processOperationProcessEquDo.getClosestatus().equals("已完工")) {
|
|
|
|
+ //计算所有作业明细已取消卷数的合计
|
|
|
|
+ if (operationequcancelrollall == null) {
|
|
|
|
+ operationequcancelrollall = new HashMap<>();
|
|
|
|
+ }
|
|
|
|
+ if (operationequcancelrollall.containsKey(apsProcessOperationDo.getId())) {
|
|
|
|
+ operationequcancelrollall.replace(apsProcessOperationDo.getId(), operationequcancelrollall.get(apsProcessOperationDo.getId()) + processOperationProcessEquDo.getCancelrollno());
|
|
|
|
+ } else {
|
|
|
|
+ operationequcancelrollall.put(apsProcessOperationDo.getId(), processOperationProcessEquDo.getCancelrollno());
|
|
|
|
+ }
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if (equWaitCancelRoll > 0) {
|
|
|
|
+ if (tempRoll >= equWaitCancelRoll) {
|
|
|
|
+ curEquCancelRoll = equWaitCancelRoll;
|
|
|
|
+ } else {
|
|
|
|
+ curEquCancelRoll = tempRoll;
|
|
|
|
+ }
|
|
|
|
+ //取消和更新作业明细
|
|
|
|
+ cancelOperationProcessEquVo.setCurEquCancelRoll(curEquCancelRoll);
|
|
|
|
+ cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
|
|
|
|
+ cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
|
|
|
|
+ cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
|
|
|
|
+ cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
|
|
|
|
+ cancelProcessOperationEqu(cancelOperationProcessEquVo);
|
|
|
|
+ } else {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调或取消
|
|
if (cancelProcessOperationVo.getCancelreason().equals("1")) {//借调或取消
|
|
apsProcessOperationDo.setCancelroll(apsProcessOperationDo.getCancelroll() + curcancelroll);
|
|
apsProcessOperationDo.setCancelroll(apsProcessOperationDo.getCancelroll() + curcancelroll);
|
|
} else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//输入取消
|
|
} else if (cancelProcessOperationVo.getCancelreason().equals("2")) {//输入取消
|
|
apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
|
|
+ Integer cancelrollall = (operationequcancelrollall.get(apsProcessOperationDo.getId()) == null ? 0 : operationequcancelrollall.get(apsProcessOperationDo.getId()));
|
|
|
|
+ curcancelroll = curcancelroll - apsProcessOperationDo.getCancelroll() - cancelrollall;
|
|
|
|
+ apsProcessOperationDo.setCancelroll(cancelrollall);
|
|
} else if (cancelProcessOperationVo.getCancelreason().equals("3")) {//输入不合格
|
|
} else if (cancelProcessOperationVo.getCancelreason().equals("3")) {//输入不合格
|
|
apsProcessOperationDo.setInputunqualifiednum(apsProcessOperationDo.getInputunqualifiednum() + curcancelroll);
|
|
apsProcessOperationDo.setInputunqualifiednum(apsProcessOperationDo.getInputunqualifiednum() + curcancelroll);
|
|
apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
apsProcessOperationDo.setInputunqualifiedroll(apsProcessOperationDo.getInputunqualifiedroll() + curcancelroll);
|
|
}
|
|
}
|
|
- apsProcessOperationDo.setCancelrollsum(apsProcessOperationDo.getCancelrollsum() + curcancelroll);
|
|
|
|
|
|
+ apsProcessOperationDo.setCancelrollsum(apsProcessOperationDo.getCancelroll() + apsProcessOperationDo.getInputunqualifiedroll());
|
|
apsProcessOperationDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - apsProcessOperationDo.getCancelrollsum());
|
|
apsProcessOperationDo.setLeavewaitworkroll(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getStartingroll() - apsProcessOperationDo.getCancelrollsum());
|
|
Integer leaveWaitJobRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getReportroll() - apsProcessOperationDo.getCancelrollsum();
|
|
Integer leaveWaitJobRoll = apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getReportroll() - apsProcessOperationDo.getCancelrollsum();
|
|
apsProcessOperationDo.setLeavewaitjobroll(leaveWaitJobRoll);
|
|
apsProcessOperationDo.setLeavewaitjobroll(leaveWaitJobRoll);
|
|
- apsProcessOperationDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getInputunqualifiedroll() - apsProcessOperationDo.getCancelroll()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
|
|
|
|
|
|
+ apsProcessOperationDo.setProcesstotaltime(new BigDecimal(df.format(BigDecimal.valueOf(apsProcessOperationDo.getPlanprocessrall() - apsProcessOperationDo.getCancelrollsum()).multiply(apsProcessOperationDo.getOnceprocessmin()))));
|
|
if (leaveWaitJobRoll == 0) {
|
|
if (leaveWaitJobRoll == 0) {
|
|
apsProcessOperationDo.setClosestatus(SaveConstans.CloseStatus.COMPLETED);
|
|
apsProcessOperationDo.setClosestatus(SaveConstans.CloseStatus.COMPLETED);
|
|
apsProcessOperationDo.setActualfinishdate(DateUtil.date());
|
|
apsProcessOperationDo.setActualfinishdate(DateUtil.date());
|
|
@@ -2148,74 +2196,41 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //本道工序的输出
|
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
|
- map.put("MAINID", apsProcessOperationDo.getId());
|
|
|
|
- List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos = apsProcessOperationOutMaterService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
|
- for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos) {
|
|
|
|
- apsProcessOperationOutMaterDo.setOutcancelroll(apsProcessOperationOutMaterDo.getOutcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
- apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
-
|
|
|
|
- apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //本道作业所有后道工序
|
|
|
|
- if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
|
|
|
|
- List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
|
|
|
|
- for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
|
|
|
|
- CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
|
|
|
|
- cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
|
|
|
|
-// cancelProcessOperationVo1.setSetincancelroll(false);
|
|
|
|
- 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");
|
|
|
|
- } else {
|
|
|
|
- cancelProcessOperationVo1.setCancelreason("2");
|
|
|
|
- }
|
|
|
|
-// processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + nextCurCancelRoll);
|
|
|
|
- cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
|
- cancelProcessOperation(cancelProcessOperationVo1);
|
|
|
|
|
|
+ if (curcancelroll > 0) {
|
|
|
|
+ //本道工序的输出
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ map.put("MAINID", apsProcessOperationDo.getId());
|
|
|
|
+ List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos = apsProcessOperationOutMaterService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos) {
|
|
|
|
+ apsProcessOperationOutMaterDo.setOutcancelroll(apsProcessOperationOutMaterDo.getOutcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+ apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - ((int) Math.floor((double) (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum()) / apsProcessOperationDo.getPlanprocessrall())));
|
|
|
|
+
|
|
|
|
+ apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
}
|
|
}
|
|
- }
|
|
|
|
|
|
|
|
- //本道工序的作业明细
|
|
|
|
- String euqwhr = "";
|
|
|
|
- if (StringUtils.isNotBlank(cancelProcessOperationVo.getProcessequid())) {
|
|
|
|
- euqwhr = "and ID='" + cancelProcessOperationVo.getProcessequid() + "'";
|
|
|
|
- }
|
|
|
|
- List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId(), euqwhr);
|
|
|
|
- if (cancelProcessOperationVo.getUpdatecuropration()) {
|
|
|
|
- Integer equWaitCancelRoll = curcancelroll;//明细的待分配取消卷数
|
|
|
|
- Integer curEquCancelRoll = 0;//作业明细本次取消卷数
|
|
|
|
- for (ApsProcessOperationProcessEquDo processOperationProcessEquDo : apsProcessOperationProcessEquDos) {
|
|
|
|
- Integer tempRoll = processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll();
|
|
|
|
- if (tempRoll <= 0) {
|
|
|
|
- continue;
|
|
|
|
- }
|
|
|
|
- if (equWaitCancelRoll > 0) {
|
|
|
|
- if (tempRoll >= equWaitCancelRoll) {
|
|
|
|
- curEquCancelRoll = equWaitCancelRoll;
|
|
|
|
|
|
+ //本道作业所有后道工序
|
|
|
|
+ if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
|
|
|
|
+ List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
|
|
|
|
+ for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
|
|
|
|
+ CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
|
|
|
|
+ cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
|
|
|
|
+ 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");
|
|
} else {
|
|
} else {
|
|
- curEquCancelRoll = tempRoll;
|
|
|
|
|
|
+ cancelProcessOperationVo1.setCancelreason("2");
|
|
}
|
|
}
|
|
- //取消和更新作业明细
|
|
|
|
- CancelOperationProcessEquVo cancelOperationProcessEquVo = new CancelOperationProcessEquVo();
|
|
|
|
- cancelOperationProcessEquVo.setCurEquCancelRoll(curEquCancelRoll);
|
|
|
|
- cancelOperationProcessEquVo.setApsProcessOperationDo(apsProcessOperationDo);
|
|
|
|
- cancelOperationProcessEquVo.setProcessOperationProcessEquDo(processOperationProcessEquDo);
|
|
|
|
- cancelOperationProcessEquVo.setCancelreason(cancelProcessOperationVo.getCancelreason());
|
|
|
|
- cancelProcessOperationEqu(cancelOperationProcessEquVo);
|
|
|
|
- } else {
|
|
|
|
- break;
|
|
|
|
|
|
+ cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
|
+ cancelProcessOperationVo1.setOperationequcancelrollall(cancelOperationProcessEquVo.getOperationequcancelrollall());
|
|
|
|
+ cancelProcessOperation(cancelProcessOperationVo1);
|
|
}
|
|
}
|
|
- equWaitCancelRoll = equWaitCancelRoll - curEquCancelRoll;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -2232,7 +2247,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
}
|
|
}
|
|
|
|
|
|
boolean bool1 = apsProcessOperationService.saveOrUpdate(apsProcessOperationDo);
|
|
boolean bool1 = apsProcessOperationService.saveOrUpdate(apsProcessOperationDo);
|
|
- boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
|
|
|
|
|
|
+ boolean bool2 = true;
|
|
|
|
+ if (!apsProcessOperationOutMaterDoList.isEmpty()) {
|
|
|
|
+ bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
|
|
|
|
+ }
|
|
|
|
|
|
//更新状态
|
|
//更新状态
|
|
CommonUpdateProductionStatusReq req = new CommonUpdateProductionStatusReq();
|
|
CommonUpdateProductionStatusReq req = new CommonUpdateProductionStatusReq();
|
|
@@ -2297,10 +2315,21 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
|
|
processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() + curEquCancelRoll);
|
|
} else if (cancelreason.equals("2")) {//输入取消
|
|
} else if (cancelreason.equals("2")) {//输入取消
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
|
|
+ if (processOperationProcessEquDo.getCancelrollno() > 0) {
|
|
|
|
+ if (curEquCancelRoll > processOperationProcessEquDo.getCancelrollno()) {
|
|
|
|
+ processOperationProcessEquDo.setCancelrollno(0);
|
|
|
|
+ curEquCancelRoll = curEquCancelRoll - processOperationProcessEquDo.getCancelrollno();
|
|
|
|
+ } else {
|
|
|
|
+ processOperationProcessEquDo.setCancelrollno(processOperationProcessEquDo.getCancelrollno() - curEquCancelRoll);
|
|
|
|
+ curEquCancelRoll = 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
} else if (cancelreason.equals("3")) {//输入不合格
|
|
} else if (cancelreason.equals("3")) {//输入不合格
|
|
processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
|
|
processOperationProcessEquDo.setInputunqualifiednum(processOperationProcessEquDo.getInputunqualifiednum() + curEquCancelRoll);
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
processOperationProcessEquDo.setInputunqualifiedroll(processOperationProcessEquDo.getInputunqualifiedroll() + curEquCancelRoll);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //该坯料计划下所有的作业明细
|
|
List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = cancelOperationProcessEquVo.getApsProcessOperationProcessEquDos();
|
|
List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = cancelOperationProcessEquVo.getApsProcessOperationProcessEquDos();
|
|
if (apsProcessOperationProcessEquDos == null) {
|
|
if (apsProcessOperationProcessEquDos == null) {
|
|
apsProcessOperationProcessEquDos = apsProcessOperationDao.getNextOperationProcessEqus(apsProcessOperationDo.getBlankid());
|
|
apsProcessOperationProcessEquDos = apsProcessOperationDao.getNextOperationProcessEqus(apsProcessOperationDo.getBlankid());
|
|
@@ -2309,7 +2338,20 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
if (noEquProcessEquIds == null) {
|
|
if (noEquProcessEquIds == null) {
|
|
noEquProcessEquIds = new ArrayList<>();
|
|
noEquProcessEquIds = new ArrayList<>();
|
|
}
|
|
}
|
|
- processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelroll() + curEquCancelRoll);
|
|
|
|
|
|
+
|
|
|
|
+ //作业及该作业明细的已取消卷数合计
|
|
|
|
+ HashMap<String, Integer> operationequcancelrollall = cancelOperationProcessEquVo.getOperationequcancelrollall();
|
|
|
|
+ if (operationequcancelrollall == null) {
|
|
|
|
+ operationequcancelrollall = new HashMap<>();
|
|
|
|
+ }
|
|
|
|
+ if (operationequcancelrollall.containsKey(processOperationProcessEquDo.getProcessid())) {
|
|
|
|
+ operationequcancelrollall.replace(processOperationProcessEquDo.getProcessid(), operationequcancelrollall.get(processOperationProcessEquDo.getProcessid()) + processOperationProcessEquDo.getCancelrollno());
|
|
|
|
+ } else {
|
|
|
|
+ operationequcancelrollall.put(processOperationProcessEquDo.getProcessid(), processOperationProcessEquDo.getCancelrollno());
|
|
|
|
+ }
|
|
|
|
+ cancelOperationProcessEquVo.setOperationequcancelrollall(operationequcancelrollall);
|
|
|
|
+
|
|
|
|
+ processOperationProcessEquDo.setCancelroll(processOperationProcessEquDo.getCancelrollno() + processOperationProcessEquDo.getInputunqualifiedroll());
|
|
processOperationProcessEquDo.setLeavewaitworkroll(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll());
|
|
processOperationProcessEquDo.setLeavewaitworkroll(processOperationProcessEquDo.getPlanprocessrall() - processOperationProcessEquDo.getStartingroll() - processOperationProcessEquDo.getCancelroll());
|
|
List<String> noUpdatePlanenddateList = Arrays.asList("小卷成退", "中退", "成退");
|
|
List<String> noUpdatePlanenddateList = Arrays.asList("小卷成退", "中退", "成退");
|
|
if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
|
|
if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
|
|
@@ -2379,9 +2421,10 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
processOperationProcessEquDo.setLeavewaitjobroll(leaveWaitJobRoll);
|
|
processOperationProcessEquDo.setLeavewaitjobroll(leaveWaitJobRoll);
|
|
|
|
|
|
//取消和更新该作业明细每个后道作业明细
|
|
//取消和更新该作业明细每个后道作业明细
|
|
- if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids())) {
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(processOperationProcessEquDo.getNextprocessesids()) && curEquCancelRoll > 0) {
|
|
List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
|
|
List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = apsProcessOperationDao.getNextProcessOperationEqus(processOperationProcessEquDo.getNextprocessesids().replace(",", "','"));
|
|
for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
|
|
for (ApsProcessOperationProcessEquDo processOperationEquDo : processOperationProcessEquDos) {
|
|
|
|
+ //1-借调或取消 2-输入取消 3-输入不合格
|
|
if (!cancelreason.equals("3")) {
|
|
if (!cancelreason.equals("3")) {
|
|
cancelreason = "2";
|
|
cancelreason = "2";
|
|
}
|
|
}
|
|
@@ -2454,34 +2497,6 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //获取输入已取消卷数
|
|
|
|
- private Integer getInputCancelRoll(Integer planPrecessRoll, Integer cancelRoll, ApsProcessOperationOutMaterDo outMaterDo) {
|
|
|
|
- Integer inputCancelRoll = 0;
|
|
|
|
- if (outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum() > outMaterDo.getPlanstockrollnum()) {
|
|
|
|
- if (outMaterDo.getPlanstockrollnum() == 0 && outMaterDo.getPlanprodrollnum() == 0) {//没有计划备料卷数和计划成品卷数
|
|
|
|
- inputCancelRoll = outMaterDo.getFailrollnum() + outMaterDo.getOutcancelroll();
|
|
|
|
- } else if (outMaterDo.getPlanstockrollnum() > 0 && outMaterDo.getPlanprodrollnum() == 0) {//有计划备料卷数,无计划成品卷数
|
|
|
|
- inputCancelRoll = outMaterDo.getFailrollnum() + outMaterDo.getOutcancelroll() - outMaterDo.getPlanstockrollnum();
|
|
|
|
- } else if (outMaterDo.getPlanstockrollnum() == 0 && outMaterDo.getPlanprodrollnum() > 0) {//无计划备料卷数,有计划成品卷数
|
|
|
|
- Integer tempRoll = planPrecessRoll - cancelRoll - outMaterDo.getFailrollnum();
|
|
|
|
- if (tempRoll < outMaterDo.getPlanprodrollnum()) {
|
|
|
|
- inputCancelRoll = planPrecessRoll - outMaterDo.getPlanprodrollnum();
|
|
|
|
- } else {
|
|
|
|
- inputCancelRoll = outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum();
|
|
|
|
- }
|
|
|
|
- } else {//有计划备料卷数,有计划成品卷数
|
|
|
|
- Integer tempRoll = planPrecessRoll - cancelRoll - outMaterDo.getFailrollnum();
|
|
|
|
- if (tempRoll < outMaterDo.getPlanprodrollnum()) {
|
|
|
|
- inputCancelRoll = planPrecessRoll - outMaterDo.getPlanprodrollnum() - outMaterDo.getPlanstockrollnum();
|
|
|
|
- } else {
|
|
|
|
- inputCancelRoll = outMaterDo.getOutcancelroll() + outMaterDo.getFailrollnum() - outMaterDo.getPlanstockrollnum();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return inputCancelRoll;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
工艺步骤管理/输入物料描述
|
|
工艺步骤管理/输入物料描述
|
|
*/
|
|
*/
|