diff --git a/src/main/java/com/xujie/sys/modules/reader/config/TCPClient.java b/src/main/java/com/xujie/sys/modules/reader/config/TCPClient.java index 3dfce1d9..7bac0a80 100644 --- a/src/main/java/com/xujie/sys/modules/reader/config/TCPClient.java +++ b/src/main/java/com/xujie/sys/modules/reader/config/TCPClient.java @@ -52,6 +52,7 @@ public class TCPClient { scheduler.scheduleWithFixedDelay(() -> { checkConnection(config); }, CHECK_INTERVAL, CHECK_INTERVAL, TimeUnit.SECONDS); + executorService.shutdown(); } } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java index 6ff71fdf..ba431602 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java @@ -57,22 +57,25 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl locationList = equipmentFolderLocationService - .lambdaQuery().ne(EquipmentFolderLocation::getSuffix,"RS232/RS485") + .lambdaQuery() + .ne(EquipmentFolderLocation::getSuffix,"RS232/RS485") + .ne(EquipmentFolderLocation::getSuffix,"PLC") + .eq(EquipmentFolderLocation::getId,56) .list(); if (CollectionUtils.isEmpty(locationList)) { return; } //创建线程池 ExecutorService executorService = Executors.newFixedThreadPool(locationList.size());//线程池的最大数量为文件夹的个数 - for (EquipmentFolderLocation excel : locationList) { + for (EquipmentFolderLocation location : locationList) { executorService.submit(() -> { try { - if (StringUtils.isNotEmpty(excel.getFolderPath())) { + if (StringUtils.isNotEmpty(location.getFolderPath())) { //对文件夹下的文件进行读取并保存 - saveInformation(excel); + saveInformation(location); } } catch (Exception e) { - e.printStackTrace(); + log.error("获取文件夹下的文件信息异常:{}", e.getMessage()); } }); } @@ -125,7 +128,7 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl> map = new HashMap<>(); + map.put("img",new ArrayList<>()); + map.put("excel",new ArrayList<>()); + map.put("txt",new ArrayList<>()); //图片 List imageFiles = new ArrayList<>(); //创建一个list用来存储所有的的excel(csv)文件路径 @@ -155,12 +162,15 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl time) { batchNo = (Integer)resultList.get(0).get("batchNo"); //对应的不是第一次新增的情况下如果批次号不为空的情况下那么草果规定时间 批次号就加一,下次获取的时候就可以直接引用 @@ -424,8 +434,10 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl(), split); + if (org.springframework.util.StringUtils.hasText(data)){ + String[] split = data.split(equipmentFolderLocation.getCuttingSymbol()); + insertByEntity(equipmentDataDetail, new HashMap<>(), split); + } }else { insertByEntity(equipmentDataDetail, list.get(i), null); } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java index c5f18225..3185cd95 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java @@ -75,6 +75,7 @@ public class ModbusCommunicateServiceImpl implements ModbusCommunicateService { } }); } + executor.shutdown(); } private void handleData(EquipmentFolderLocation folderLocation, long startTime) {