zhaowenxuan
2025-06-24 2a9583fd376451ca77a0400af7f3a02d1b80e7f5
ltkj-admin/src/main/java/com/ltkj/web/config/timer/AsyncResultTask.java
@@ -1,6 +1,6 @@
package com.ltkj.web.config.timer;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.ltkj.common.enums.DataSourceType;
import com.ltkj.db.DataSourceConfig;
@@ -14,8 +14,6 @@
import com.ltkj.system.service.ISysConfigService;
import jodd.util.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Profile;
import org.springframework.scheduling.TaskScheduler;
@@ -30,7 +28,6 @@
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
@Slf4j
@@ -130,7 +127,7 @@
                    log.info("任务开始执行时间 -> {}", dateTimeFormat.format(new Date()));
                    long start = System.currentTimeMillis();
                    // 查询任务数据
                    log.info("开始执行同步 执行数量->{}", 0);
                    log.info("开始执行同步 执行院区->{}", dictHosp.getCode());
                    List<String> jy = orderService.getDingShiTongBuJianYanTjNum();
                    List<String> jc = orderService.getDingShiTongBuJianChaTjNum();
@@ -162,7 +159,9 @@
                                if(null !=list && !list.isEmpty()){
                                    for (LtkjExamJcsqd jcsqd : list) {
                                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
                                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("。|;|;");
                                            String regex = configService.selectConfigByKey("jcycxmzz");
                                            if(StringUtil.isBlank(regex)) regex= "。|;|;|,|,";
                                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split(regex);
                                            for (String jg : split) {
                                                if(StringUtil.isNotBlank(jg) && !jg.contains("未见异常")
                                                        && !jg.contains("未见明显异常") && !jg.contains("未见占位") && !jg.contains("未见")
@@ -248,6 +247,24 @@
                }
            }
            String isWsByView = configService.selectConfigByKey("is_ws_by_view");
            if (StrUtil.isNotBlank(isWsByView) && isWsByView.equals("Y")){
                List<LtkjHysqd> sqd = testMapper.getWsHySqdByView(s);
                if (sqd != null && !sqd.isEmpty()){
                    for (LtkjHysqd hysqd : sqd) {
                        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> wsbg = testMapper.getWsHyBgdByView(hysqd.getTmh());
                            ltkjHybgdService.saveBatch(wsbg);
                        }
                    }
                }
            }
            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s,hospId);
            if (null != hysqdList && !hysqdList.isEmpty()) {
                for (LtkjHysqd hysqd : hysqdList) {
@@ -278,13 +295,15 @@
        try {
            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s,hospId);
            log.info("自动同步检查申请单数据:"+jcsqdList);
            if (null != jcsqdList && !jcsqdList.isEmpty()) {
                DynamicDataSourceContextHolder.clearDataSourceType();
                jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s);
                jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s);
                jcsqdService.saveBatch(jcsqdList);
                List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s,hospId);
                DynamicDataSourceContextHolder.clearDataSourceType();
//                DynamicDataSourceContextHolder.clearDataSourceType();
                log.info("自动同步检查报告单数据:"+jcbgdList);
                if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
                DynamicDataSourceContextHolder.clearDataSourceType();
            }