From 2c6f87e7a430f52f709c4686dbecc767ca377e2c Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期二, 25 二月 2025 11:12:53 +0800
Subject: [PATCH] 报告生成查询字典值

---
 ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml                       |    8 ++++
 cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java |   14 +++++-
 ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml                           |    3 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java                 |   16 ++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java              |    9 ++++
 ruoyi-common/src/main/java/com/ruoyi/common/constant/DictDataConstants.java               |   24 ++++++++++++
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java      |   12 ++++++
 inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java  |   25 ++++++++----
 8 files changed, 99 insertions(+), 12 deletions(-)

diff --git a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java
index 5dd627c..6b91a0a 100644
--- a/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java
+++ b/cnas-process/src/main/java/com/ruoyi/process/service/impl/ProcessComplainServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.process.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
@@ -9,6 +10,8 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.pojo.StandardTemplate;
+import com.ruoyi.common.numgen.NumberGenerator;
 import com.ruoyi.common.utils.QueryWrappers;
 import com.ruoyi.framework.exception.ErrorException;
 import com.ruoyi.inspect.mapper.InsReportMapper;
@@ -26,6 +29,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -49,6 +53,9 @@
     @Resource
     private InsSampleMapper insSampleMapper;
 
+    @Resource
+    private NumberGenerator<ProcessComplain> numberGenerator;
+
 
     @Override
     public IPage<ProcessComplain> pageProcessComplain(Page page, ProcessComplain processComplain) {
@@ -68,9 +75,10 @@
             throw new ErrorException("鏍峰搧缂栧彿杈撳叆鏈夎");
         }
         //鎶曡瘔缂栧彿鐢熸垚
-        //todo  giveCode
-//        String giveCode = this.giveCode.giveCode("JCZX-", "cnas_process_complain", "", "yyMMdd");
-//        processComplain.setComplainNo(giveCode);
+        String giveCode = numberGenerator.generateNumberWithPrefix(3,
+                "JCZX-" + DateUtil.format(new Date(), "yyMMdd"),
+                ProcessComplain::getComplainNo);
+        processComplain.setComplainNo(giveCode);
         return processComplainMapper.insert(processComplain);
     }
 
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
index 44bbca5..ca01fca 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderPlanServiceImpl.java
@@ -30,6 +30,7 @@
 import com.ruoyi.basic.pojo.IfsInventoryQuantity;
 import com.ruoyi.basic.pojo.StandardTemplate;
 import com.ruoyi.basic.service.StandardTemplateService;
+import com.ruoyi.common.constant.DictDataConstants;
 import com.ruoyi.common.constant.InsOrderTypeConstants;
 import com.ruoyi.common.core.domain.entity.Custom;
 import com.ruoyi.common.core.domain.entity.InformationNotification;
@@ -1514,9 +1515,9 @@
             standardMethod2.append("銆�").append(s);
         }
         standardMethod2.replace(0, 1, "");
-        // todo: 鏌ヨ瀛楀吀妫�娴嬬被鍨�
-//        List<SysDictData> sysDictData = iSysDictTypeService.selectDictDataByName("");
-        String orderType = null;
+
+        // 鏍峰搧绫诲瀷
+        String orderType = iSysDictTypeService.selectLabelByDict(DictDataConstants.CHECK_TYPE, insOrder.getOrderType());
 
         List<RowRenderData> rows = new ArrayList<>();
         List<TextRenderData> text = new ArrayList<>();
@@ -2275,18 +2276,23 @@
         String modelStr = CollUtil.join(models, "\n");
         String finalModelStr = modelStr;
 
-        // todo: 鏌ヨ瀛楀吀
-        //        List<SysDictData> sysDictData = iSysDictTypeService.selectDictDataByName("");
+        // 妫�娴嬬被鍨�
         String orderType = null;
-        String formType = null;
+        orderType = iSysDictTypeService.selectLabelByDict(DictDataConstants.CHECK_TYPE, insOrder.getOrderType());
+        // 鍒ゆ柇绗竴涓瓧鍏告槸鍚︿负绌�
+        if (StringUtils.isBlank(orderType)) {
+            orderType = iSysDictTypeService.selectLabelByDict(DictDataConstants.CHECK_TYPE1, insOrder.getOrderType());
+        }
+
+        // 鏉ユ牱鏂瑰紡
+        String formType = iSysDictTypeService.selectLabelByDict(DictDataConstants.FORM_TYPE, insOrder.getFormType());
 
         // 鏍峰搧鐘舵��
-        String sampleStatus = null;
+        String sampleStatus = iSysDictTypeService.selectLabelByDict(DictDataConstants.SAMPLE_STATUS_LIST, insOrder.getSampleStatus());;
 
         ConfigureBuilder builder = Configure.builder();
         builder.useSpringEL(true);
         List<Map<String, String>> finalDeviceList = deviceList;
-        Integer userId = insSampleUserMapper.selectOne(Wrappers.<InsSampleUser>lambdaQuery().eq(InsSampleUser::getInsSampleId, orderId).last("limit 1")).getUserId();
         Custom custom = customMapper.selectById(insOrder.getCompanyId());
 
         // 鏌ヨ鍒ゆ柇鏄惁鏈変笉鍒ゅ畾椤圭洰,鍜屽叏閮芥槸鍒ゅ畾椤�
@@ -2379,6 +2385,7 @@
 
         String finalResultCh = resultCh;
         String finalResultEn = resultEn;
+        String finalOrderType = orderType;
         InputStream inputStream = this.getClass().getResourceAsStream("/static/report-template.docx");
         XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render(
                 new HashMap<String, Object>() {{
@@ -2403,7 +2410,7 @@
                     put("images", images);
                     put("examineUrl", null);
                     put("ratifyUrl", null);
-                    put("orderType", orderType);
+                    put("orderType", finalOrderType);
                     put("getTime", finalSendTime.format(DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�")));
                     put("getTimeEn", monthNames[finalSendTime.getMonthValue() - 1] + " " + finalSendTime.format(DateTimeFormatter.ofPattern("dd, yyyy")));
                     put("seal1", null);
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictDataConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictDataConstants.java
new file mode 100644
index 0000000..43d8fc5
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/DictDataConstants.java
@@ -0,0 +1,24 @@
+package com.ruoyi.common.constant;
+
+import lombok.Data;
+
+/**
+ * 瀛楀吀绫诲瀷
+ *
+ * @Author zhuo
+ * @Date 2025/2/25
+ */
+public class DictDataConstants {
+
+    // 妫�楠岀被鍨�(鍘熸潗鏂�)
+    public static final String CHECK_TYPE = "check_type";
+
+    // 妫�楠岀被鍨�(鎴愬搧)
+    public static final String CHECK_TYPE1 = "check_type1";
+
+    // 鏉ユ牱鏂瑰紡
+    public static final String FORM_TYPE = "form_type";
+
+    // 鏍峰搧鐘舵��
+    public static final String SAMPLE_STATUS_LIST = "sample_status_list";
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
index 3e5cfb2..c11aae7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.common.core.domain.entity.SysDictType;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 瀛楀吀琛� 鏁版嵁灞�
@@ -84,5 +85,20 @@
      */
     public SysDictType checkDictTypeUnique(String dictType);
 
+    /**
+     * 鏍规嵁瀛楀吀鍚嶇О鏌ヨ瀛楀吀鏁版嵁
+     *
+     * @param dictName 瀛楀吀鍚嶇О
+     * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
+     */
     List<SysDictType> selectList(String dictName);
+
+    /**
+     * 鏍规嵁瀛楀吀缂栧彿, 瀛楀吀鍊紇alue鏌ヨlabel鍐呭
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @param dictValue 瀛楀吀鍊�
+     * @return 缁撴灉
+     */
+    String selectLabelByDict(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
index 10e27a8..72bf7b5 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
@@ -103,4 +103,13 @@
      * @return 缁撴灉
      */
     public boolean checkDictTypeUnique(SysDictType dictType);
+
+    /**
+     * 鏍规嵁瀛楀吀缂栧彿, 瀛楀吀鍊紇alue鏌ヨlabel鍐呭
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @param dictValue 瀛楀吀鍊�
+     * @return 缁撴灉
+     */
+    public String selectLabelByDict(String dictType, String dictValue);
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
index 05c999f..dd9f15b 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
@@ -235,4 +235,16 @@
         }
         return UserConstants.UNIQUE;
     }
+
+    /**
+     * 鏍规嵁瀛楀吀缂栧彿, 瀛楀吀鍊紇alue鏌ヨlabel鍐呭
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @param dictValue 瀛楀吀鍊�
+     * @return 缁撴灉
+     */
+    @Override
+    public String selectLabelByDict(String dictType, String dictValue) {
+        return dictTypeMapper.selectLabelByDict(dictType, dictValue);
+    }
 }
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
index 5288fa9..66640a0 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
@@ -140,4 +140,12 @@
         from sys_dict_type
         where dict_name = #{dictName}
     </select>
+
+    <!-- 鏍规嵁瀛楀吀缂栧彿, 瀛楀吀鍊紇alue鏌ヨlabel鍐呭 -->
+    <select id="selectLabelByDict" resultType="java.lang.String">
+        select dict_label
+        from sys_dict_data
+        where dict_type = #{dictType}
+          and dict_value = #{dictValue}
+    </select>
 </mapper>
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
index 8757304..0b30ccc 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -69,6 +69,9 @@
 		<if test="userName != null and userName != ''">
 			AND u.account like concat('%', #{userName}, '%')
 		</if>
+		<if test="nickName != null and nickName != ''">
+			AND u.name like concat('%', #{nickName}, '%')
+		</if>
 		<if test="status != null and status != ''">
 			AND u.status = #{status}
 		</if>

--
Gitblit v1.9.3