From 53f4d74399565f76c94646b704a33f2c53808232 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 19 十二月 2024 17:29:26 +0800 Subject: [PATCH] zjh202412019 --- ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java | 115 +++++++++++++++++++++++++++++++++------------------------ 1 files changed, 66 insertions(+), 49 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 8a4043e..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; @@ -18,6 +16,8 @@ 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; @@ -82,68 +82,85 @@ } 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"); - - boolean lock = reentrantLock.tryLock(); - try { - if (lock) { - long start = System.currentTimeMillis(); - // 鏌ヨ浠诲姟鏁版嵁 - log.info("寮�濮嬫墽琛屽悓姝� 鎵ц鏁伴噺->{}", 0); - List<String> jy= orderService.getDingShiTongBuJianYanTjNum(); - - List<String> jc = orderService.getDingShiTongBuJianChaTjNum(); + List<String> jc = orderService.getDingShiTongBuJianChaTjNum(); - if(null !=jy && !jy.isEmpty()){ - log.info("鍚屾妫�楠屼汉鍛� 鎵ц鏁伴噺->{}", jy.size()); - for (String s : jy) { + if (null != jy && !jy.isEmpty()) { + log.info("鍚屾妫�楠屼汉鍛� 鎵ц鏁伴噺->{}", jy.size()); + for (String s : jy) { // TjOrder order = orderService.getOrderByTjNum(s); - extractedjianyan(s); - } - } + extractedjianyan(s); + } + } - if(null !=jc && !jc.isEmpty()){ - log.info("鍚屾妫�鏌ヤ汉鍛� 鎵ц鏁伴噺->{}", jc.size()); - for (String s : jc) { + if (null != jc && !jc.isEmpty()) { + log.info("鍚屾妫�鏌ヤ汉鍛� 鎵ц鏁伴噺->{}", jc.size()); + for (String s : jc) { // TjOrder order = orderService.getOrderByTjNum(s); - extractedjiancha(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)); } - 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); - } + } catch (Exception e) { + scheduleNextTask(Long.parseLong(dsrwsjjg)); + log.error("瀹氭椂鍣ㄦ墽琛屾姤閿�"); + e.printStackTrace(); + } finally { + reentrantLock.unlock(); } - } catch (Exception e) { - log.error("瀹氭椂鍣ㄦ墽琛屾姤閿�"); - e.printStackTrace(); - } finally { - scheduleNextTask(Long.parseLong(dsrwsjjg)); - 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 { List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s); - if(null != hysqdList && !hysqdList.isEmpty()){ + if (null != hysqdList && !hysqdList.isEmpty()) { for (LtkjHysqd hysqd : hysqdList) { - LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh()); + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); if (null != jybgid) { - ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh()); + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh()); } if (ltkjHysqdService.save(hysqd)) { @@ -164,14 +181,14 @@ try { List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s); - if(null !=jcsqdList && !jcsqdList.isEmpty()){ + 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); + if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); DynamicDataSourceContextHolder.clearDataSourceType(); } } catch (Exception e) { -- Gitblit v1.8.0