From 33d6c3bbd128ebdfe150f03e2d344054a186aefc Mon Sep 17 00:00:00 2001 From: mashuai Date: Tue, 24 Dec 2024 11:28:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=88=E4=B8=8B=E8=BD=BD=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E7=BB=91=E5=AE=9A=E7=BC=96=E7=A0=81=E5=90=8E?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../purchase/domain/vo/PurchaseVo.java | 3 ++ .../purchase/mapper/PurchaseBindMapper.java | 7 +++++ .../service/impl/PurchaseBindServiceImpl.java | 17 ++++++++-- .../material/purchase/PurchaseBindMapper.xml | 31 +++++++++++++++++++ 4 files changed, 55 insertions(+), 3 deletions(-) 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 5d959b0d..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); @@ -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/resources/mapper/material/purchase/PurchaseBindMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseBindMapper.xml index e7099a68..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 @@ -336,4 +336,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE qr_code = #{qrCode} + +