From 9b462967e2bcca71f980b43cfc44da2d1c2f5802 Mon Sep 17 00:00:00 2001 From: linfso Date: Wed, 1 Jan 2025 15:03:42 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisCommonController.java | 17 ++++++++ .../erp/emis/domain/EmisWarehouseIn.java | 8 ++-- .../emis/mapper/EmisWarehouseInMapper.java | 2 +- .../service/IEmisWarehouseInBatchService.java | 7 ++++ .../impl/EmisWarehouseInBatchServiceImpl.java | 41 +++++++++++++++++-- .../mapper/EmisWarehouseInMapper.xml | 28 +++++++++---- 6 files changed, 86 insertions(+), 17 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 15f62a219..c05a30a84 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -105,6 +105,9 @@ public class EmisCommonController extends EmisBaseController @Autowired private ISysNoticeService sysNoticeService; + @Autowired + private IEmisWarehouseInBatchService emisWarehouseInBatchService; + @@ -1020,6 +1023,20 @@ public class EmisCommonController extends EmisBaseController } } + @Log(title = "重新计算入仓重量状态", businessType = BusinessType.UPDATE) + @RequestMapping("/reCalcWareHouseInTotalInfo") + public void reCalcWareHouseInTotalInfo(String settleBillNo) { + try{ + emisWarehouseInBatchService.reCalcWareHouseInTotalInfo(settleBillNo); + } + catch (Exception ex){ + ex.printStackTrace(); + } + } + + + + /** * 重新计算账单开票状态 * @param settleBillNo diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java index ea72a94b9..29b398664 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWarehouseIn.java @@ -63,10 +63,6 @@ public class EmisWarehouseIn extends BaseEntity private String status; /* 0-未入仓 1-已入仓 */ private String stockInFlag; - - // --------- 扩展参数 - private EmisWaybill waybillDetail; - /* 总件数 */ private Integer totalParcelQty; /* 总体积 */ @@ -74,7 +70,9 @@ public class EmisWarehouseIn extends BaseEntity /* 总重量 */ private BigDecimal totalWeight; + // --------- 扩展参数 + private EmisWaybill waybillDetail; + // 入仓批次信息 private List stockInBatchList; - } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java index 490be00a8..2c1abdcbb 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWarehouseInMapper.java @@ -88,5 +88,5 @@ public interface EmisWarehouseInMapper extends BaseMapper public int changeUseStatusByUse(EmisWarehouseIn emisWarehouseIn); - public int updateHasStockInFlag(String inNo); + public int updateTotalWeightInfo(EmisWarehouseIn emisWarehouseIn); } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java index d55fe89e5..da91a0903 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWarehouseInBatchService.java @@ -52,6 +52,13 @@ public interface IEmisWarehouseInBatchService */ public int updateEmisWarehouseInBatch(EmisWarehouseInBatch emisWarehouseInBatch); + + /** + * 重新计算总重量和总体积 + * @param inNo + */ + public void reCalcWareHouseInTotalInfo(String inNo); + /** * 批量删除进仓单批次 * diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java index ce63161db..7c740a3dd 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWarehouseInBatchServiceImpl.java @@ -134,17 +134,50 @@ public class EmisWarehouseInBatchServiceImpl extends EmisBaseService implements } // 重新计算入仓状态 - this.reCalcWareHouseIn(emisWarehouseInBatch.getInNo()); + this.reCalcWareHouseInTotalInfo(emisWarehouseInBatch.getInNo()); return 1; } // 重新计算总重量,总件数,总体积 - private void reCalcWareHouseIn(String inNo){ - EmisWarehouseIn emisWarehouseIn=emisWarehouseInMapper.selectEmisWarehouseInByInNo(inNo); + @Override + public void reCalcWareHouseInTotalInfo(String inNo){ + // 获取入库列表 + List batchList=emisWarehouseInBatchMapper.selectInBatchListByInNo(inNo); + // 累加数据 + BigDecimal totalAllWeight = BigDecimal.ZERO; + BigDecimal totalAllVolume = BigDecimal.ZERO; + Integer totalAllParcelQty = 0; + + if(!CollectionUtils.isEmpty(batchList)){ + for (EmisWarehouseInBatch emisWarehouseInBatch:batchList) { + BigDecimal billWeight=emisWarehouseInBatch.getBillWeight(); + BigDecimal totalVolume=emisWarehouseInBatch.getTotalVolume(); + Integer parcelQty=emisWarehouseInBatch.getParcelQty(); + + if(billWeight!=null) { + totalAllWeight = totalAllWeight.add(billWeight); + } + + if(totalVolume!=null) { + totalAllVolume = totalAllVolume.add(totalVolume); + } + + if(parcelQty!=null) { + totalAllParcelQty = totalAllParcelQty+parcelQty; + } + + } + } + + EmisWarehouseIn emisWarehouseIn = new EmisWarehouseIn(); + emisWarehouseIn.setTotalWeight(totalAllWeight); + emisWarehouseIn.setTotalVolume(totalAllVolume); + emisWarehouseIn.setTotalParcelQty(totalAllParcelQty); + emisWarehouseIn.setInNo(inNo); // 更新入库状态 - emisWarehouseInMapper.updateHasStockInFlag(inNo); + emisWarehouseInMapper.updateTotalWeightInfo(emisWarehouseIn); } /** diff --git a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml index fbc63d7db..3b993ff21 100644 --- a/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWarehouseInMapper.xml @@ -18,6 +18,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + @@ -40,11 +43,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, serial_no, in_no, order_sn, bill_code, customer_code, customer_name, entry_date, confirm_status, confirm_date, used_status, status, stock_in_flag, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_warehouse_in + select id, serial_no, in_no, order_sn, bill_code, customer_code, customer_name, entry_date, confirm_status, confirm_date, used_status, status, stock_in_flag, total_parcel_qty, total_volume, total_weight, remark, tenant_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_warehouse_in @@ -252,6 +255,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" used_status, status, stock_in_flag, + total_parcel_qty, + total_volume, + total_weight, remark, tenant_id, del_flag, @@ -275,6 +281,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{usedStatus}, #{status}, #{stockInFlag}, + #{totalParcelQty}, + #{totalVolume}, + #{totalWeight}, #{remark}, #{tenantId}, #{delFlag}, @@ -302,6 +311,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" used_status = #{usedStatus}, status = #{status}, stock_in_flag = #{stockInFlag}, + total_parcel_qty = #{totalParcelQty}, + total_volume = #{totalVolume}, + total_weight = #{totalWeight}, remark = #{remark}, tenant_id = #{tenantId}, del_flag = #{delFlag}, @@ -339,8 +351,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where in_no = #{inNo} - - update emis_warehouse_in set stock_in_flag = '1' where in_no = #{inNo} + + update emis_warehouse_in + set stock_in_flag = '1',total_parcel_qty=#{totalParcelQty},total_volume=#{totalVolume},total_weight=#{totalWeight} + where in_no = #{inNo}