From 057da98918859b9778cbabacf7b3455dce9caeff Mon Sep 17 00:00:00 2001 From: jiang Date: Mon, 13 Oct 2025 21:54:40 +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 --- .../material/devchange/domain/MaDevInfo.java | 18 +++ .../device/controller/DevMergeController.java | 21 +-- .../device/service/DevMergeService.java | 3 + .../service/impl/DevMergeServiceImpl.java | 24 ++++ .../material/devchange/MaDevInfoMapper.xml | 2 +- .../devchange/MaDevRetireWarningMapper.xml | 134 ++++++++---------- .../mapper/material/device/DevMergeMapper.xml | 29 ++-- 7 files changed, 128 insertions(+), 103 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/MaDevInfo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/MaDevInfo.java index 18cce58..7298ab3 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/MaDevInfo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/MaDevInfo.java @@ -310,4 +310,22 @@ public class MaDevInfo { */ private String orderStatus; + + private String daysDiff; + + private String remainingDays; + + private String remainingYears; + + private String yearsDiff; + + private String expirationYears; + + private String actualStartYear; + + private String remainingStartYear; + + private String isWarn; + private String entryStatus; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevMergeController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevMergeController.java index 1810ebd..24747be 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevMergeController.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/controller/DevMergeController.java @@ -121,6 +121,19 @@ public class DevMergeController extends BaseController { } } + @ApiOperation(value = "设备台账") + @GetMapping("/getDeviceByOrderId") + public AjaxResult getDeviceByOrderId(MaDevInfo o) { + try { + startPage(); + List list = service.getDeviceByOrderId(o); + return AjaxResult.success(getDataTable(list)); + } catch (Exception e) { + logger.error("报错啦", e); + return AjaxResult.error("调用异常,请联系管理员"); + } + } + /** * 获取台账中设备信息详细信息 @@ -186,9 +199,6 @@ public class DevMergeController extends BaseController { } - - - /** * 获取台账中设备信息详细信息 */ @@ -209,11 +219,6 @@ public class DevMergeController extends BaseController { } - - - - - /** * 查询所有一级类型(顶级类型) * diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevMergeService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevMergeService.java index 6bccf30..3549213 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevMergeService.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/DevMergeService.java @@ -65,4 +65,7 @@ public interface DevMergeService { AjaxResult interDevice(MaDevInfo maDevInfo); List getDevice(MaDevInfo o); + + List getDeviceByOrderId(MaDevInfo o); + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevMergeServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevMergeServiceImpl.java index 8a2d8ab..3004dd4 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevMergeServiceImpl.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/service/impl/DevMergeServiceImpl.java @@ -224,6 +224,9 @@ public class DevMergeServiceImpl implements DevMergeService { public AjaxResult interDevice(MaDevInfo maDevInfo) { try { Integer i = devMergeMapper.interDevice(maDevInfo); + if (i > 0) { + devMergeMapper.insertOrderDevReal(String.valueOf(maDevInfo.getOrderId()), Long.valueOf(maDevInfo.getMaId())); + } return i > 0 ? AjaxResult.success() : AjaxResult.error(); } catch (Exception e) { log.error(e.getMessage()); @@ -254,6 +257,27 @@ public class DevMergeServiceImpl implements DevMergeService { } + /** + * @param o + * @return + */ + @Override + public List getDeviceByOrderId(MaDevInfo o) { + List list = devMergeMapper.getDeviceByOrderId(o); + list.forEach(item -> { + List propertiiesList = mapper.getProperties(item); + if (propertiiesList != null && !propertiiesList.isEmpty()) { + item.setPropertyVoList(propertiiesList); + } + item.setAppearanceImages(mapper.getFileList(item.getMaId(), 1)); + item.setCertificates(mapper.getFileList(item.getMaId(), 2)); + item.setInspectionReports(mapper.getFileList(item.getMaId(), 3)); + item.setPurchaseInvoices(mapper.getFileList(item.getMaId(), 4)); + }); + return list; + } + + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyMMdd"); private static final String SEPARATOR = "-"; 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 22d0266..2a6a431 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 @@ -423,7 +423,7 @@ LEFT JOIN sys_dept sd ON sd.dept_id = mdi.on_company LEFT JOIN ma_dev_qc mdq ON mdq.ma_id = mdi.ma_id - mdi.is_active = '0' AND mdi.ma_id =#{maId} + mdi.is_active = '1' AND mdi.ma_id =#{maId} diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevRetireWarningMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevRetireWarningMapper.xml index f0b6d09..788a775 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevRetireWarningMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/MaDevRetireWarningMapper.xml @@ -1,86 +1,72 @@ - - - - - - - - - - - - - - - - + select * from ( + SELECT + c.company_name AS propertyUnit, + mdi.ma_id AS maId, + mdi.device_name AS name, + mdi.`code` AS code, + mdi.brand AS manufacturer, + mdi.production_date AS productionDate, + mdi.expiration_time AS expirationTime, + IF(STR_TO_DATE(production_date, '%Y-%m-%d') IS NOT NULL AND STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT + NULL, + TIMESTAMPDIFF(YEAR, STR_TO_DATE(production_date, + '%Y-%m-%d'), expiration_time), 0) AS expirationYears, + IF(STR_TO_DATE(production_date, '%Y-%m-%d') IS NOT NULL, DATEDIFF(CURDATE(), STR_TO_DATE(production_date, + '%Y-%m-%d')), 0) AS daysDiff, + IF(STR_TO_DATE(production_date, '%Y-%m-%d') IS NOT NULL, TIMESTAMPDIFF(YEAR, STR_TO_DATE(production_date, + '%Y-%m-%d'), CURDATE()), 0) AS yearsDiff, + IF(STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL + AND STR_TO_DATE(expiration_time, '%Y-%m-%d') >= CURDATE(), DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), + CURDATE()), 0) AS remainingDays, + IF(STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL + AND STR_TO_DATE(expiration_time, '%Y-%m-%d') >= CURDATE(), TIMESTAMPDIFF(YEAR, CURDATE(), + STR_TO_DATE(expiration_time, '%Y-%m-%d')), 0) AS remainingYears, + CASE + WHEN STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL AND DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), CURDATE()) > 365 THEN '正常使用' - WHEN STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL + WHEN STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL AND DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), CURDATE()) > 0 AND DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), CURDATE()) <= 365 - THEN CONCAT('临近', DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), CURDATE()), '天退役') - WHEN STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL - AND STR_TO_DATE(expiration_time, '%Y-%m-%d') <= CURDATE() - THEN '已过期' - ELSE '日期无效' - END AS device_status - FROM - ma_dev_info mdi - LEFT JOIN sys_dept sd ON sd.dept_id = mdi.on_company - LEFT JOIN bm_company_info c ON sd.dept_id = c.company_id - WHERE mdi.is_active = 1 and mdi.entry_status = '1' and mdi.change_status in (1,5) - - AND mdi.device_name like concat('%',#{deviceName},'%') - - - AND mdi.brand like concat('%',#{brand},'%') - - ) a - - - and years_diff between #{actualStartYear} and #{actualStopYear} - - - and remaining_years between #{remainingStartYear} and #{remainingStopYear} - - - - AND device_status != '正常使用' + THEN CONCAT('临近', DATEDIFF(STR_TO_DATE(expiration_time, '%Y-%m-%d'), CURDATE()), '天退役') + WHEN STR_TO_DATE(expiration_time, '%Y-%m-%d') IS NOT NULL + AND STR_TO_DATE(expiration_time, '%Y-%m-%d') <= CURDATE() + THEN '已过期' + ELSE '日期无效' + END AS status + FROM + ma_dev_info mdi + LEFT JOIN sys_dept sd ON sd.dept_id = mdi.on_company + LEFT JOIN bm_company_info c ON sd.dept_id = c.company_id + WHERE mdi.is_active = 1 and mdi.entry_status = '1' and mdi.change_status in (1,5) + + AND mdi.device_name like concat('%',#{deviceName},'%') - - AND device_status = '正常使用' + + AND mdi.manufacturer like concat('%',#{manufacturer},'%') - - - - + ) a + + + and years_diff between #{actualStartYear} and #{actualStopYear} + + + and remaining_years between #{remainingStartYear} and #{remainingStopYear} + + + + AND device_status != '正常使用' + + + AND device_status = '正常使用' + + + + diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevMergeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevMergeMapper.xml index 7798419..3c7786d 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevMergeMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevMergeMapper.xml @@ -80,10 +80,8 @@ INSERT INTO cs_device_real_dev (cs_id, dev_id) VALUES (#{orderId}, #{maId}) - + INSERT INTO ma_dev_info ( - - ma_id, device_name, device_count, @@ -93,24 +91,18 @@ identify_code, type_id, - ma_status, brand, production_date, max_working_hours, expiration_time, buy_price, - device_type, purchase_date, - create_time, - creator, - update_time, - update_by, - is_active + is_active, + change_status, + up_down_status ) VALUES ( - #{maId}, - #{name}, #{count}, #{specificationModel}, @@ -122,17 +114,13 @@ #{manufacturerId}, #{productionDate}, #{maxServiceLifeYears}, - #{changeStatus}, #{expirationTime}, #{originalValue}, - #{deviceType}, #{purchaseDate}, - #{createTime}, - #{creator}, - #{updateTime}, - #{updateBy}, - #{isActive,jdbcType=VARCHAR,defaultValue='1'} + '1', + '3', + '0' ) @@ -290,6 +278,7 @@ mdi.item_type_model As specificationModel, mdi.code AS code, mdi.change_status AS status, + mdi.entry_status AS entryStatus, TIMESTAMPDIFF(YEAR, mdi.production_date, CURDATE()) AS serviceLife, jsp.pro_code AS usingProjectId, jsp.pro_name AS usingProject, @@ -397,7 +386,7 @@ LEFT JOIN ma_dev_qc mdq ON mdq.ma_id = mdi.ma_id LEFT JOIN ma_supplier ms ON ms.supplier_id = mdi.brand - mdi.is_active = '0' and cds.id = #{orderId} + mdi.is_active = '1' and cds.id = #{orderId} and mdi.device_name like concat('%', #{name}, '%')