From 0c88acaa03a94b50ba50faf4a30b30cbb0a66d57 Mon Sep 17 00:00:00 2001 From: SjS Date: Thu, 10 Apr 2025 15:02:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E7=89=88=E6=9C=AC=E5=90=84?= =?UTF-8?q?=E6=95=B0=E9=87=8F=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/HardwareVersion.java | 16 +++++ .../domain/enums/SelectCondition.java | 18 ++++++ .../mapper/HardwareVersionMapper.java | 14 +++++ .../mapper/HardwareVersionMapper.xml | 62 +++++++++++++------ .../service/HardwareVersionService.java | 2 + .../impl/HardwareVersionServiceImpl.java | 44 +++++++++++++ .../web/bst/HardwareVersionController.java | 2 +- 7 files changed, 139 insertions(+), 19 deletions(-) create mode 100644 ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/enums/SelectCondition.java diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/HardwareVersion.java b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/HardwareVersion.java index fc225e7..2bf6b5d 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/HardwareVersion.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/HardwareVersion.java @@ -43,6 +43,22 @@ public class HardwareVersion extends BaseEntity @ApiModelProperty("数量") private Integer quantity; + @Excel(name = "已绑定") + @ApiModelProperty("已绑定") + private Integer bound; + + @Excel(name = "未绑定") + @ApiModelProperty("未绑定") + private Integer unBound; + + @Excel(name = "丢损") + @ApiModelProperty("丢损") + private Integer lost; + + @Excel(name = "已录入数量") + @ApiModelProperty("已录入数量") + private Integer enteredNum; + @Excel(name = "未录入数量") @ApiModelProperty("未录入数量") private Integer notEnteredNum; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/enums/SelectCondition.java b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/enums/SelectCondition.java new file mode 100644 index 0000000..dd8e587 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/domain/enums/SelectCondition.java @@ -0,0 +1,18 @@ +package com.ruoyi.bst.hardwareVersion.domain.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum SelectCondition { + + + BOUND("NotNULL"), // 已绑定查询条件 + UNBOUND("NULL"); // 未绑定查询条件 + + private final String condition; + + + +} diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.java b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.java index 0e8feaf..432b47e 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.java @@ -71,4 +71,18 @@ public interface HardwareVersionMapper * @return 结果 */ public int deleteHardwareVersionByIds(Long[] ids); + + int selectNum(@Param("query") HardwareVersionVO hardwareVersion,@Param("condition") String condition); + + + /** + * 已绑定版本数 + */ + int countBoundNum(Long id); + + /** + * 未绑定版本数 + */ + int countUnBoundNum(Long id); + } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.xml index b4920ab..127200c 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/mapper/HardwareVersionMapper.xml @@ -19,27 +19,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select - id, - parent_id, - ancestors, - version, - production_time, - quantity, - not_entered_num, - instructions, - create_time, - remark - from bst_hardware_version + bhv.id, + bhv.parent_id, + bhv.ancestors, + bhv.version, + bhv.production_time, + bhv.quantity, + bhv.not_entered_num, + bhv.instructions, + bhv.create_time, + bhv.remark + from bst_hardware_version bhv - and parent_id = #{query.parentId} - and ancestors = #{query.ancestors} - and version like concat('%', #{query.version}, '%') - and production_time = #{query.productionTime} - and quantity = #{query.quantity} - and not_entered_num = #{query.notEnteredNum} - and instructions like concat('%', #{query.instructions}, '%') + and bhv.id = #{query.id} + and bhv.parent_id = #{query.parentId} + and bhv.ancestors = #{query.ancestors} + and bhv.version like concat('%', #{query.version}, '%') + and bhv.production_time = #{query.productionTime} + and bhv.quantity = #{query.quantity} + and bhv.not_entered_num = #{query.notEnteredNum} + and bhv.instructions like concat('%', #{query.instructions}, '%') ${query.params.dataScope} @@ -55,6 +56,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + + + + + insert into bst_hardware_version diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/HardwareVersionService.java b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/HardwareVersionService.java index a56b0bd..3ad3918 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/HardwareVersionService.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/HardwareVersionService.java @@ -60,4 +60,6 @@ public interface HardwareVersionService * @return 结果 */ public int deleteHardwareVersionById(Long id); + + List computeNumber(HardwareVersionQuery query); } diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/impl/HardwareVersionServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/impl/HardwareVersionServiceImpl.java index 82f8e32..19686cb 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/impl/HardwareVersionServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/hardwareVersion/service/impl/HardwareVersionServiceImpl.java @@ -1,7 +1,10 @@ package com.ruoyi.bst.hardwareVersion.service.impl; import java.util.List; + +import com.ruoyi.bst.hardwareVersion.domain.enums.SelectCondition; import com.ruoyi.common.utils.DateUtils; +import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.bst.hardwareVersion.mapper.HardwareVersionMapper; @@ -94,4 +97,45 @@ public class HardwareVersionServiceImpl implements HardwareVersionService { return hardwareVersionMapper.deleteHardwareVersionById(id); } + + @Override + public List computeNumber(HardwareVersionQuery query) { + List list = hardwareVersionMapper.selectHardwareVersionList(query); + for (HardwareVersionVO hardwareVersionVO : list) { + if (hardwareVersionVO.getParentId() != 0){ + int boundNum = hardwareVersionMapper.countBoundNum(hardwareVersionVO.getId()); + hardwareVersionVO.setBound(boundNum); + int unBoundNum = hardwareVersionMapper.countUnBoundNum(hardwareVersionVO.getId()); + hardwareVersionVO.setUnBound(unBoundNum); + int enteredNum =boundNum + unBoundNum; + hardwareVersionVO.setEnteredNum(enteredNum); + } + } + + //统计父版本的各个特征数量 + for (HardwareVersionVO parentVersion : list) { + if (parentVersion.getParentId() == 0){ + int totalBound = 0; + int totalUnBound = 0; + int totalEntered = 0; + + for (HardwareVersionVO childVersion : list) { + if (childVersion.getParentId().equals(parentVersion.getId())){ + totalBound += childVersion.getBound(); + totalUnBound += childVersion.getUnBound(); + totalEntered += childVersion.getEnteredNum(); + } + } + parentVersion.setBound(totalBound); + parentVersion.setUnBound(totalUnBound); + parentVersion.setEnteredNum(totalEntered); + } + } + for (HardwareVersionVO parentVersion : list) { + if (parentVersion.getParentId() == 0){ + parentVersion.setLost(parentVersion.getQuantity()-parentVersion.getEnteredNum()-parentVersion.getNotEnteredNum()); + } + } + return list; + } } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/HardwareVersionController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/HardwareVersionController.java index e910de0..03c12eb 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/HardwareVersionController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/HardwareVersionController.java @@ -39,7 +39,7 @@ public class HardwareVersionController extends BaseController { startPage(); startOrderBy(); - List list = hardwareVersionService.selectHardwareVersionList(query); + List list = hardwareVersionService.computeNumber(query); return getDataTable(list); }