From bc6a0b6195e7a9e57a2ebbb1fc80182caa6e751f Mon Sep 17 00:00:00 2001 From: itcast Date: Tue, 25 Nov 2025 19:08:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../back/domain/BackCsDeviceDetails.java | 9 +++- .../back/domain/BackCsDeviceInfo.java | 9 ++++ .../devchange/domain/CsDeviceDetails.java | 14 +++++- .../devchange/domain/CsDeviceInfo.java | 7 +++ .../material/repair/domain/ToBeRepair.java | 2 + .../service/impl/RepairServiceImpl.java | 48 +++++++++++++------ .../material/scrap/domain/ToBeScrap.java | 2 + .../mapper/material/back/BackChangeMapper.xml | 30 +++++++++--- .../material/devchange/DevChangeMapper.xml | 15 +++++- .../mapper/material/repair/RepairMapper.xml | 4 +- .../mapper/material/scrap/ScrapMapper.xml | 11 +++-- 11 files changed, 120 insertions(+), 31 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceDetails.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceDetails.java index 1d22314..1de992d 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceDetails.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceDetails.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDate; import java.util.Date; /** @@ -59,9 +60,15 @@ public class BackCsDeviceDetails { private BigDecimal num = BigDecimal.ZERO; @ApiModelProperty(value = "使用到期日期") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date useTime; + @ApiModelProperty(value = "使用到期日期开始") + private LocalDate useStartTime; + + @ApiModelProperty(value = "使用到期日期结束") + private LocalDate useEndTime; + + @ApiModelProperty(value = "创建时间") private Date createTime; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceInfo.java index 788411a..0532ee7 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/back/domain/BackCsDeviceInfo.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDate; import java.util.Date; /** @@ -43,6 +44,14 @@ public class BackCsDeviceInfo { @ApiModelProperty(value = "使用到期日期") private String useTime; + @ApiModelProperty(value = "使用到期日期开始") + + private LocalDate useStartTime; + + @ApiModelProperty(value = "使用到期日期结束") + + private LocalDate useEndTime; + @ApiModelProperty(value = "领用单号") private String code; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceDetails.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceDetails.java index fbb71a5..82df1b5 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceDetails.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceDetails.java @@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; import java.util.Date; /** @@ -59,8 +61,16 @@ public class CsDeviceDetails { private BigDecimal num = BigDecimal.ZERO; @ApiModelProperty(value = "使用到期日期") - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") - private Date useTime; + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate useTime; + + @ApiModelProperty(value = "使用到期开始日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate useStartTime; + + @ApiModelProperty(value = "使用到期结束日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate useEndTime; @ApiModelProperty(value = "创建时间") private Date createTime; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceInfo.java index 8621d83..91bc4ab 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceInfo.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDate; import java.util.Date; /** @@ -43,6 +44,12 @@ public class CsDeviceInfo { @ApiModelProperty(value = "使用到期日期") private String useTime; + @ApiModelProperty(value = "使用到期日期开始") + private LocalDate useStartTime; + + @ApiModelProperty(value = "使用到期日期结束") + private LocalDate useEndTime; + @ApiModelProperty(value = "领用单号") private String code; diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java index 1afa190..ff4ab28 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/domain/ToBeRepair.java @@ -56,6 +56,8 @@ public class ToBeRepair { */ private String manageMode; + private String manageType; + /** * 编码 */ diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index acd99ce..355af1a 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -19,10 +19,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; @@ -140,27 +137,47 @@ public class RepairServiceImpl implements RepairService { has2 = true; } } - // === 状态判断 === + // === 状态判断 (已更新为数字编码) === if (has0 && !has1 && !has2) { - // 1. 全部为 0 - toBeRepair.setStatus("待审核"); + // 1. 全部为 0 -> 待审核 + toBeRepair.setStatus("1"); } else if (!has0 && has1 && !has2) { - // 2. 全部为 1 - toBeRepair.setStatus("全部通过"); + // 2. 全部为 1 -> 全部通过 + toBeRepair.setStatus("2"); } else if (!has0 && !has1 && has2) { - // 3. 全部为 2 - toBeRepair.setStatus("全部驳回"); + // 3. 全部为 2 -> 全部驳回 + toBeRepair.setStatus("3"); } else if (has0 && (has1 || has2)) { - // 4. 有 0 且有其他状态(1 或 2) - toBeRepair.setStatus("审核中"); + // 4. 有 0 且有其他状态 -> 审核中 + toBeRepair.setStatus("4"); } else if (!has0 && has1 && has2) { - // 5. 无 0,有 1 且有 2 - toBeRepair.setStatus("驳回待处理"); + // 5. 无 0,有 1 且有 2 -> 驳回待处理 + toBeRepair.setStatus("5"); } else { toBeRepair.setStatus(""); } } } + + // 创建一个 Map 来直接指定每个状态码的排序权重 + Map statusSortOrder = new HashMap<>(); + statusSortOrder.put("4", 0); // 审核中,权重最高 + statusSortOrder.put("5", 2); // 驳回待处理 + statusSortOrder.put("3", 3); // 全部驳回 + statusSortOrder.put("1", 1); // 待审核 + statusSortOrder.put("2", 4); // 全部通过,权重最低 + + // 对于未定义的状态(如空字符串),给一个最大的权重,让它排在最后 + final int DEFAULT_ORDER = 99; + + // 使用 Stream API 进行排序 + list = list.stream() + .sorted(Comparator + .comparingInt((ToBeRepair repair) -> statusSortOrder.getOrDefault(repair.getStatus(), DEFAULT_ORDER)) + .thenComparing(Comparator.comparing(ToBeRepair::getCreateTime).reversed())) + .collect(Collectors.toList()); + + // 状态过滤 String statusFilter = bean.getStatus(); if (statusFilter != null && !"".equals(statusFilter)) { @@ -168,6 +185,7 @@ public class RepairServiceImpl implements RepairService { .filter(item -> statusFilter.equals(item.getStatus())) .collect(Collectors.toList()); } + return list; } catch (Exception e) { e.printStackTrace(); diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/scrap/domain/ToBeScrap.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/scrap/domain/ToBeScrap.java index c2a377e..e8c813c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/scrap/domain/ToBeScrap.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/scrap/domain/ToBeScrap.java @@ -60,6 +60,8 @@ public class ToBeScrap { */ private String manageMode; + private String manageType; + /** * 设备编码 */ diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/back/BackChangeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/back/BackChangeMapper.xml index bd0f543..7b26401 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/back/BackChangeMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/back/BackChangeMapper.xml @@ -7,18 +7,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" insert into cs_device_change(change_status, type, lease_type, pro_code, pro_name, pro_type, voltage_level, use_unit, pro_province, pro_city, - pro_county, create_time, create_user, del_flag, change_unit, code, use_time,review_status) + pro_county, create_time, create_user, del_flag, change_unit, code, use_time,use_start_time,use_end_time,review_status) values ( #{changeStatus}, #{type}, #{leaseType}, #{proCode}, #{proName}, #{proType}, #{voltageLevel}, #{useUnit}, #{proProvince}, #{proCity}, #{proCounty}, - now(), #{createBy}, 0, #{changeUnit}, #{code}, #{useTime}, #{taskStatus}) + now(), #{createBy}, 0, #{changeUnit}, #{code}, #{useTime}, #{useStartTime},#{useEndTime},#{taskStatus}) - insert into cs_device_change_details(change_id, dev_code, dev_type_id, dev_type, num, use_time, + insert into cs_device_change_details(change_id, dev_code, dev_type_id, dev_type, num, use_time,use_start_time,use_end_time, create_user, create_time, update_user, update_time, del_flag, is_repair, real_num) values - (#{item.changeId},#{item.devCode},#{item.typeId},#{item.devType},#{item.num},#{item.useTime}, + (#{item.changeId},#{item.devCode},#{item.typeId},#{item.devType},#{item.num},#{item.useTime},#{item.useStartTime},#{item.useEndTime}, #{item.createBy}, #{item.createTime},#{item.updateBy}, #{item.updateTime}, 0, #{item.isRepair}, #{item.realNum}) @@ -53,6 +53,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" use_time = #{useTime}, + + use_start_time = #{useStartTime}, + + + use_end_time = #{useEndTime}, + update_user = #{updateBy}, @@ -200,10 +206,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN tool_type tt3 ON tt2.parent_id = tt3.type_id LEFT JOIN tool_type tt4 ON tt3.parent_id = tt4.type_id - tl.manage_mode = '0' AND cdc.del_flag = '0' + cdc.del_flag = '0' AND cdc.dev_type = #{devType} + + AND tl.manage_mode = #{manageType} + AND tt1.type_name like concat('%',#{typeName},'%') @@ -243,10 +252,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN tool_type tt3 ON tt2.parent_id = tt3.type_id LEFT JOIN tool_type tt4 ON tt3.parent_id = tt4.type_id - tl.manage_mode = '1' AND cdc.del_flag = '0' + cdc.del_flag = '0' AND cdc.dev_type = #{devType} + + AND tl.manage_mode = #{manageType} + AND tt1.type_name like concat('%',#{typeName},'%') @@ -292,6 +304,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" pro_city as proCity, pro_county as proCounty, use_time as useTime, + use_start_time as useStartTime, + use_end_time as useEndTime, code as code from cs_device_change where id = #{id} @@ -304,6 +318,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" dev_type_id AS typeId, num AS num, use_time AS useTime, + use_start_time as useStartTime, + use_end_time as useEndTime, IFNULL(real_num, 0) AS realNum, is_repair AS isRepair FROM cs_device_change_details @@ -386,6 +402,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" cd.pro_city AS proCity, cd.pro_county AS proCounty, cd.use_time AS useTime, + cd.use_start_time as useStartTime, + cd.use_end_time as useEndTime, cd.CODE AS CODE, cd.review_status AS taskStatus, cd.create_user AS createBy, diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml index 18baa36..23dfb62 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml @@ -382,6 +382,9 @@ AND tl.company_id = #{companyId} + + AND tl.manage_mode = #{manageType} + AND 1=0 @@ -445,6 +448,8 @@ dev_type_id AS typeId, num AS num, use_time AS useTime, + use_start_time AS useStartTime, + use_end_time AS useEndTime, IFNULL(real_num, 0) AS realNum, is_finished AS isFinished FROM cs_device_change_details @@ -767,11 +772,11 @@ - insert into cs_device_change_details(change_id, dev_code, dev_type_id, dev_type, num, use_time, + insert into cs_device_change_details(change_id, dev_code, dev_type_id, dev_type, num, use_time,use_start_time,use_end_time, create_user, create_time, update_user, update_time, del_flag) values - (#{item.changeId},#{item.devCode},#{item.typeId},#{item.devType},#{item.num},#{item.useTime}, + (#{item.changeId},#{item.devCode},#{item.typeId},#{item.devType},#{item.num},#{item.useTime},#{item.useStartTime},#{item.useEndTime}, #{item.createBy}, #{item.createTime},#{item.updateBy}, #{item.updateTime}, 0) @@ -806,6 +811,12 @@ use_time = #{useTime}, + + use_start_time = #{useStartTime}, + + + use_end_time = #{useEndTime}, + update_user = #{updateBy}, diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml index ee1f53f..7650d2f 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/repair/RepairMapper.xml @@ -139,7 +139,6 @@ ELSE '数量管理' END manageMode, - tl.tool_code as `code`, CASE tl.manage_mode WHEN 0 THEN @@ -154,6 +153,9 @@ LEFT JOIN tool_type tt2 on tt2.type_id = tt3.parent_id WHERE ((tl.manage_mode = '1' AND tl.repair_num IS NOT NULL AND tl.repair_num > 0) OR (tl.manage_mode = '0' AND tl.`status` = '2')) + + AND tl.manage_mode = #{manageType} + AND tt4.type_name like concat('%',#{typeName},'%') diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/scrap/ScrapMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/scrap/ScrapMapper.xml index 14b4bbf..f3fb7a1 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/scrap/ScrapMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/scrap/ScrapMapper.xml @@ -30,8 +30,11 @@ AND tt5.type_name like concat('%',#{typeModelName},'%') - - AND tl.tool_code like concat('%',#{code},'%') + + AND tl.tool_code like concat('%',#{devCode},'%') + + + AND tl.manage_mode = #{manageType} AND 1=0 @@ -64,8 +67,8 @@ AND mdi.item_type_model like concat('%',#{typeModelName},'%') - - AND mdi.`code` like concat('%',#{code},'%') + + AND mdi.`code` like concat('%',#{devCode},'%') AND 1=0