From 545cff40be4693efda37f512c86ece38ec517d0c Mon Sep 17 00:00:00 2001 From: mashuai Date: Sat, 15 Feb 2025 14:13:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9F=A5=E8=AF=A2=E6=8A=A5?= =?UTF-8?q?=E5=BA=9F=E6=95=B0=E9=87=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ComplexQueryController.java | 2 ++ .../basic/domain/RetainedEquipmentInfo.java | 10 ++++++- .../service/impl/ComplexQueryServiceImpl.java | 6 +++++ .../material/basic/ComplexQueryMapper.xml | 26 +++++++++++++++++-- 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java index 340c8cdf..509e13f7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/controller/ComplexQueryController.java @@ -65,6 +65,8 @@ public class ComplexQueryController extends BaseController { dto.setRepairNum(retainedEquipmentInfo.getRepairNum()); dto.setInputNum(retainedEquipmentInfo.getInputNum()); dto.setRepairInputNum(retainedEquipmentInfo.getRepairInputNum()); + dto.setPendingScrapNum(retainedEquipmentInfo.getPendingScrapNum()); + dto.setScrapNum(retainedEquipmentInfo.getScrapNum()); dto.setAllNum(retainedEquipmentInfo.getAllNum()); dto.setTotalPrice(retainedEquipmentInfo.getTotalPrice()); dto.setFiveReplacementRate(retainedEquipmentInfo.getFiveReplacementRate()); diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java index 0ce316b6..25214e89 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/domain/RetainedEquipmentInfo.java @@ -74,9 +74,17 @@ public class RetainedEquipmentInfo { private BigDecimal inputNum; @ApiModelProperty(value = "修试后待入库") - @Excel(name = "修试待入库数量") + @Excel(name = "修试后待入库数量") private BigDecimal repairInputNum; + @ApiModelProperty(value = "待报废数量") + @Excel(name = "待报废数量") + private BigDecimal pendingScrapNum; + + @ApiModelProperty(value = "已审核报废数量") + @Excel(name = "已审核报废数量") + private BigDecimal scrapNum; + @ApiModelProperty(value = "总保有量") @Excel(name = "总保有数量") private BigDecimal allNum; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java index 91577cee..ff6a095f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/basic/service/impl/ComplexQueryServiceImpl.java @@ -169,6 +169,8 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { BigDecimal totalRepairNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); BigDecimal totalInputNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); BigDecimal totalRepairInputNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalPendingScrapNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); + BigDecimal totalScrapNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); BigDecimal totalAllNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); BigDecimal fiveReplacementNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); BigDecimal tenReplacementNum = BigDecimal.ZERO.setScale(3, RoundingMode.HALF_UP); @@ -184,6 +186,8 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { totalRepairNum = totalRepairNum.add(retainedEquipmentInfo.getRepairNum()); totalInputNum = totalInputNum.add(retainedEquipmentInfo.getInputNum()); totalRepairInputNum = totalRepairInputNum.add(retainedEquipmentInfo.getRepairInputNum()); + totalPendingScrapNum = totalPendingScrapNum.add(retainedEquipmentInfo.getPendingScrapNum()); + totalScrapNum = totalScrapNum.add(retainedEquipmentInfo.getScrapNum()); totalAllNum = totalAllNum.add(retainedEquipmentInfo.getAllNum()); fiveReplacementNum = fiveReplacementNum.add(retainedEquipmentInfo.getFiveReplacementNum()); tenReplacementNum = tenReplacementNum.add(retainedEquipmentInfo.getTenReplacementNum()); @@ -241,6 +245,8 @@ public class ComplexQueryServiceImpl implements ComplexQueryService { retainedEquipmentInfo.setRepairNum(totalRepairNum); retainedEquipmentInfo.setInputNum(totalInputNum); retainedEquipmentInfo.setRepairInputNum(totalRepairInputNum); + retainedEquipmentInfo.setPendingScrapNum(totalPendingScrapNum); + retainedEquipmentInfo.setScrapNum(totalScrapNum); retainedEquipmentInfo.setAllNum(totalAllNum); retainedEquipmentInfo.setTotalPrice(totalPrice); retainedEquipmentInfo.setFiveReplacementRate(fiveReplacementRate); 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 799acebe..d97c03c8 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 @@ -386,13 +386,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" IFNULL(subquery2.repairNum, 0) AS repairNum, IFNULL(subquery3.repairInputNum, 0) AS repairInputNum, IFNULL(subquery4.inputNum, 0) AS inputNum, + IFNULL(subquery6.pendingScrapNum, 0) AS pendingScrapNum, + IFNULL(subquery6.scrapNum, 0) AS scrapNum, CASE mt.manage_type WHEN 0 THEN IFNULL(subquery0.num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0) - + IFNULL(subquery4.inputNum, 0) + + IFNULL(subquery4.inputNum, 0) + IFNULL(subquery6.pendingScrapNum, 0) ELSE IFNULL(mt.storage_num, 0)+ IFNULL(subquery1.usNum, 0) + IFNULL(subquery2.repairNum, 0) + IFNULL(subquery3.repairInputNum, 0) - + IFNULL(subquery4.inputNum, 0) + + IFNULL(subquery4.inputNum, 0) + IFNULL(subquery6.pendingScrapNum, 0) END AS allNum, CASE mt.manage_type WHEN 0 THEN @@ -545,6 +547,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id GROUP BY mt.type_id ) subquery5 ON subquery5.typeId = mt.type_id + LEFT JOIN ( + SELECT + mt.type_id AS typeId, + mt4.type_name AS constructionType, + mt4.type_id AS firstTypeId, + mt3.type_name AS materialType, + mt3.type_id AS secondTypeId, + mt2.type_name AS typeName, + mt2.type_id AS thirdTypeId, + mt.type_name AS typeModelName, + SUM(IF(sad.status IN ('0','1'), IFNULL(sad.scrap_num, 0), 0)) AS pendingScrapNum, + SUM(IF(sad.ledger_status = '1', IFNULL(sad.scrap_num, 0), 0)) AS scrapNum + FROM scrap_apply_details sad + LEFT JOIN ma_type mt ON mt.type_id = sad.type_id + LEFT JOIN ma_type mt2 ON mt2.type_id = mt.parent_id + LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id + LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id + GROUP BY + mt.type_id + ) subquery6 ON subquery6.typeId = mt.type_id LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id LEFT JOIN ma_type mt3 ON mt3.type_id = mt2.parent_id LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id