diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseMacodeInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseMacodeInfo.java index 0eb85f1a..a5f7f6a6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseMacodeInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseMacodeInfo.java @@ -10,7 +10,7 @@ import com.bonus.common.core.web.domain.BaseEntity; import java.util.Date; /** - * 新购验收编号管理对象 purchase_macode_info + * 新购验收编号管理对象 bm_qrcode_info * * @author xsheng * @date 2024-10-16 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java index fa9cb376..b336dab0 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/vo/PurchaseVo.java @@ -60,6 +60,9 @@ public class PurchaseVo { @ApiModelProperty(value="验收数量") private BigDecimal checkNum; + @ApiModelProperty(value="待绑定数量") + private BigDecimal pendingBindNum; + @ApiModelProperty(value="绑定数量") private BigDecimal bindNum; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java index 80c9c676..f45f73b9 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseBindMapper.java @@ -100,4 +100,11 @@ public interface PurchaseBindMapper { List getMachineById(PurchaseDto dto); List getTypeByQrcode(PurchaseDto dto); + + /** + * 查询绑定详情 + * @param purchaseDto + * @return + */ + List selectPurchaseCheckDetailsById(PurchaseDto purchaseDto); } 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 af4ce6b4..1c3cea75 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 @@ -276,7 +276,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { */ private void handlePurchaseId(Set addedEntries, PurchaseDto purchaseDto, List codeList, Integer status, ZipOutputStream zos, String genMonth) throws IOException, WriterException { if (status == 1) { - Select(addedEntries, purchaseDto, zos); + List details = purchaseBindMapper.getDetails(purchaseDto); + if (CollectionUtils.isNotEmpty(details)) { + PurchaseVo detail = details.get(0); + if (detail.getBindNum() != null ) { + detail.setPendingBindNum(detail.getCheckNum().subtract(detail.getBindNum()) ); + } + Select(addedEntries, purchaseDto, zos, detail); + } } else { int num = getInitialNum(codeList); List details = purchaseBindMapper.getDetails(purchaseDto); @@ -306,7 +313,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * @throws IOException */ private void getString(Set addedEntries, PurchaseDto purchaseDto, String genMonth, int num, ZipOutputStream zos, String materialModel, String materialName, Integer typeId, BigDecimal checkNum) throws WriterException, IOException { - int genNum = Integer.parseInt(String.valueOf(checkNum)); + int genNum = (int) checkNum.doubleValue(); for (int j = 1; j <= genNum; j++) { genMonth = genMonth.replace("-", ""); String code = genMonth + "-" + String.format("%5d", num + j).replace(" ", "0"); @@ -364,8 +371,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService { * @param zos * @throws IOException */ - private void Select(Set addedEntries, PurchaseDto purchaseDto, ZipOutputStream zos) throws IOException { - List list = purchaseBindMapper.selectPurchaseCheckInfoById(purchaseDto); + private void Select(Set addedEntries, PurchaseDto purchaseDto, ZipOutputStream zos, PurchaseVo detail) throws IOException { + List list = purchaseBindMapper.selectPurchaseCheckDetailsById(purchaseDto); + if (detail.getPendingBindNum() != null && detail.getPendingBindNum().compareTo(BigDecimal.ZERO) > 0) { + int num = (int) detail.getPendingBindNum().doubleValue(); + list = list.subList(0, num); + } if (com.alibaba.nacos.common.utils.CollectionUtils.isNotEmpty(list)) { for (PurchaseVo purchaseVo : list) { String materialModel = purchaseVo.getMaterialModel(); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index 6bcaa0ca..bc614773 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -139,9 +139,6 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { */ @Override public List selectPurchaseCheckInfoList(PurchaseQueryDto purchaseQueryDto) { - // TODO 引入采购任务阶段管理、先写死 后期由前端传入 - // purchaseQueryDto.setTaskStage(PurchaseTaskStageEnum.CHECK.getCode()); - List purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseQueryDto); if (CollectionUtils.isEmpty(purchaseCheckInfos) ) {return Collections.emptyList();} AtomicReference loginUserId = new AtomicReference<>(SecurityUtils.getUserId()); @@ -162,8 +159,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min(); if (isAllowPartTransfer) { - // 过滤由前端传入的物资所属状态 - // TODO 2024-12-23日 取消状态过滤,修改由任务阶段来过滤 --- by 阮世耀 + // 2024-12-23日 取消状态过滤,修改由任务阶段来过滤 --- by 阮世耀 // if (!CollectionUtils.isEmpty(purchaseQueryDto.getStatusList())) { // purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> purchaseQueryDto.getStatusList().contains(o.getStatus())).collect(Collectors.toList()); // } @@ -189,6 +185,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService { ).collect(Collectors.toList()); break; default: + System.err.println("未知的新购任务阶段:" + purchaseQueryDto.getTaskStage()); return Collections.emptyList(); } purchaseInfo.setPurchaseMaTypeName(purchaseCheckDetailsMapper.selectMaTypeNameByTaskAndStatusList(purchaseInfo.getTaskId(), purchaseQueryDto.getStatusList())); diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml index 0ffc2469..6f7ec276 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/basic/ComplexQueryMapper.xml @@ -643,23 +643,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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 801f6e0e..a454db13 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 @@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into purchase_macode_info + insert into bm_qrcode_info task_id, type_id, @@ -43,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - INSERT INTO purchase_macode_info + INSERT INTO bm_qrcode_info qr_code, @@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, del_flag, - status + `status` @@ -174,7 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pcd.bind_num AS bindNum, pcd.status AS status FROM - purchase_macode_info pm + bm_qrcode_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 @@ -224,7 +224,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id LEFT JOIN ma_supplier_info ms ON pcd.supplier_id = ms.supplier_id - LEFT JOIN purchase_macode_info pm on pcd.task_id = pm.task_id and pm.type_id = pcd.type_id + LEFT JOIN bm_qrcode_info pm on pcd.task_id = pm.task_id and pm.type_id = pcd.type_id where 1 = 1 AND mt.type_id = #{typeId} @@ -249,7 +249,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" SELECT qr_code as qrCode FROM - purchase_macode_info + bm_qrcode_info WHERE DATE_FORMAT(create_time, '%Y-%m') = #{genMonth} and ma_code is null ORDER BY @@ -262,7 +262,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" type_id as typeId, ma_code as maCode FROM - purchase_macode_info + bm_qrcode_info where del_flag = '0' and ma_code = #{maCode} @@ -298,7 +298,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id LEFT JOIN ma_supplier_info ms ON pcd.supplier_id = ms.supplier_id - LEFT JOIN purchase_macode_info pm on pcd.task_id = pm.task_id and pm.type_id = pcd.type_id + LEFT JOIN bm_qrcode_info pm on pcd.task_id = pm.task_id and pm.type_id = pcd.type_id where 1 = 1 AND mt.id = #{typeId} @@ -313,19 +313,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseMacodeInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseMacodeInfoMapper.xml index 206ecb8e..f6571229 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseMacodeInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseMacodeInfoMapper.xml @@ -26,10 +26,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select pmi.id, pmi.task_id, pmi.type_id, pmi.ma_code, pmi.qr_code, pmi.fix_code, pmi.code_type, pmi.status, + select pmi.id, pmi.task_id, pmi.type_id, pmi.ma_code, pmi.qr_code, pmi.status, pmi.create_by, pmi.create_time, pmi.update_by, pmi.update_time, pmi.remark, pmi.company_id, pmi.out_fac_code, mt.type_name, mt.unit_name, mtp.type_name as ma_type_name, pcd.production_time - from purchase_macode_info pmi + from bm_qrcode_info pmi left join ma_type mt on pmi.type_id = mt.type_id left join ma_type mtp on mt.parent_id = mtp.type_id left join purchase_check_details pcd on pmi.task_id = pcd.task_id and pmi.type_id = pcd.type_id @@ -56,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - insert into purchase_macode_info + insert into bm_qrcode_info task_id, type_id, @@ -92,7 +92,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - update purchase_macode_info + update bm_qrcode_info task_id = #{taskId}, type_id = #{typeId}, @@ -113,17 +113,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from purchase_macode_info where id = #{id} + delete from bm_qrcode_info where id = #{id} - delete from purchase_macode_info where id in + delete from bm_qrcode_info where id in #{id} \ No newline at end of file