From 16c02433021fded4dc6493508a09ba158842c8d1 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期四, 17 八月 2023 17:02:54 +0800
Subject: [PATCH] #设备导入

---
 server/src/main/java/doumeemes/service/business/DeviceService.java          |   14 ++++
 server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java |   73 ++++++++++++++++++++++++
 server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java   |   28 ---------
 server/src/main/java/doumeemes/api/ext/DeviceExtController.java             |    2 
 server/src/main/java/doumeemes/service/ext/DeviceExtService.java            |    6 --
 5 files changed, 85 insertions(+), 38 deletions(-)

diff --git a/server/src/main/java/doumeemes/api/ext/DeviceExtController.java b/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
index 5d6781e..c861e05 100644
--- a/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
+++ b/server/src/main/java/doumeemes/api/ext/DeviceExtController.java
@@ -244,7 +244,7 @@
             Iterator<String> it = multipartRequest.getFileNames();
             while (it.hasNext()) {
                 MultipartFile file = multipartRequest.getFile((String) it.next());
-                deviceExtService.importPlans(file);
+                deviceService.importPlans(file);
                 break;
             }
         }
diff --git a/server/src/main/java/doumeemes/service/business/DeviceService.java b/server/src/main/java/doumeemes/service/business/DeviceService.java
index 9096294..363b146 100644
--- a/server/src/main/java/doumeemes/service/business/DeviceService.java
+++ b/server/src/main/java/doumeemes/service/business/DeviceService.java
@@ -5,6 +5,8 @@
 import doumeemes.core.model.PageData;
 import doumeemes.core.model.PageWrap;
 import doumeemes.dao.business.model.Device;
+import org.springframework.web.multipart.MultipartFile;
+
 import java.util.List;
 
 /**
@@ -16,7 +18,7 @@
 
     /**
      * 鍒涘缓
-     * 
+     *
      * @param device 瀹炰綋瀵硅薄
      * @return Integer
      */
@@ -80,7 +82,7 @@
      * @return List<Device>
      */
     List<Device> findList(Device device);
-  
+
     /**
      * 鍒嗛〉鏌ヨ
      *
@@ -100,4 +102,12 @@
     ApiResponse insert(Device device);
 
     void dealDeviceUserId(Integer type, String userIds, Integer deviceId, LoginUserInfo userInfo);
+
+
+    /**
+     * 鑾峰彇鎵归噺瀵煎叆璁惧淇℃伅
+     *
+     * @param file
+     */
+    void importPlans(MultipartFile file);
 }
diff --git a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
index efb5075..278b18a 100644
--- a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
@@ -1,5 +1,7 @@
 package doumeemes.service.business.impl;
 
+import doumeemes.core.constants.ResponseStatus;
+import doumeemes.core.exception.BusinessException;
 import doumeemes.core.model.ApiResponse;
 import doumeemes.core.model.LoginUserInfo;
 import doumeemes.core.model.PageData;
@@ -7,12 +9,16 @@
 import doumeemes.core.utils.Constants;
 import doumeemes.core.utils.DateUtil;
 import doumeemes.core.utils.Utils;
+import doumeemes.core.utils.excel.EasyExcelUtil;
 import doumeemes.core.utils.redis.RedisUtil;
+import doumeemes.dao.business.DepartmentMapper;
 import doumeemes.dao.business.DeviceMapper;
 import doumeemes.dao.business.UserDeviceMapper;
 import doumeemes.dao.business.model.CompanyUser;
+import doumeemes.dao.business.model.Department;
 import doumeemes.dao.business.model.Device;
 import doumeemes.dao.business.model.UserDevice;
+import doumeemes.dao.ext.dto.DeviceImportDTO;
 import doumeemes.dao.ext.dto.QueryDeviceExtDTO;
 import doumeemes.dao.ext.vo.DeviceExtListVO;
 import doumeemes.service.business.DeviceService;
@@ -26,7 +32,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.Date;
 import java.util.List;
@@ -49,6 +57,9 @@
     private DeviceExtService deviceExtService;
     @Autowired
     private UserDeviceMapper userDeviceMapper;
+
+    @Autowired
+    private DepartmentMapper departmentMapper;
 
     @Override
     public Integer create(Device device) {
@@ -106,7 +117,7 @@
         QueryWrapper<Device> wrapper = new QueryWrapper<>(device);
         return deviceMapper.selectList(wrapper);
     }
-  
+
     @Override
     public PageData<Device> findPage(PageWrap<Device> pageWrap) {
         IPage<Device> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -256,6 +267,66 @@
         }
     }
 
+    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
+    @Override
+    public void importPlans(MultipartFile file) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒");
+        }
+        //瑙f瀽excel
+        List<DeviceImportDTO> plansList = EasyExcelUtil.importExcel(file, 1, 1, DeviceImportDTO.class);
+        if(plansList == null || plansList.size()==0){
+            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭鏈夎锛�");
+        }
+
+        plansList.forEach(s->{
+
+            if (StringUtils.isBlank(s.getDeviceName())
+                    || s.getDeviceName().length() > 50
+                    || StringUtils.isBlank(s.getDepartName())
+                    || StringUtils.isBlank(s.getProcedureName())
+                    || StringUtils.isBlank(s.getProduceWarehouseLocationName())
+                    || StringUtils.isBlank(s.getFinishWarehouseLocationName())){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵煎叆鏁版嵁鍐呭鏈夎");
+            }
+        });
+
+
+        QueryWrapper<Department> wrapper = new QueryWrapper<>();
+        wrapper.lambda().eq(Department::getRootId,user.getRootDepartment().getId());
+        departmentMapper.selectList(wrapper);
+
+        plansList.forEach(s->{
+
+            Device device = new Device();
+            device.setDeleted(Constants.ZERO);
+            device.setCreateUser(user.getId());
+            device.setCreateTime(new Date());
+            device.setUpdateUser(user.getId());
+            device.setUpdateTime(new Date());
+//            device.setRemark();
+//            device.setRootDepartId();
+//            device.setDepartId();
+//            device.setProcedureId();
+//            device.setCode();
+//            device.setType();
+//            device.setName();
+//            device.setModel();
+//            device.setStatus();
+//            device.setSupplier();
+//            device.setStationCode();
+//            device.setGroupId();
+//            device.setSerialNum();
+//            device.setProduceWarehouseLocationId();
+//            device.setProduceWarehouseId();
+//            device.setFinishWarehouseLocationId();
+//            device.setFinishWarehouseId();
+//            device.setUserIds();
+            deviceMapper.insert(device);
+        });
+    }
+
 
     public synchronized String  getNextCode(Integer comId ){
         String prefix =  "S-" + DateUtil.getDate(new Date(),"yyyyMMdd") +"-";
diff --git a/server/src/main/java/doumeemes/service/ext/DeviceExtService.java b/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
index e1c476a..c784400 100644
--- a/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
+++ b/server/src/main/java/doumeemes/service/ext/DeviceExtService.java
@@ -29,10 +29,4 @@
     List<DeviceExtListVO> getDeviceByCondition(QueryDeviceExtDTO queryDeviceExtDTO);
 
 
-    /**
-     * 鑾峰彇鎵归噺瀵煎叆璁惧淇℃伅
-     *
-     * @param file
-     */
-    void importPlans(MultipartFile file);
 }
diff --git a/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
index e05552d..bbcf208 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/DeviceExtServiceImpl.java
@@ -91,33 +91,5 @@
         return result;
     }
 
-    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    @Override
-    public void importPlans(MultipartFile file) {
-        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-        if(!Constants.equalsInteger(user.getType(),Constants.USERTYPE.COM)){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "瀵逛笉璧凤紝鎮ㄦ棤鏉冮檺杩涜璇ユ搷浣滐紒");
-        }
-        //瑙f瀽excel
-        List<DeviceImportDTO> plansList = EasyExcelUtil.importExcel(file, 1, 1, DeviceImportDTO.class);
-        if(plansList == null || plansList.size()==0){
-            throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "瀵煎叆鏁版嵁鍐呭鏈夎锛�");
-        }
 
-        plansList.forEach(s->{
-
-            if (StringUtils.isBlank(s.getDeviceName())
-                    || s.getDeviceName().length() > 50
-                    || StringUtils.isBlank(s.getDepartName())
-                    || StringUtils.isBlank(s.getProcedureName())
-                    || StringUtils.isBlank(s.getProduceWarehouseLocationName())
-                    || StringUtils.isBlank(s.getFinishWarehouseLocationName())){
-                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵煎叆鏁版嵁鍐呭鏈夎");
-            }
-        });
-
-
-
-
-    }
 }

--
Gitblit v1.9.3