From b700b37c67c8155d3078955f2690406d814f1826 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 25 三月 2025 15:42:33 +0800
Subject: [PATCH] 第三方人事系统配置+设备导入

---
 cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

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);
+    }
 }

--
Gitblit v1.9.3