zhaowenxuan
5 天以前 c01d278ca57650e57c235f96ab448292653db024
ltkj-admin/src/main/java/com/ltkj/web/config/timer/AsyncResultTask.java
@@ -2,6 +2,7 @@
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ltkj.common.enums.DataSourceType;
import com.ltkj.db.DataSourceConfig;
import com.ltkj.db.DataSourceContextHolder;
@@ -73,7 +74,9 @@
    public void init() {
        DataSourceContextHolder.setDataSourceKey(DataSourceType.MASTER.name());
        // 获取所有需要同步日志的用户列表
        List<DictHosp> hospList = dictHospService.list();
        LambdaQueryWrapper<DictHosp> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(DictHosp::getIsAutoAsyncJg,1);
        List<DictHosp> hospList = dictHospService.list(wrapper);
        hospList.forEach(this::createTask);  // 为每个用户创建任务
        // 定时检查是否有新的用户需要添加任务
        schedulePeriodicTaskCheck();
@@ -217,7 +220,9 @@
    // 检查并添加新的用户任务
    public void checkAndAddNewTasks() {
        // 获取所有需要同步日志的用户列表
        List<DictHosp> hospList = dictHospService.list();
        LambdaQueryWrapper<DictHosp> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(DictHosp::getIsAutoAsyncJg,1);
        List<DictHosp> hospList = dictHospService.list(wrapper);
        hospList.forEach(this::createTask);
        taskScheduler.schedule(this::checkAndAddNewTasks, Instant.now().plus(2, ChronoUnit.MINUTES));
    }
@@ -295,13 +300,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();
            }