From 4b01a567d4efb7093806eebb8df40bb5403a437e Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Sun, 24 Nov 2024 22:15:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E4=BA=8B=E7=94=B1?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WarehouseGoodsController.java | 6 +---- .../service/WarehouseGoodsService.java | 16 +---------- .../entity/WarehouseReceiptEntity.java | 8 ------ .../service/WarehouseReceiptService.java | 27 +++++++++++++++++-- .../dto/CreateWarehouseReceiptReasonDto.java | 17 ------------ .../dto/UpdateWarehouseReceiptReasonDto.java | 16 ----------- .../dto/WarehouseReceiptReasonDto.java | 18 ------------- .../entity/WarehouseReceiptReasonEntity.java | 17 ------------ 8 files changed, 27 insertions(+), 98 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/warehouseGoods/controller/WarehouseGoodsController.java b/src/main/java/cn/lihongjie/coal/warehouseGoods/controller/WarehouseGoodsController.java index bae9cf01..31c801fa 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseGoods/controller/WarehouseGoodsController.java +++ b/src/main/java/cn/lihongjie/coal/warehouseGoods/controller/WarehouseGoodsController.java @@ -5,7 +5,6 @@ import cn.lihongjie.coal.annotation.SysLog; import cn.lihongjie.coal.base.dto.CommonQuery; import cn.lihongjie.coal.base.dto.IdRequest; import cn.lihongjie.coal.warehouseGoods.dto.CreateWarehouseGoodsDto; -import cn.lihongjie.coal.warehouseGoods.dto.GoodsCountRequest; import cn.lihongjie.coal.warehouseGoods.dto.UpdateWarehouseGoodsDto; import cn.lihongjie.coal.warehouseGoods.dto.WarehouseGoodsDto; import cn.lihongjie.coal.warehouseGoods.service.WarehouseGoodsService; @@ -54,8 +53,5 @@ public class WarehouseGoodsController { } - @PostMapping("/goodsCount") - public Integer goodsCount(@RequestBody GoodsCountRequest request) { - return this.service.goodsCount(request); - } + } diff --git a/src/main/java/cn/lihongjie/coal/warehouseGoods/service/WarehouseGoodsService.java b/src/main/java/cn/lihongjie/coal/warehouseGoods/service/WarehouseGoodsService.java index 2c9cc44e..5b75196b 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseGoods/service/WarehouseGoodsService.java +++ b/src/main/java/cn/lihongjie/coal/warehouseGoods/service/WarehouseGoodsService.java @@ -5,7 +5,6 @@ import cn.lihongjie.coal.base.dto.IdRequest; import cn.lihongjie.coal.base.mapper.CommonMapper; import cn.lihongjie.coal.base.service.BaseService; import cn.lihongjie.coal.warehouseGoods.dto.CreateWarehouseGoodsDto; -import cn.lihongjie.coal.warehouseGoods.dto.GoodsCountRequest; import cn.lihongjie.coal.warehouseGoods.dto.UpdateWarehouseGoodsDto; import cn.lihongjie.coal.warehouseGoods.dto.WarehouseGoodsDto; import cn.lihongjie.coal.warehouseGoods.entity.WarehouseGoodsEntity; @@ -77,20 +76,7 @@ public class WarehouseGoodsService @Autowired private CommonMapper commonMapper; - public Integer goodsCount(GoodsCountRequest request) { - Double result = - em.createQuery( - "select sum(case when receiptType = '0' then number when receiptType = '1' then number * -1 end ) from WarehouseReceiptDetailEntity where warehouse.id = :warehouseId and shelve.id = :shelveId and goods.id = :goodsIds", - Double.class) - .setParameter("warehouseId", request.getWarehouseId()) - .setParameter("shelveId", request.getShelveId()) - .setParameter("goodsIds", request.getGoodsId()) - .getSingleResult(); - if (result == null){ - return 0; - } - return result.intValue(); - } + } diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceipt/entity/WarehouseReceiptEntity.java b/src/main/java/cn/lihongjie/coal/warehouseReceipt/entity/WarehouseReceiptEntity.java index fc3b9bda..26a6fc2b 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceipt/entity/WarehouseReceiptEntity.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceipt/entity/WarehouseReceiptEntity.java @@ -32,14 +32,6 @@ public class WarehouseReceiptEntity extends OrgCommonEntity { @Comment("单据类型") private String receiptType; - // @Formula( - // "(select i.name\n" - // + "from t_dictionary d,\n" - // + " t_dictionary_item i\n" - // + "where d.id = i.dictionary_id\n" - // + " and d.code = 'warehouse.receiptType'\n" - // + " and i.code = receipt_type)") - // private String receiptTypeName; @Comment("单据编号") @Column(nullable = false) diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java b/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java index 7c4e1fe5..0400157c 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceipt/service/WarehouseReceiptService.java @@ -260,7 +260,7 @@ public class WarehouseReceiptService request.setWarehouseId(warehouseReceiptDetailEntity.getWarehouse().getId()); request.setShelveId(warehouseReceiptDetailEntity.getShelve().getId()); - Integer goodsCount = warehouseGoodsService.goodsCount(request); + Integer goodsCount = getGoodsCount(request); WarehouseGoodsDto goods = warehouseGoodsService.getById( @@ -292,6 +292,29 @@ public class WarehouseReceiptService } } + private Integer getGoodsCount(GoodsCountRequest request) { + + WarehouseReportRequest reportRequest = new WarehouseReportRequest(); + reportRequest.setGoodsIds(List.of(request.getGoodsId())); + reportRequest.setWarehouseIds(List.of(request.getWarehouseId())); + reportRequest.setShelveIds(List.of(request.getShelveId())); + reportRequest.setShelveSummary(true); + reportRequest.setExcludeEmpty(true); + reportRequest.setIncludeSum(false); + Object report = report(reportRequest); + + List content = ((PageImpl) report).getContent(); + + if (content.isEmpty()) { + return 0; + } + + Map map = (Map) content.get(0); + + return NumberUtil.parseInt(map.get("currNumber").toString()); + + } + private void handleType3Create(WarehouseReceiptEntity entity) { // 生成入库单 @@ -642,7 +665,7 @@ public class WarehouseReceiptService - join t_warehouse_receipt_detail d on d.goods_id = gs.id + join t_warehouse_receipt_detail d on d.goods_id = gs.id and d.warehouse_id = w.id left join t_warehouse_receipt re on d.receipt_id = re.id left join t_warehouse_goods_unit gu on gs.unit_id = gu.id left join t_warehouse_goods_brand gb on gs.brand_id = gb.id diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/CreateWarehouseReceiptReasonDto.java b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/CreateWarehouseReceiptReasonDto.java index 48330a10..63b99f32 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/CreateWarehouseReceiptReasonDto.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/CreateWarehouseReceiptReasonDto.java @@ -9,7 +9,6 @@ import jakarta.persistence.Column; import lombok.Data; import org.hibernate.annotations.Comment; -import org.hibernate.annotations.Formula; import org.hibernate.annotations.Type; import java.util.List; @@ -17,22 +16,6 @@ import java.util.List; @Data public class CreateWarehouseReceiptReasonDto extends OrgCommonDto { - @Comment("单据类型") - private String receiptType; - - @Formula( - "(select i.name\n" - + "from t_dictionary d,\n" - + " t_dictionary_item i\n" - + "where d.id = i.dictionary_id\n" - + " and d.code = 'warehouse.receiptType'\n" - + " and i.code = receipt_type)") - private String receiptTypeName; - - - - @Comment("事由") - private String reason; diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/UpdateWarehouseReceiptReasonDto.java b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/UpdateWarehouseReceiptReasonDto.java index 708c8dbb..72ff785f 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/UpdateWarehouseReceiptReasonDto.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/UpdateWarehouseReceiptReasonDto.java @@ -9,7 +9,6 @@ import jakarta.persistence.Column; import lombok.Data; import org.hibernate.annotations.Comment; -import org.hibernate.annotations.Formula; import org.hibernate.annotations.Type; import java.util.List; @@ -17,22 +16,7 @@ import java.util.List; @Data public class UpdateWarehouseReceiptReasonDto extends OrgCommonDto { - @Comment("单据类型") - private String receiptType; - @Formula( - "(select i.name\n" - + "from t_dictionary d,\n" - + " t_dictionary_item i\n" - + "where d.id = i.dictionary_id\n" - + " and d.code = 'warehouse.receiptType'\n" - + " and i.code = receipt_type)") - private String receiptTypeName; - - - - @Comment("事由") - private String reason; diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/WarehouseReceiptReasonDto.java b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/WarehouseReceiptReasonDto.java index b0d71c80..7f6ef3b1 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/WarehouseReceiptReasonDto.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/dto/WarehouseReceiptReasonDto.java @@ -9,7 +9,6 @@ import jakarta.persistence.Column; import lombok.Data; import org.hibernate.annotations.Comment; -import org.hibernate.annotations.Formula; import org.hibernate.annotations.Type; import java.util.List; @@ -18,23 +17,6 @@ import java.util.List; public class WarehouseReceiptReasonDto extends OrgCommonDto { - @Comment("单据类型") - private String receiptType; - - @Formula( - "(select i.name\n" - + "from t_dictionary d,\n" - + " t_dictionary_item i\n" - + "where d.id = i.dictionary_id\n" - + " and d.code = 'warehouse.receiptType'\n" - + " and i.code = receipt_type)") - private String receiptTypeName; - - - - @Comment("事由") - private String reason; - @Comment("用于存储多个事由说明, 用于下拉框展示和快速填写") diff --git a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/entity/WarehouseReceiptReasonEntity.java b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/entity/WarehouseReceiptReasonEntity.java index ea034442..be48f713 100644 --- a/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/entity/WarehouseReceiptReasonEntity.java +++ b/src/main/java/cn/lihongjie/coal/warehouseReceiptReason/entity/WarehouseReceiptReasonEntity.java @@ -10,7 +10,6 @@ import jakarta.persistence.Entity; import lombok.Data; import org.hibernate.annotations.Comment; -import org.hibernate.annotations.Formula; import org.hibernate.annotations.Type; import java.util.List; @@ -23,22 +22,6 @@ import java.util.List; public class WarehouseReceiptReasonEntity extends OrgCommonEntity { - @Comment("单据类型") - private String receiptType; - - @Formula( - "(select i.name\n" - + "from t_dictionary d,\n" - + " t_dictionary_item i\n" - + "where d.id = i.dictionary_id\n" - + " and d.code = 'warehouse.receiptType'\n" - + " and i.code = receipt_type)") - private String receiptTypeName; - - - - @Comment("事由") - private String reason;