From a1d5f3ac0417f8dcd31ef21718ba3888126d0999 Mon Sep 17 00:00:00 2001 From: jiang Date: Fri, 10 Oct 2025 21:51:34 +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/device/domain/vo/DevInfoVo.java | 6 ++ .../material/device/domain/vo/DevMergeVo.java | 2 + .../device/mapper/DevMergeMapper.java | 5 ++ .../service/impl/DevMergeServiceImpl.java | 39 +++++++++ .../mapper/material/device/DevInfoMapper.xml | 9 ++ .../mapper/material/device/DevMergeMapper.xml | 87 +++++++++++-------- 6 files changed, 112 insertions(+), 36 deletions(-) diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java index 00cf42c..b48d88c 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevInfoVo.java @@ -188,4 +188,10 @@ public class DevInfoVo extends DevInfo { private String devName; private String devModel; + private String orderNumber; + + private String createUser; + + private String status; + private String csId; } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevMergeVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevMergeVo.java index 403ad3e..959df1a 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevMergeVo.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/domain/vo/DevMergeVo.java @@ -41,5 +41,7 @@ public class DevMergeVo { private int reject; + private String orderNumber; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevMergeMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevMergeMapper.java index a39864e..ab8ee95 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevMergeMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/DevMergeMapper.java @@ -35,6 +35,11 @@ public interface DevMergeMapper { Integer addOrder(DevMergeVo o); + /** + * 查询今天生成的单号数量 + */ + int selectTodayOrderCount(); + void insertOrderDevReal(@Param("orderId") String orderId, @Param("maId") Long maId); Integer submitOrder(DevMergeVo 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 f411b0e..05c41de 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 @@ -209,4 +209,43 @@ public class DevMergeServiceImpl implements DevMergeService { return AjaxResult.error(); } } + + + private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyMMdd"); + private static final String SEPARATOR = "-"; + + private static final int SEQUENCE_LENGTH = 4; + + /** + * 生成带前缀的单号 + * 格式:251001-0001 + */ + public String generate() { + // 获取今天的日期部分 + String datePart = LocalDate.now().format(DATE_FORMATTER); + + // 查询今天已生成的单号数量 + int todayCount = devMergeMapper.selectTodayOrderCount(); + + // 下一个序列号 = 今天数量 + 1 + int nextSequence = todayCount + 1; + + // 格式化序列号 + String sequencePart = formatSequence(nextSequence); + + // 构建完整单号 + + return datePart + SEPARATOR + sequencePart; + } + + + /** + * 格式化序列号 + */ + private String formatSequence(int sequence) { + if (sequence < 1 || sequence > 9999) { + throw new IllegalArgumentException("序列号必须在 1-9999 范围内"); + } + return String.format("%0" + SEQUENCE_LENGTH + "d", sequence); + } } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml index 0bc341e..ffea691 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/DevInfoMapper.xml @@ -209,6 +209,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" d.type_id as typeId, d.check_date as checkDate, d.check_cycle as checkCycle, + mtv.proType, + mtv.mainGx, + mtv.childGx, + mtv.devCategory, + mtv.devSubcategory, + mtv.devName, + mtv.devModel, + mtv.unit_name, mt4.type_name as typeName, mt4.unit_name as unitName, mt4.manage_type as manageType, @@ -245,6 +253,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LEFT JOIN sys_dept sd ON d.own_co = sd.dept_id LEFT JOIN bm_company_info c ON sd.dept_id = c.company_id LEFT JOIN ma_hot_search h ON d.ma_id = h.ma_id + LEFT JOIN ma_type_view mtv ON mtv.typeId = d.type_id LEFT JOIN ma_type mt4 ON mt4.type_id = d.type_id and mt4.del_flag = '0' LEFT JOIN ma_type mt3 ON mt3.type_id = mt4.parent_id and mt3.del_flag = '0' LEFT JOIN ma_type mt2 ON mt2.type_id = mt3.parent_id and mt2.del_flag = '0' 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 33c7b20..c98752b 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 @@ -11,6 +11,7 @@ aaa.create_time AS createTime, aaa.status AS status, COUNT(bbb.dev_id) AS devCount, + aaa.order_number AS orderNumber, SUM(CASE WHEN mdi.entry_status = 1 THEN 1 ELSE 0 END) AS agree, SUM(CASE WHEN mdi.entry_status = 2 THEN 1 ELSE 0 END) AS reject FROM @@ -21,15 +22,18 @@ and aaa.status = #{status} - GROUP BY aaa.id - ORDER BY aaa.status DESC - INSERT INTO cs_device_status (create_user) - VALUES (#{createUser}) + INSERT INTO cs_device_status (create_user, order_number) + VALUES (#{createUser}, #{orderNumber}) @@ -150,7 +143,7 @@ AND t1.parent_id IS NULL -- 确保t1是一级类型 AND t2.del_flag = '0'; - + +