|
@@ -120,6 +120,16 @@ public class BizDayworkAuxiliaryItemController extends BaseController {
|
|
|
List<BizDayworkItem> dayworkItems = bizDayworkItemService.query().eq("daywork_id", item.getDayworkId()).eq("technological_process_detail_id", item.getTechnologicalProcessDetailId()).list();
|
|
|
bizDayworkAuxiliaryItemRejects.forEach(v -> {
|
|
|
v.setDayworkItem(dayworkItems.stream().filter(v1 -> v1.getId().equals(v.getDayworkItemId())).findFirst().orElse(new BizDayworkItem()));
|
|
|
+ v.setQualifiedNum(v.getDayworkItem() != null ? v.getDayworkItem().getQualifiedNum() : v.getQualifiedNum());
|
|
|
+ });
|
|
|
+ dayworkItems.stream().filter(v -> bizDayworkAuxiliaryItemRejects.stream().noneMatch(e -> e.getDayworkItemId().equals(v.getId()))).forEach(v -> {
|
|
|
+ BizDayworkAuxiliaryItemReject reject = new BizDayworkAuxiliaryItemReject(v);
|
|
|
+ reject.setDayworkAuxiliaryItemId(bizDayworkAuxiliaryItem.getId());
|
|
|
+ reject.setUserName(bizDayworkAuxiliaryItem.getUserName());
|
|
|
+ reject.setNickName(bizDayworkAuxiliaryItem.getNickName());
|
|
|
+ reject.setTenantId(bizDayworkAuxiliaryItem.getTenantId());
|
|
|
+ reject.setDayworkItem(v);
|
|
|
+ bizDayworkAuxiliaryItemRejects.add(reject);
|
|
|
});
|
|
|
item.setRejectList(bizDayworkAuxiliaryItemRejects);
|
|
|
}
|
|
@@ -184,8 +194,16 @@ public class BizDayworkAuxiliaryItemController extends BaseController {
|
|
|
bizDayworkAuxiliaryItem.setTenantId(getLoginUser().getTenantId());
|
|
|
bizDayworkAuxiliaryItem.setProductId(bizDayworkAuxiliaryItem.getDaywork().getProductId());
|
|
|
List<BizDayworkAuxiliaryItemReject> rejects = new ArrayList<>();
|
|
|
+
|
|
|
List<BizDayworkItem> items = bizDayworkItemService.query().eq("daywork_id", bizDayworkAuxiliaryItem.getDayworkId()).eq("technological_process_detail_id", bizDayworkAuxiliaryItem.getTechnologicalProcessDetailId()).lt("status", "4").list();
|
|
|
+ if (items.stream().anyMatch(v -> v.getStatus().equals("3"))) {
|
|
|
+ int prodNum = items.stream().mapToInt(BizDayworkItem::getQualifiedNum).sum();
|
|
|
+ bizDayworkAuxiliaryItem.setProdNum(prodNum);
|
|
|
+ } else {
|
|
|
+ bizDayworkAuxiliaryItem.setProdNum(items.get(0).getProdNum());
|
|
|
+ }
|
|
|
bizDayworkAuxiliaryItemService.save(bizDayworkAuxiliaryItem);
|
|
|
+
|
|
|
items.forEach(l -> {
|
|
|
BizDayworkAuxiliaryItemReject reject = new BizDayworkAuxiliaryItemReject(l);
|
|
|
reject.setDayworkAuxiliaryItemId(bizDayworkAuxiliaryItem.getId());
|
|
@@ -222,8 +240,11 @@ public class BizDayworkAuxiliaryItemController extends BaseController {
|
|
|
// 修改报工表的合格数量
|
|
|
BizDaywork bizDaywork = bizDayworkService.getById(bizDayworkAuxiliaryItem.getDayworkId());
|
|
|
List<BizDayworkItem> bizDayworkItems = bizDayworkItemService.query().eq("daywork_id", bizDaywork.getId()).orderByDesc("create_time").list();
|
|
|
- bizDaywork.setProcessQualifiedNum(bizDaywork.getProcessQualifiedNum() - rejectNum);
|
|
|
- bizDaywork.setTemporaryProcessQualifiedNum(bizDaywork.getTemporaryProcessQualifiedNum() - rejectNum);
|
|
|
+ bizDaywork.setProcessQualifiedNum(bizDaywork.getProcessQualifiedNum() != 0 ? bizDaywork.getProcessQualifiedNum() - rejectNum : 0);
|
|
|
+ bizDaywork.setTemporaryProcessQualifiedNum(bizDaywork.getTemporaryProcessQualifiedNum() != 0 ? bizDaywork.getTemporaryProcessQualifiedNum() - rejectNum : 0);
|
|
|
+ if (bizDaywork.getProcessQualifiedNum().compareTo(0) < 0 || bizDaywork.getTemporaryProcessQualifiedNum().compareTo(0) < 0) {
|
|
|
+ return error("当前报工数量不能小于0");
|
|
|
+ }
|
|
|
BizDayworkItem lastDaywork = bizDayworkItems.stream().filter(v -> v.getStatus().compareTo("4") < 0).sorted(Comparator.comparing(BizDayworkItem::getProcessStepNumber).thenComparing(BizDayworkItem::getStatus).reversed()).findFirst().orElse(new BizDayworkItem());
|
|
|
// 假设最新报工已完成 则修改下序报工的投产数量
|
|
|
if (lastDaywork.getStatus().compareTo("3") < 0) {
|