From 2c785c3d4513daea9deb5c7edbb17a9f17111d25 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期五, 21 二月 2025 17:49:03 +0800
Subject: [PATCH] zjh20250221

---
 ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java |  241 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 162 insertions(+), 79 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 d451a4d..8f666a2 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,22 +1,23 @@
 package com.ltkj.web.config.timer;
 
+import cn.hutool.core.date.DateUtil;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
-import com.ltkj.hosp.domain.TjOrder;
+import com.ltkj.hosp.domain.TjJcycxm;
 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;
-import com.ltkj.hosp.sqlDomain.LtkjHybgd;
-import com.ltkj.hosp.sqlDomain.LtkjHysqd;
+import com.ltkj.hosp.sqlDomain.*;
 import com.ltkj.system.service.ISysConfigService;
+import jodd.util.StringUtil;
 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 & !prod & !test")
 public class DefaultScheduled {
 
 
@@ -51,6 +53,13 @@
     private LtkjHysqdService ltkjHysqdService;
     @Resource
     private TestMapper testMapper;
+    @Resource
+    private TjAsyncService asyncService;
+    @Autowired
+    private TjJcycxmService jcycxmService;
+    @Autowired
+    private AwsService awsService;
+
 
     private final ReentrantLock reentrantLock = new ReentrantLock();
 
@@ -77,90 +86,164 @@
     }
 
     private void exec() {
-        log.info("浠诲姟寮�濮嬫墽琛屾椂闂� -> {}", dateTimeFormat.format(new Date()));
+        String dsqkssj = configService.selectConfigByKey("dsqkssj");
+        String dsqjssj = configService.selectConfigByKey("dsqjssj");
+        String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
+        boolean panduandangqianshijian = panduandangqianshijian(dsqkssj, dsqjssj);
+        log.info("瀹氭椂鍣ㄨ嚜鍔ㄥ悓姝ユ楠屾鏌ョ粨鏋�");
+        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) {
+                                extractedjianyan(s);
+                            }
+                        }
+
+
+                        if (null != jc && !jc.isEmpty()) {
+                            log.info("鍚屾妫�鏌ヤ汉鍛� 鎵ц鏁伴噺->{}", jc.size());
+                            for (String s : jc) {
+                                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)) {
+                            if (null != jc && !jc.isEmpty()) {
+                                for (String s : jc) {
+                                    jcycxmService.deletedByTjh(s);
+                                    List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s);
+                                    if(null !=list && !list.isEmpty()){
+                                        for (LtkjExamJcsqd jcsqd : list) {
+                                            if(StringUtil.isNotBlank(jcsqd.getJgzt())){
+                                                String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;");
+                                                for (String jg : split) {
+                                                    if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父")
+                                                            && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈")
+                                                            && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")){
+                                                        TjJcycxm jcycxm=new TjJcycxm();
+                                                        jcycxm.setTjh(s);
+                                                        jcycxm.setYqid(yqbm);
+                                                        String[] split1 = jcsqd.getJcxmid().split(";");
+                                                        jcycxm.setProId(split1[0]);
+                                                        jcycxm.setProName(jcsqd.getJcxmmc());
+                                                        jcycxm.setCreateTime(new Date());
+                                                        jcycxm.setJcjg(jg);
+                                                        jcycxmService.save(jcycxm);
+                                                    }
+                                                }
+                                            }
+                                        }
+                                    }
+
+                                }
+                            }
+
+                            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("瀹氭椂鍣ㄦ墽琛屾姤閿�");
+                log.error(String.valueOf(e));
+//                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<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s);
+            if(null !=awsList && !awsList.isEmpty()){
+                log.info(awsList.toString());
+                testMapper.delWsxmjg(s);
+                log.info("鍒犻櫎澶栭�侀」鐩垚鍔�");
+                awsService.saveBatch(awsList);
+                log.info("淇濆瓨澶栭�侀」鐩垚鍔�");
+            }
+            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s);
+            List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s);
+            if(null !=wssq && !wssq.isEmpty())hysqdList.addAll(wssq);
+            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());
+                        List<LtkjHybgd> wsbg = testMapper.getWsxmLtkjHybgdByLisVi(s);
+                        if(null !=wsbg && !wsbg.isEmpty())hybgdList.addAll(wsbg);
+                        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);
+            log.error(String.valueOf(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);
+            log.error(String.valueOf(e));
         }
-//        String tjNumber1 = order.getTjNumber();
-//        log.info("鏌ヨ鍑烘潵鐨勪綋妫�鍙锋槸: " + tjNumber1);
-//        log.info("浼犺繃鏉ョ殑鐨勪綋妫�鍙锋槸: "+ s);
-        Map<String,Object> map=new HashMap<>();
-        map.put("tjnum", s);
-        testMapper.tjUpdateDetatilByVi(map);
-    }
-
-
-    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);
     }
 }

--
Gitblit v1.8.0