hfxc226 vor 2 Jahren
Ursprung
Commit
0602f158e9

+ 13 - 9
platform-rest/src/main/java/com/platform/rest/controller/excel/ExcelImportController.java

@@ -5,6 +5,8 @@ import com.platform.common.util.R;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.export.sb.ExportSbTypeVO;
 import com.platform.rest.log.annotation.SysLog;
+import com.platform.service.activiti.ActivitiAssignStrategy;
+import com.platform.service.excel.ExcelImportStrategy;
 import com.platform.service.sb.SbInfoService;
 import com.platform.service.sb.impl.SbInfoServiceImpl;
 import lombok.AllArgsConstructor;
@@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @Description 设备基础信息 控制器
@@ -26,7 +29,10 @@ import java.util.List;
 @Slf4j
 public class ExcelImportController {
 
-    private final SbInfoService sbInfoService;
+    /**
+     * 通过spring获取所有策略类
+     */
+    private List<ExcelImportStrategy> importStrategyList;
 
     /**
      * 导入设备类型
@@ -34,14 +40,12 @@ public class ExcelImportController {
      * @param file bom excel文件
      * @return R
      */
-    @SysLog("新增导入设备类型")
-    @PostMapping("/sb/type")
-    public R importExcel(@RequestParam("file") MultipartFile file) throws Exception {
-        List<ExportSbTypeVO> list = ExcelUtil.importExcel(file.getInputStream(), ExportSbTypeVO.class, 1);
-        if(CollectionUtil.isNotEmpty(list)){
-            list.forEach(item->log.info(item.toString()));
-        }
-        int i = list.size();
+    @SysLog("初始化导入")
+    @PostMapping("/import")
+    public R importExcel(@RequestParam("type") Integer type, @RequestParam("file") MultipartFile file) throws Exception {
+        ExcelImportStrategy excelImportStrategy =
+                importStrategyList.stream().filter(strategy -> strategy.getType().equals(type)).collect(Collectors.toList()).get(0);
+        int i =  excelImportStrategy.handler(file.getInputStream());
         if (i != 0) {
             return new R("导入成功");
         } else {

+ 0 - 2
platform-service/src/main/java/com/platform/service/activiti/impl/ActivitiUserModelServiceImpl.java

@@ -58,9 +58,7 @@ import java.util.stream.Collectors;
 @Slf4j
 public class ActivitiUserModelServiceImpl extends BaseServiceImpl<ActivitiUserModelMapper, ActivitiUserModel, ActivitiUserModelDTO> implements ActivitiUserModelService {
 
-    private List<ActivitiAssignStrategy> activitiAssignStrategyList;
     private RepositoryService repositoryService;
-    private ProcessEngineConfiguration processEngineConfiguration;
 
     @Override
     public int batchDelete(List<String> ids) {

+ 0 - 4
platform-service/src/main/java/com/platform/service/business/SbScrapActivitiBusinessService.java

@@ -56,10 +56,6 @@ public class SbScrapActivitiBusinessService {
     private final SysUserService sysUserService;
 
     private final ActivitiUserModelService activitiUserModelService;
-    /**
-     * 通过spring获取所有策略类
-     */
-    private List<ActivitiAssignStrategy> activitiAssignStrategyList;
 
     /**
      * 启动,第一个审批人为发起人,自动审批。

+ 30 - 0
platform-service/src/main/java/com/platform/service/excel/ExcelImportStrategy.java

@@ -0,0 +1,30 @@
+package com.platform.service.excel;
+
+import com.platform.dao.entity.activiti.ActivitiUserModel;
+import org.activiti.engine.task.Task;
+import org.dom4j.Element;
+
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.Map;
+
+/**
+ * 处理初始化导入
+ */
+public interface ExcelImportStrategy{
+
+    /**
+     * 获取类型
+     *
+     * @return
+     */
+    Integer getType();
+
+    /**
+     * 处理文件
+     * @param inputStream
+     * @return
+     */
+    int handler(InputStream inputStream);
+
+}

+ 44 - 0
platform-service/src/main/java/com/platform/service/excel/FirmProducerImport.java

@@ -0,0 +1,44 @@
+package com.platform.service.excel;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.dao.entity.firm.FirmProducer;
+import com.platform.dao.entity.sb.SbType;
+import com.platform.dao.mapper.firm.FirmProducerMapper;
+import com.platform.dao.mapper.sb.SbTypeMapper;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.firm.ExportFirmProducerVO;
+import com.platform.dao.vo.export.sb.ExportSbTypeVO;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * 生产商初始化导入
+ */
+@Service("firmProducerImport")
+@AllArgsConstructor
+@Slf4j
+public class FirmProducerImport implements ExcelImportStrategy {
+
+    private final FirmProducerMapper mapper;
+
+    @Override
+    public Integer getType() {
+        return 3;
+    }
+
+    @Override
+    public int handler(InputStream inputStream) {
+        List<ExportFirmProducerVO> list = ExcelUtil.importExcel(inputStream, ExportFirmProducerVO.class, 1);
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(item->log.info(item.toString()));
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(list, FirmProducer.class));
+            return list.size();
+        }
+        return 0;
+    }
+}

+ 44 - 0
platform-service/src/main/java/com/platform/service/excel/SbInfoExcelImport.java

@@ -0,0 +1,44 @@
+package com.platform.service.excel;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.dao.entity.sb.SbInfo;
+import com.platform.dao.entity.sb.SbType;
+import com.platform.dao.mapper.sb.SbInfoMapper;
+import com.platform.dao.mapper.sb.SbTypeMapper;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.sb.ExportSbInfoVO;
+import com.platform.dao.vo.export.sb.ExportSbTypeVO;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * 设备台账初始化导入处理类
+ */
+@Service("sbInfoExcelImport")
+@AllArgsConstructor
+@Slf4j
+public class SbInfoExcelImport implements ExcelImportStrategy {
+
+    private final SbInfoMapper mapper;
+
+    @Override
+    public Integer getType() {
+        return 4;
+    }
+
+    @Override
+    public int handler(InputStream inputStream) {
+        List<ExportSbInfoVO> list = ExcelUtil.importExcel(inputStream, ExportSbInfoVO.class, 1);
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(item->log.info(item.toString()));
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(list, SbInfo.class));
+            return list.size();
+        }
+        return 0;
+    }
+}

+ 44 - 0
platform-service/src/main/java/com/platform/service/excel/SbPartExcelImport.java

@@ -0,0 +1,44 @@
+package com.platform.service.excel;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.dao.entity.part.PartInfo;
+import com.platform.dao.entity.sb.SbType;
+import com.platform.dao.mapper.part.PartInfoMapper;
+import com.platform.dao.mapper.sb.SbTypeMapper;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.part.ExportPartInfoVO;
+import com.platform.dao.vo.export.sb.ExportSbTypeVO;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * 设备部位初始化导入处理类
+ */
+@Service("sbPartExcelImport")
+@AllArgsConstructor
+@Slf4j
+public class SbPartExcelImport implements ExcelImportStrategy {
+
+    private final PartInfoMapper mapper;
+
+    @Override
+    public Integer getType() {
+        return 0;
+    }
+
+    @Override
+    public int handler(InputStream inputStream) {
+        List<ExportPartInfoVO> list = ExcelUtil.importExcel(inputStream, ExportPartInfoVO.class, 1);
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(item->log.info(item.toString()));
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(list, PartInfo.class));
+            return list.size();
+        }
+        return 0;
+    }
+}

+ 44 - 0
platform-service/src/main/java/com/platform/service/excel/SbPositionExcelImport.java

@@ -0,0 +1,44 @@
+package com.platform.service.excel;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.dao.entity.sb.SbPosition;
+import com.platform.dao.entity.sb.SbType;
+import com.platform.dao.mapper.sb.SbPositionMapper;
+import com.platform.dao.mapper.sb.SbTypeMapper;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.sb.ExportSbPositionVO;
+import com.platform.dao.vo.export.sb.ExportSbTypeVO;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * 设备位置初始化导入处理类
+ */
+@Service("sbPositionExcelImport")
+@AllArgsConstructor
+@Slf4j
+public class SbPositionExcelImport implements ExcelImportStrategy {
+
+    private final SbPositionMapper mapper;
+
+    @Override
+    public Integer getType() {
+        return 2;
+    }
+
+    @Override
+    public int handler(InputStream inputStream) {
+        List<ExportSbPositionVO> list = ExcelUtil.importExcel(inputStream, ExportSbPositionVO.class, 1);
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(item->log.info(item.toString()));
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(list, SbPosition.class));
+            return list.size();
+        }
+        return 0;
+    }
+}

+ 42 - 0
platform-service/src/main/java/com/platform/service/excel/SbTypeExcelImport.java

@@ -0,0 +1,42 @@
+package com.platform.service.excel;
+
+import cn.hutool.core.collection.CollectionUtil;
+import com.platform.common.util.BeanConverterUtil;
+import com.platform.dao.entity.sb.SbType;
+import com.platform.dao.mapper.sb.SbTypeMapper;
+import com.platform.dao.mapper.upms.SysUserMapper;
+import com.platform.dao.util.ExcelUtil;
+import com.platform.dao.vo.export.sb.ExportSbTypeVO;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.io.InputStream;
+import java.util.List;
+
+/**
+ * 设备类别初始化导入处理类
+ */
+@Service("sbTypeExcelImport")
+@AllArgsConstructor
+@Slf4j
+public class SbTypeExcelImport implements ExcelImportStrategy {
+
+    private final SbTypeMapper mapper;
+
+    @Override
+    public Integer getType() {
+        return 1;
+    }
+
+    @Override
+    public int handler(InputStream inputStream) {
+        List<ExportSbTypeVO> list = ExcelUtil.importExcel(inputStream, ExportSbTypeVO.class, 1);
+        if(CollectionUtil.isNotEmpty(list)){
+            list.forEach(item->log.info(item.toString()));
+            mapper.insertListforComplex(BeanConverterUtil.copyListProperties(list, SbType.class));
+            return list.size();
+        }
+        return 0;
+    }
+}