From e1aacd2adff671b44658f476722f4c4fc30c7eb5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 13 八月 2026 09:23:21 +0800
Subject: [PATCH] 人员考勤:同步ICC门禁设备编号调整

---
 performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java |   33 ++++++++++++---------------------
 1 files changed, 12 insertions(+), 21 deletions(-)

diff --git a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
index 825b21b..a85b5a3 100644
--- a/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
+++ b/performance-server/src/main/java/com/ruoyi/performance/service/impl/StaffAttendanceTrackingRecordServiceImpl.java
@@ -12,27 +12,28 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.util.concurrent.AtomicDouble;
+import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.User;
 import com.ruoyi.common.enums.*;
 import com.ruoyi.common.utils.api.icc.IccApiUtil;
 import com.ruoyi.common.utils.api.icc.model.GetResultPageRequest;
 import com.ruoyi.common.utils.api.icc.model.GetResultPageResponse;
-
+import com.ruoyi.performance.dto.PerformanceShiftMapDto;
 import com.ruoyi.performance.dto.StaffAttendanceDTO;
 import com.ruoyi.performance.excel.StaffAttendanceAnnotationTextExcelData;
 import com.ruoyi.performance.excel.StaffAttendanceExcelData;
 import com.ruoyi.performance.excel.handler.attendance.CommentWriteHandler;
-import com.ruoyi.performance.mapper.StaffAttendanceTrackingRecordMapper;
-import com.ruoyi.performance.pojo.StaffAttendanceTrackingRecord;
-import com.ruoyi.performance.service.StaffAttendanceTrackingRecordService;
-import com.ruoyi.performance.dto.PerformanceShiftMapDto;
 import com.ruoyi.performance.mapper.PerformanceShiftMapper;
 import com.ruoyi.performance.mapper.ShiftTimeMapper;
+import com.ruoyi.performance.mapper.StaffAttendanceTrackingRecordMapper;
 import com.ruoyi.performance.pojo.ShiftTime;
+import com.ruoyi.performance.pojo.StaffAttendanceTrackingRecord;
+import com.ruoyi.performance.service.StaffAttendanceTrackingRecordService;
 import com.ruoyi.performance.utils.HourDiffCalculator;
 import com.ruoyi.performance.utils.TimeDiffCalculator;
 import com.ruoyi.performance.vo.StaffAttendanceVO;
 import com.ruoyi.system.mapper.UserMapper;
+import com.ruoyi.system.service.ISysDictTypeService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -71,6 +72,9 @@
     private IccApiUtil iccApiUtil;
 
     @Autowired
+    private ISysDictTypeService sysDictTypeService;
+
+    @Autowired
     private PerformanceShiftMapper performanceShiftMapper;
 
     @Autowired
@@ -105,21 +109,6 @@
     private static final String maternityLeaveKeyword = "浜�";//浜у亣鐝鍏抽敭瀛�
 
     /**
-     * 鍚屾鐨勯棬绂佽澶囧垪琛�
-     * channel_name device_code
-     * 10.100.22.2_闂ㄧ閫氶亾_1 1001538
-     * 10.100.22.3_闂ㄧ閫氶亾_1 1001539
-     * 10.100.22.4_闂ㄧ閫氶亾_1 1001540
-     * 10.100.22.5_闂ㄧ閫氶亾_1 1001541
-     * 10.100.22.12_闂ㄧ閫氶亾_1 1001626
-     * 10.100.22.13_闂ㄧ閫氶亾_1 1001627
-     * 10.100.22.14_闂ㄧ閫氶亾_1 1001628
-     * 10.100.22.15_闂ㄧ閫氶亾_1 1001629
-     */
-    private final static List<String> syncDeviceCode = Arrays.asList("1001538", "1001539", "1001540", "1001541",
-            "1001626", "1001627", "1001628", "1001629");
-
-    /**
      * 涓婄彮鏃堕棿鍒ゅ畾杈圭晫灏忔椂鏁�
      */
     private final static long WORK_TIME_BOUNDARY = 2L;
@@ -130,7 +119,9 @@
         if (ObjectUtil.isAllEmpty(startDate, endDate)) {
             throw new RuntimeException("鍚屾鏃ユ湡涓嶈兘涓虹┖");
         }
-
+        //鏌ヨ闂ㄧ璁惧瀛楀吀鍒楄〃
+        List<SysDictData> performanceIccDevice = sysDictTypeService.selectDictDataByType("performance_icc_device");
+        Set<String> syncDeviceCode = performanceIccDevice.stream().map(SysDictData::getDictValue).collect(Collectors.toSet());
         // 鏌ヨ宸插悓姝ョ殑璁板綍
         List<Long> trackingRecordIccIdList = baseMapper.selectIccIdList();
         try {

--
Gitblit v1.9.3