From 76a2ef534705221bbb75dc461a262cee9e7325a1 Mon Sep 17 00:00:00 2001 From: jiang Date: Mon, 3 Nov 2025 09:18:18 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/CsDeviceChangeDetailsVo.java | 6 ++- .../devchange/domain/CsDeviceChangeVo.java | 2 - .../service/DevChangeServiceImpl.java | 10 ++--- .../bonus/material/device/domain/MaDevQc.java | 6 +++ .../material/devchange/MaDevInfoMapper.xml | 37 ++++++++----------- .../mapper/material/device/MaDevQcMapper.xml | 18 +++++++-- .../material/lease/MaLeaseInfoMapper.xml | 14 +++---- 7 files changed, 50 insertions(+), 43 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeDetailsVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeDetailsVo.java index c8d02d1..53d9d0a 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeDetailsVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeDetailsVo.java @@ -11,7 +11,7 @@ public class CsDeviceChangeDetailsVo { private String proId; - private int num=1; + private int num = 1; private String type; @@ -54,5 +54,7 @@ public class CsDeviceChangeDetailsVo { */ private String repairContent; - private String status; + private String status; + + private String changeStatus; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeVo.java index 3fec076..9ee0bff 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/CsDeviceChangeVo.java @@ -123,6 +123,4 @@ public class CsDeviceChangeVo { private String endTime; private String useTime; - - } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java index cdfce30..1de6ef5 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java @@ -112,7 +112,7 @@ public class DevChangeServiceImpl implements DevChangeService { int num = mapper.addChangeInfo(vo); if (num > 0) { for (CsDeviceChangeDetailsVo deviceChangeDetailsVo : list) { - if ("1".equals(vo.getStatus())) { + if ("1".equals(deviceChangeDetailsVo.getChangeStatus())) { updateDevDetails(deviceChangeDetailsVo.getDevId(), null, "1", deviceChangeDetailsVo.getNum()); deviceChangeDetailsVo.setStatus("1"); } else { @@ -125,7 +125,7 @@ public class DevChangeServiceImpl implements DevChangeService { int isSuccess = mapper.addDetailsInfo(deviceChangeDetailsVo); if (isSuccess > 0) { vo.setDevId(deviceChangeDetailsVo.getDevId()); - vo.setChangeStatus(vo.getStatus()); + vo.setChangeStatus(deviceChangeDetailsVo.getChangeStatus()); vo.setUseUint(null); vo.setUserName(null); vo.setUserPhone(null); @@ -319,11 +319,7 @@ public class DevChangeServiceImpl implements DevChangeService { if (isSuccess > 0) { vo.setDevId(deviceChangeDetailsVo.getDevId()); if ("2".startsWith(vo.getType())) { - if ("0".equals(vo.getStatus())) { - vo.setChangeStatus("2"); - } else { - vo.setChangeStatus("3"); - } + vo.setChangeStatus(vo.getStatus()); } else if ("3".startsWith(vo.getType())) { vo.setChangeStatus("4"); } else if ("4".startsWith(vo.getType())) { diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/MaDevQc.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/MaDevQc.java index 21c95c0..d3450c3 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/MaDevQc.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/MaDevQc.java @@ -88,5 +88,11 @@ public class MaDevQc extends BaseEntity implements Serializable { private Integer maintenanceAlarmDay; private Integer ownId; private Integer fileId; + + private String itemTypeModel; + + private String phonenumber; + + private String alert; } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevInfoMapper.xml index e09519a..6d28229 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevInfoMapper.xml @@ -235,10 +235,10 @@ @@ -344,7 +342,7 @@ LEFT JOIN sys_cnarea sc ON sc.area_code = mdi.province_id mdi.is_active = '1' and mdi.entry_status = '1' - + and ( mtv.mainGxId = #{typeId} or mtv.childGxId = #{typeId} @@ -365,6 +363,9 @@ and sc.area_code = #{province} + + and jsp.pro_code = #{usingProjectId} + and mtv.maxTypeId = #{majorId} @@ -395,12 +396,7 @@ and DATE_FORMAT(mdi.purchase_date,'%Y-%m-%d') between #{startPurchaseDate} and #{endPurchaseDate} - - and mdi.change_status in(2,3) - - - AND mdi.change_status=#{status} - + AND mdi.change_status=#{status} @@ -490,10 +486,9 @@ diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/MaDevQcMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/MaDevQcMapper.xml index e5fef7b..9ad05b1 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/MaDevQcMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/MaDevQcMapper.xml @@ -58,20 +58,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m2.ma_id AS maId, m2.CODE AS deviceCode, m2.device_name AS deviceName, + m2.item_type_model AS itemTypeModel, m1.qc_code AS qcCode, m1.qc_user AS qcUser, m1.qc_time AS qcTime, m3.maintenance_alarm_day, su.nick_name AS createBy, + m1.next_check_time AS nextCheckTime, m1.create_time AS updateTime, - aa.create_time AS createTime + aa.create_time AS createTime, + su.phonenumber AS phonenumber, + CASE + WHEN DATEDIFF(m1.next_check_time, CURDATE()) < 0 THEN '已超期' + WHEN DATEDIFF(m1.next_check_time, CURDATE()) <= 30 THEN '一月内到期' + ELSE '正常' + END AS alert FROM ma_dev_info m2 - LEFT JOIN ma_dev_qc m1 ON m1.ma_id = m2.ma_id + LEFT JOIN ma_dev_qc m1 ON m1.ma_id = m2.ma_id LEFT JOIN ma_type m3 ON m2.type_id = m3.type_id LEFT JOIN sys_user su ON su.user_id = m1.create_by - LEFT JOIN ( SELECT count(*) as num, ma_id, MAX( qc_time ) AS max_qc_time FROM ma_dev_qc GROUP BY ma_id ) latest_qc ON m1.ma_id = latest_qc.ma_id - LEFT JOIN ( SELECT ma_id, min( create_time ) AS create_time FROM ma_dev_qc GROUP BY ma_id ) aa ON m1.ma_id = aa.ma_id + LEFT JOIN ( SELECT count(*) as num, ma_id, MAX( qc_time ) AS max_qc_time FROM ma_dev_qc GROUP BY ma_id ) + latest_qc ON m1.ma_id = latest_qc.ma_id + LEFT JOIN ( SELECT ma_id, min( create_time ) AS create_time FROM ma_dev_qc GROUP BY ma_id ) aa ON m1.ma_id = + aa.ma_id m2.is_active = '1' diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml index b31165a..76b26a1 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/lease/MaLeaseInfoMapper.xml @@ -757,9 +757,9 @@ SELECT -- 按映射关系转换为目标类型(line/substation/cable) CASE - WHEN mtv.proType = '架空输电线路工程' THEN 'line' - WHEN mtv.proType = '电缆(海缆)工程' THEN 'substation' - WHEN mtv.proType = '变电施工类' THEN 'cable' + WHEN mtv.maxTypeId = '2' THEN 'line' + WHEN mtv.maxTypeId = '3' THEN 'substation' + WHEN mtv.maxTypeId = '1' THEN 'cable' END AS targetType, -- 统计各指标 @@ -788,16 +788,16 @@ INNER JOIN ma_type_view mtv ON mtv.typeId = mdi.type_id WHERE -- 过滤目标proType,只处理需要的三类 - mtv.proType IN ('变电施工类', '架空输电线路工程', '电缆(海缆)工程') + mtv.maxTypeId IN ('1', '2', '3') and mdi.change_status != '4' and mdi.is_active = '1' AND mdi.production_date IS NOT NULL -- 排除无效出厂日期 GROUP BY -- 按映射后的目标类型分组(确保结果按line/substation/cable聚合) CASE - WHEN mtv.proType = '架空输电线路工程' THEN 'line' - WHEN mtv.proType = '电缆(海缆)工程' THEN 'substation' - WHEN mtv.proType = '变电施工类' THEN 'cable' + WHEN mtv.maxTypeId = '2' THEN 'line' + WHEN mtv.maxTypeId = '3' THEN 'substation' + WHEN mtv.maxTypeId = '1' THEN 'cable' END ORDER BY targetType;