|
@@ -81,6 +81,8 @@ public class BizLotController extends BaseController {
|
|
|
@Resource
|
|
|
private IBizDayworkAuxiliaryItemService bizDayworkAuxiliaryItemsService;
|
|
|
@Resource
|
|
|
+ private IBizDayworkItemRejectService bizDayworkItemRejectService;
|
|
|
+ @Resource
|
|
|
HttpServletRequest request;
|
|
|
|
|
|
/**
|
|
@@ -467,6 +469,8 @@ public class BizLotController extends BaseController {
|
|
|
List<BizDayworkItem> delDayworkItems = new ArrayList<>();
|
|
|
List<BizFurnaceNoInfo> furnaceNoInfos = new ArrayList<>();
|
|
|
List<BizQuickDayworkNextInfo> quickDayworkNextInfos = new ArrayList<>();
|
|
|
+ List<BizDayworkItemReject> updateDayworkItemRejects = new ArrayList<>();
|
|
|
+ List<BizDayworkItemReject> removeDayworkItemRejects = new ArrayList<>();
|
|
|
// 判断绑定箱是否重复
|
|
|
List<Long> carrierIds = new ArrayList<>();
|
|
|
sparateList.stream().filter(v -> !bizLot.getId().equals(v.getId())).forEach(x -> carrierIds.addAll(x.getCarriers().stream().map(BizCarrier::getId).collect(Collectors.toList())));
|
|
@@ -511,6 +515,8 @@ public class BizLotController extends BaseController {
|
|
|
if (lastProcessItem.stream().noneMatch(v -> v.getStatus().compareTo("4") >= 0) && lastProcessItem.stream().anyMatch(v -> !v.getUserId().equals(lastProcessItem.get(0).getUserId()))) {
|
|
|
return error("最后一道工序存在邀请报工,不能进行分批");
|
|
|
}
|
|
|
+ List<BizDayworkItemReject> latestRejects = bizDayworkItemRejectService.query().in("daywork_item_id", lastProcessItem.isEmpty() ? Collections.singletonList(0L) : lastProcessItem.stream().map(BizDayworkItem::getId).collect(Collectors.toList())).list();
|
|
|
+ Map<String, List<BizDayworkItemReject>> rejectGroupByReason = latestRejects.stream().collect(Collectors.groupingBy(BizDayworkItemReject::getReason, Collectors.toList()));
|
|
|
List<BizQuickDayworkNextInfo> oldQuickDayworkNextInfos = bizQuickDayworkNextInfoService.query().in("daywork_item_id", baseDayworkItems.isEmpty() ? Collections.singletonList(0L) : baseDayworkItems.stream().map(BizDayworkItem::getId).collect(Collectors.toList())).list();
|
|
|
AtomicBoolean necessaryOfCarrier = new AtomicBoolean(true);
|
|
|
if (baseDayworks.size() > 0) {
|
|
@@ -661,7 +667,21 @@ public class BizLotController extends BaseController {
|
|
|
updateItem.setStatus(currentItems.stream().max(Comparator.comparing(BizDayworkItem::getStatus)).orElse(new BizDayworkItem()).getStatus());
|
|
|
updateItem.setProdNum(l.getLotNumber());
|
|
|
updateItem.setQualifiedNum(l.getQualifiedNum());
|
|
|
+ long rejectNum = latestRejects.stream().mapToLong(BizDayworkItemReject::getRejectNum).sum();
|
|
|
+ updateItem.setRejectNum(Math.toIntExact(rejectNum));
|
|
|
bizDayworkItems.add(updateItem);
|
|
|
+ rejectGroupByReason.forEach((k,v) -> {
|
|
|
+ if (v.size() > 1) {
|
|
|
+ BizDayworkItemReject b = v.get(0);
|
|
|
+ b.setDayworkItemId(updateItem.getId());
|
|
|
+ b.setRejectNum(v.stream().mapToLong(BizDayworkItemReject::getRejectNum).sum());
|
|
|
+ updateDayworkItemRejects.add(b);
|
|
|
+ removeDayworkItemRejects.addAll(v.stream().filter(e -> updateDayworkItemRejects.stream().noneMatch(t -> t.getId().equals(e.getId()))).collect(Collectors.toList()));
|
|
|
+ } else {
|
|
|
+ v.forEach(e -> e.setDayworkItemId(updateItem.getId()));
|
|
|
+ updateDayworkItemRejects.addAll(v);
|
|
|
+ }
|
|
|
+ });
|
|
|
delDayworkItems.addAll(currentItems.stream().filter(e -> bizDayworkItems.stream().noneMatch(t -> t.getId().equals(e.getId()))).collect(Collectors.toList()));
|
|
|
}
|
|
|
List<BizDayworkItem> historyDayworkItem = baseDayworkItems.stream().filter(e -> e.getDayworkId().equals(baseDayworks.get(0).getId())).filter(e -> bizDayworkItems.stream().noneMatch(t -> t.getId().equals(e.getId()))).filter(e -> delDayworkItems.stream().noneMatch(t -> t.getId().equals(e.getId()))).collect(Collectors.toList());
|
|
@@ -684,6 +704,8 @@ public class BizLotController extends BaseController {
|
|
|
(newDayworkCarriers.isEmpty() || dayworkCarrierService.saveBatch(newDayworkCarriers)) &&
|
|
|
(furnaceNoInfos.isEmpty() || bizFurnaceNoInfoService.saveBatch(furnaceNoInfos)) &&
|
|
|
(quickDayworkNextInfos.isEmpty() || bizQuickDayworkNextInfoService.saveBatch(quickDayworkNextInfos)) &&
|
|
|
+ (updateDayworkItemRejects.isEmpty() || bizDayworkItemRejectService.saveOrUpdateBatch(updateDayworkItemRejects)) &&
|
|
|
+ (removeDayworkItemRejects.isEmpty() || bizDayworkItemRejectService.removeBatchByIds(removeDayworkItemRejects)) &&
|
|
|
bizLotService.saveOrUpdateBatch(sparateList)
|
|
|
);
|
|
|
// return toAjax(true);
|