From 995a562f4e8f19402ea3f22a9fad6ab9249fdf7c Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 28 Jul 2026 16:24:17 +0800 Subject: [PATCH] =?UTF-8?q?2026-07-28=20RoHS=EF=BC=9A=201=E3=80=81?= =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E5=A4=B1=E6=95=88=E6=97=A5=E6=9C=9F?= =?UTF-8?q?=E3=80=91=E6=93=8D=E4=BD=9C=E9=87=8C=E5=8A=A0=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E2=80=9C=E7=8A=B6=E6=80=81=E2=80=9D=E5=B1=9E=E6=80=A7=202?= =?UTF-8?q?=E3=80=81=E5=88=B7=E6=96=B0RoHS=E5=8D=B3=E5=B0=86=E5=A4=B1?= =?UTF-8?q?=E6=95=88=E6=A0=87=E8=AF=86=E7=9A=84=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=EF=BC=8C=E5=8F=AA=E6=9C=89=20=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=E7=8A=B6=E6=80=81=3D=E5=B7=B2=E5=AE=8C=E6=88=90=20=E4=B8=94=20?= =?UTF-8?q?RoHS=E7=8A=B6=E6=80=81=3DActive=20=E6=89=8D=E5=8F=82=E4=B8=8E?= =?UTF-8?q?=E2=80=9C=E5=8D=B3=E5=B0=86=E5=A4=B1=E6=95=88=E2=80=9D=E5=88=A4?= =?UTF-8?q?=E6=96=AD=EF=BC=9B=203=E3=80=81=E7=AD=9B=E9=80=89=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6=E5=8F=98=E5=8A=A8=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rohs/service/impl/RohsServiceImpl.java | 16 ++++++++- src/main/resources/mapper/rohs/RohsMapper.xml | 35 ++++++++++++++----- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java index 7c14fbc7..d1bff2ed 100644 --- a/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java +++ b/src/main/java/com/spring/modules/rohs/service/impl/RohsServiceImpl.java @@ -87,6 +87,8 @@ public class RohsServiceImpl extends ServiceImpl impleme params.put("ifsPartNo", trimToNull((String) params.get("ifsPartNo"))); params.put("materialDesc", trimToNull((String) params.get("materialDesc"))); params.put("isExpiring", trimToNull((String) params.get("isExpiring"))); + params.put("expiryStartDate", trimToNull((String) params.get("expiryStartDate"))); + params.put("expiryEndDate", trimToNull((String) params.get("expiryEndDate"))); long currPage = parseLong(params.get(Constant.PAGE), 1L); long pageSize = parseLong(params.get(Constant.LIMIT), 10L); @@ -518,6 +520,13 @@ public class RohsServiceImpl extends ServiceImpl impleme if (StringUtils.isBlank(validUntil)) { throw new RuntimeException("有效期单位不能为空"); } + String rohsStatus = StringUtils.trimToEmpty(rohs.getRohsStatus()); + if (StringUtils.isBlank(rohsStatus)) { + rohsStatus = StringUtils.trimToEmpty(exists.getRohsStatus()); + } + if (StringUtils.isBlank(rohsStatus)) { + rohsStatus = "Active"; + } Date expiryDate = calculateExpiryDateFromRule(rohs.getExpiredDate(), validUntilValue, validUntil); if (expiryDate == null) { @@ -528,8 +537,9 @@ public class RohsServiceImpl extends ServiceImpl impleme updateEntity.setExpiredDate(rohs.getExpiredDate()); updateEntity.setValidUntilValue(validUntilValue); updateEntity.setValidUntil(validUntil); + updateEntity.setRohsStatus(rohsStatus); updateEntity.setExpiryDate(expiryDate); - updateEntity.setIsExpiring(isAboutToExpire(expiryDate) ? "Y" : "N"); + updateEntity.setIsExpiring(isActiveRohsStatus(rohsStatus) && isAboutToExpire(expiryDate) ? "Y" : "N"); updateEntity.setUpdateDate(new Date()); updateEntity.setUpdateBy(StringUtils.isNotBlank(userName) ? userName : exists.getUpdateBy()); @@ -857,6 +867,10 @@ public class RohsServiceImpl extends ServiceImpl impleme return ""; } + private boolean isActiveRohsStatus(String rohsStatus) { + return "Active".equalsIgnoreCase(StringUtils.trimToEmpty(rohsStatus)); + } + private boolean isAboutToExpire(Date expiryDate) { LocalDate expiryLocalDate = toLocalDate(expiryDate); if (expiryLocalDate == null) { diff --git a/src/main/resources/mapper/rohs/RohsMapper.xml b/src/main/resources/mapper/rohs/RohsMapper.xml index d5adc7a4..cfb3dc13 100644 --- a/src/main/resources/mapper/rohs/RohsMapper.xml +++ b/src/main/resources/mapper/rohs/RohsMapper.xml @@ -228,12 +228,17 @@ and a.status = #{params.status} - - and a.rohs_status = #{params.rohsStatus} - and isnull(a.is_expiring, 'N') = #{params.isExpiring} + + and a.expiry_date is not null + and cast(a.expiry_date as date) = ]]> cast(#{params.expiryStartDate} as date) + + + and a.expiry_date is not null + and cast(a.expiry_date as date) cast(#{params.expiryEndDate} as date) + and d.node_id = #{params.nodeId} @@ -306,12 +311,17 @@ and a.status = #{params.status} - - and a.rohs_status = #{params.rohsStatus} - and isnull(a.is_expiring, 'N') = #{params.isExpiring} + + and a.expiry_date is not null + and cast(a.expiry_date as date) = ]]> cast(#{params.expiryStartDate} as date) + + + and a.expiry_date is not null + and cast(a.expiry_date as date) cast(#{params.expiryEndDate} as date) + and d.node_id = #{params.nodeId} @@ -455,12 +465,17 @@ and a.status = #{params.status} - - and a.rohs_status = #{params.rohsStatus} - and isnull(a.is_expiring, 'N') = #{params.isExpiring} + + and a.expiry_date is not null + and cast(a.expiry_date as date) = ]]> cast(#{params.expiryStartDate} as date) + + + and a.expiry_date is not null + and cast(a.expiry_date as date) cast(#{params.expiryEndDate} as date) + and d.node_id = #{params.nodeId} @@ -706,6 +721,7 @@ set is_expiring = case when status = '已完成' + and upper(isnull(rohs_status, '')) = 'ACTIVE' and expiry_date is not null and cast(expiry_date as date) dateadd(month, 1, cast(getdate() as date)) then 'Y' @@ -714,6 +730,7 @@ where isnull(is_expiring, 'N') ]]> case when status = '已完成' + and upper(isnull(rohs_status, '')) = 'ACTIVE' and expiry_date is not null and cast(expiry_date as date) dateadd(month, 1, cast(getdate() as date)) then 'Y'