From 093362ca4f902996aeb3586b45ebd2791a2b596f Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期一, 04 八月 2025 15:40:47 +0800 Subject: [PATCH] 20250804 --- src/main/java/com/example/scheudleds/DictSyncCommon.java | 36 ++++++++++++++---- src/main/java/com/example/config/DruidConfig.java | 2 src/main/resources/application-win.yaml | 10 ++-- src/main/java/com/example/mapper/SqlMapper.java | 14 +++++++ src/main/resources/mapper/SqlMapper.xml | 7 +++ 5 files changed, 55 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/example/config/DruidConfig.java b/src/main/java/com/example/config/DruidConfig.java index 18d345d..cb812cf 100644 --- a/src/main/java/com/example/config/DruidConfig.java +++ b/src/main/java/com/example/config/DruidConfig.java @@ -30,7 +30,7 @@ * @Date: 2024/7/1 10:27 */ @Slf4j -@Configuration +//@Configuration public class DruidConfig { @Autowired private ConfigValue configValue; diff --git a/src/main/java/com/example/mapper/SqlMapper.java b/src/main/java/com/example/mapper/SqlMapper.java new file mode 100644 index 0000000..2458eb4 --- /dev/null +++ b/src/main/java/com/example/mapper/SqlMapper.java @@ -0,0 +1,14 @@ +package com.example.mapper; + +import org.apache.ibatis.annotations.Select; + +/** + * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 + * @Author: zhaowenxuan + * @Date: 2025/7/30 10:10 + */ +public interface SqlMapper { + + @Select("call pro_tb_his_project()") + void pro_tb_his_project(); +} diff --git a/src/main/java/com/example/scheudleds/DictSyncCommon.java b/src/main/java/com/example/scheudleds/DictSyncCommon.java index c94b79e..aa594b3 100644 --- a/src/main/java/com/example/scheudleds/DictSyncCommon.java +++ b/src/main/java/com/example/scheudleds/DictSyncCommon.java @@ -1,8 +1,11 @@ package com.example.scheudleds; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.example.config.db.DataSourceConfig; +import com.example.config.db.DataSourceContextHolder; import com.example.domain.DictHosp; import com.example.factory.ServiceFactory; +import com.example.mapper.SqlMapper; import com.example.service.DictHospService; import com.example.service.HisService; import lombok.extern.slf4j.Slf4j; @@ -31,23 +34,40 @@ @Autowired private DictHospService dictHospService; + @Autowired + private SqlMapper sqlMapper; + @Autowired + private DataSourceConfig dataSourceConfig; @Scheduled(cron = "0 0 22 * * ?") public void executeTasks() { // List<String> list = Arrays.asList("shanxiqinxamjyy","shanxiqinpbkwyy","shanxiqinjdczgzyy","shanxiqinsqyy"); - List<String> list = dictHospService.list(new LambdaQueryWrapper<DictHosp>().isNotNull(DictHosp::getBeanName)) - .stream().map(DictHosp::getBeanName).collect(Collectors.toList()); +// List<String> list = dictHospService.list(new LambdaQueryWrapper<DictHosp>().isNotNull(DictHosp::getBeanName)) +// .stream().map(DictHosp::getBeanName).collect(Collectors.toList()); + List<DictHosp> list = dictHospService.list(new LambdaQueryWrapper<DictHosp>().isNotNull(DictHosp::getBeanName)); log.info("寮�濮嬫墽琛屽畾鏃朵换鍔★細{}", System.currentTimeMillis()); try { - for (String hosp : list) { + for (DictHosp hosp : list) { executorService.submit(() -> { try { - log.info("寮�濮嬪悓姝ュ尰闄㈡暟鎹細{}", hosp); - HisService hisService = serviceFactory.getService(hosp); - hisService.syncDict(hosp); - log.info("瀹屾垚鍚屾鍖婚櫌鏁版嵁锛歿}", hosp); + String beanName = hosp.getBeanName(); + log.info("寮�濮嬪悓姝ュ尰闄㈡暟鎹細{}", beanName); + HisService hisService = serviceFactory.getService(beanName); + hisService.syncDict(beanName); + log.info("瀹屾垚鍚屾鍖婚櫌鏁版嵁锛歿}", beanName); } catch (Exception e) { - log.error("鍚屾鍖婚櫌鏁版嵁澶辫触锛屽尰闄細{}锛屽紓甯革細{}", hosp, e.getMessage()); + log.error("鍚屾鍖婚櫌鏁版嵁澶辫触锛屽尰闄細{}", hosp.getBeanName(), e); + } + if (hosp.getIsTbHisProject() != null && hosp.getIsTbHisProject() == 1) { + try { + dataSourceConfig.addDataSource(hosp.getDbname()); + DataSourceContextHolder.setDataSourceKey(hosp.getDbname()); + sqlMapper.pro_tb_his_project(); + } catch (Exception e) { + log.error("璋冪敤鍚屾瀛樺偍杩囩▼澶辫触锛屽尰闄細{}", hosp.getBeanName(), e); + }finally { + DataSourceContextHolder.clear(); + } } }); } diff --git a/src/main/resources/application-win.yaml b/src/main/resources/application-win.yaml index 70a67e2..5170cd3 100644 --- a/src/main/resources/application-win.yaml +++ b/src/main/resources/application-win.yaml @@ -1,6 +1,6 @@ -config: - path: C:\ltkjprojectconf\config.properties - dir: C:\ltkjprojectconf #config: -# path: D:\ltkjprojectconf\config.properties -# dir: D:\ltkjprojectconf +# path: C:\ltkjprojectconf\configregion.properties +# dir: C:\ltkjprojectconf +config: + path: D:\ltkjprojectconf\configregion.properties + dir: D:\ltkjprojectconf diff --git a/src/main/resources/mapper/SqlMapper.xml b/src/main/resources/mapper/SqlMapper.xml new file mode 100644 index 0000000..8013dd7 --- /dev/null +++ b/src/main/resources/mapper/SqlMapper.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.example.mapper.SqlMapper"> + +</mapper> -- Gitblit v1.8.0