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