From fca6e337094ebe09090ce465701450ccb818d10d Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期六, 11 一月 2025 18:24:21 +0800
Subject: [PATCH] zjh20250111

---
 ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java |  183 ++++++++++++++++++++++++++-------------------
 1 files changed, 105 insertions(+), 78 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java b/ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java
index 60d1ec7..59a0f39 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java
@@ -1,9 +1,7 @@
 package com.ltkj.web.config.timer;
 
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
-import com.ltkj.hosp.domain.TjOrder;
 import com.ltkj.hosp.mapper.TestMapper;
-import com.ltkj.hosp.mapper.TjOrderMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
 import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
@@ -12,11 +10,14 @@
 import com.ltkj.system.service.ISysConfigService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Profile;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
+import java.time.LocalTime;
+import java.time.ZonedDateTime;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
@@ -34,6 +35,7 @@
  */
 @Slf4j
 @Component
+@Profile("!dev")
 public class DefaultScheduled {
 
 
@@ -80,93 +82,118 @@
     }
 
     private void exec() {
-        log.info("浠诲姟寮�濮嬫墽琛屾椂闂� -> {}", dateTimeFormat.format(new Date()));
+        String dsqkssj = configService.selectConfigByKey("dsqkssj");
+        String dsqjssj = configService.selectConfigByKey("dsqjssj");
+        boolean panduandangqianshijian = panduandangqianshijian(dsqkssj, dsqjssj);
+        log.info("褰撳墠鏃堕棿鏄惁鍦� " + dsqkssj + " 鐐瑰埌 " + dsqjssj + " 鐐逛箣闂�: " + panduandangqianshijian);
+            String dsrwsjjg = configService.selectConfigByKey("dsrwsjjg");
+            boolean lock = reentrantLock.tryLock();
+            try {
+                if (!panduandangqianshijian) {
+                    if (lock) {
+                        log.info("浠诲姟寮�濮嬫墽琛屾椂闂� -> {}", dateTimeFormat.format(new Date()));
+                        long start = System.currentTimeMillis();
+                        // 鏌ヨ浠诲姟鏁版嵁
+                        log.info("寮�濮嬫墽琛屽悓姝� 鎵ц鏁伴噺->{}", 0);
+                        List<String> jy = orderService.getDingShiTongBuJianYanTjNum();
 
-        String dsrwsjjg = configService.selectConfigByKey("dsrwsjjg");
+                        List<String> jc = orderService.getDingShiTongBuJianChaTjNum();
 
-        boolean lock = reentrantLock.tryLock();
+
+                        if (null != jy && !jy.isEmpty()) {
+                            log.info("鍚屾妫�楠屼汉鍛� 鎵ц鏁伴噺->{}", jy.size());
+                            for (String s : jy) {
+//                        TjOrder order = orderService.getOrderByTjNum(s);
+                                extractedjianyan(s);
+                            }
+                        }
+
+
+                        if (null != jc && !jc.isEmpty()) {
+                            log.info("鍚屾妫�鏌ヤ汉鍛� 鎵ц鏁伴噺->{}", jc.size());
+                            for (String s : jc) {
+//                        TjOrder order = orderService.getOrderByTjNum(s);
+                                extractedjiancha(s);
+                            }
+                        }
+                        Map<String, Object> map = new HashMap<>();
+                        testMapper.tjplUpdateDetatilByVi(map);
+                        Integer object = (Integer) map.get("total");
+                        log.info("鎵ц瀛樺偍杩囩▼鍚庡嚭鍙�->{}", object);
+                        if (null != object && object.equals(1)) {
+                            long end = System.currentTimeMillis();
+                            log.info("鍚屾缁撴潫 鑰楁椂锛歿}绉�", (end - start) / 1000);
+                            // 鍔ㄦ�佽幏鍙栦笅娆′换鍔$殑闂撮殧
+                            int minute = Integer.parseInt(dsrwsjjg);
+                            if (minute < 5) minute = 5;
+                            if (minute > 59) minute = 59;
+                            scheduleNextTask(minute);
+                        }else {
+                            log.info("鎵ц瀛樺偍杩囩▼鍑哄弬澶辫触");
+                            scheduleNextTask(Long.parseLong(dsrwsjjg));
+                        }
+                    }
+                }else {
+                    log.info("涓嶅湪瀹氭椂鍣ㄦ墽琛屾椂闂磋寖鍥翠箣鍐�!!!");
+                    scheduleNextTask(Long.parseLong(dsrwsjjg));
+                }
+            } catch (Exception e) {
+                scheduleNextTask(Long.parseLong(dsrwsjjg));
+                log.error("瀹氭椂鍣ㄦ墽琛屾姤閿�");
+                e.printStackTrace();
+            } finally {
+                reentrantLock.unlock();
+            }
+
+    }
+
+    private boolean panduandangqianshijian(String kssj, String jssj) {
+        ZonedDateTime now = ZonedDateTime.now();
+        LocalTime time = now.toLocalTime();
+        return time.isAfter(LocalTime.of(Integer.parseInt(kssj), 0)) && time.isBefore(LocalTime.of(Integer.parseInt(jssj), 0));
+    }
+
+    private void extractedjianyan(String s) {
         try {
-            if (lock) {
-                    long start = System.currentTimeMillis();
-                    // 鏌ヨ浠诲姟鏁版嵁
-                    log.info("寮�濮嬫墽琛屽悓姝� 鎵ц鏁伴噺->{}", 0);
-                 List<String> jy= orderService.getDingShiTongBuJianYanTjNum();
-
-                List<String> jc = orderService.getDingShiTongBuJianChaTjNum();
-
-                if(null !=jy && !jy.isEmpty()){
-                    for (String s : jy) {
-                        TjOrder order = orderService.getOrderByTjNum(s);
-                        extractedjianyan(s,order);
+            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s);
+            if (null != hysqdList && !hysqdList.isEmpty()) {
+                for (LtkjHysqd hysqd : hysqdList) {
+                    LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh());
+                    if (null != jybgid) {
+                        ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh());
+                        ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
+                    }
+                    if (ltkjHysqdService.save(hysqd)) {
+                        List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
+                        ltkjHybgdService.saveBatch(hybgdList);
                     }
                 }
-
-                if(null !=jc && !jc.isEmpty()){
-                    for (String s : jc) {
-                        TjOrder order = orderService.getOrderByTjNum(s);
-                        extractedjiancha(s,order);
-                    }
-                }
-
-                long end = System.currentTimeMillis();
-                log.info("鍚屾缁撴潫 鑰楁椂锛歿}绉�", (end - start) / 1000);
-                // 鍔ㄦ�佽幏鍙栦笅娆′换鍔$殑闂撮殧
-                int minute = Integer.parseInt(dsrwsjjg);
-                if (minute < 5) minute = 5;
-                if (minute > 59) minute = 59;
-                scheduleNextTask(minute);
+                DynamicDataSourceContextHolder.clearDataSourceType();
             }
         } catch (Exception e) {
-            e.printStackTrace();
-        } finally {
-            reentrantLock.unlock();
+            log.info("鍚屾妫�楠屾暟鎹け璐�");
+            throw new RuntimeException(e);
         }
     }
 
-    private void extractedjianyan(String s,TjOrder order) {
-        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber());
-        if(null != hysqdList && !hysqdList.isEmpty()){
-            for (LtkjHysqd hysqd : hysqdList) {
-                LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
-                if (null != jybgid) {
-                    ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
-                    ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh());
-                }
-                if (ltkjHysqdService.save(hysqd)) {
-                    List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
-                    ltkjHybgdService.saveBatch(hybgdList);
-                }
+
+    private void extractedjiancha(String s) {
+
+        try {
+            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s);
+            if (null != jcsqdList && !jcsqdList.isEmpty()) {
+                DynamicDataSourceContextHolder.clearDataSourceType();
+                jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s);
+                jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s);
+                jcsqdService.saveBatch(jcsqdList);
+                List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s);
+                DynamicDataSourceContextHolder.clearDataSourceType();
+                if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
+                DynamicDataSourceContextHolder.clearDataSourceType();
             }
-            DynamicDataSourceContextHolder.clearDataSourceType();
+        } catch (Exception e) {
+            log.info("鍚屾妫�鏌ユ暟鎹け璐�");
+            throw new RuntimeException(e);
         }
-//        String tjNumber1 = order.getTjNumber();
-//        log.info("鏌ヨ鍑烘潵鐨勪綋妫�鍙锋槸: " + tjNumber1);
-//        log.info("浼犺繃鏉ョ殑鐨勪綋妫�鍙锋槸: "+ s);
-        Map<String,Object> map=new HashMap<>();
-        map.put("tjnum", s);
-        testMapper.tjUpdateDetatilByVi(map);
-//        asyncService.tjUpdateDetatilByVi(s);
-        log.info("瀹氭椂浠诲姟瀛樺偍杩囩▼宸叉墽琛�!!!");
-    }
-
-
-    private void extractedjiancha(String s,TjOrder order) {
-
-        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber());
-        if(null !=jcsqdList && !jcsqdList.isEmpty()){
-            jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
-            jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
-            jcsqdService.saveBatch(jcsqdList);
-            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId());
-            if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
-            DynamicDataSourceContextHolder.clearDataSourceType();
-        }
-//        String tjNumber1 = order.getTjNumber();
-//        log.info("鏌ヨ鍑烘潵鐨勪綋妫�鍙锋槸: " + tjNumber1);
-//        log.info("浼犺繃鏉ョ殑鐨勪綋妫�鍙锋槸: "+ s);
-        Map<String,Object> map=new HashMap<>();
-        map.put("tjnum", s);
-        testMapper.tjUpdateDetatilByVi(map);
-        log.info("瀹氭椂浠诲姟瀛樺偍杩囩▼宸叉墽琛�!!!");
     }
 }

--
Gitblit v1.8.0