xiongchao 3 anos atrás
pai
commit
ac58510280

+ 15 - 17
platform-dao/src/main/java/com/platform/dao/util/CustomExcelImportUtil.java

@@ -33,10 +33,7 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PushbackInputStream;
+import java.io.*;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
@@ -460,19 +457,20 @@ public class CustomExcelImportUtil {
     }
 
     public static void main(String[] args) throws IOException, InvalidFormatException {
-        String[] files = {"C:\\Users\\cyz\\Downloads\\---C-020 (S-35).xls",
-                "C:\\Users\\cyz\\Downloads\\--C-025 (S-40).xls",
-                "C:\\Users\\cyz\\Downloads\\---C-026 (S-41-REP-V48-1).xls"};
-        InputStream inputstream = new FileInputStream(files[2]);
-        LocalDateTime now = LocalDateTime.now();
-       //  List<SparePartInfoVO> list = importSparePartInfoList(now, inputstream);
-        // List<SbInfoVO> list = importListByUpdateALl(inputstream);
-       List<CheckStandard> list = importCheckStandardList(inputstream);
-
-        list.forEach(item -> {
-            System.out.println(item.toString());
-        });
-        System.out.println(list.size());
+        String path = "C:\\Users\\cyz\\Downloads\\老版维保计划\\noperson";
+        File dirFile = new File("C:\\Users\\cyz\\Downloads\\老版维保计划\\noperson");
+        String[] files = dirFile.list();
+        // String[] files = {"C:\\Users\\cyz\\Downloads\\老版维保计划\\---C-026 (S-41-REP-V48-1).xls"};
+        for(String fileStr:files){
+            System.out.println(fileStr);
+            InputStream inputstream = new FileInputStream(path + File.separator + fileStr);
+            LocalDateTime now = LocalDateTime.now();
+            List<CheckStandard> list = importCheckStandardList(inputstream);
+           /* list.forEach(item -> {
+                System.out.println(item.toString());
+            });*/
+            System.out.println("处理数量:" + list.size());
+        }
     }
 
     public static List<SbModel> importModelList(InputStream inputstream) throws IOException, InvalidFormatException {

+ 1 - 1
platform-rest/src/main/java/com/platform/rest/controller/check/CheckStandardController.java

@@ -218,7 +218,7 @@ public class CheckStandardController {
     public R importListByAddOldVersion( @RequestParam("files") MultipartFile[] files) throws Exception {
         String result ="";
         for(MultipartFile file: files){
-            result = result + checkStandardService.importListByAdd(file);
+            result = result + checkStandardService.importListByAddOldVersion(file);
         }
         return new R<>(result);
     }

+ 2 - 0
platform-service/src/main/java/com/platform/service/check/CheckStandardService.java

@@ -55,6 +55,8 @@ public interface CheckStandardService extends IBaseService<CheckStandard, CheckS
 
     String importListByAdd(MultipartFile file);
 
+    String importListByAddOldVersion(MultipartFile file);
+
     void genSpareWarnTask(int month, int type);
 
     /**

+ 62 - 1
platform-service/src/main/java/com/platform/service/check/impl/CheckStandardServiceImpl.java

@@ -136,7 +136,12 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
         if(exsitCount>0){
             throw new BusinessException("名称已存在,请重新命名");
         }
-
+        if(model.getType() == null){
+            model.setType(CheckStandardTypeEnum.POLLING.getValue());
+        }
+        if(model.getEnable() == null){
+            model.setType(1);
+        }
         // 设置编码
         Weekend<CheckStandard> weekend = new Weekend<>(CheckStandard.class);
         weekend.weekendCriteria().andIsNotNull(CheckStandard::getId);
@@ -455,6 +460,62 @@ public class CheckStandardServiceImpl extends BaseServiceImpl<CheckStandardMappe
         }
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public String importListByAddOldVersion(MultipartFile file) {
+        int addNum = 0;
+        List<String> modelError = new ArrayList<String>();
+        try {
+            List<CheckStandard> items = CustomExcelImportUtil.importCheckStandardListOldVerison(file.getInputStream());
+            if (!CollectionUtils.isEmpty(items)) {
+                // 设备编号,不确定是新号还是旧号,都要判断下
+                String fileSbNo = items.get(0).getNo();
+                Weekend<SbInfo> weekend2 = new Weekend<>(SbInfo.class);
+                WeekendCriteria<SbInfo, Object> weekendCriteria2 = weekend2.weekendCriteria();
+                weekendCriteria2.andEqualTo(SbInfo::getZbh, fileSbNo);
+                SbInfo sbInfo = sbInfoMapper.selectOneByExample(weekend2);
+                if(sbInfo == null){
+                    Weekend<SbInfo> weekend = new Weekend<>(SbInfo.class);
+                    WeekendCriteria<SbInfo, Object> weekendCriteria = weekend.weekendCriteria();
+                    weekendCriteria.andEqualTo(SbInfo::getNo, fileSbNo);
+                    sbInfo = sbInfoMapper.selectOneByExample(weekend);
+                    if(sbInfo == null){
+                        throw new BusinessException("旧号查不到,新号也查不到,请确保编号正确" + ", 导入文件中的编号-" + fileSbNo);
+                    }
+                }
+                List<CheckStandard> addItems = new ArrayList<CheckStandard>();
+                List<SysUser> users = sysUserMapper.selectAll();
+                List<SbInfo> sbInfoList = sbInfoMapper.selectAll();
+                LocalDateTime now = LocalDateTime.now();
+                for (CheckStandard item : items) {
+                    item.setCreatedTime(now);
+                    item.setCheckUserId(SecurityUtils.getUserInfo().getUserId());
+                    item.setUpdateTime(now);
+                    item.setUpdateUserId(SecurityUtils.getUserInfo().getUserId());
+                    // 根据负责人类型查找用户,使用人员的名称查抄
+                    boolean findSaveUser = false;
+                    if(item.getCheckUserType() == 1){
+                        item.setSbId(sbInfo.getId());
+                        item.setCheckUserId(sbInfo.getSaveUser());
+                    }
+                    if(item.getCheckUserType() == 2 || item.getCheckUserType() == 3){// 设备的维修员
+                        item.setSbId(sbInfo.getId());
+                        item.setCheckUserId(sbInfo.getRepairUser());
+                    }
+                    addItems.add(item);
+                }
+                if(!CollectionUtils.isEmpty(addItems)){
+                    mapper.insertListforComplex(addItems);
+                }
+            }
+            return "成功: "  +  file.getOriginalFilename()+ ";";
+        } catch (Exception e) {
+            System.out.println("file.getOriginalFilename():" + file.getOriginalFilename() );
+            return ("失败:" +  file.getOriginalFilename() + ":"+ e.getMessage()+ ";");
+
+        }
+    }
+
     /**
      * 查询备件预警
      * @param month 距离当前时间的几个月