From 7ebc048ce656410d02f7503406656f68e3497f36 Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Thu, 27 Mar 2025 16:27:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8A=E6=9E=B6=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wmsreceiptbill/WmsReceiptBillService.java | 24 ++-- .../WmsReceiptBillDetail.java | 4 +- .../WmsReceiptBillDetailMapper.java | 2 + .../WmsReceiptBillDetailMapper.xml | 20 ++- .../WmsReceiptBillDetailService.java | 5 +- .../wmsshelfbill/WmsShelfBillMapper.java | 4 + .../wmsshelfbill/WmsShelfBillMapper.xml | 29 ++++ .../wmsshelfbill/WmsShelfBillService.java | 125 ++++++------------ .../WmsShelfBillDetail.java | 3 +- .../WmsShelfBillDetailDto.java | 3 +- 10 files changed, 114 insertions(+), 105 deletions(-) diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java index 23e3dea6a3..03398ff844 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java @@ -221,6 +221,8 @@ public class WmsReceiptBillService extends MybatisBaseService pcList2 = wmsReceiptBillDetailBatchService.getDetailsInit(sid, wmsReceiptBillDetailDto2.getDetailsSid()); @@ -401,8 +405,8 @@ public class WmsReceiptBillService extends MybatisBaseService stringList = wmsShelfBillDetailService.selectReceiptSidList(); - stringList.removeAll(Collections.singleton(null)); +// List stringList = wmsShelfBillDetailService.selectReceiptSidList(); +// stringList.removeAll(Collections.singleton(null)); //获取收货单据 shelfBillDto.setCreateTime(DateUtil.today());//单据日期 shelfBillDto.setSourceBillNo(wmsReceiptBill.getBillNo());//来源单编号 @@ -413,21 +417,19 @@ public class WmsReceiptBillService extends MybatisBaseService detailDtos = new ArrayList<>(); //获取收货单据的明细 - List wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList); + List wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectListByBillSid(sid); wmsReceiptBillDetailsList.removeAll(Collections.singleton(null)); if (!wmsReceiptBillDetailsList.isEmpty()) { for (int i = 0; i < wmsReceiptBillDetailsList.size(); i++) { WmsReceiptBillDetail v = wmsReceiptBillDetailsList.get(i); -// WmsReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid()); WmsShelfBillDetailDto shelfInitListVo = new WmsShelfBillDetailDto(); BeanUtil.copyProperties(v, shelfInitListVo, "sid"); shelfInitListVo.setReceiptDetailSid(v.getSid()); shelfInitListVo.setCount(v.getActualInCount().toString()); -// shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); -// shelfInitListVo.setWarehouseSid(v.getWarehouseSid()); -// shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); -// shelfInitListVo.setWarehouseRackCode(""); + shelfInitListVo.setActualCount("0"); + shelfInitListVo.setNoShelfCount(v.getActualInCount().toString()); detailDtos.add(shelfInitListVo); + wmsReceiptBillDetailService.updateById(v); } } shelfBillDto.setList(detailDtos); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java index 00b973d46c..5d2b2da5ea 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetail.java @@ -58,8 +58,10 @@ public class WmsReceiptBillDetail extends BaseEntity { @ApiModelProperty("打印次数") private Integer printCount; - @ApiModelProperty("已上架数量") + @ApiModelProperty("已分配数量") private BigDecimal shelfCount; + @ApiModelProperty("待分配数量") + private BigDecimal waitShelfCount; // @ApiModelProperty("仓库名称") // private String warehouseName; // @ApiModelProperty("库位sid") diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.java index ab8aff8917..148f4fca42 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.java @@ -24,4 +24,6 @@ public interface WmsReceiptBillDetailMapper extends BaseMapper selByBillSid(@Param("sid") String sid); List selectListByBillSid(@Param("sourceBillSid") String sourceBillSid); + + List selectInitListByBillSid(@Param("sourceBillSid") String sourceBillSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.xml index 0e8de9f9b1..b5c3e1bcad 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailMapper.xml @@ -31,7 +31,8 @@ wrbd.state, wrbd.sid detailsSid, wrbd.goodsSpuName, - wrbd.orderCount + wrbd.orderCount, + wrbd.shelfCount allotmentNum from wms_receipt_bill_detail wrbd where billSid = #{sid} @@ -50,15 +51,26 @@ + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailService.java index 8d9ba457da..1c2f0f3052 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbilldetail/WmsReceiptBillDetailService.java @@ -8,7 +8,6 @@ import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailB import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -86,4 +85,8 @@ public class WmsReceiptBillDetailService extends MybatisBaseService selectListByBillSid(String sourceBillSid) { return baseMapper.selectListByBillSid(sourceBillSid); } + + public List selectInitListByBillSid(String sid) { + return baseMapper.selectInitListByBillSid(sid); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java index 5a51b40c58..10c1dbae14 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.java @@ -26,4 +26,8 @@ public interface WmsShelfBillMapper extends BaseMapper { IPage applistPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); int getToDoNum(@Param("userSid") String userSid); + + int selBillStateCount(String join); + + int selReceiptBillDistributeType(String sid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml index 7c836db1bd..269667d7dd 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillMapper.xml @@ -73,4 +73,33 @@ select count(*) from wms_shelf_bill wsb where wsb.upShelfSid = #{userSid} and wsb.billStateValue != '已完成' + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java index f9e9cece98..02454a774e 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java @@ -174,8 +174,16 @@ public class WmsShelfBillService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); @@ -213,6 +221,7 @@ public class WmsShelfBillService extends MybatisBaseService vos = wmsReceiptBillDetailService.selectListByBillSid(dto.getSourceBillSid()); - if (!vos.isEmpty()) { - HashSet integers = new HashSet<>(); - for (WmsReceiptBillDetail vo : vos) { - BigDecimal count = BigDecimal.ZERO; - BigDecimal actualCount = BigDecimal.ZERO; - BigDecimal shelfCount = BigDecimal.ZERO; - if (null != vo.getShelfCount()) { - shelfCount = vo.getShelfCount(); - } - if (null != vo.getActualInCount()) { - actualCount = vo.getActualInCount(); - } - count = actualCount.subtract(shelfCount); - if (count.compareTo(BigDecimal.ZERO) <= 0) { - integers.add(2); - } else { - integers.add(1); - } - } - if (integers.size() > 1) { - wmsReceiptBill.setDistributeType(2); - } else { - wmsReceiptBill.setDistributeType(1); - for (Integer integer : integers) { - if (integer == 1) { - wmsReceiptBill.setDistributeType(2); - } - } - } - } + int receiptBillState = baseMapper.selReceiptBillDistributeType(wmsReceiptBill.getSid()); + wmsReceiptBill.setDistributeType(receiptBillState); wmsReceiptBillService.updateById(wmsReceiptBill); } @@ -293,6 +273,7 @@ public class WmsShelfBillService extends MybatisBaseService vos = wmsReceiptBillDetailService.selectListByBillSid(dto.getSourceBillSid()); - if (!vos.isEmpty()) { - HashSet integers = new HashSet<>(); - for (WmsReceiptBillDetail vo : vos) { - BigDecimal count = BigDecimal.ZERO; - BigDecimal actualCount = BigDecimal.ZERO; - BigDecimal shelfCount = BigDecimal.ZERO; - if (null != vo.getShelfCount()) { - shelfCount = vo.getShelfCount(); - } - if (null != vo.getActualInCount()) { - actualCount = vo.getActualInCount(); - } - count = actualCount.subtract(shelfCount); - if (count.compareTo(BigDecimal.ZERO) <= 0) { - integers.add(2); - } else { - integers.add(1); - } - } - if (integers.size() > 1) { - wmsReceiptBill.setDistributeType(2); - } else { - wmsReceiptBill.setDistributeType(1); - for (Integer integer : integers) { - if (integer == 1) { - wmsReceiptBill.setDistributeType(2); - } - } - } - } + int receiptBillState = baseMapper.selReceiptBillDistributeType(wmsReceiptBill.getSid()); + wmsReceiptBill.setDistributeType(receiptBillState); wmsReceiptBillService.updateById(wmsReceiptBill); } } -// saveWmsInventory(sid); - return rb.success().setData(sid); } @@ -444,8 +394,29 @@ public class WmsShelfBillService extends MybatisBaseService sidss = Arrays.asList(sids); + int count = baseMapper.selBillStateCount(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("请选择单据状态为新建的数据进行删除!"); + } for (int i = 0; i < sidss.size(); i++) { String s = sidss.get(i); + List details = wmsShelfBillDetailService.selectByMainSid(s); + WmsShelfBill wmsShelfBill = fetchBySid(s); + WmsReceiptBill wmsReceiptBill = wmsReceiptBillService.fetchBySid(wmsShelfBill.getSourceBillSid()); + for (WmsShelfBillDetail detail : details) { + BigDecimal needCount = detail.getCount();//上架单需上架数量 + String receiptDetailSid = detail.getReceiptDetailSid(); + WmsReceiptBillDetail receiptBillDetail = wmsReceiptBillDetailService.fetchBySid(receiptDetailSid); + BigDecimal shelfCount = receiptBillDetail.getShelfCount();//收货单已分配数量 + BigDecimal waitShelfCount = receiptBillDetail.getWaitShelfCount();//收货单待分配数量 + receiptBillDetail.setShelfCount(shelfCount.subtract(needCount)); + receiptBillDetail.setWaitShelfCount(waitShelfCount.add(needCount)); + wmsReceiptBillDetailService.updateById(receiptBillDetail); + } + //查询收货单分配状态 + int receiptBillState = baseMapper.selReceiptBillDistributeType(wmsReceiptBill.getSid()); + wmsReceiptBill.setDistributeType(receiptBillState); + wmsReceiptBillService.updateById(wmsReceiptBill); wmsShelfBillDetailMapper.deleteByMainSid(s); } delBySids(sids); @@ -512,9 +483,6 @@ public class WmsShelfBillService extends MybatisBaseService stringList = wmsShelfBillDetailService.selectReceiptSidList(); -// stringList.removeAll(Collections.singleton(null)); //获取收货单据 WmsReceiptBill wmsReceiptBill = wmsReceiptBillService.fetchBySid(sid); shelfInitVo.setCreateTime(DateUtil.today());//单据日期 @@ -526,31 +494,16 @@ public class WmsShelfBillService extends MybatisBaseService list = new ArrayList<>(); //获取收货单据的明细 -// List wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList); - List wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectListByBillSid(sid); + List wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectInitListByBillSid(sid); wmsReceiptBillDetailsList.removeAll(Collections.singleton(null)); if (!wmsReceiptBillDetailsList.isEmpty()) { for (int i = 0; i < wmsReceiptBillDetailsList.size(); i++) { WmsReceiptBillDetail v = wmsReceiptBillDetailsList.get(i); -// WmsReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid()); ShelfInitListVo shelfInitListVo = new ShelfInitListVo(); BeanUtil.copyProperties(v, shelfInitListVo, "sid"); shelfInitListVo.setReceiptDetailSid(v.getSid()); - BigDecimal shelfCount = BigDecimal.ZERO; - if (null != v.getShelfCount()) { - shelfCount = v.getShelfCount(); - } - BigDecimal actualInCount = BigDecimal.ZERO; - if (null != v.getActualInCount()) { - actualInCount = v.getActualInCount(); - } - BigDecimal subtract = actualInCount.subtract(shelfCount); - shelfInitListVo.setCount(subtract.toString()); - shelfInitListVo.setMaxCount(subtract.toString()); -// shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); -// shelfInitListVo.setWarehouseSid(v.getWarehouseSid()); -// shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); -// shelfInitListVo.setWarehouseRackCode(""); + shelfInitListVo.setCount(v.getWaitShelfCount().toString()); + shelfInitListVo.setMaxCount(v.getWaitShelfCount().toString()); list.add(shelfInitListVo); } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java index 7a9c40c496..3e2278be48 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetail.java @@ -39,5 +39,6 @@ public class WmsShelfBillDetail extends BaseEntity { private BigDecimal actualCount; @ApiModelProperty("备注") private String remarks; - + @ApiModelProperty("未上架数量") + private BigDecimal noShelfCount; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java index 3c1e2f790a..0a60ba7f39 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbilldetail/WmsShelfBillDetailDto.java @@ -35,5 +35,6 @@ public class WmsShelfBillDetailDto { private String actualCount; @ApiModelProperty("备注") private String remarks; - + @ApiModelProperty("未上架数量") + private String noShelfCount; }