From 00f81ed9c631080dfc4595b07d77f73f9563731c Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 25 三月 2025 16:42:35 +0800
Subject: [PATCH] Merge branch 'radio_frequency' of http://114.132.189.42:9002/r/lims-ruoyi-after into radio_frequency

---
 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java |   58 +++++++++++
 ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml            |   36 ++++---
 cnas-device/src/main/java/com/ruoyi/device/excel/upload/DeviceListener.java    |   45 +++++++++
 ruoyi-admin/src/main/resources/application-druid.yml                           |   16 +-
 cnas-device/src/main/java/com/ruoyi/device/service/DeviceService.java          |    8 +
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java      |   31 ++++--
 cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java    |   28 ++++
 cnas-device/src/main/java/com/ruoyi/device/pojo/Device.java                    |   39 +++++++
 8 files changed, 222 insertions(+), 39 deletions(-)

diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
index bb70b52..5f0ab10 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceController.java
@@ -1,17 +1,22 @@
 package com.ruoyi.device.controller;
 
 
+import com.alibaba.excel.EasyExcel;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.excel.StructureTestObjectData;
+import com.ruoyi.basic.excel.StructureTestObjectListener;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.device.dto.DataConfigDto;
 import com.ruoyi.device.dto.DeviceCollectionDto;
 import com.ruoyi.device.dto.DeviceDto;
+import com.ruoyi.device.excel.upload.DeviceListener;
 import com.ruoyi.device.pojo.DataConfig;
 import com.ruoyi.device.pojo.Device;
 import com.ruoyi.device.service.DataConfigService;
 import com.ruoyi.device.service.DeviceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
@@ -21,12 +26,11 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -196,4 +200,20 @@
     public void exportEquipmentDetails(HttpServletResponse response) throws Exception {
         deviceService.exportEquipmentDetails(response);
     }
+
+    /**
+     * 瀵煎叆璁惧
+     * @return
+     */
+    @ApiOperation(value = "瀵煎叆璁惧")
+    @PostMapping("/importDevice")
+    public Result importDevice(@RequestParam("file") MultipartFile file){
+        try {
+            EasyExcel.read(file.getInputStream(), Device.class, new DeviceListener(deviceService)).sheet().doRead();
+        } catch (IOException e) {
+            // 杩欓噷鍙互鏍规嵁瀹為檯鎯呭喌杩涜鏇村畬鍠勭殑閿欒澶勭悊锛屾瘮濡傝褰曟棩蹇楃瓑
+            System.err.println("璇诲彇鏂囦欢鏃跺彂鐢熼敊璇�: " + e.getMessage());
+        }
+        return Result.success();
+    }
 }
diff --git a/cnas-device/src/main/java/com/ruoyi/device/excel/upload/DeviceListener.java b/cnas-device/src/main/java/com/ruoyi/device/excel/upload/DeviceListener.java
new file mode 100644
index 0000000..758f317
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/excel/upload/DeviceListener.java
@@ -0,0 +1,45 @@
+package com.ruoyi.device.excel.upload;
+
+
+import com.alibaba.excel.context.AnalysisContext;
+import com.alibaba.excel.event.AnalysisEventListener;
+import com.ruoyi.basic.excel.StructureTestObjectData;
+import com.ruoyi.basic.service.ProductService;
+import com.ruoyi.device.pojo.Device;
+import com.ruoyi.device.service.DeviceService;
+import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto;
+import com.ruoyi.performance.service.AuxiliaryCorrectionHoursService;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DeviceListener extends AnalysisEventListener<Device> {
+
+    private static final int BATCH_COUNT = 1000;
+    List<Device> list = new ArrayList<>();
+
+    private DeviceService deviceService;
+
+    public DeviceListener(DeviceService deviceService) {
+        this.deviceService = deviceService;
+    }
+
+    @Override
+    public void invoke(Device data, AnalysisContext analysisContext) {
+        list.add(data);
+        if (list.size() >= BATCH_COUNT) {
+            save();
+            list.clear();
+        }
+    }
+
+    @Override
+    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
+        save();
+    }
+
+
+    private void save() {
+        deviceService.importExcel(list);
+    }
+}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/Device.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/Device.java
index d403f5a..9d63046 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/pojo/Device.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/Device.java
@@ -1,9 +1,13 @@
 package com.ruoyi.device.pojo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -21,64 +25,99 @@
     private Integer id;
 
     @ApiModelProperty(value = "璁惧鍚嶇О")
+    @ExcelProperty(value = "璁惧鍚嶇О")
     private String deviceName;
 
     @ApiModelProperty(value = "en璁惧鍚嶇О")
+    @ExcelProperty(value = "璁惧鍚嶇ОEN")
     private String enDeviceName;
 
     @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
+    @ExcelProperty(value = "瑙勬牸鍨嬪彿")
     private String specificationModel;
 
     @ApiModelProperty(value = "鐢熶骇鍘傚")
+    @ExcelProperty(value = "鐢熶骇鍘傚")
     private String manufacturer;
 
     @ApiModelProperty(value = "鍑哄巶缂栧彿")
+    @ExcelProperty(value = "鍑哄巶缂栧彿")
     private String factoryNo;
 
     @ApiModelProperty(value = "绠$悊缂栧彿")
+    @ExcelProperty(value = "绠$悊缂栧彿")
     private String managementNumber;
 
     @ApiModelProperty(value = "鎶�鏈寚鏍�")
+    @ExcelProperty(value = "鎶�鏈寚鏍�")
     private String technicalIndicators;
 
     @ApiModelProperty(value = "璐疆鏃ユ湡")
+    @ExcelProperty(value = "璐疆鏃ユ湡")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime acquisitionDate;
 
     @ApiModelProperty(value = "鏍″噯鏈夋晥鏃ユ湡")
+    @ExcelProperty(value = "鍚敤鏃ユ湡")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime activationDate;
 
     @ApiModelProperty(value = "绠$悊浜篒d")
     private Integer equipmentManager;
 
+    @TableField(select = false,exist = false)
+    @ExcelProperty(value = "绠$悊浜�")
+    private String equipmentManagerName;
+
     @ApiModelProperty(value = "瀛樻斁鐐�")
+    @ExcelProperty(value = "瀛樻斁鐐�")
     private String storagePoint;
 
     @ApiModelProperty(value = "鎵�灞為儴闂↖d")
     private Integer subordinateDepartmentsId;
 
+    @TableField(select = false,exist = false)
+    @ExcelProperty(value = "鎵�灞為儴闂�")
+    private String subordinateDepartments;
+
     @ApiModelProperty(value = "妫�楠岄」鐩甀d")
     private String insProductIds;
 
     @ApiModelProperty(value = "鏍″噯鏈嶅姟鏈烘瀯")
+    @ExcelProperty(value = "鏍″噯鏈嶅姟鏈烘瀯")
     private String calibrationServices;
 
     @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
+    @ExcelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime lastCalibrationDate;
 
     @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
+    @ExcelProperty(value = "涓嬫鏍″噯鏃ユ湡")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime nextCalibrationDate;
 
     @ApiModelProperty(value = "璁惧绫诲瀷")
+    @ExcelProperty(value = "璁惧鍒嗙被")
     private String largeCategory;
 
     @ApiModelProperty(value = "鍗曚环")
+    @ExcelProperty(value = "鍗曚环")
     private BigDecimal unitPrice;
 
     @ApiModelProperty(value = "璁惧鐘舵��")
     private Integer deviceStatus;
 
+    @TableField(select = false,exist = false)
+    @ExcelProperty(value = "璁惧鐘舵��")
+    private String deviceStatusName;
+
     @ApiModelProperty(value = "鏍″噯鍛ㄦ湡(鏈�)")
+    @ExcelProperty(value = "鏍″噯鍛ㄦ湡(鏈�)")
     private String calibrationDate;
 
     @ApiModelProperty(value = "鍥剧墖涓婁紶")
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceService.java
index 72073e9..f77bbca 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceService.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceService.java
@@ -8,6 +8,7 @@
 import com.ruoyi.device.dto.DeviceCollectionDto;
 import com.ruoyi.device.dto.DeviceDto;
 import com.ruoyi.device.pojo.Device;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -54,4 +55,11 @@
      * @param response
      */
     void exportEquipmentDetails(HttpServletResponse response);
+
+    /**
+     * 瀵煎叆璁惧
+     * @param list
+     * @return
+     */
+    void importExcel(List<Device> list);
 }
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
index 99bbc0b..8285c04 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.device.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONObject;
 import com.alibaba.fastjson2.JSON;
@@ -12,7 +13,9 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.deepoove.poi.XWPFTemplate;
 import com.deepoove.poi.config.Configure;
+import com.ruoyi.basic.mapper.LaboratoryMapper;
 import com.ruoyi.basic.mapper.StructureItemParameterMapper;
+import com.ruoyi.basic.pojo.Laboratory;
 import com.ruoyi.basic.pojo.StructureItemParameter;
 import com.ruoyi.common.core.domain.Result;
 import com.ruoyi.common.core.domain.entity.User;
@@ -31,12 +34,16 @@
 import com.ruoyi.inspect.mapper.InsSampleMapper;
 import com.ruoyi.inspect.pojo.InsProduct;
 import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
+import com.ruoyi.performance.dto.AuxiliaryCorrectionHoursDto;
+import com.ruoyi.performance.pojo.AuxiliaryCorrectionHours;
+import com.ruoyi.system.mapper.SysDictDataMapper;
 import com.ruoyi.system.mapper.UserMapper;
 import lombok.AllArgsConstructor;
 import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -47,6 +54,7 @@
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
+import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
 /**
@@ -59,6 +67,10 @@
     private DeviceMapper deviceMapper;
 
     private UserMapper userMapper;
+
+    private LaboratoryMapper laboratoryMapper;
+
+    private SysDictDataMapper sysDictDataMapper;
 
     private StructureItemParameterMapper structureItemParameterMapper;
 
@@ -496,4 +508,50 @@
             throw new RuntimeException("瀵煎嚭澶辫触");
         }
     }
+
+
+    //瀵煎叆璁惧
+    @Override
+    public void importExcel(List<Device> list){
+        if (CollectionUtil.isEmpty(list)) {
+            return;
+        }
+        List<Device> deviceList = new ArrayList<>();
+        List<Device> devices = new ArrayList<>();
+        for (Device device : list) {
+            Device device1 = deviceMapper.selectOne(Wrappers.<Device>lambdaQuery()
+                    .eq(Device::getDeviceName, device.getDeviceName())
+                    .eq(Device::getSpecificationModel, device.getSpecificationModel())
+                    .eq(Device::getManagementNumber, device.getManagementNumber()));
+            //绠$悊浜�
+            if (ObjectUtils.isNotEmpty(device.getEquipmentManagerName())){
+                //鏌ュ搴旂鐞嗕汉
+                User user = userMapper.selectOne(Wrappers.<User>lambdaQuery()
+                        .eq(User::getName, device.getEquipmentManagerName()));
+                device.setEquipmentManager(user.getId());
+            }
+            //鎵�灞為儴闂�
+            if (ObjectUtils.isNotEmpty(device.getSubordinateDepartments())){
+                //鏌ュ搴旀墍灞為儴闂�
+                Laboratory laboratory = laboratoryMapper.selectOne(Wrappers.<Laboratory>lambdaQuery()
+                        .eq(Laboratory::getLaboratoryName,device.getSubordinateDepartments()));
+                device.setSubordinateDepartmentsId(laboratory.getId());
+            }
+            //璁惧鐘舵��
+            if (ObjectUtils.isNotEmpty(device.getDeviceStatusName())){
+                //鏌ュ瓧鍏稿搴旂殑鍊�
+                String status = sysDictDataMapper.selectDictValue("device_status", device.getDeviceStatusName());
+                device.setDeviceStatus(Integer.parseInt(status));
+            }
+            if (ObjectUtils.isNotEmpty(device1)) {
+                devices.add(device1);
+            } else {
+                deviceList.add(device);
+            }
+        }
+        //鎵归噺鏂板
+        saveBatch(deviceList);
+        //鎵归噺淇敼
+        updateBatchById(devices);
+    }
 }
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index 719bc31..ade7e87 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -135,14 +135,14 @@
 
 # 浜轰簨绯荤粺
 personnel:
-  code:
-  appId:
-  appSecret:
-  companies:
-  simple:
-  password:
-  department:
-  person:
+  code: https://ztt-sso.ztt.cn/oauth2/token
+  appId: f6f3d70f-3666-4d3d-b9c5-430de3f6007c
+  appSecret: a18923496542302066b0a7bec993a4e2
+  companies: https://ztt-connector.ztt.cn/api/org/v1/companies
+  simple: https://ztt-connector.ztt.cn/api/org/v1/employees/simple?companyId=
+  password: https://ztt-connector.ztt.cn/api/org/v1/employees/original_pwd/
+  department: https://ztt-connector.ztt.cn/api/org/v1/companies/companyId/departments
+  person: https://ztt-connector.ztt.cn/api/org/v1/employees/simple/
 
 # 浼佷笟寰俊閫氱煡
 wechat:
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
index a341f1e..fa0ae3e 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictDataMapper.java
@@ -6,14 +6,14 @@
 
 /**
  * 瀛楀吀琛� 鏁版嵁灞�
- * 
+ *
  * @author ruoyi
  */
 public interface SysDictDataMapper
 {
     /**
      * 鏍规嵁鏉′欢鍒嗛〉鏌ヨ瀛楀吀鏁版嵁
-     * 
+     *
      * @param dictData 瀛楀吀鏁版嵁淇℃伅
      * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
      */
@@ -21,7 +21,7 @@
 
     /**
      * 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁
-     * 
+     *
      * @param dictType 瀛楀吀绫诲瀷
      * @return 瀛楀吀鏁版嵁闆嗗悎淇℃伅
      */
@@ -29,7 +29,7 @@
 
     /**
      * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鍊兼煡璇㈠瓧鍏告暟鎹俊鎭�
-     * 
+     *
      * @param dictType 瀛楀吀绫诲瀷
      * @param dictValue 瀛楀吀閿��
      * @return 瀛楀吀鏍囩
@@ -37,8 +37,17 @@
     public String selectDictLabel(@Param("dictType") String dictType, @Param("dictValue") String dictValue);
 
     /**
+     * 鏍规嵁瀛楀吀绫诲瀷鍜屽瓧鍏搁敭鏌ヨ瀛楀吀鏁版嵁淇℃伅
+     *
+     * @param dictType 瀛楀吀绫诲瀷
+     * @param dictLabel 瀛楀吀閿�
+     * @return 瀛楀吀鏍囩
+     */
+    public String selectDictValue(@Param("dictType") String dictType, @Param("dictLabel") String dictLabel);
+
+    /**
      * 鏍规嵁瀛楀吀鏁版嵁ID鏌ヨ淇℃伅
-     * 
+     *
      * @param dictCode 瀛楀吀鏁版嵁ID
      * @return 瀛楀吀鏁版嵁
      */
@@ -46,7 +55,7 @@
 
     /**
      * 鏌ヨ瀛楀吀鏁版嵁
-     * 
+     *
      * @param dictType 瀛楀吀绫诲瀷
      * @return 瀛楀吀鏁版嵁
      */
@@ -54,7 +63,7 @@
 
     /**
      * 閫氳繃瀛楀吀ID鍒犻櫎瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param dictCode 瀛楀吀鏁版嵁ID
      * @return 缁撴灉
      */
@@ -62,7 +71,7 @@
 
     /**
      * 鎵归噺鍒犻櫎瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param dictCodes 闇�瑕佸垹闄ょ殑瀛楀吀鏁版嵁ID
      * @return 缁撴灉
      */
@@ -70,7 +79,7 @@
 
     /**
      * 鏂板瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param dictData 瀛楀吀鏁版嵁淇℃伅
      * @return 缁撴灉
      */
@@ -78,7 +87,7 @@
 
     /**
      * 淇敼瀛楀吀鏁版嵁淇℃伅
-     * 
+     *
      * @param dictData 瀛楀吀鏁版嵁淇℃伅
      * @return 缁撴灉
      */
@@ -86,7 +95,7 @@
 
     /**
      * 鍚屾淇敼瀛楀吀绫诲瀷
-     * 
+     *
      * @param oldDictType 鏃у瓧鍏哥被鍨�
      * @param newDictType 鏂版棫瀛楀吀绫诲瀷
      * @return 缁撴灉
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
index 3b94b7f..4b3c2a1 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDictDataMapper.xml
@@ -3,7 +3,7 @@
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.system.mapper.SysDictDataMapper">
-	
+
 	<resultMap type="SysDictData" id="SysDictDataResult">
 		<id     property="dictCode"   column="dict_code"   />
 		<result property="dictSort"   column="dict_sort"   />
@@ -19,9 +19,9 @@
 		<result property="updateBy"   column="update_by"   />
 		<result property="updateTime" column="update_time" />
 	</resultMap>
-	
+
 	<sql id="selectDictDataVo">
-        select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark 
+        select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
 		from sys_dict_data
     </sql>
 
@@ -40,37 +40,37 @@
 		</where>
 		order by dict_sort asc
 	</select>
-	
+
 	<select id="selectDictDataByType" parameterType="String" resultMap="SysDictDataResult">
 		<include refid="selectDictDataVo"/>
 		where status = '0' and dict_type = #{dictType} order by dict_sort asc
 	</select>
-	
+
 	<select id="selectDictLabel" resultType="String">
 		select dict_label from sys_dict_data
 		where dict_type = #{dictType} and dict_value = #{dictValue}
 	</select>
-	
+
 	<select id="selectDictDataById" parameterType="Long" resultMap="SysDictDataResult">
 		<include refid="selectDictDataVo"/>
 		where dict_code = #{dictCode}
 	</select>
-	
+
 	<select id="countDictDataByType" resultType="Integer">
-	    select count(1) from sys_dict_data where dict_type=#{dictType}  
+	    select count(1) from sys_dict_data where dict_type=#{dictType}
 	</select>
-	
+
 	<delete id="deleteDictDataById" parameterType="Long">
  		delete from sys_dict_data where dict_code = #{dictCode}
  	</delete>
- 	
+
  	<delete id="deleteDictDataByIds" parameterType="Long">
  		delete from sys_dict_data where dict_code in
  		<foreach collection="array" item="dictCode" open="(" separator="," close=")">
  			#{dictCode}
-        </foreach> 
+        </foreach>
  	</delete>
-	
+
 	<update id="updateDictData" parameterType="SysDictData">
  		update sys_dict_data
  		<set>
@@ -88,11 +88,11 @@
  		</set>
  		where dict_code = #{dictCode}
 	</update>
-	
+
 	<update id="updateDictDataType" parameterType="String">
  		update sys_dict_data set dict_type = #{newDictType} where dict_type = #{oldDictType}
 	</update>
- 	
+
  	<insert id="insertDictData" parameterType="SysDictData">
  		insert into sys_dict_data(
  			<if test="dictSort != null">dict_sort,</if>
@@ -120,5 +120,9 @@
  			sysdate()
  		)
 	</insert>
-	
-</mapper> 
\ No newline at end of file
+
+	<select id="selectDictValue" resultType="java.lang.String">
+		select dict_label from sys_dict_data
+		where dict_type = #{dictType} and dict_label = #{dictLabel}
+	</select>
+</mapper>

--
Gitblit v1.9.3