2 Commits 81aee112f1 ... f3d336784d

Tác giả SHA1 Thông báo Ngày
  weijianghai f3d336784d 睿行数据迁移能力商店 2 tháng trước cách đây
  weijianghai 81aee112f1 睿行数据迁移能力商店 2 tháng trước cách đây
25 tập tin đã thay đổi với 90 bổ sung65 xóa
  1. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarBaoXianJob.java
  2. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarDaWeiXiuJob.java
  3. 3 1
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarFuWuFeiJob.java
  4. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarLuQiaoJob.java
  5. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarNianJianFeiJob.java
  6. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarQiTaJob.java
  7. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarRanYouJob.java
  8. 3 1
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarSiCheGongYongJob.java
  9. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarWeiXiuJob.java
  10. 3 1
      src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarZuLinJob.java
  11. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarBaoFeiMonthTask.java
  12. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarBaseDataDayTask.java
  13. 4 3
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarLiChengDayTask.java
  14. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarLiChengMonthTask.java
  15. 4 5
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarWuDanYongCheDayTask.java
  16. 7 6
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarWuDanYongCheMonthTask.java
  17. 4 3
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYongCheDayTask.java
  18. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYongCheMonthTask.java
  19. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYueJieDayTask.java
  20. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/shujucangku/CarFeeBsJob.java
  21. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/car/shujucangku/CarFeeHbJob.java
  22. 3 2
      src/main/java/com/nokia/finance/tasks/jobs/house/chengben/HouseBuildingRepairMonthJob.java
  23. 3 1
      src/main/java/com/nokia/finance/tasks/jobs/house/chengben/HouseRentInRepairMonthJob.java
  24. 9 9
      src/main/resources/application-dev.yml
  25. 5 5
      src/main/resources/application-prod.yml

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarBaoXianJob.java

@@ -74,6 +74,7 @@ public class CarBaoXianJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆保险数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarBaoXianHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarBaoXianJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -237,7 +239,6 @@ public class CarBaoXianJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarBaoXianHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarBaoXianHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarDaWeiXiuJob.java

@@ -74,6 +74,7 @@ public class CarDaWeiXiuJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆大额维修数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarDaWeiXiuHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarDaWeiXiuJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -234,7 +236,6 @@ public class CarDaWeiXiuJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarDaWeiXiuHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarDaWeiXiuHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 1
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarFuWuFeiJob.java

@@ -43,6 +43,7 @@ public class CarFuWuFeiJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆服务费数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarFuWuFeiHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -68,7 +69,8 @@ public class CarFuWuFeiJob {
     public void singleJob(Path path) throws IOException {
         if (Files.size(path) == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         move(path);
     }

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarLuQiaoJob.java

@@ -74,6 +74,7 @@ public class CarLuQiaoJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆路桥数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarLuQiaoHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarLuQiaoJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -233,7 +235,6 @@ public class CarLuQiaoJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarLuQiaoHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarLuQiaoHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarNianJianFeiJob.java

@@ -74,6 +74,7 @@ public class CarNianJianFeiJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆年检数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarNianJianFeiHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarNianJianFeiJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -233,7 +235,6 @@ public class CarNianJianFeiJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarNianJianFeiHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarNianJianFeiHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarQiTaJob.java

@@ -74,6 +74,7 @@ public class CarQiTaJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆其他费用数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarQiTaHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarQiTaJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -233,7 +235,6 @@ public class CarQiTaJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarQiTaHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarQiTaHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarRanYouJob.java

@@ -74,6 +74,7 @@ public class CarRanYouJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆燃油数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarRanYouHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarRanYouJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -235,7 +237,6 @@ public class CarRanYouJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarRanYouHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarRanYouHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 1
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarSiCheGongYongJob.java

@@ -43,6 +43,7 @@ public class CarSiCheGongYongJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆私车公用数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarSiCheGongYongHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -68,7 +69,8 @@ public class CarSiCheGongYongJob {
     public void singleJob(Path path) throws IOException {
         if (Files.size(path) == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         move(path);
     }

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarWeiXiuJob.java

@@ -74,6 +74,7 @@ public class CarWeiXiuJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆普通维修数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarWeiXiuHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -114,7 +115,8 @@ public class CarWeiXiuJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -234,7 +236,6 @@ public class CarWeiXiuJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarWeiXiuHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarWeiXiuHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 1
src/main/java/com/nokia/finance/tasks/jobs/car/chengben/CarZuLinJob.java

@@ -43,6 +43,7 @@ public class CarZuLinJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统车辆租赁费用数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarZuLinHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -68,7 +69,8 @@ public class CarZuLinJob {
     public void singleJob(Path path) throws IOException {
         if (Files.size(path) == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         move(path);
     }

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarBaoFeiMonthTask.java

@@ -80,6 +80,7 @@ public class CarBaoFeiMonthTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆报废月数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarBaoFeiHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarBaoFeiMonthTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -255,7 +257,6 @@ public class CarBaoFeiMonthTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarBaoFeiHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarBaoFeiHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarBaseDataDayTask.java

@@ -83,6 +83,7 @@ public class CarBaseDataDayTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆基本信息日数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarBaseDataDayHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -123,7 +124,8 @@ public class CarBaseDataDayTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -273,7 +275,6 @@ public class CarBaseDataDayTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarBaseDataDayHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarBaseDataDayHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 4 - 3
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarLiChengDayTask.java

@@ -72,7 +72,7 @@ public class CarLiChengDayTask {
     public void runJob() {
         List<DataLogPo> dataLogPoList = new ArrayList<>();
         // 数据目录
-        Path dir = Paths.get(jobConfig.getCarBaseDataDaySourcePath());
+        Path dir = Paths.get(jobConfig.getCarLiChengDaySourcePath());
         try (Stream<Path> stream = Files.list(dir)) {
             // 获取数据目录下的文件列表
             List<Path> pathList = stream.filter(t -> !t.toString().toLowerCase().endsWith(".md5") && !t.toString().toLowerCase().endsWith(".dat")).sorted().toList();
@@ -80,6 +80,7 @@ public class CarLiChengDayTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆行驶里程日数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarLiChengDayHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarLiChengDayTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -258,7 +260,6 @@ public class CarLiChengDayTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarLiChengDayHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarLiChengDayHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarLiChengMonthTask.java

@@ -80,6 +80,7 @@ public class CarLiChengMonthTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆行驶里程月数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarLiChengMonthHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarLiChengMonthTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -260,7 +262,6 @@ public class CarLiChengMonthTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarLiChengMonthHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarLiChengMonthHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 4 - 5
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarWuDanYongCheDayTask.java

@@ -80,6 +80,7 @@ public class CarWuDanYongCheDayTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆无单用车报警日统计数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarWuDanYongCheDayHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarWuDanYongCheDayTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -183,7 +185,6 @@ public class CarWuDanYongCheDayTask {
         List<AreaPo> districts = areaService.getDistricts();
         Map<String, AreaPo> areaMap = areaService.getAreaMap(cities, districts);
         Map<String, List<AreaPo>> districtListMap = areaService.getDistrictListMap(cities, districts);
-        String lastMonth = LocalDateTime.now().minusMonths(1).format(DateTimeFormatter.ofPattern("yyyyMM"));
         for (Map<String, String> map : list) {
             String weiGuiKaiShiShiJian = map.get("wei_gui_kai_shi_shi_jian");
             LocalDateTime localDateTime = LocalDateTime.parse(weiGuiKaiShiShiJian,
@@ -237,8 +238,7 @@ public class CarWuDanYongCheDayTask {
         }
         // 去重
         return list.stream().filter(distinctByKey(map -> map.get("che_pai_hao") 
-                        + map.get("wei_gui_kai_shi_shi_jian")))
-                .filter(t -> lastMonth.equals(t.get("year_month"))).toList();
+                        + map.get("wei_gui_kai_shi_shi_jian"))).toList();
     }
 
     /**
@@ -257,7 +257,6 @@ public class CarWuDanYongCheDayTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarWuDanYongCheDayHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarWuDanYongCheDayHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 7 - 6
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarWuDanYongCheMonthTask.java

@@ -80,6 +80,7 @@ public class CarWuDanYongCheMonthTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆无单用车报警月统计数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarWuDanYongCheHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarWuDanYongCheMonthTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -183,7 +185,6 @@ public class CarWuDanYongCheMonthTask {
         List<AreaPo> districts = areaService.getDistricts();
         Map<String, AreaPo> areaMap = areaService.getAreaMap(cities, districts);
         Map<String, List<AreaPo>> districtListMap = areaService.getDistrictListMap(cities, districts);
-        String lastMonth = LocalDateTime.now().minusMonths(1).format(DateTimeFormatter.ofPattern("yyyyMM"));
         for (Map<String, String> map : list) {
             String weiGuiKaiShiShiJian = map.get("wei_gui_kai_shi_shi_jian");
             LocalDateTime localDateTime = LocalDateTime.parse(weiGuiKaiShiShiJian,
@@ -236,9 +237,10 @@ public class CarWuDanYongCheMonthTask {
             map.put("source", path.getFileName().toString());
         }
         // 去重
-        return list.stream().filter(distinctByKey(map -> map.get("che_pai_hao") 
-                        + map.get("wei_gui_kai_shi_shi_jian")))
-                .filter(t -> lastMonth.equals(t.get("year_month"))).toList();
+        return list.stream()
+                .filter(t -> t.get("month_id").equals(t.get("year_month")))
+                .filter(distinctByKey(map -> map.get("che_pai_hao")
+                        + map.get("wei_gui_kai_shi_shi_jian"))).toList();
     }
 
     /**
@@ -257,7 +259,6 @@ public class CarWuDanYongCheMonthTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarWuDanYongCheHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarWuDanYongCheHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 4 - 3
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYongCheDayTask.java

@@ -76,6 +76,7 @@ public class CarYongCheDayTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆用车日统计数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarYongCheDayHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -116,7 +117,8 @@ public class CarYongCheDayTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -243,7 +245,6 @@ public class CarYongCheDayTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarYongCheDayHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarYongCheDayHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);
@@ -266,7 +267,7 @@ public class CarYongCheDayTask {
      * @param path 文件路径
      */
     public void copyCsv(Path path) {
-        String dbTable = "car.car_yong_che";
+        String dbTable = "car.car_yong_che_day";
         String csv = path.toString();
         String columns = "(month_id,day_id,shen_qing_dan_hao,pai_qian_dan_hao,shen_qing_lei_xing,che_pai_hao,che_liang_lei_xing,che_liang_ji_bie,si_ji_ming_cheng,yong_che_ren,yong_che_bu_men,yong_che_shi_you,chu_fa_di,mu_di_di,chu_fa_shi_jian,gui_dui_shi_jian,xing_shi_li_cheng,chu_che_shi_chang,year_month,year_no,month_no,raw_che_pai_hao,che_pai_fail,first_unit,second_unit,third_unit,area_no,area_name,city_no,city_name,area_no2,area_name2,city_id,city,district_id,district,bao_fei,source)";
         Long timeout = 60000L;

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYongCheMonthTask.java

@@ -76,6 +76,7 @@ public class CarYongCheMonthTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆用车月统计数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarYongCheHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -116,7 +117,8 @@ public class CarYongCheMonthTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -243,7 +245,6 @@ public class CarYongCheMonthTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarYongCheHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarYongCheHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/rx/CarYueJieDayTask.java

@@ -80,6 +80,7 @@ public class CarYueJieDayTask {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("睿行车辆越界报警日数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarYueJieHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -120,7 +121,8 @@ public class CarYueJieDayTask {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -257,7 +259,6 @@ public class CarYueJieDayTask {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("去重后条数条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarYueJieHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarYueJieHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/shujucangku/CarFeeBsJob.java

@@ -65,6 +65,7 @@ public class CarFeeBsJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北价值管理平台北十车辆费用月数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarFeeBsHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -105,7 +106,8 @@ public class CarFeeBsJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -191,7 +193,6 @@ public class CarFeeBsJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarFeeBsHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarFeeBsHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/car/shujucangku/CarFeeHbJob.java

@@ -73,6 +73,7 @@ public class CarFeeHbJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北价值管理平台省内车辆费用月数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getCarFeeHbHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -113,7 +114,8 @@ public class CarFeeHbJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -224,7 +226,6 @@ public class CarFeeHbJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getCarFeeHbHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getCarFeeHbHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 2
src/main/java/com/nokia/finance/tasks/jobs/house/chengben/HouseBuildingRepairMonthJob.java

@@ -65,6 +65,7 @@ public class HouseBuildingRepairMonthJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统自有类房产维修数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getHouseBuildingRepairMonthHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -105,7 +106,8 @@ public class HouseBuildingRepairMonthJob {
         dataLogPoList.add(dataLogPo);
         if (fileSize == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         List<Map<String, String>> list = readFile(path);
         List<Map<String, String>> distinctList = dataProcessing(path, list);
@@ -204,7 +206,6 @@ public class HouseBuildingRepairMonthJob {
      */
     public Path toCsv(Path path, List<Map<String, String>> list) throws IOException {
         log.info("条数:{}", list.size());
-        Files.createDirectories(Paths.get(jobConfig.getHouseBuildingRepairMonthHistoryPath()));
         Path csvPath = Paths.get(jobConfig.getHouseBuildingRepairMonthHistoryPath() + path.getFileName() + ".csv");
         try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(csvPath),
                 StandardCharsets.UTF_8);

+ 3 - 1
src/main/java/com/nokia/finance/tasks/jobs/house/chengben/HouseRentInRepairMonthJob.java

@@ -43,6 +43,7 @@ public class HouseRentInRepairMonthJob {
             if (CollectionUtils.isEmpty(pathList)) {
                 throw new MyRuntimeException("河北成本管理系统不动产租赁房产维修数据没有文件");
             }
+            Files.createDirectories(Paths.get(jobConfig.getHouseRentInRepairMonthHistoryPath()));
             for (Path path : pathList) {
                 CompletableFuture.runAsync(() -> {
                     try {
@@ -68,7 +69,8 @@ public class HouseRentInRepairMonthJob {
     public void singleJob(Path path) throws IOException {
         if (Files.size(path) == 0) {
             move(path);
-            throw new MyRuntimeException(path.getFileName() + " 空文件");
+            log.error("{} 空文件", path.getFileName());
+            return;
         }
         move(path);
     }

+ 9 - 9
src/main/resources/application-dev.yml

@@ -9,8 +9,8 @@ spring:
     driver-class-name: org.postgresql.Driver
     username: postgres
     password: Test!234
-#    url: jdbc:postgresql://127.0.0.1:5432/financialdb
-    url: jdbc:postgresql://192.168.211.128:5432/financialdb
+    url: jdbc:postgresql://127.0.0.1:5432/financialdb
+#    url: jdbc:postgresql://192.168.65.128:5432/financialdb
 #    url: jdbc:postgresql://172.16.107.5:5432/financialdb
 #    username: finance
 #    password: Finance@unicom23
@@ -21,8 +21,8 @@ minio:
   accessKey: house-car
   bucket: house-car
 #  endpoint: http://192.168.10.7:19000/
-#  endpoint: http://127.0.0.1:19000/
-  endpoint: http://192.168.65.128:19000/
+  endpoint: http://127.0.0.1:19000/
+#  endpoint: http://192.168.65.128:19000/
   expiry: 15
   secretKey: EGqIq7zKZwfasMQ5eLIoLId631vmLaal
 job:
@@ -43,7 +43,7 @@ job:
     # 睿行车辆越界报警日数据归档路径
     car-yue-jie-history-path: data/history/rxftp/yjbjrtj/
     # 睿行车辆报废月数据路径
-    car-bao-fei-source-path: data/rxftp/clbf/
+    car-bao-fei-source-path: data/jzftp/rx/HE_M_DEMP_CLBF
     # 睿行车辆报废月数据归档路径
     car-bao-fei-history-path: data/history/rxftp/clbf/
     # 睿行车辆行驶里程月数据路径
@@ -59,13 +59,13 @@ job:
     # 睿行车辆用车月统计数据归档路径
     car-yong-che-history-path: data/history/rxftp/wdycbjytjcccs/
     # 睿行车辆无单用车报警日统计数据路径
-    car-wu-dan-yong-che-day-source-path: data/jzftp/rx/HE_D_DEMP_WDYCBJRTJCCCS
+    car-wu-dan-yong-che-day-source-path: data/jzftp/rx/HE_D_DEMP_WDYCBJRTJBJCS
     # 睿行车辆无单用车报警日统计数据归档路径
-    car-wu-dan-yong-che-day-history-path: data/history/rxftp/HE_D_DEMP_WDYCBJRTJCCCS
+    car-wu-dan-yong-che-day-history-path: data/history/rxftp/HE_D_DEMP_WDYCBJRTJBJCS/
     # 睿行车辆用车日统计数据路径
-    car-yong-che-day-source-path: data/jzftp/rx/HE_D_DEMP_WDYCBJRTJBJCS
+    car-yong-che-day-source-path: data/jzftp/rx/HE_D_DEMP_WDYCBJRTJCCCS
     # 睿行车辆用车月统计数据归档路径
-    car-yong-che-day-history-path: data/history/rxftp/HE_D_DEMP_WDYCBJRTJBJCS
+    car-yong-che-day-history-path: data/history/rxftp/HE_D_DEMP_WDYCBJRTJCCCS/
     # 河北成本管理系统车辆燃油数据路径
     car-ran-you-source-path: data/jzftp/HE_M_MTC_VEHICLE_OIL/
     # 河北成本管理系统车辆燃油数据归档路径

+ 5 - 5
src/main/resources/application-prod.yml

@@ -35,7 +35,7 @@ job:
     # 睿行车辆越界报警日数据归档路径
     car-yue-jie-history-path: /data/history/rxftp/yjbjrtj/
     # 睿行车辆报废月数据路径
-    car-bao-fei-source-path: /data/rxftp/clbf/
+    car-bao-fei-source-path: /data/jzftp/rx/HE_M_DEMP_CLBF
     # 睿行车辆报废月数据归档路径
     car-bao-fei-history-path: /data/history/rxftp/clbf/
     # 睿行车辆行驶里程月数据路径
@@ -51,13 +51,13 @@ job:
     # 睿行车辆用车日统计数据归档路径
     car-yong-che-history-path: /data/history/rxftp/wdycbjytjcccs/
     # 睿行车辆无单用车报警日统计数据路径
-    car-wu-dan-yong-che-day-source-path: /data/jzftp/rx/HE_D_DEMP_WDYCBJRTJCCCS
+    car-wu-dan-yong-che-day-source-path: /data/jzftp/rx/HE_D_DEMP_WDYCBJRTJBJCS
     # 睿行车辆无单用车报警日统计数据归档路径
-    car-wu-dan-yong-che-day-history-path: /data/history/rxftp/HE_D_DEMP_WDYCBJRTJCCCS
+    car-wu-dan-yong-che-day-history-path: /data/history/rxftp/HE_D_DEMP_WDYCBJRTJBJCS/
     # 睿行车辆用车日统计数据路径
-    car-yong-che-day-source-path: /data/jzftp/rx/HE_D_DEMP_WDYCBJRTJBJCS
+    car-yong-che-day-source-path: /data/jzftp/rx/HE_D_DEMP_WDYCBJRTJCCCS
     # 睿行车辆用车月统计数据归档路径
-    car-yong-che-day-history-path: /data/history/rxftp/HE_D_DEMP_WDYCBJRTJBJCS
+    car-yong-che-day-history-path: /data/history/rxftp/HE_D_DEMP_WDYCBJRTJCCCS/
     # 河北成本管理系统车辆燃油数据路径
     car-ran-you-source-path: /data/jzftp/HE_M_MTC_VEHICLE_OIL/
     # 河北成本管理系统车辆燃油数据归档路径