|
@@ -1941,79 +1941,96 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //本道作业所有后道工序
|
|
|
- List<ApsProcessOperationDo> apsProcessOperationDos = new ArrayList<>();
|
|
|
- if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
|
|
|
- apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
|
|
|
- }
|
|
|
-
|
|
|
//本道工序的输出
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
map.put("MAINID", apsProcessOperationDo.getId());
|
|
|
List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDos = apsProcessOperationOutMaterService.listByMap(map).stream().collect(Collectors.toList());
|
|
|
- Integer outval = 0;
|
|
|
for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDos) {
|
|
|
- Integer curOutMaterCancelRoll = curcancelroll;//输出物料本次取消卷数
|
|
|
- if (cancelProcessOperationVo.getUpdatecuropration()) {
|
|
|
- curOutMaterCancelRoll = curcancelroll * apsProcessOperationOutMaterDo.getOutval();//输出物料本次取消卷数
|
|
|
- }
|
|
|
- apsProcessOperationOutMaterDo.setOutcancelroll((apsProcessOperationDo.getInputunqualifiedroll() + apsProcessOperationDo.getCancelroll()) * apsProcessOperationOutMaterDo.getOutval());
|
|
|
- Integer curStockCancelRoll = 0;//本次备料取消卷数
|
|
|
- Integer curMoveCancelRoll = 0;//本次流转取消卷数
|
|
|
- Integer curProdCancelRoll = 0;//本次成品取消卷数
|
|
|
- if (apsProcessOperationOutMaterDo.getStockleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
- curStockCancelRoll = curOutMaterCancelRoll;
|
|
|
- } else {
|
|
|
- curStockCancelRoll = apsProcessOperationOutMaterDo.getStockleaveoutroll();
|
|
|
- curOutMaterCancelRoll = curOutMaterCancelRoll - curStockCancelRoll;
|
|
|
- if (apsProcessOperationOutMaterDo.getMoveleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
- curMoveCancelRoll = curOutMaterCancelRoll;
|
|
|
- } else {
|
|
|
- curMoveCancelRoll = apsProcessOperationOutMaterDo.getMoveleaveoutroll();
|
|
|
- curOutMaterCancelRoll = curOutMaterCancelRoll - curMoveCancelRoll;
|
|
|
- if (apsProcessOperationOutMaterDo.getProdleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
- curProdCancelRoll = curOutMaterCancelRoll;
|
|
|
- } else {
|
|
|
- curProdCancelRoll = apsProcessOperationOutMaterDo.getProdleaveoutroll();
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + curProdCancelRoll);
|
|
|
- apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - curProdCancelRoll);
|
|
|
- apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + curStockCancelRoll);
|
|
|
- apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - curStockCancelRoll);
|
|
|
- apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + curMoveCancelRoll);
|
|
|
- apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - curMoveCancelRoll);
|
|
|
-
|
|
|
- if (curMoveCancelRoll > 0 && apsProcessOperationDos.size() > 0) {
|
|
|
- List<ApsProcessOperationDo> processOperationDos = apsProcessOperationDos.stream().filter(apo -> apsProcessOperationOutMaterDo.getId().equals(apo.getPlaninputid())).collect(Collectors.toList());
|
|
|
- for (ApsProcessOperationDo processOperationDo : processOperationDos) {
|
|
|
- Integer cancelroll = 0;
|
|
|
- if (curMoveCancelRoll > 0) {
|
|
|
- CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
|
|
|
- cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
|
|
|
- if (processOperationDo.getLeavewaitworkroll() >= curMoveCancelRoll) {
|
|
|
- cancelroll = curMoveCancelRoll;
|
|
|
- cancelProcessOperationVo1.setCurcancelroll(cancelroll);
|
|
|
- } else {
|
|
|
- cancelroll = processOperationDo.getLeavewaitworkroll();
|
|
|
- cancelProcessOperationVo1.setCurcancelroll(cancelroll);
|
|
|
- }
|
|
|
-// processOperationDo.setInputunqualifiedroll(getInputCancelRoll(apsProcessOperationDo.getPlanprocessrall(), apsProcessOperationDo.getCancelroll(), apsProcessOperationOutMaterDo));
|
|
|
- processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + cancelroll);
|
|
|
- cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
- cancelProcessOperationVo1.setSetincancelroll(false);
|
|
|
- cancelProcessOperation(cancelProcessOperationVo1);
|
|
|
- } else {
|
|
|
- break;
|
|
|
- }
|
|
|
- curMoveCancelRoll = curMoveCancelRoll - cancelroll;
|
|
|
- }
|
|
|
- }
|
|
|
- outval += apsProcessOperationOutMaterDo.getOutval();
|
|
|
+ apsProcessOperationOutMaterDo.setOutcancelroll(apsProcessOperationOutMaterDo.getOutcancelroll() + (curcancelroll * apsProcessOperationOutMaterDo.getPlanrollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - (curcancelroll * apsProcessOperationOutMaterDo.getPlanprodrollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - (curcancelroll * apsProcessOperationOutMaterDo.getPlanstockrollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+ apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - (curcancelroll * apsProcessOperationOutMaterDo.getPlanmoverollnum() / apsProcessOperationDo.getPlanprocessrall()));
|
|
|
+
|
|
|
+
|
|
|
+// Integer curOutMaterCancelRoll = curcancelroll;//输出物料本次取消卷数
|
|
|
+// if (cancelProcessOperationVo.getUpdatecuropration()) {
|
|
|
+// curOutMaterCancelRoll = curcancelroll * apsProcessOperationOutMaterDo.getOutval();//输出物料本次取消卷数
|
|
|
+// }
|
|
|
+// apsProcessOperationOutMaterDo.setOutcancelroll((apsProcessOperationDo.getInputunqualifiedroll() + apsProcessOperationDo.getCancelroll()) * apsProcessOperationOutMaterDo.getOutval());
|
|
|
+// Integer curStockCancelRoll = 0;//本次备料取消卷数
|
|
|
+// Integer curMoveCancelRoll = 0;//本次流转取消卷数
|
|
|
+// Integer curProdCancelRoll = 0;//本次成品取消卷数
|
|
|
+// if (apsProcessOperationOutMaterDo.getStockleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
+// curStockCancelRoll = curOutMaterCancelRoll;
|
|
|
+// } else {
|
|
|
+// curStockCancelRoll = apsProcessOperationOutMaterDo.getStockleaveoutroll();
|
|
|
+// curOutMaterCancelRoll = curOutMaterCancelRoll - curStockCancelRoll;
|
|
|
+// if (apsProcessOperationOutMaterDo.getMoveleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
+// curMoveCancelRoll = curOutMaterCancelRoll;
|
|
|
+// } else {
|
|
|
+// curMoveCancelRoll = apsProcessOperationOutMaterDo.getMoveleaveoutroll();
|
|
|
+// curOutMaterCancelRoll = curOutMaterCancelRoll - curMoveCancelRoll;
|
|
|
+// if (apsProcessOperationOutMaterDo.getProdleaveoutroll() >= curOutMaterCancelRoll) {
|
|
|
+// curProdCancelRoll = curOutMaterCancelRoll;
|
|
|
+// } else {
|
|
|
+// curProdCancelRoll = apsProcessOperationOutMaterDo.getProdleaveoutroll();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// apsProcessOperationOutMaterDo.setProdcancelroll(apsProcessOperationOutMaterDo.getProdcancelroll() + curProdCancelRoll);
|
|
|
+// apsProcessOperationOutMaterDo.setProdleaveoutroll(apsProcessOperationOutMaterDo.getProdleaveoutroll() - curProdCancelRoll);
|
|
|
+// apsProcessOperationOutMaterDo.setStockcancelroll(apsProcessOperationOutMaterDo.getStockcancelroll() + curStockCancelRoll);
|
|
|
+// apsProcessOperationOutMaterDo.setStockleaveoutroll(apsProcessOperationOutMaterDo.getStockleaveoutroll() - curStockCancelRoll);
|
|
|
+// apsProcessOperationOutMaterDo.setMovecancelroll(apsProcessOperationOutMaterDo.getMovecancelroll() + curMoveCancelRoll);
|
|
|
+// apsProcessOperationOutMaterDo.setMoveleaveoutroll(apsProcessOperationOutMaterDo.getMoveleaveoutroll() - curMoveCancelRoll);
|
|
|
+
|
|
|
+// if (curMoveCancelRoll > 0 && apsProcessOperationDos.size() > 0) {
|
|
|
+// List<ApsProcessOperationDo> processOperationDos = apsProcessOperationDos.stream().filter(apo -> apsProcessOperationOutMaterDo.getId().equals(apo.getPlaninputid())).collect(Collectors.toList());
|
|
|
+// for (ApsProcessOperationDo processOperationDo : processOperationDos) {
|
|
|
+// Integer cancelroll = 0;
|
|
|
+// if (curMoveCancelRoll > 0) {
|
|
|
+// CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
|
|
|
+// cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
|
|
|
+// if (processOperationDo.getLeavewaitworkroll() >= curMoveCancelRoll) {
|
|
|
+// cancelroll = curMoveCancelRoll;
|
|
|
+// cancelProcessOperationVo1.setCurcancelroll(cancelroll);
|
|
|
+// } else {
|
|
|
+// cancelroll = processOperationDo.getLeavewaitworkroll();
|
|
|
+// cancelProcessOperationVo1.setCurcancelroll(cancelroll);
|
|
|
+// }
|
|
|
+//// processOperationDo.setInputunqualifiedroll(getInputCancelRoll(apsProcessOperationDo.getPlanprocessrall(), apsProcessOperationDo.getCancelroll(), apsProcessOperationOutMaterDo));
|
|
|
+// processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + cancelroll);
|
|
|
+// cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
+// cancelProcessOperationVo1.setSetincancelroll(false);
|
|
|
+// cancelProcessOperation(cancelProcessOperationVo1);
|
|
|
+// } else {
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// curMoveCancelRoll = curMoveCancelRoll - cancelroll;
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
|
|
|
}
|
|
|
|
|
|
+ //本道作业所有后道工序
|
|
|
+ List<ApsProcessOperationDo> apsProcessOperationDos = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(apsProcessOperationDo.getNextprocessid())) {
|
|
|
+ apsProcessOperationDos = apsProcessOperationDao.getNextProcessOperations(apsProcessOperationDo.getNextprocessid().replace(",", "','"));
|
|
|
+ for (ApsProcessOperationDo processOperationDo : apsProcessOperationDos) {
|
|
|
+ CancelProcessOperationVo cancelProcessOperationVo1 = new CancelProcessOperationVo();
|
|
|
+ cancelProcessOperationVo1.setCraftrouteid(craftrouteid);
|
|
|
+ Integer nextCurCancelRoll = curcancelroll * processOperationDo.getPlanprocessrall() / apsProcessOperationDo.getPlanprocessrall();
|
|
|
+ cancelProcessOperationVo1.setCurcancelroll(nextCurCancelRoll);
|
|
|
+ processOperationDo.setInputunqualifiedroll(processOperationDo.getInputunqualifiedroll() + nextCurCancelRoll);
|
|
|
+ cancelProcessOperationVo1.setApsprocessoperationdo(processOperationDo);
|
|
|
+ cancelProcessOperation(cancelProcessOperationVo1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//本道工序的作业明细
|
|
|
List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = apsProcessOperationDao.getProcessOperationProcessEqus(apsProcessOperationDo.getId());
|
|
|
if (cancelProcessOperationVo.getUpdatecuropration()) {
|
|
@@ -2071,11 +2088,6 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
|
|
|
Optional<Date> maxDate = apsProcessOperationProcessEquDos.stream()
|
|
|
.map(ApsProcessOperationProcessEquDo::getPlanenddate).max(Comparator.naturalOrder());
|
|
|
apsProcessOperationDo.setPlanenddate(new Date(maxDate.get().getTime()));
|
|
|
- if (outval > 1) {
|
|
|
- apsProcessOperationDo.setIssubsection("是");
|
|
|
- } else {
|
|
|
- apsProcessOperationDo.setIssubsection("否");
|
|
|
- }
|
|
|
|
|
|
boolean bool1 = apsProcessOperationService.saveOrUpdate(apsProcessOperationDo);
|
|
|
boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
|