diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 29cb26c8..03129270 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -101,6 +101,11 @@ public class MaterialConstants { */ public static final Integer NINE_CONSTANT = 9; + /** + * 未完成 + */ + public static final Integer TEN_CONSTANT = 10; + /** * 已全部入库 */ diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java index 79fdac7d..3fcc59e9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseBindServiceImpl.java @@ -164,10 +164,33 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { if (CollectionUtils.isNotEmpty(voList)) { for (PurchaseVo purchaseVo : voList) { if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) { - + purchaseBindMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, purchaseVo.getPurchaseId()); + } + if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) { + purchaseBindMapper.updateStatusById(MaterialConstants.THREE_CONSTANT, purchaseVo.getPurchaseId()); } } } + PurchaseDto purchaseDto = new PurchaseDto(); + purchaseDto.setTaskId(dto.getTaskId()); + List list = purchaseBindMapper.selectPurchaseCheckInfoById(dto); + Map> groupedByIdStatus = list.stream() + .collect(Collectors.groupingBy( + PurchaseVo::getTaskId, + Collectors.mapping(PurchaseVo::getStatus, Collectors.toList()) + )); + result += groupedByIdStatus.entrySet().stream() + .mapToInt(entry -> { + Integer taskId = entry.getKey(); + List statusList = entry.getValue(); + if (statusList.contains(MaterialConstants.EIGHT_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); + } else if (!statusList.contains(MaterialConstants.EIGHT_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT) + && statusList.contains(MaterialConstants.FOUR_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); + } + return 0; + }).sum(); if (result > 0) { return AjaxResult.success("绑定成功"); } @@ -220,7 +243,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId()); } } - result += tmTaskMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, dto.getTaskId()); + result += tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, dto.getTaskId()); } //二级页面驳回 if (dto.getPurchaseId() != null) { @@ -263,11 +286,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { .mapToInt(entry -> { Integer taskId = entry.getKey(); List statusList = entry.getValue(); - if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) { - return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, taskId.toString()); - } else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED) - && !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) { - return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, taskId.toString()); + if (statusList.contains(MaterialConstants.SEVEN_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString()); + } else if (!statusList.contains(MaterialConstants.SEVEN_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT) + && statusList.contains(MaterialConstants.FOUR_CONSTANT)) { + return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString()); } return 0; }).sum(); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index 4e6c64a2..1d72459a 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml @@ -179,6 +179,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" FROM purchase_macode_info pm LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id + AND pm.type_id = pcd.type_id LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id WHERE