From db14f311bfa3daba9e43fcad895048cbe2576c04 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期二, 22 十一月 2022 17:40:05 +0800
Subject: [PATCH] fix(quartz): 调整定时任务判断逻辑

---
 src/main/java/com/integrated/zyyt/ZyytQuartz.java          |   52 -----
 src/main/java/com/integrated/zyyt/util/ZyytUtil.java       |  172 +++++++++++++++++++++
 src/main/resources/application-dev.yml                     |   10 -
 src/main/java/com/integrated/zyyt/service/ZyytService.java |  234 ++++++++---------------------
 src/main/resources/application.yml                         |    8 -
 5 files changed, 244 insertions(+), 232 deletions(-)

diff --git a/src/main/java/com/integrated/zyyt/ZyytQuartz.java b/src/main/java/com/integrated/zyyt/ZyytQuartz.java
index a55a22f..8aa5dcd 100644
--- a/src/main/java/com/integrated/zyyt/ZyytQuartz.java
+++ b/src/main/java/com/integrated/zyyt/ZyytQuartz.java
@@ -1,7 +1,7 @@
 package com.integrated.zyyt;
 
-import cn.hutool.core.convert.Convert;
 import com.integrated.zyyt.service.ZyytService;
+import com.integrated.zyyt.util.ZyytUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.jdbc.core.JdbcTemplate;
@@ -10,7 +10,6 @@
 import javax.annotation.Resource;
 import java.time.LocalDate;
 import java.time.temporal.ChronoUnit;
-import java.util.Map;
 
 /**
  * @ClassName ZyytQuartz
@@ -31,7 +30,7 @@
     @Scheduled(cron = "0 0/30 * * * ?")
     private void stationInfoTask() {
         LocalDate yestDay = LocalDate.now().minus(1, ChronoUnit.DAYS);
-        if (canGetAgain("STATIONINFO", yestDay)) {
+        if (ZyytUtil.canGetAgain("STATIONINFO", yestDay)) {
             log.info("鎵цstationInfoTask--{}", yestDay);
             zyytService.stationInfoTasks();
         } else {
@@ -43,7 +42,7 @@
     @Scheduled(cron = "0 3/30  * * * ?")
     private void shkdrbTasks() {
         LocalDate yestDay = LocalDate.now().minus(1, ChronoUnit.DAYS);
-        if (canGetAgain("YYZT_T_SHKDRB", yestDay)) {
+        if (ZyytUtil.canGetAgain("YYZT_T_SHKDRB", yestDay)) {
             log.info("鎵цshkdrbTasks--{}", yestDay);
             zyytService.shkdrbTasks(yestDay);
         } else {
@@ -51,55 +50,14 @@
         }
     }
 
-    @Scheduled(cron = "0 5/30 * * * ?")
+    @Scheduled(cron = "0 7/30 * * * ?")
     private void djtjbTasks() {
         LocalDate yestDay = LocalDate.now().minus(1, ChronoUnit.DAYS);
-        if (!canGetAgain("YYZT_T_DJTJB", yestDay)) {
+        if (!ZyytUtil.canGetAgain("YYZT_T_DJTJB", yestDay)) {
             log.info("鏀惧純鎵цdjtjbTasks--{}", yestDay);
         }
         log.info("鎵цdjtjbTasks--{}", yestDay);
         zyytService.djtjbTasks(yestDay);
     }
 
-    /**
-     * 鍒ゆ柇鎸囧畾鏃ユ湡鏄惁闇�瑕侀噸鏂版墽琛�
-     *
-     * @param tableName
-     * @param date
-     * @return true 闇�瑕佹墽琛岋紝false 涓嶉渶瑕�
-     */
-    private boolean canGetAgain(String tableName, LocalDate date) {
-        String sql = "SELECT*FROM (SELECT*FROM ZYYT_RECORD WHERE BATCH_NO='" + ZyytConstant.batchNoPrefix + date + "'  AND TABLE_NAME='" + tableName + "' ORDER BY START_TIME DESC) tmp WHERE ROWNUM<=1";
-        Map<String, Object> map = null;
-        try {
-            map = jdbcTemplate.queryForMap(sql);
-        } catch (Exception e) {
-            log.info("sql=={}娌℃湁鏌ヨ鍒版暟鎹�", sql);
-        }
-        if (map != null) {
-            String isFinish = Convert.toStr(map.get("IS_FINISH"));
-            if (!"1".equals(isFinish)) {
-                return false;
-            }
-            //涓嬮潰 isFinish閮芥槸1
-            String isError = Convert.toStr(map.get("IS_ERROR"));
-            if ("1".equals(isError)) {
-                // 鎵ц鏈夎
-                return true;
-            }
-
-            // 鎴愬姛鎵ц娌℃湁閿�
-            String countNum = Convert.toStr(map.get("COUNT_NUM"));
-            if ("0".equals(countNum)) {
-                //娌℃湁鎷夊彇鍒版暟鎹�
-                log.info("stationInfoTask");
-                return true;
-            }
-        } else {
-            // 璇ユ壒娆℃湭鎵ц
-            log.info("stationInfoTask");
-            return true;
-        }
-        return false;
-    }
 }
diff --git a/src/main/java/com/integrated/zyyt/service/ZyytService.java b/src/main/java/com/integrated/zyyt/service/ZyytService.java
index 9ff0908..4e7b1f4 100644
--- a/src/main/java/com/integrated/zyyt/service/ZyytService.java
+++ b/src/main/java/com/integrated/zyyt/service/ZyytService.java
@@ -1,18 +1,11 @@
 package com.integrated.zyyt.service;
 
-import cn.hutool.core.convert.Convert;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.integrated.zyyt.ZyytConstant;
 import com.integrated.zyyt.enetity.StationInfo;
 import com.integrated.zyyt.enetity.YyztTDjtjb;
 import com.integrated.zyyt.enetity.YyztTShkdrb;
 import com.integrated.zyyt.enetity.ZyytDataResult;
 import com.integrated.zyyt.enetity.business.Zyyt;
-import com.integrated.zyyt.enetity.business.ZyytStationInfo;
-import com.integrated.zyyt.enetity.business.ZyytTDjtjb;
-import com.integrated.zyyt.enetity.business.ZyytTShkdrb;
 import com.integrated.zyyt.util.ZyytUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.jdbc.core.BatchPreparedStatementSetter;
@@ -29,43 +22,25 @@
 import java.time.temporal.ChronoUnit;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
 @Service
 @Slf4j
 @Transactional(rollbackFor = Exception.class)
 public class ZyytService {
-//    @Resource
-//    private NamedParameterJdbcTemplate namedParameterJdbcTemplate;
-
     @Resource
     private JdbcTemplate jdbcTemplate;
-
-    //    private Integer getBatchIsFinish(String batchNo) {
-//        String querySql = "select IS_FINISH from ZYYT_RECORD where BATCH_NO = '" + batchNo+"'";
-//        return jdbcTemplate.queryForObject(querySql, Integer.class);
-//    }
-
 
     //绔欑偣淇℃伅琛�
     public void stationInfoTasks() {
         log.info("寮�濮嬭繘琛� 鏈烘瀯鍚屾");
         LocalDate yestDay = LocalDate.now().minus(1, ChronoUnit.DAYS);
         String batchNo = ZyytUtil.getBatchNo(yestDay);
-        if (!canGetAgain("STATIONINFO", yestDay)) {
+        if (ZyytUtil.isRunning("STATIONINFO", yestDay)) {
             log.info("鎵规{}姝e湪杩愯", batchNo);
             return;
         }
-        JSONObject queryParams = new JSONObject();
-        Zyyt<StationInfo> stationInfoService = new ZyytStationInfo(
-                ZyytConstant.URL_AUTHON,
-                ZyytConstant.URL_STATIONINFO_QUERY,
-                false,
-                ZyytConstant.CLIENT_STATIONINFO,
-                ZyytConstant.SECRET_STATIONINFO,
-                ZyytConstant.X_EOS_SOURCESYSKEY_STATIONINFO,
-                queryParams
-        );
+
+        Zyyt<StationInfo> stationInfoService = ZyytUtil.getBusinessEntity("STATIONINFO", yestDay);
         String exeSql = "merge into STATIONINFO A USING" +
                 " (select ? V_JGBH  from dual ) C " +
                 "ON(A.V_JGBH=C.V_JGBH) " +
@@ -86,17 +61,11 @@
 
         try {
             // 鏌ヨ鎬绘暟
-            ZyytDataResult<StationInfo> zyytDataResult = stationInfoService.getData(pageNum, 1);
-            Long totalElements = zyytDataResult.getTotalElements();
-
-            Long totalPages = 0L;
-            totalPages = totalElements / pageSize;
-            if (totalElements % pageSize != 0) {
-                totalPages++;
-            }
-            log.info("鍏眥}椤碉紝{}鏉℃暟鎹�", totalPages, totalElements);
+            Long totalElements = ZyytUtil.getApiTotalElements("STATIONINFO", yestDay);
+            Long totalPages = ZyytUtil.calcPages(totalElements, pageSize);
+            log.info("鍏眥}鏉℃暟鎹�,姣忛〉{}鏉★紝鍙垎{}椤碉紝", totalElements, pageSize, totalPages);
             for (pageNum = 0; pageNum <= totalPages - 1; pageNum++) {
-                zyytDataResult = stationInfoService.getData(pageNum, pageSize);
+                ZyytDataResult<StationInfo> zyytDataResult = stationInfoService.getData(pageNum, pageSize);
 
                 List<StationInfo> stationInfoList = zyytDataResult.getContent();
                 log.info("绗瑊}娆¤幏鍙�,鏈鑾峰彇鍒皗}鏉℃暟鎹�", pageNum + 1, zyytDataResult.getContentSize());
@@ -205,7 +174,7 @@
             return;
         }
         stationInfoService.updateRecord(recordId, 0, totalSize, null);
-        log.info("路路路路路路路路路路路涓偖鏄撻�� 绔欑偣淇℃伅 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路");
+        log.info("路路路路路路路路路路路涓偖鏄撻�� {}绔欑偣淇℃伅 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路", yestDay);
     }
 
 
@@ -217,12 +186,7 @@
     public void shkdrbTasks(LocalDate date) {
         log.info("寮�濮嬭繘琛� 绀句細蹇�掓棩鎶ヨ〃");
         String batchNo = ZyytUtil.getBatchNo(date);
-//        Integer batchIsFinish = getBatchIsFinish(batchNo);
-//        if (batchIsFinish != null && batchIsFinish == 0) {
-//            log.info("鎵规{}姝e湪杩愯", batchNo);
-//            return;
-//        }
-        if (!canGetAgain("YYZT_T_SHKDRB", date)) {
+        if (ZyytUtil.isRunning("YYZT_T_SHKDRB", date)) {
             log.info("YYZT_T_SHKDRB 鐨� 鎵规{}姝e湪杩愯", batchNo);
             return;
         }
@@ -231,34 +195,7 @@
         String delSql = "delete from YYZT_T_SHKDRB where BATCH_NO='" + batchNo + "'";
         jdbcTemplate.update(delSql);
 
-
-        // 璁剧疆璇锋眰鍙傛暟
-        JSONObject queryParams = new JSONObject();
-        JSONObject criteria = new JSONObject();
-        criteria.put("match", "and");
-
-        JSONArray matchChildren = new JSONArray();
-        JSONObject children1 = new JSONObject();
-        children1.put("name", "dRbrq");
-        JSONArray child1C = new JSONArray();
-        child1C.add(date + " 00:00:00");
-        children1.put("value", child1C);
-        children1.put("match", "eq");
-        matchChildren.add(children1);
-
-        criteria.put("children", matchChildren);
-
-        queryParams.put("criteria", criteria);
-
-        Zyyt<YyztTShkdrb> stationInfoService = new ZyytTShkdrb(
-                ZyytConstant.URL_AUTHON,
-                ZyytConstant.URL_SHKDRB_QUERY,
-                false,
-                ZyytConstant.CLIENT_SHKDRB,
-                ZyytConstant.SECRET_SHKDRB,
-                ZyytConstant.X_EOS_SOURCESYSKEY_SHKDRB,
-                queryParams
-        );
+        Zyyt<YyztTShkdrb> stationInfoService = ZyytUtil.getBusinessEntity("YYZT_T_SHKDRB", date);
         Long recordId = stationInfoService.insertRecord("YYZT_T_SHKDRB", batchNo);
         Long totalSize = 0L;
 
@@ -271,17 +208,12 @@
             String batchInsertSql = "INSERT INTO YYZT_T_SHKDRB (\"V_SFDM\",\"V_SFMC\",\"V_DSDM\",\"V_DSMC\",\"V_QXDM\",\"V_XSMC\",\"V_TDJGBH\",\"V_TDJGMC\",\"V_JGBH\",\"V_JGMC\",\"D_RBRQ\",\"N_ZGYZLJS\",\"N_ZGYZQJS\",\"N_SHKDLJS\",\"N_SHKDQJS\",\"N_ZTLJS\",\"N_ZTQJS\",\"N_YTLJS\",\"N_YTQJS\",\"N_STLJS\",\"N_STQJS\",\"N_BSLJS\",\"N_BSQJS\",\"N_YDLJS\",\"N_YDQJS\",\"N_YFLJS\",\"N_YFQJS\",\"N_JDLJS\",\"N_JDQJS\",\"N_JTLJS\",\"N_JTQJS\",\"N_TTLJS\",\"N_TTQJS\",\"N_DBLJS\",\"N_DBQJS\",\"N_DNLJS\",\"N_DNQJS\",\"N_FWLJS\",\"N_FWQJS\",\"N_YSLJS\",\"N_YSQJS\",\"N_QTLJS\",\"N_QTQJS\",\"RESERVED1\",\"RESERVED2\",\"RESERVED3\",\"RESERVED4\",\"BATCH_NO\") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
 
             // 鏌ヨ鎬绘暟
-            ZyytDataResult<YyztTShkdrb> zyytDataResult = stationInfoService.getData(pageNum, 1);
-            Long totalElements = zyytDataResult.getTotalElements();
-            Long totalPages = 0L;
-            totalPages = totalElements / pageSize;
-            if (totalElements % pageSize != 0) {
-                totalPages++;
-            }
+            Long totalElements = ZyytUtil.getApiTotalElements("YYZT_T_SHKDRB", date);
+            Long totalPages = ZyytUtil.calcPages(totalElements, pageSize);
+            log.info("绀句細蹇�掓棩鎶ヨ〃(YYZT_T_SHKDRB) 鍏眥}鏉℃暟鎹�,姣忛〉{}鏉★紝鍙垎{}椤碉紝", totalElements, pageSize, totalPages);
 
-            log.info("鍏眥}椤碉紝{}鏉℃暟鎹�", totalPages, totalElements);
             for (pageNum = 0; pageNum <= totalPages - 1; pageNum++) {
-                zyytDataResult = stationInfoService.getData(pageNum, pageSize);
+                ZyytDataResult<YyztTShkdrb> zyytDataResult = stationInfoService.getData(pageNum, pageSize);
 
                 List<YyztTShkdrb> stationInfoList = zyytDataResult.getContent();
                 totalSize += zyytDataResult.getContentSize();
@@ -372,20 +304,16 @@
             return;
         }
         stationInfoService.updateRecord(recordId, 0, totalSize, null);
-        log.info("路路路路路路路路路路路涓偖鏄撻�� 绀句細蹇�掓棩鎶ヨ〃 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路");
+        log.info("路路路路路路路路路路路涓偖鏄撻�� 绀句細蹇�掓棩鎶ヨ〃{} 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路", date);
     }
 
 
     // 浠e瘎缁熻琛�
     public void djtjbTasks(LocalDate date) {
-        log.info("寮�濮嬭繘琛� 浠e瘎缁熻琛�");
+        log.info("寮�濮嬭繘琛� 浠e瘎缁熻琛� -- {}", date);
         String batchNo = ZyytUtil.getBatchNo(date);
-//        Integer batchIsFinish = getBatchIsFinish(batchNo);
-//        if (batchIsFinish != null && batchIsFinish == 0) {
-//            log.info("鎵规{}姝e湪杩愯", batchNo);
-//            return;
-//        }
-        if (!canGetAgain("YYZT_T_DJTJB", date)) {
+
+        if (ZyytUtil.isRunning("YYZT_T_DJTJB", date)) {
             log.info("YYZT_T_DJTJB 鐨� 鎵规{}姝e湪杩愯", batchNo);
             return;
         }
@@ -394,33 +322,7 @@
         String delSql = "delete from YYZT_T_DJTJB where BATCH_NO='" + batchNo + "'";
         jdbcTemplate.update(delSql);
 
-        // 璁剧疆璇锋眰鍙傛暟
-        JSONObject queryParams = new JSONObject();
-        JSONObject criteria = new JSONObject();
-        criteria.put("match", "and");
-
-        JSONArray matchChildren = new JSONArray();
-        JSONObject children1 = new JSONObject();
-        children1.put("name", "dRbrq");
-        JSONArray child1C = new JSONArray();
-        child1C.add(date + " 00:00:00");
-        children1.put("value", child1C);
-        children1.put("match", "eq");
-        matchChildren.add(children1);
-
-        criteria.put("children", matchChildren);
-
-        queryParams.put("criteria", criteria);
-
-        Zyyt<YyztTDjtjb> stationInfoService = new ZyytTDjtjb(
-                ZyytConstant.URL_AUTHON,
-                ZyytConstant.URL_DJTJB_QUERY,
-                false,
-                ZyytConstant.CLIENT_DJTJB,
-                ZyytConstant.SECRET_DJTJB,
-                ZyytConstant.X_EOS_SOURCESYSKEY_DJTJB,
-                queryParams
-        );
+        Zyyt<YyztTDjtjb> stationInfoService = ZyytUtil.getBusinessEntity("YYZT_T_DJTJB", date);
         Long recordId = stationInfoService.insertRecord("YYZT_T_DJTJB", batchNo);
         Long totalSize = 0L;
         //璁剧疆鍥炴粴鐐�
@@ -432,16 +334,12 @@
 
             String batchInsertSql = "INSERT INTO YYZT_T_DJTJB (\"V_SFDM\", \"V_SFMC\", \"V_DSDM\", \"V_DSMC\", \"V_QXDM\", \"V_XSMC\", \"V_TDJGBH\", \"V_JGBH\", \"V_JGMC\", \"D_RBRQ\", \"V_YLGZDID\", \"V_YLGZDMC\", \"N_SJYWL\", \"N_TKYWL\", \"N_BKYEL\", \"N_SJZJE\", \"N_TKSR\", \"N_BKSR\", \"BATCH_NO\") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
             // 鏌ヨ鎬绘暟
-            ZyytDataResult<YyztTDjtjb> zyytDataResult = stationInfoService.getData(pageNum, 1);
-            Long totalElements = zyytDataResult.getTotalElements();
-            Long totalPages = 0L;
-            totalPages = totalElements / pageSize;
-            if (totalElements % pageSize != 0) {
-                totalPages++;
-            }
-            log.info("鍏眥}椤碉紝{}鏉℃暟鎹�", totalPages, totalElements);
+            Long totalElements = ZyytUtil.getApiTotalElements("YYZT_T_DJTJB", date);
+            Long totalPages = ZyytUtil.calcPages(totalElements, pageSize);
+            log.info("鍏眥}鏉℃暟鎹�,姣忛〉{}鏉★紝鍙垎{}椤碉紝", totalElements, pageSize, totalPages);
+
             for (pageNum = 0; pageNum <= totalPages - 1; pageNum++) {
-                zyytDataResult = stationInfoService.getData(pageNum, pageSize);
+                ZyytDataResult<YyztTDjtjb> zyytDataResult = stationInfoService.getData(pageNum, pageSize);
                 List<YyztTDjtjb> djtjbList = zyytDataResult.getContent();
                 totalSize += zyytDataResult.getContentSize();
                 log.info("绗瑊}娆¤幏鍙�,鏈鑾峰彇鍒皗}鏉℃暟鎹�", pageNum + 1, zyytDataResult.getContentSize());
@@ -504,48 +402,48 @@
         }
 
         stationInfoService.updateRecord(recordId, 0, totalSize, null);
-        log.info("路路路路路路路路路路路涓偖鏄撻�� 浠e瘎缁熻琛� 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路");
+        log.info("路路路路路路路路路路路涓偖鏄撻�� 浠e瘎缁熻琛� -- [{}] 浠诲姟鎵ц瀹屾瘯路路路路路路路路路路路", date);
     }
 
-    /**
-     * 鍒ゆ柇鎸囧畾鏃ユ湡鏄惁闇�瑕侀噸鏂版墽琛�
-     *
-     * @param tableName
-     * @param date
-     * @return true 闇�瑕佹墽琛岋紝false 涓嶉渶瑕�
-     */
-    private boolean canGetAgain(String tableName, LocalDate date) {
-        String sql = "SELECT*FROM (SELECT*FROM ZYYT_RECORD WHERE BATCH_NO='" + ZyytConstant.batchNoPrefix + date + "'  AND TABLE_NAME='" + tableName + "' ORDER BY START_TIME DESC) tmp WHERE ROWNUM<=1";
-        Map<String, Object> map = null;
-        try {
-            map = jdbcTemplate.queryForMap(sql);
-        } catch (Exception e) {
-            log.info("sql=={}娌℃湁鏌ヨ鍒版暟鎹�", sql);
-        }
-        if (map != null) {
-            String isFinish = Convert.toStr(map.get("IS_FINISH"));
-            if (!"1".equals(isFinish)) {
-                return false;
-            }
-            //涓嬮潰 isFinish閮芥槸1
-            String isError = Convert.toStr(map.get("IS_ERROR"));
-            if ("1".equals(isError)) {
-                // 鎵ц鏈夎
-                return true;
-            }
-
-            // 鎴愬姛鎵ц娌℃湁閿�
-            String countNum = Convert.toStr(map.get("COUNT_NUM"));
-            if ("0".equals(countNum)) {
-                //娌℃湁鎷夊彇鍒版暟鎹�
-                log.info("stationInfoTask");
-                return true;
-            }
-        } else {
-            // 璇ユ壒娆℃湭鎵ц
-            log.info("stationInfoTask");
-            return true;
-        }
-        return false;
-    }
+//    /**
+//     * 鍒ゆ柇鎸囧畾鏃ユ湡鏄惁闇�瑕侀噸鏂版墽琛�
+//     *
+//     * @param tableName
+//     * @param date
+//     * @return true 闇�瑕佹墽琛岋紝false 涓嶉渶瑕�
+//     */
+//    private boolean canGetAgain(String tableName, LocalDate date) {
+//        String sql = "SELECT*FROM (SELECT*FROM ZYYT_RECORD WHERE BATCH_NO='" + ZyytConstant.batchNoPrefix + date + "'  AND TABLE_NAME='" + tableName + "' ORDER BY START_TIME DESC) tmp WHERE ROWNUM<=1";
+//        Map<String, Object> map = null;
+//        try {
+//            map = jdbcTemplate.queryForMap(sql);
+//        } catch (Exception e) {
+//            log.info("sql=={}娌℃湁鏌ヨ鍒版暟鎹�", sql);
+//        }
+//        if (map != null) {
+//            String isFinish = Convert.toStr(map.get("IS_FINISH"));
+//            if (!"1".equals(isFinish)) {
+//                return false;
+//            }
+//            //涓嬮潰 isFinish閮芥槸1
+//            String isError = Convert.toStr(map.get("IS_ERROR"));
+//            if ("1".equals(isError)) {
+//                // 鎵ц鏈夎
+//                return true;
+//            }
+//
+//            // 鎴愬姛鎵ц娌℃湁閿�
+//            String countNum = Convert.toStr(map.get("COUNT_NUM"));
+//            if ("0".equals(countNum)) {
+//                //娌℃湁鎷夊彇鍒版暟鎹�
+//                log.info("stationInfoTask");
+//                return true;
+//            }
+//        } else {
+//            // 璇ユ壒娆℃湭鎵ц
+//            log.info("stationInfoTask");
+//            return true;
+//        }
+//        return false;
+//    }
 }
diff --git a/src/main/java/com/integrated/zyyt/util/ZyytUtil.java b/src/main/java/com/integrated/zyyt/util/ZyytUtil.java
index 27a424c..6320e03 100644
--- a/src/main/java/com/integrated/zyyt/util/ZyytUtil.java
+++ b/src/main/java/com/integrated/zyyt/util/ZyytUtil.java
@@ -1,17 +1,25 @@
 package com.integrated.zyyt.util;
 
+import cn.hutool.core.convert.Convert;
 import cn.hutool.http.HttpRequest;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.integrated.zyyt.ZyytConstant;
 import com.integrated.zyyt.enetity.TokenResult;
 import com.integrated.zyyt.enetity.ZyytDataResult;
+import com.integrated.zyyt.enetity.business.Zyyt;
+import com.integrated.zyyt.enetity.business.ZyytStationInfo;
+import com.integrated.zyyt.enetity.business.ZyytTDjtjb;
+import com.integrated.zyyt.enetity.business.ZyytTShkdrb;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Component;
 
 import java.time.LocalDate;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName ZyytGetData
@@ -23,6 +31,13 @@
 @Component
 @Slf4j
 public class ZyytUtil {
+    private static JdbcTemplate jdbcTemplate;
+
+    @Autowired
+    public void setAlphaService(JdbcTemplate jdbcTemplate) {
+        this.jdbcTemplate = jdbcTemplate;
+    }
+
 
     /**
      * 鑾峰彇鎵规鍙�
@@ -119,4 +134,161 @@
     }
 
 
+    /**
+     * 鏌ヨ鎵ц鏃ユ湡鏄惁鍦ㄦ墽琛�
+     *
+     * @param tableName
+     * @param date
+     */
+    public static Map<String, Object> getLastRecord(String tableName, LocalDate date) {
+        String sql = "SELECT*FROM (SELECT*FROM ZYYT_RECORD WHERE BATCH_NO='" + getBatchNo(date) + "'  AND TABLE_NAME='" + tableName + "' ORDER BY START_TIME DESC) tmp WHERE ROWNUM<=1";
+        Map<String, Object> map = null;
+        try {
+            map = jdbcTemplate.queryForMap(sql);
+        } catch (Exception e) {
+            log.error("sql=={} 鏌ヨ鍙戠敓浜嗗紓甯�,鍙兘鍥犱负娌℃湁鏌ヨ鍒版暟鎹�", sql);
+            log.error(e.getMessage());
+        }
+        return map;
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鎵规鏄惁鏈夋鍦ㄨ繍琛岀殑浠诲姟
+     *
+     * @param tableName
+     * @param date
+     * @return true 姝e湪杩愯 false 娌℃湁杩愯
+     */
+    public static boolean isRunning(String tableName, LocalDate date) {
+        Map<String, Object> lastRecord = getLastRecord(tableName, date);
+        if (lastRecord != null) {
+            String isFinish = Convert.toStr(lastRecord.get("IS_FINISH"));
+            return !"1".equals(isFinish);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鎸囧畾鏃ユ湡鏄惁闇�瑕侀噸鏂版墽琛�
+     *
+     * @param tableName
+     * @param date
+     * @return true 闇�瑕佹墽琛岋紝false 涓嶉渶瑕�
+     */
+    public static boolean canGetAgain(String tableName, LocalDate date) {
+        Map<String, Object> map = getLastRecord(tableName, date);
+        if (map != null) {
+            String isFinish = Convert.toStr(map.get("IS_FINISH"));
+            if (!"1".equals(isFinish)) {
+                log.info("琛�:{} 鏃ユ湡: {}锛屼笂娆℃墽琛屾湭瀹屾垚锛屼笉鎵ц鎷夊彇", tableName, date);
+                return false;
+            }
+            //涓嬮潰 isFinish閮芥槸1
+            String isError = Convert.toStr(map.get("IS_ERROR"));
+            if ("1".equals(isError)) {
+                log.info("琛�:{} 鏃ユ湡: {}锛屼笂娆℃墽琛屾湁璇紝鎵ц鎷夊彇", tableName, date);
+                return true;
+            }
+
+            // 鎴愬姛鎵ц娌℃湁閿�
+            String countNum = Convert.toStr(map.get("COUNT_NUM"));
+            // 鍚屾帴鍙h繑鍥炵殑鏈�鏂颁笟鍔℃暟鎹潯鏁版瘮杈冿紝濡傛灉涓嶇浉鍚屽垯閲嶆柊鎷夊彇
+            Long apiTotalElements = getApiTotalElements(tableName, date);
+            if (apiTotalElements == null) {
+                log.error("API鑾峰彇鎬绘暟澶辫触锛屼笉鎵ц鎷夊彇");
+                return false;
+            }
+            if (apiTotalElements.compareTo(Convert.toLong(countNum)) == 0) {
+                log.info("API杩斿洖鎬绘暟 涓� 鏁版嵁搴撴潯鏁扮浉鍚岋紝涓嶆墽琛屾媺鍙�");
+                return false;
+            } else {
+                log.info("API杩斿洖鎬绘暟 涓� 鏁版嵁搴撴潯鏁� 涓嶇浉鍚岋紝鎵ц鎷夊彇");
+                return true;
+            }
+        } else {
+            // 璇ユ壒娆℃湭鎵ц
+            log.info("琛�:{} 鏃ユ湡: {}锛屾湭鎵ц杩�", tableName, date);
+            return true;
+        }
+    }
+
+
+    public static Zyyt getBusinessEntity(String tableName, LocalDate date) {
+        if ("STATIONINFO".equalsIgnoreCase(tableName)) {
+            new ZyytStationInfo(
+                    ZyytConstant.URL_AUTHON,
+                    ZyytConstant.URL_STATIONINFO_QUERY,
+                    false,
+                    ZyytConstant.CLIENT_STATIONINFO,
+                    ZyytConstant.SECRET_STATIONINFO,
+                    ZyytConstant.X_EOS_SOURCESYSKEY_STATIONINFO,
+                    new JSONObject()
+            );
+        } else {
+            JSONObject queryParams = new JSONObject();
+            JSONObject criteria = new JSONObject();
+            criteria.put("match", "and");
+
+            JSONArray matchChildren = new JSONArray();
+            JSONObject children1 = new JSONObject();
+            children1.put("name", "dRbrq");
+            JSONArray child1C = new JSONArray();
+            child1C.add(date + " 00:00:00");
+            children1.put("value", child1C);
+            children1.put("match", "eq");
+            matchChildren.add(children1);
+
+            criteria.put("children", matchChildren);
+
+            queryParams.put("criteria", criteria);
+            if ("YYZT_T_SHKDRB".equalsIgnoreCase(tableName)) {
+
+                return new ZyytTShkdrb(
+                        ZyytConstant.URL_AUTHON,
+                        ZyytConstant.URL_SHKDRB_QUERY,
+                        false,
+                        ZyytConstant.CLIENT_SHKDRB,
+                        ZyytConstant.SECRET_SHKDRB,
+                        ZyytConstant.X_EOS_SOURCESYSKEY_SHKDRB,
+                        queryParams
+                );
+            } else if ("YYZT_T_DJTJB".equalsIgnoreCase(tableName)) {
+                return new ZyytTDjtjb(
+                        ZyytConstant.URL_AUTHON,
+                        ZyytConstant.URL_DJTJB_QUERY,
+                        false,
+                        ZyytConstant.CLIENT_DJTJB,
+                        ZyytConstant.SECRET_DJTJB,
+                        ZyytConstant.X_EOS_SOURCESYSKEY_DJTJB,
+                        queryParams
+                );
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 鑾峰彇API涓繑鍥炵殑璁板綍鎬绘暟
+     *
+     * @param tableName
+     * @param date
+     * @return
+     */
+    public static Long getApiTotalElements(String tableName, LocalDate date) {
+        Zyyt businessEntity = getBusinessEntity(tableName, date);
+        ZyytDataResult zyytDataResult = businessEntity.getData(0, 1);
+        log.info("鎬诲叡鎷夊彇鍒版暟鎹畕}鏉�", zyytDataResult.getTotalElements());
+        return zyytDataResult.getTotalElements();
+    }
+
+    public static Long calcPages(Long totalElements, int pageSize) {
+        Long totalPages = 0L;
+        totalPages = totalElements / pageSize;
+        if (totalElements % pageSize != 0) {
+            totalPages++;
+        }
+        return totalPages;
+    }
+
 }
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index d9deb91..b1edbe1 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -35,12 +35,4 @@
   #鏈湴缂撳瓨鐩綍
   path: D:\tmp
   sftpDownload: C:\ftpData\download
-#瓒呯骇璐﹀彿
-super:
-  name: zhfwpt
-orgCode: Adu_8097
-work:
-  bathSize: 1500
-  batchInsertSize: 1000
-base:
-  url: http://localhost:9527
+
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 83fe5b7..f096262 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -15,14 +15,6 @@
       max-request-size: 200MB
   application:
     name: integrated-schedule
-  redis:
-    jedis:
-      pool:
-        max-active: 2000
-        max-wait: -1
-        max-idle: 10
-        min-idle: 0
-    timeout: 30000
   #璧勬簮鏂囦欢鏄犲皠
   resources:
     static-locations: classpath:/verifyImg/,file:${file.path}

--
Gitblit v1.9.1