From 955a66eec02b8c3fde019110d9c1b604eac017e5 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 13 二月 2025 09:43:26 +0800
Subject: [PATCH] zjh20250213

---
 ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java                                   |   34 
 ltkj-admin/pom.xml                                                                             |    2 
 ltkj-framework/src/main/java/com/ltkj/framework/config/TokenInterceptor.java                   |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java                     |    6 
 ltkj-admin/src/main/resources/application-linux-dev.yaml                                       |  252 ++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java            |    2 
 ltkj-admin/src/main/resources/application-win-pbkwyyprod.yaml                                  |  255 ++++
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java                         |    2 
 ltkj-admin/src/test/java/zwxTest.java                                                          |   13 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java                                   |   14 
 ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java                     |    2 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysRoleController.java                 |   82 -
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java                           |   15 
 ltkj-framework/pom.xml                                                                         |    2 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java               |  126 ++
 ltkj-admin/src/main/resources/application-win-xamjyyprod.yaml                                  |  255 ++++
 ltkj-hosp/pom.xml                                                                              |   25 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java                |    1 
 ltkj-admin/src/main/java/com/ltkj/web/config/timer/DefaultScheduled.java                       |   12 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java                |   35 
 ltkj-admin/src/main/resources/application-test.yml                                             |    2 
 ltkj-system/pom.xml                                                                            |    4 
 ltkj-admin/src/main/resources/application-win-chkwyyprod.yaml                                  |  255 ++++
 ltkj-admin/src/main/resources/application-linux-mjtest.yml                                     |  255 ++++
 ltkj-common/pom.xml                                                                            |    2 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java                 |  373 ++++--
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java                 |    8 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java              |    6 
 ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java                        |  112 -
 ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java                          |   27 
 ltkj-generator/pom.xml                                                                         |    4 
 ltkj-admin/src/main/resources/application-win-xamjyytest.yaml                                  |  255 ++++
 ltkj-admin/src/main/resources/application-dev.yml                                              |    6 
 ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java                                |   62 +
 ltkj-admin/src/main/resources/application-linux-mjprod.yml                                     |  255 ++++
 ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java                  |    5 
 ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java                     |    2 
 ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java               |    3 
 ltkj-hosp/src/main/java/com/ltkj/hosp/domain/DictHosp.java                                     |    3 
 ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java                           |    4 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/LtkjExamJcsqdServiceImpl.java               |    2 
 ltkj-admin/src/main/resources/logback.xml                                                      |   23 
 ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java              |   21 
 ltkj-admin/src/main/resources/application.yml                                                  |   20 
 ltkj-admin/src/main/resources/application-prod.yml                                             |    2 
 ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java                             |    2 
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java                     |  214 +++-
 ltkj-quartz/pom.xml                                                                            |    4 
 ltkj-hosp/src/main/resources/mapper/hosp/DictHospMapper.xml                                    |    3 
 ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSourceContextHolder.java |   10 
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java              |   16 
 51 files changed, 2,580 insertions(+), 517 deletions(-)

diff --git a/ltkj-admin/pom.xml b/ltkj-admin/pom.xml
index 2321663..1df69ce 100644
--- a/ltkj-admin/pom.xml
+++ b/ltkj-admin/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
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 e3f677a..4d0a7f7 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,5 +1,6 @@
 package com.ltkj.web.config.timer;
 
+import cn.hutool.core.date.DateUtil;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.domain.TjJcycxm;
 import com.ltkj.hosp.mapper.TestMapper;
@@ -89,6 +90,7 @@
         String dsqjssj = configService.selectConfigByKey("dsqjssj");
         String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
         boolean panduandangqianshijian = panduandangqianshijian(dsqkssj, dsqjssj);
+        log.info("瀹氭椂鍣ㄨ嚜鍔ㄥ悓姝ユ楠屾鏌ョ粨鏋�");
         log.info("褰撳墠鏃堕棿鏄惁鍦� " + dsqkssj + " 鐐瑰埌 " + dsqjssj + " 鐐逛箣闂�: " + panduandangqianshijian);
             String dsrwsjjg = configService.selectConfigByKey("dsrwsjjg");
             boolean lock = reentrantLock.tryLock();
@@ -172,7 +174,8 @@
             } catch (Exception e) {
                 scheduleNextTask(Long.parseLong(dsrwsjjg));
                 log.error("瀹氭椂鍣ㄦ墽琛屾姤閿�");
-                e.printStackTrace();
+                log.error(String.valueOf(e));
+//                e.printStackTrace();
             } finally {
                 reentrantLock.unlock();
             }
@@ -216,8 +219,10 @@
             }
         } catch (Exception e) {
             log.info("鍚屾妫�楠屾暟鎹け璐�");
-            throw new RuntimeException(e);
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e));
         }
+
     }
 
 
@@ -237,7 +242,8 @@
             }
         } catch (Exception e) {
             log.info("鍚屾妫�鏌ユ暟鎹け璐�");
-            throw new RuntimeException(e);
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e));
         }
     }
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java
index b5aa434..f8b2008 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiController.java
@@ -11,11 +11,14 @@
 import com.ltkj.framework.config.UserHoder;
 import com.ltkj.hosp.domain.LtkjJianchajianyanTree;
 import com.ltkj.hosp.domain.TjOrder;
+import com.ltkj.hosp.domain.TjProject;
 import com.ltkj.hosp.hisDto.*;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd;
 import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
+import com.ltkj.hosp.sqlDomain.LtkjHybgd;
+import com.ltkj.hosp.sqlDomain.LtkjHysqd;
 import com.ltkj.hosp.vodomain.CsProVo;
 import com.ltkj.web.controller.system.TjCheckController;
 import io.swagger.annotations.Api;
@@ -52,6 +55,10 @@
     private ITjProjectService projectService;
     @Autowired
     private ITjOrderRemarkService orderRemarkService;
+    @Autowired
+    private LtkjHysqdService hysqdService;
+    @Autowired
+    private LtkjHybgdService hybgdService;
 
     /**
      * 鑾峰彇pacs妫�鏌ユ暟鎹�
@@ -131,7 +138,7 @@
      */
     @PostMapping("/lis/getList")
     public AjaxResult getLisList(@RequestBody String json) {
-//        log.info("pacs鎺ュ彛鍙傛暟->{}",JSONUtil.toJsonStr(json));
+        log.info("lis鎺ュ彛鍙傛暟->{}",JSONUtil.toJsonStr(json));
         cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj(json);
         String tjNum = StrUtil.isBlank(parseObj.getStr("tjNum")) ? null : parseObj.getStr("tjNum");
         String name = StrUtil.isBlank(parseObj.getStr("name")) ? null : parseObj.getStr("name");
@@ -149,7 +156,7 @@
         }
         List<Map<String, Object>> jcList = testMapper.getLisJyList(name, mzh, start, end);
         return AjaxResult.success(jcList);
-//        String json1 = "[{\"reportDoctorCode\":114,\"deptName\":\"浣撴涓績\",\"checkDoctorCode\":114,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗘硨灏跨郴鍓嶅垪鑵篭",\"zyh\":\"-\",\"diagnosis\":\"鍓嶅垪鑵哄鐢焅",\"checkDoctorName\":\"鏉庨湠\",\"F_MACHINE_NAME_LIST\":\"GE-P6\",\"reportDate\":\"2024.11.06 11:49:20\",\"examinationDate\":\"2024.11.06 11:54:58\",\"examination\":\"鍙岃偩澶у皬銆佸舰鎬佹甯革紝鍖呰啘鍏夋粦骞虫暣锛屽疄璐ㄥ洖澹板垎甯冨潎鍖�锛岀毊楂撶晫闄愭竻鏅帮紝闆嗗悎绯荤粺鏈鍒嗙銆俽nCDFI锛氬弻鑲捐娴佸憟鈥滄爲鏋濈姸鈥濆垎甯冿紝鐏屾敞鑹ソ锛涘弻渚ц緭灏跨鏈鎵╁紶銆俽n鑶�鑳卞厖鐩堜匠锛屽鍘氬害姝e父锛屽唴澹佸厜鏁达紝鑵斿唴鏈帰鍙婂紓甯稿洖澹般�俽n缁忚吂閮ㄥ墠鍒楄吅澶у皬绾�34mm脳35mm脳30mm锛屽舰鎬侀ケ婊★紝鍖呰啘瀹屾暣锛屽疄璐ㄥ洖澹版瑺鍧囧寑锛屽唴鑵虹◢澧炲ぇ銆俽nCDFI锛氳吅浣撳唴鏈帰鍙婂紓甯歌娴佷俊鍙枫�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"53宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.204.1730864961.484.897.557\",\"reportDoctorName\":\"鏉庨湠\",\"studyReport\":525696,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"},{\"reportDoctorCode\":141,\"deptName\":\"浣撴涓績                  \",\"checkDoctorCode\":141,\"ghxh\":\"M_jk20241106000019_2\",\"gender\":\"鐢穃",\"brid\":\"jk20241106000019\",\"checkParts\":\"鈼嗚兏閮–T骞虫壂\",\"zyh\":\"-\",\"diagnosis\":\"1.宸﹁偤涓嬪彾澶栧熀搴曟鏀皵绠℃墿寮犱即鎰熸煋锛況n2.鍐犵姸鍔ㄨ剦纭寲锛況n3.鑳告楠ㄨ川澧炵敓銆俓",\"checkDoctorName\":\"濮氳瘹\",\"F_MACHINE_NAME_LIST\":\"SIEMENS-CT\",\"reportDate\":\"2024.11.06 17:12:53\",\"examinationDate\":\"2024.11.06 17:12:54\",\"examination\":\"涓や晶鑳稿粨瀵圭О锛屾皵绠″眳涓�傚乏鑲轰笅鍙跺鍩哄簳娈垫敮姘旂鎵╁紶锛屽懆鍥磋鏂戠墖鐘剁(鐜荤拑褰憋紱鍙岃偤闂ㄧ粨鏋勬甯革紝鍚勫彾銆佹鏀皵绠¢�氱晠銆傚績鑴忓悇鎴垮澶у皬姝e父锛涘啝鐘跺姩鑴夎蛋琛屽尯澶氬彂鑷村瘑褰便�傜旱鑶堝唴鏈澧炲ぇ娣嬪反缁撱�傚弻渚ц兏鑶滄湭瑙佸鍘氥�傞儴鍒嗚兏妞庣紭瑙侀璧樺舰鎴愶紝鑳稿粨璇搁璐ㄧ粨鏋勬樉绀哄畬鏁达紝杞粍缁囩粨鏋勬樉绀烘甯搞�俓",\"name\":\"寮犲皬鍏礬",\"patientAge\":\"76宀乗",\"clinicalDiagnosis\":\"\",\"mzh\":\"20241106000520\",\"F_RPT_UID\":\"1.2.840.40823.1.1.1.1.1730884375.763.395.131\",\"reportDoctorName\":\"濮氳瘹\",\"studyReport\":525872,\"F_RPT_WRITE_DATE\":\"2024.11.06\"}]";
+//        String json1 = "[{\"deptName\":\"绉戝\",\"gender\":\"鐢穃",\"brid\":\"sqd445314589914\",\"checkParts\":\"琛�娑瞈",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"璧靛洓1\",\"patientAge\":\"20\",\"mzh\":\"810001246120745\",\"reportDoctorName\":\"鍖诲笀\",\"proName\":\"琛�娑插垎鏋怽",\"conclusion\":\"寮傚父\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"姣厠\",\"checkDoctorName\":\"妫�娴嬪尰甯圽",\"jcxmid\":\"123\",\"shys\":\"瀹℃牳鍖诲笀\"},{\"deptName\":\"绉戝\",\"gender\":\"鐢穃",\"brid\":\"sqd445314589914\",\"checkParts\":\"琛�娑瞈",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"璧靛洓2\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"鍖诲笀\",\"proName\":\"琛�娑插垎鏋怽"},{\"deptName\":\"绉戝\",\"gender\":\"鐢穃",\"brid\":\"sqd445314589914\",\"checkParts\":\"琛�娑瞈",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"璧靛洓3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"鍖诲笀\",\"proName\":\"琛�娑插垎鏋怽"}]";
 //        return AjaxResult.success(JSONUtil.parseArray(json1));
     }
 
@@ -189,76 +196,171 @@
     @Transactional
     @PostMapping("/asyncPacs")
     public AjaxResult asyncPacs(@RequestBody String json) {
-//        log.info("鍚堝苟妫�娴嬪悓姝ュ弬鏁� ->{}",json);
+        log.info("鍚堝苟妫�娴嬪悓姝ュ弬鏁� ->{}",json);
 //        try {
 //            Thread.sleep(2000);
 //        } catch (InterruptedException ignored) {
 //
 //        }
+//        if (true)
+//            return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         cn.hutool.json.JSONObject parseObj = JSONUtil.parseObj( json);
         cn.hutool.json.JSONObject pacs = parseObj.getJSONObject("pacs");
+        cn.hutool.json.JSONArray lis = parseObj.getJSONArray("lis");
         cn.hutool.json.JSONObject tj = parseObj.getJSONObject("tj");
-        LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
-        ltkjExamJcsqd.setTjh(pacs.getStr("mzh"));
+        if (pacs != null && !pacs.isEmpty()){
+            LtkjExamJcsqd ltkjExamJcsqd = new LtkjExamJcsqd();
+            ltkjExamJcsqd.setTjh(pacs.getStr("mzh"));
 
-        LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(LtkjJianchajianyanTree::getCardId, pacs.getStr("mzh"));
-        String xmdm = projectService.getById(tj.getStr("proId")).getHisXmbm();
-        queryWrapper.eq(LtkjJianchajianyanTree::getType,"妫�鏌�");
-        queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
+            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, pacs.getStr("mzh"));
+            String xmdm = projectService.getById(tj.getStr("proId")).getHisXmbm();
+            queryWrapper.eq(LtkjJianchajianyanTree::getType,"妫�鏌�");
+            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
 
-        LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
-        ltkjExamJcsqd.setTmh("M_"+tree.getSqdh()+"_"+tree.getHisXmdm());
-        ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
-        ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
-        ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
-        Date reportDate = null;
-        try {
-            reportDate = dateFormat.parse(pacs.getStr("reportDate"));
-            ltkjExamJcsqd.setJgsj(format.format(reportDate));
-        } catch (ParseException ignored) {
-            ltkjExamJcsqd.setJgsj(format.format(new Date()));
-        }
-        String checkParts = pacs.getStr("checkParts");
-        ltkjExamJcsqd.setJcxmmc(checkParts);
-        ltkjExamJcsqd.setJcxmid(xmdm);
-        ltkjExamJcsqd.setBw(checkParts);
-        ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
-        ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
-        boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
-
-        LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
-        ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
-        ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
-        ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
-        ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
-        ltkjExamJcbgd.setBgUrl("");
-        ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
-        ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
-        ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
-        ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
-        ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
-        ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
-        ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
-        boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
-        if (save1 && save2) {
-            LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>();
-            wrapper.eq(TjOrder::getCardId, ltkjExamJcbgd.getTjh());
-            TjOrder order = tjOrderService.getOne(wrapper);
+            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
+            ltkjExamJcsqd.setTmh("M_"+tree.getSqdh()+"_"+tree.getHisXmdm());
+            ltkjExamJcsqd.setBgys(pacs.getStr("checkDoctorName"));
+            ltkjExamJcsqd.setBgysid(pacs.getStr("checkDoctorCode"));
+            ltkjExamJcsqd.setSqsj(format.format(tree.getCreateTime()));
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");
+            Date reportDate = null;
             try {
-                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
-            }catch (Exception e){
-                log.error(String.valueOf(e));
+                reportDate = dateFormat.parse(pacs.getStr("reportDate"));
+                ltkjExamJcsqd.setJgsj(format.format(reportDate));
+            } catch (ParseException ignored) {
+                ltkjExamJcsqd.setJgsj(format.format(new Date()));
+            }
+            String checkParts = pacs.getStr("checkParts");
+            ltkjExamJcsqd.setJcxmmc(checkParts);
+            ltkjExamJcsqd.setJcxmid(xmdm);
+            ltkjExamJcsqd.setBw(checkParts);
+            ltkjExamJcsqd.setJgzt(pacs.getStr("diagnosis"));
+            ltkjExamJcsqd.setJgbx(pacs.getStr("examination"));
+            boolean save1 = ltkjExamJcsqdService.save(ltkjExamJcsqd);
+
+            LtkjExamJcbgd ltkjExamJcbgd = new LtkjExamJcbgd();
+            ltkjExamJcbgd.setTjh(ltkjExamJcsqd.getTjh());
+            ltkjExamJcbgd.setTmh(ltkjExamJcsqd.getTmh());
+            ltkjExamJcbgd.setXmdm(ltkjExamJcsqd.getJcxmid());
+            ltkjExamJcbgd.setXmmc(ltkjExamJcsqd.getJcxmmc());
+            ltkjExamJcbgd.setBgUrl("");
+            ltkjExamJcbgd.setShysxm(pacs.getStr("reportDoctorName"));
+            ltkjExamJcbgd.setShysdm(pacs.getStr("reportDoctorCode"));
+            ltkjExamJcbgd.setYxzd(ltkjExamJcsqd.getJgzt());
+            ltkjExamJcbgd.setYxbx(ltkjExamJcsqd.getJgbx());
+            ltkjExamJcbgd.setZdsj(ltkjExamJcsqd.getJgsj());
+            ltkjExamJcbgd.setSqsj(ltkjExamJcsqd.getSqsj());
+            ltkjExamJcbgd.setJcbw(ltkjExamJcsqd.getJcxmmc());
+            boolean save2 = ltkjExamJcbgdService.save(ltkjExamJcbgd);
+            if (save1 && save2) {
+                LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(TjOrder::getCardId, ltkjExamJcbgd.getTjh());
+                TjOrder order = tjOrderService.getOne(wrapper);
+                try {
+                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                }catch (Exception e){
+                    log.error(String.valueOf(e));
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
+                }
+            } else {
                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                 return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
             }
-        } else {
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
+            return AjaxResult.success();
+        }else {
+            cn.hutool.json.JSONObject entries = (cn.hutool.json.JSONObject) lis.get(0);
+            String mzh = entries.getStr("mzh");
+            LtkjHysqd hysqd = new LtkjHysqd();
+            LambdaQueryWrapper<TjOrder> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(TjOrder::getCardId,mzh);
+            TjOrder order = tjOrderService.getOne(wrapper);
+            hysqd.setTjh(order.getTjNumber());
+
+            LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(LtkjJianchajianyanTree::getCardId, mzh);
+            TjProject project = projectService.getById(tj.getStr("proId"));
+            String xmdm = project.getHisXmbm();
+            queryWrapper.eq(LtkjJianchajianyanTree::getType,"妫�楠�");
+            queryWrapper.eq(LtkjJianchajianyanTree::getHisXmdm,xmdm);
+            LtkjJianchajianyanTree tree = ltkjJianchajianyanTreeService.getOne(queryWrapper);
+            if (tree == null) {
+                tree = new LtkjJianchajianyanTree();
+                tree.setHisXmdm(xmdm);
+                tree.setCreateTime(new Date());
+                String sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
+                queryWrapper = new LambdaQueryWrapper<>();
+                queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
+                if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
+                    tree.setSqdh(sqdh);
+                }else {
+                    while (true){
+                        sqdh = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + String.valueOf(RandomUtil.randomInt(0, 99999));
+                        queryWrapper = new LambdaQueryWrapper<>();
+                        queryWrapper.eq(LtkjJianchajianyanTree::getSqdh,sqdh);
+                        if (ltkjJianchajianyanTreeService.getOne(queryWrapper) == null) {
+                            tree.setSqdh(sqdh);
+                            break;
+                        }
+                    }
+                }
+            }
+
+
+            hysqd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
+            hysqd.setXmid(xmdm);
+            hysqd.setXmmc(project.getHisXmbm());
+            hysqd.setSqsj(format.format(tree.getCreateTime()));
+            hysqd.setJgsj(format.format(new Date()));
+//            hysqd.setBbmc();
+            boolean save = hysqdService.save(hysqd);
+            boolean save2 = true;
+            for (Object object : lis) {
+                cn.hutool.json.JSONObject jsonObject = (cn.hutool.json.JSONObject) object;
+                LtkjHybgd hybgd = new LtkjHybgd();
+                hybgd.setTmh(tree.getSqdh()+"_"+tree.getHisXmdm());
+                hybgd.setJcxmid(jsonObject.getStr("jcxmid"));
+                hybgd.setJcxm(jsonObject.getStr("checkParts"));
+                hybgd.setJyjg(jsonObject.getStr("proResult"));
+                hybgd.setJgdw(jsonObject.getStr("company"));
+                String tjStandardGtValue = jsonObject.getStr("tjStandardGtValue");
+                String zdz = "";
+                String zxz = "";
+                if (tjStandardGtValue.contains("-")){
+                    String[] split = tjStandardGtValue.split("-");
+                    zxz = split[0].trim();
+                    zdz = split[1].trim();
+                }
+                hybgd.setFwzdz(zdz);
+                hybgd.setFwzgz(zxz);
+                hybgd.setFwz(tjStandardGtValue);
+                hybgd.setJysj(jsonObject.getStr("examinationDate"));
+                hybgd.setShsj(jsonObject.getStr("examinationDate"));
+                hybgd.setJyys(jsonObject.getStr("checkDoctorName"));
+                hybgd.setShys(jsonObject.getStr("shys"));
+                boolean save1 = hybgdService.save(hybgd);
+                if (!save1) {
+                    save2 = false;
+                    break;
+                }
+            }
+            if (save && save2){
+                try {
+                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                }catch (Exception e){
+                    log.error(String.valueOf(e));
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                    return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
+                }
+            } else {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                return AjaxResult.error("鍚屾澶辫触璇烽噸璇�");
+            }
+            return AjaxResult.success();
         }
-        return AjaxResult.success();
+
     }
 
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
index a57c3a0..8afaf78 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -1414,7 +1414,7 @@
                     if (samplings.size() >= 2) {
                         // 杩涜鍚堝苟
                         List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-                        log.info("鎻愬彇id ->{}",stringList);
+//                        log.info("鎻愬彇id ->{}",stringList);
                         for (int i = 0; i < stringList.size(); i++) {
                             String s = stringList.get(i);
                             if (tjSamplingService.isMergeItem(s) != 0) {
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index 51a3e4c..c489848 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -1809,7 +1809,7 @@
                         if (samplings.size() >= 2){
                             // 杩涜鍚堝苟
                             List<String> stringList = samplings.stream().map(TjSampling::getId).collect(Collectors.toList());
-                            log.info("鎻愬彇id ->{}",stringList);
+//                            log.info("鎻愬彇id ->{}",stringList);
                             for (int i = 0; i < stringList.size(); i++) {
                                 String s = stringList.get(i);
                                 if (tjSamplingService.isMergeItem(s) != 0) {
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
index 496186e..729bdf1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java
@@ -1,8 +1,7 @@
 package com.ltkj.web.controller.system;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
+import java.text.SimpleDateFormat;
+import java.util.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 
@@ -11,15 +10,21 @@
 import cn.hutool.extra.pinyin.PinyinUtil;
 import com.ltkj.common.core.domain.entity.SysMenu;
 import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.domain.DictHosp;
 import com.ltkj.hosp.domain.TjJcycxm;
 import com.ltkj.hosp.domain.TjProject;
+import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
-import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd;
+import com.ltkj.hosp.sqlDomain.*;
 import com.ltkj.system.service.ISysMenuService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import jodd.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.ibatis.annotations.Case;
+import org.apache.ibatis.jdbc.Null;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -43,6 +48,7 @@
 @RestController
 @RequestMapping("/system/config")
 @Api(tags = "A---PC绔弬鏁伴厤缃帴鍙i泦")
+@Slf4j
 public class SysConfigController extends BaseController {
     @Autowired
     private ISysConfigService configService;
@@ -60,6 +66,16 @@
     private TjJcycxmService jcycxmService;
     @Resource
     private LtkjExamJcsqdService jcsqdService;
+    @Resource
+    private LtkjExamJcbgdService jcbgdService;
+    @Resource
+    private LtkjHybgdService ltkjHybgdService;
+    @Resource
+    private LtkjHysqdService ltkjHysqdService;
+    @Resource
+    private TestMapper testMapper;
+    @Autowired
+    private AwsService awsService;
 
     /**
      * 鑾峰彇鍙傛暟閰嶇疆鍒楄〃
@@ -172,6 +188,107 @@
     }
 
 
+    @GetMapping ("/shoudongtbjyjcwsxmjg")
+    @ApiOperation(value = "鎵嬪姩鍚屾妫�楠屾鏌ュ閫侀」鐩粨鏋滄帴鍙�")
+    public AjaxResult shoudongtbjyjcwsxmjg(@RequestParam @ApiParam(value = "jy妫�楠� jc妫�鏌� jyjc妫�楠屽拰妫�鏌�") String tblx,
+                                           @ApiParam(value = "浣撴鍙�")@RequestParam String tjh) {
+
+        log.info("鎵嬪姩鍚屾妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
+        try {
+
+            switch (tblx){
+                case "jy":
+                    tbjianyan(tjh);
+                    log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠�");
+                    break;
+                case "jc":
+                    tbjiancha(tjh);
+                    log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�鏌�");
+                    break;
+                case "jyjc":
+                    tbjianyan(tjh);
+                    tbjiancha(tjh);
+                    log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠屾鏌�");
+                    break;
+                default:
+                    log.info("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�");
+                    return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!");
+            }
+            Map<String, Object> map = new HashMap<>();
+            testMapper.tjplUpdateDetatilByVi(map);
+            Integer object = (Integer) map.get("total");
+            log.info("鎵ц瀛樺偍杩囩▼鍚庡嚭鍙�->{}", object);
+            log.info("鎵嬪姩鍚屾妫�楠屾垨妫�鏌ョ粨鏋滅粨鏉�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
+            return AjaxResult.success("鍚屾鎴愬姛");
+
+        } catch (Exception e) {
+            log.error(String.valueOf(e));
+        }
+        return AjaxResult.success();
+    }
+
+    private void tbjianyan(String s) {
+        try {
+            List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s);
+            if(null !=awsList && !awsList.isEmpty()){
+                log.info(awsList.toString());
+                testMapper.delWsxmjg(s);
+                log.info("鍒犻櫎澶栭�侀」鐩垚鍔�");
+                awsService.saveBatch(awsList);
+                log.info("淇濆瓨澶栭�侀」鐩垚鍔�");
+            }
+            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s);
+            List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s);
+            if(null !=wssq && !wssq.isEmpty())hysqdList.addAll(wssq);
+            if (null != hysqdList && !hysqdList.isEmpty()) {
+                for (LtkjHysqd hysqd : hysqdList) {
+                    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> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh());
+                        List<LtkjHybgd> wsbg = testMapper.getWsxmLtkjHybgdByLisVi(s);
+                        if(null !=wsbg && !wsbg.isEmpty())hybgdList.addAll(wsbg);
+                        ltkjHybgdService.saveBatch(hybgdList);
+                    }
+                }
+                DynamicDataSourceContextHolder.clearDataSourceType();
+            }
+        } catch (Exception e) {
+            log.info("鍚屾妫�楠屾暟鎹け璐�");
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e));
+        }
+
+    }
+
+
+    private void tbjiancha(String s) {
+
+        try {
+            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s);
+            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);
+                DynamicDataSourceContextHolder.clearDataSourceType();
+            }
+        } catch (Exception e) {
+            log.info("鍚屾妫�鏌ユ暟鎹け璐�");
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e));
+        }
+    }
+
+
+
+
     @GetMapping ("/zxsq")//鎵ц
     @ApiOperation(value = "zxsq")
     public AjaxResult zx(@RequestParam int day) {
@@ -257,4 +374,5 @@
         }
         return AjaxResult.success();
     }
+
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
index 5a7e354..21165b2 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
@@ -85,7 +85,6 @@
     @ApiOperation("鐧诲綍鎺ュ彛")
     @RepeatSubmit
     public AjaxResult login(@RequestBody @ApiParam(value = "鐧诲綍瀵硅薄") LoginBody loginBody) {
-
         AjaxResult ajax = success();
         // 鐢熸垚浠ょ墝
         String token;
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysRoleController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysRoleController.java
index 6d114cd..7d4215e 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysRoleController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysRoleController.java
@@ -1,30 +1,10 @@
 package com.ltkj.web.controller.system;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import javax.servlet.http.HttpServletResponse;
 
-import cn.hutool.core.util.IdUtil;
-import cn.hutool.core.util.RandomUtil;
-import com.ltkj.db.DataSourceConfig;
-import com.ltkj.db.DataSourceContextHolder;
-import com.ltkj.hosp.domain.DictHosp;
-import com.ltkj.hosp.service.IDictHospService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.io.ClassPathResource;
-import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.util.FileCopyUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.DeleteMapping;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -75,13 +55,6 @@
 
     @Autowired
     private ISysDeptService deptService;
-    @Autowired
-    private JdbcTemplate jdbcTemplate;
-    @Autowired
-    private IDictHospService dictHospService;
-
-    @Value("${config.path}")
-    private String path;
 
 //    @PreAuthorize("@ss.hasPermi('system:role:list')")
     @GetMapping("/list")
@@ -272,59 +245,4 @@
         ajax.put("depts", deptService.selectDeptTreeList(new SysDept()));
         return ajax;
     }
-
-    @Autowired
-    private DataSourceConfig dataSourceConfig;
-
-    /**
-     * 浠庡簱鎵归噺鎵цsql
-     * 璇诲彇鏈湴sql鏂囦欢
-     * @return
-     */
-    @GetMapping("/execUpdateSql")
-    public AjaxResult execUpdateSql() {
-        DataSourceContextHolder.setDataSourceKey("default");
-        List<DictHosp> list = dictHospService.list();
-        List<Map<String, Object>> resultList = new ArrayList<>();
-        boolean flag = false;
-        for (DictHosp dictHosp : list) {
-            String dbName = dictHosp.getDbname();
-            Map<String, Object> dbResult = new HashMap<>();
-            dbResult.put("database", dbName);
-            List<String> successList = new ArrayList<>();
-            List<String> errorList = new ArrayList<>();
-            try {
-                InputStreamReader reader = new InputStreamReader(Files.newInputStream(Paths.get(path + File.separator + "update.sql")), StandardCharsets.UTF_8);
-                String sqlContent = FileCopyUtils.copyToString(reader);
-                String[] sqlStatements = sqlContent.split("\\|-\\|");
-                for (String sql : sqlStatements) {
-                    sql = sql.trim();
-                    if (!sql.isEmpty()) {
-                        // INSERT INTO `api_config` (`id`, `api_url`, `api_method`, `tab_name`, `is_response`, `primary_keys`, `remark`, `result_code_key`, `result_data_key`, `type`) VALUES (${id}, '${dbName}', '${randowmStr}', '${randowmStr}', 1, 'ResultData', '1.pas 妫�鏌ョ敵璇蜂俊鎭綔搴�', 'ResultCode', 'ResultData', 'pacs');
-//                        sql = sql.replace("${dbName}",dbName).replace("${id}", IdUtil.getSnowflake().nextIdStr()).replace("${randowmStr}", RandomUtil.randomString(10));
-                        try {
-                            dataSourceConfig.addDataSource(dbName);
-                            DataSourceContextHolder.setDataSourceKey(dbName);
-                            jdbcTemplate.execute(sql);
-                            successList.add(sql);
-                        } catch (Exception e) {
-                            errorList.add(sql + "\nERROR: " + e.getMessage());
-                        }
-                    }
-                }
-            } catch (IOException e) {
-                return AjaxResult.error("璇诲彇SQL鏂囦欢澶辫触锛�" + e.getMessage());
-            }
-            dbResult.put("successSQL", successList);
-            dbResult.put("failedSQL", errorList);
-            resultList.add(dbResult);
-            if (!errorList.isEmpty())
-                flag = true;
-        }
-        DataSourceContextHolder.clear();
-        if (flag)
-            return AjaxResult.error("鎵цsql涓瓨鍦ㄥけ璐�",resultList);
-        return AjaxResult.success(resultList);
-    }
-
 }
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index ad4524b..5d0e9c0 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1711,9 +1711,9 @@
            return AjaxResult.success(maps);
         }else {
             List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
-            if(mapList.isEmpty()){
-                return AjaxResult.error("鏆傛棤鏁版嵁");
-            }
+//            if(mapList.isEmpty()){
+//                return AjaxResult.success("鏆傛棤鏁版嵁");
+//            }
             return AjaxResult.success(mapList);
         }
 
@@ -1810,7 +1810,7 @@
                 return AjaxResult.success();
             }
         }
-        return AjaxResult.error();
+        return AjaxResult.success();
     }
 
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
index abe7b43..0f5846d 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java
@@ -261,7 +261,7 @@
                     tjCustomer1.setGroupingId(tjReservation.getGroupingId());
 
 //                    if(null !=tjReservation.getCompanyId())tjCustomer1.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
-//                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
+                    if(null !=tjReservation.getCompany())tjCustomer1.setCompName(tjReservation.getCompany());
 
 //                    tjCustomerService.updateById(tjCustomer1);
 
@@ -291,8 +291,8 @@
                     tjCustomer.setCusPassword(substring);
                     tjCustomer.setTjType(tjReservation.getTjType());
                     tjCustomer.setPym(PinyinUtil.getFirstLetter(tjReservation.getName(),""));
-//                    if(null !=tjReservation.getCompanyId())tjCustomer.setDictCompId(Long.valueOf(tjReservation.getCompanyId()));
-//                    if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
+                    if(null !=tjReservation.getCompanyId())tjCustomer.setCompId(tjReservation.getCompanyId());
+                    if(null !=tjReservation.getCompany())tjCustomer.setCompName(tjReservation.getCompany());
 
                     if (null != key && key.equals("Y")) {
                         AjaxResult result = controller.Outpincreateapply(tjCustomer);
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
index cfe7bce..6461594 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -56,6 +56,7 @@
 import com.ltkj.hosp.dto.UpdateTransitionnewPriceDto;
 import com.ltkj.hosp.hisDto.OutpinimpapplyDto;
 import com.ltkj.hosp.hisDto.OutpinmedicapplyDto;
+import com.ltkj.hosp.mapper.TbTransitionMapper;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.mapper.TjSamplingMapper;
 import com.ltkj.hosp.pacsDto.SavePacsApply;
@@ -89,6 +90,7 @@
 import org.aspectj.weaver.ast.Var;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.http.HttpRequest;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -236,6 +238,10 @@
     private ITjXdPictureService xdPictureService;
     @Autowired
     private TjOrderYcxmService ycxmService;
+    @Autowired
+    private TbTransitionMapper tbTransitionMapper;
+
+    private static final String TJH = "tjhs:tjh";
 
     //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
     public JSONObject getJSONObject(String builder) {
@@ -302,7 +308,7 @@
             wqq.like(TjCustomer::getCusName, name);
             List<TjCustomer> customerList = tjCustomerService.list(wqq);
             List<TjOrder> list2 = new ArrayList<>();
-            if (null != customerList && customerList.size() > 0) {
+            if (null != customerList && !customerList.isEmpty()) {
                 List<TjOrder> list = new ArrayList<>();
                 for (TjCustomer customer : customerList) {
                     LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>();
@@ -313,13 +319,13 @@
                     list.addAll(tjOrderService.list(wq));
                 }
                 List<TjOrder> collect = null;
-                if (list.size() > 0) {
+                if (!list.isEmpty()) {
                     for (TjOrder order : list) {
                         //绛涢�夋湁璋冩煡闂嵎鐨�
                         LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>();
                         wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                         List<TjSurveyRecord> one = surveyRecordService.list(wqq1);
-                        if (one.size() == 0) {
+                        if (one.isEmpty()) {
                             TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                             if (null != tjCustomer) {
                                 order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -380,7 +386,7 @@
                 LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>();
                 wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber());
                 List<TjSurveyRecord> one = surveyRecordService.list(wqq);
-                if (one.size() == 0) {
+                if (one.isEmpty()) {
                     TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId());
                     if (null != tjCustomer) {
                         order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName()));
@@ -1037,7 +1043,7 @@
                 tjOrder.setTjType("2");
             }
         }
-        if(StringUtil.isBlank(tjOrder.getFirmId())){
+        if (StringUtil.isBlank(tjOrder.getFirmId())) {
             tjOrder.setFirmId("0");
         }
 
@@ -1096,8 +1102,8 @@
 //        if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
 
 
-        String tjNumber = (SecurityUtils.getUsername()+IdUtils.getTjNumber());
-        if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber;
+        String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber());
+        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
         tjOrder.setTjNumber(tjNumber);
 
 
@@ -1144,10 +1150,10 @@
             tjFlowingWater.setDiscount(discount.toString());
 
             BigDecimal subtract = paidIn.subtract(copeWith.multiply(discount.divide(BigDecimal.valueOf(10))));
-            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 搴斾粯: "+copeWith);
-            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鎶樻墸: "+discount);
-            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 瀹炰粯: "+paidIn);
-            log.info("绛惧埌鐧昏浣撴浜�: "+tjOrder.getTjNumber()+" 鐩稿樊: "+subtract);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 搴斾粯: " + copeWith);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鎶樻墸: " + discount);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 瀹炰粯: " + paidIn);
+            log.info("绛惧埌鐧昏浣撴浜�: " + tjOrder.getTjNumber() + " 鐩稿樊: " + subtract);
 
             if (isPay.equals("true")) {
                 if (null != mallOrder) {
@@ -1181,7 +1187,7 @@
             //淇敼姣忛」鐨勫師浠风幇浠�
 //            transitionService.updateTbTransitionPriceByCusId(tjCustomer.getCusIdcard(), discount, tjOrder.getTjNumber());
             //淇敼涓存椂琛ㄤ綋妫�鍙�
-            transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(),tjOrder.getTjNumber());
+            transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
             //琛ュ樊浠�
     /*        if(subtract.compareTo(BigDecimal.ZERO)>0){
                 tjFlowingWater.setPaidIn(paidIn.add(subtract));
@@ -1352,7 +1358,7 @@
                 List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
                 addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
                 return AjaxResult.success(tjNumber);
-            }else {
+            } else {
                 newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater);
                 AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater);
                 if (error != null) return error;
@@ -1511,21 +1517,22 @@
             }
 
         }
-        if (StrUtil.isNotBlank(jxbz)){
-            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()),jxbz);
-        }else {
-            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(),sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
+        if (StrUtil.isNotBlank(jxbz)) {
+            tjSamplingMapper.updateUserIdByTjNumAndJxbz(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), jxbz);
+        } else {
+            tjSamplingMapper.updateUserIdByTjNum(order.getTjNumber(), sysUser.getNickName(), String.valueOf(sysUser.getUserId()));
         }
     }
 
 
     @PostMapping("/addPlOrderAndDetail")
     @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛")
-    @Transactional  //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�)
+//    @Transactional  //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�)
     public AjaxResult addPlOrderAndDetail(@RequestBody QianDaoDto daoDto, HttpServletResponse response) {
         SysUser sysUser = UserHoder.getLoginUser().getUser();
         List<String> cusIds = daoDto.getCusIds();
         ArrayList<String> tjNumbers = new ArrayList<>();
+        ArrayList<String> errTjh = new ArrayList<>();
         if (null != cusIds && !cusIds.isEmpty()) {
             ExecutorService threadPools = Executors.newFixedThreadPool(cusIds.size());
             for (String cusId : cusIds) {
@@ -1554,6 +1561,7 @@
 //                            }
 //                        }
 //                    });
+
                     Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() {
                         @Override
                         public AjaxResult call() throws Exception {
@@ -1562,61 +1570,106 @@
                     });
                     try {
                         AjaxResult result = future.get();
-                        String tjNumber = result.get("tjNumber").toString();
-                        tjNumbers.add(tjNumber);
+                        String code = result.get("code").toString();
+                        if (code.equals("200")) {
+                            String tjNumber = result.get("tjNumber").toString();
+                            tjNumbers.add(tjNumber);
+                        }else {
+                            String userId = result.get("userId").toString();
+                            errTjh.add(userId);
+                        }
                     } catch (InterruptedException | ExecutionException e) {
+//                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                         e.printStackTrace();
                     }
                 }
                 threadPools.shutdown();
             }
-        }
-        // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁
-        tjNumbers = new ArrayList<>();
-        tjNumbers.add("02095240229171627");
-        tjNumbers.add("02095240229173104");
-        tjNumbers.add("10001240524172002");
-        tjNumbers.add("10001240304124410");
-        tjNumbers.add("00325240304160123");
-        tjNumbers.add("02095240304162044");
-        tjNumbers.add("02095240304162152");
-        tjNumbers.add("10001240304163505");
-        Map<String, Object> map = null;
-        try {
-            map = PDFDocumentUtil.getDocument();
-            Document document = (Document) map.get("document");
-            for (int i = 0; i < tjNumbers.size(); i++) {
+            // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁  鎵撳嵃瀵艰瘖鍗�
+            if (!tjNumbers.isEmpty()) {
+            /*    Map<String, Object> map = null;
                 try {
-                    List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumbers.get(i));
-                    Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumbers.get(i));
-                    LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj");
-                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
-                    String time = null;
-                    if (tjsj != null) {
-                        time = dateFormat.format(tjsj);
+                    map = PDFDocumentUtil.getDocument();
+                    Document document = (Document) map.get("document");
+//                    for (int i = 0; i < tjNumbers.size(); i++) {
+                    int i = 0;
+                    for (String tjNumber : tjNumbers) {
+                        try {
+                            List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
+                            Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber);
+                            if(null !=userInfo && null !=djdInfos && !djdInfos.isEmpty()){
+                                LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj");
+                                DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
+                                String time = null;
+                                if (tjsj != null) {
+                                    time = dateFormat.format(tjsj);
+                                }
+                                PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex")
+                                        , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time);
+                                PDFDocumentUtil.makeTjInfo(document, djdInfos);
+                                // 澶氭潯鍒欐崲椤�
+                                if (i + 1 < tjNumbers.size()) {
+                                    document.newPage();
+                                }
+                            }
+
+                        } catch (DocumentException | IOException e) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
+                            TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
+                            tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+                            tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
+                            remarkService.deletedOrderRemarkByTjNum(tjNumber);
+                            tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
+//                transitionService.deletedTbTransitionByTjNum(tjNum);
+                            tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
+
+                            TjReservation reservation = tjReservationService.getById(order.getReservationId());
+                            if(null !=reservation){
+                                reservation.setIsExpire(2);
+                                tjReservationService.updateById(reservation);
+                                transitionService.updateTbTransitionByTjNum(tjNumber);
+                            }
+                            e.printStackTrace();
+                        }
                     }
-                    PDFDocumentUtil.makeUserInfoTable(document, (String) userInfo.get("tjname"), (String) userInfo.get("sex")
-                            , (String) userInfo.get("tjh"), (String) userInfo.get("lxdh"), (String) userInfo.get("tjname"), time);
-                    PDFDocumentUtil.makeTjInfo(document, djdInfos);
-                    // 澶氭潯鍒欐崲椤�
-                    if (i + 1 < tjNumbers.size()) {
-                        document.newPage();
-                    }
-                } catch (DocumentException | IOException e) {
+
+//                    }
+                    document.close();
+                    ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream");
+                    String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray());
+                    return AjaxResult.success().put("file", encodeToString);
+                } catch (IOException | DocumentException e) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     e.printStackTrace();
-                }
+                }*/
+                Map<String,Object> map=new HashMap<>();
+                map.put("tjh",tjNumbers);
+                return AjaxResult.success("鎿嶄綔鎴愬姛",map);
             }
-            document.close();
-            ByteArrayOutputStream outputStream = (ByteArrayOutputStream) map.get("stream");
-            String encodeToString = java.util.Base64.getEncoder().encodeToString(outputStream.toByteArray());
-            return AjaxResult.success().put("file", encodeToString);
-        } catch (IOException | DocumentException e) {
-            e.printStackTrace();
+            if (!errTjh.isEmpty()){
+                Map<String,Object> map=new HashMap<>();
+                map.put("errtjh",errTjh);
+                return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map);
+            }
+            return AjaxResult.success();
         }
-        return AjaxResult.success("鎿嶄綔鎴愬姛");
+//        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        return AjaxResult.error();
     }
 
-    private void getAjaxResults(String cusIdcard) {
+    @GetMapping("/signOrderInfo")
+    public AjaxResult signOrderInfo(@RequestParam("tjNum") String tjNum){
+        List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNum);
+        Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNum);
+        HashMap<String, Object> hashMap = new HashMap<>();
+        hashMap.put("djd",djdInfos);
+        hashMap.put("user",userInfo);
+        return AjaxResult.success(hashMap);
+    }
+
+    @Transactional
+    public void getAjaxResults(String cusIdcard) {
         if (!"".equals(cusIdcard) && cusIdcard != null) {
             //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
             final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
@@ -1750,25 +1803,13 @@
         DynamicDataSourceContextHolder.clearDataSourceType();
     }
 
-    private AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
+    @Transactional
+    public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException {
 
         LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
         wq.eq(TjCustomer::getCusId, userId);
         TjCustomer tjCustomer = tjCustomerService.getOne(wq);
         if (tjCustomer == null) return AjaxResult.error("璇ュ鎴锋湭鐧昏鎴栦笉瀛樺湪");
-
-//        LambdaQueryWrapper<TjOrder> wqq = new LambdaQueryWrapper<>();
-//        wqq.eq(TjOrder::getUserId, userId);
-//        wqq.eq(TjOrder::getCheckStatus, 0);
-//        wqq.isNull(TjOrder::getFinishTime);
-//        if (!tjCustomer.getCardId().equals("0")) {
-//            wqq.eq(TjOrder::getCardId, tjCustomer.getCardId());
-//        }
-//        TjOrder order = tjOrderService.getOne(wqq);
-//        if (null != order) {
-//            transitionService.deletedTbTransitionListByCusIdAndTjNum(tjCustomer.getCusIdcard(), tjCustomer.getCardId());
-//            return AjaxResult.error("涓嶅彲閲嶅鐧昏");
-//        }
         TjOrder tjOrder = new TjOrder();
         Date date = new Date();
         tjOrder.setCreateTime(date);
@@ -1785,16 +1826,17 @@
         if (tjReservation != null) {
             tjOrder.setReservationId(tjReservation.getId());
             mallOrder = mallOrderService.getOne(new LambdaQueryWrapper<MallOrder>().eq(MallOrder::getReservationId, tjReservation.getId()));
-            if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
-                return AjaxResult.error("鏈埌棰勭害鏃堕棿");
-            }
-            if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) {
-                tjReservation.setIsExpire(1);
-                tjReservationService.updateById(tjReservation);
-                return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�");
-            }
+//            if (DateUtil.endOfDay(new Date()).before(tjReservation.getReservationTime())) {
+//                return AjaxResult.error("鏈埌棰勭害鏃堕棿");
+//            }
+//            if (DateUtil.endOfDay(tjReservation.getReservationTime()).before(new Date())) {
+//                tjReservation.setIsExpire(1);
+//                tjReservationService.updateById(tjReservation);
+//                return AjaxResult.error("瀵逛笉璧锋偍鐨勯绾﹀凡瓒呮椂璇烽噸鏂伴绾�");
+//            }
             if (null != tjReservation.getTeamNo()) tjOrder.setTeamNo(tjReservation.getTeamNo());
             if (null != tjReservation.getCompanyId()) tjOrder.setFirmId(tjReservation.getCompanyId());
+            if (null != tjReservation.getCompany()) tjOrder.setFirmName(tjReservation.getCompany());
             if (null != tjReservation.getDepartment()) tjOrder.setFirmDeptName(tjReservation.getDepartment());
             if (null != tjReservation.getJobNo()) tjOrder.setFirmWorkId(tjReservation.getJobNo());
             if (null != tjReservation.getPacId()) tjOrder.setPacId(tjReservation.getPacId());
@@ -1805,12 +1847,46 @@
             }
             tjReservation.setIsExpire(1);
             tjReservationService.updateById(tjReservation);
+            if (null != tjReservation.getTeamNo()) {
+                tjOrder.setTjType("1");
+            } else{
+                tjOrder.setTjType("2");
+            }
+
+        if (StringUtil.isBlank(tjOrder.getFirmId())) {
+            tjOrder.setFirmId("0");
+        }
+//
+//            tjReservation.setIsExpire(1);
+//            tjReservationService.updateById(tjReservation);
 
             //鐢熸垚浣撴鍙�
-            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
+//            String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date()));
+//            tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6));
 
-            tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4));
 
+            //鑾峰彇鎷兼帴鍓嶇紑
+            String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix");
+            String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber());
+            if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
+
+
+//            if (redisCache.hasKey(TJH)) {
+//                while (true){
+//                    List<String> tjh = redisCache.getCacheList(TJH);
+//                    if(tjh.contains(tjNumber)){
+//                        tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber());
+//                        if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber;
+//                    }else {
+//                        tjh.add(tjNumber);
+//                    }
+//                }
+//            }else {
+//                List<String> stringList = tjOrderService.
+//                        list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
+//                stringList.add(tjNumber);
+//                redisCache.setCacheList(TJH,stringList);
+//            }
             tjOrder.setTjNumber(tjNumber);
             if (null != tjOrder.getPhoto()) {
                 File file = new File(tjOrder.getPhoto());
@@ -1851,6 +1927,21 @@
                 tjCustomer.setCusNumber(cusNumber);
 //            BigDecimal discount = BigDecimal.valueOf(Double.parseDouble(tjOrder.getTjFlowingWater().getDiscount())).divide(BigDecimal.valueOf(10));
                 TjFlowingWater tjFlowingWater = new TjFlowingWater();
+                tjFlowingWater.setCreateTime(date);
+                tjFlowingWater.setCreateTime(date);
+                tjFlowingWater.setUpdateTime(date);
+                tjFlowingWater.setCreateBy(sysUser.getNickName());
+                tjFlowingWater.setUpdateBy(sysUser.getNickName());
+//                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber());
+                BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard());
+                tjFlowingWater.setCopeWith(bigDecimal);
+//                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber());
+                BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard());
+                tjFlowingWater.setPaidIn(bigDecimal1);
+                tjFlowingWater.setDiscount(String.valueOf(10));
+                tjFlowingWater.setPayStasus(1L);
+                tjFlowingWater.setPayType(3L);
+
                 tjFlowingWater.setPayStasus(0L);
                 if ("1".equals(tjOrder.getTjType())) {
                     if (tjReservation.getPayType() == 1) {
@@ -1899,18 +1990,38 @@
                 if (tjFlowingWaterService.save(tjFlowingWater)) {
                     tjOrder.setTjSerialNumber(String.valueOf(tjFlowingWater.getTjSerialNumber()));
                     tjOrderService.updateById(tjOrder);
-
-
                 }
-                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
+                transitionService.updateTbTransitionTjNumByCusId(tjCustomer.getCusIdcard(), tjOrder.getTjNumber());
+                tjCustomer.setCardId(tjOrder.getTjNumber());
+                tjCustomerService.updateById(tjCustomer);
+                transitionService.updateCardIdByTjNumAndIdCard(tjCustomer.getCusIdcard(), tjOrder.getTjNumber(), tjOrder.getTjNumber());
+                tjOrder.setCardId(tjOrder.getTjNumber());
+                tjOrderService.updateById(tjOrder);
 
+//                asyncService.ttextracted(tjOrder, tjCustomer, sysUser, tjReservation, tjFlowingWater);
+
+                if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) {
+                    // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁
+                    tjFlowingWater.setPayStasus(1L);
+                    tjOrder.setTjFlowingWater(tjFlowingWater);
+                    newSaveextracted(tjOrder, tjCustomer, BigDecimal.valueOf(10), sysUser, tjReservation, tjFlowingWater);
+                    tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()),
+                            sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
+                    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
+                    List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber());
+                    xdPictureService.saveBatch(xdPictureList);
+                    List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId());
+                    addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null);
+//                    return AjaxResult.success(tjNumber);
+                }
 
                 tjCustomer.setCardId("0");
                 tjCustomerService.updateById(tjCustomer);
                 return AjaxResult.success().put("tjNumber", tjNumber);
             }
         }
-        return AjaxResult.error();
+        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        return AjaxResult.error().put("userId",userId);
     }
 
 
@@ -2000,10 +2111,10 @@
                     transitionService.saveRedisTransitionByPacId(cusId, cardId, pacId);
 
                     //琛ュ樊浠�
-                    List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
-                    if(null !=cjMaps && !cjMaps.isEmpty()){
+                    List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
+                    if (null != cjMaps && !cjMaps.isEmpty()) {
                         for (Map<String, Object> cjMap : cjMaps) {
-                            transitionService.buxiangmuchajia(cusId,pacId.toString(),cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString()));
+                            transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString()));
                         }
                     }
 
@@ -3217,7 +3328,7 @@
             for (int i = 0; i < tjNumbers.size(); i++) {
                 String tjNumber = tjNumbers.get(i).getTjNumber();
                 try {
-                    List<Map<String, String>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
+                    List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNumber);
                     Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNumber);
                     LocalDateTime tjsj = (LocalDateTime) userInfo.get("tjsj");
                     DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
@@ -3511,7 +3622,7 @@
                 log.info("閫�璐圭敵璇� 鍏ュ弬 -> {}", JSONUtil.toJsonStr(map));
                 String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
                 log.info("閫�璐圭敵璇� 杩斿洖 -> {}", JSONUtil.toJsonStr(post));
-                if(null !=post){
+                if (null != post) {
                     JSONObject jsonObject = JSONUtil.parseObj(post);
                     if (jsonObject.getStr("code").equals("200")) {
                         // hisTfWaterId
@@ -3701,7 +3812,7 @@
                     }
                 }
             }
-            if(!list.isEmpty()) {
+            if (!list.isEmpty()) {
                 int i = tjReportService.deleteTjReportByReIds(list.toArray(new Long[]{}));
                 if (i == 0) {
                     return AjaxResult.error("鎾ゅ洖澶辫触锛�");
@@ -3757,14 +3868,14 @@
                     TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return AjaxResult.error("鎿嶄綔澶辫触! 浠ヤ笅椤圭洰宸插瓨鍦�: " + string);
                 }
-                transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString()) ;
-                    //琛ュ樊浠�
-                    List<Map<String,Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
-                    if(null !=cjMaps && !cjMaps.isEmpty()){
-                        for (Map<String, Object> cjMap : cjMaps) {
-                            transitionService.buxiangmuchajia(cusId,pacId.toString(),cjMap.get("xmid").toString(),new BigDecimal(cjMap.get("cj").toString()));
-                        }
+                transitionService.ttsaveTemoTransitionByGroupingId(cusId, cardId, pacId.toString());
+                //琛ュ樊浠�
+                List<Map<String, Object>> cjMaps = groupingProService.huoquxiangmuchajia(pacId.toString(), cusId);
+                if (null != cjMaps && !cjMaps.isEmpty()) {
+                    for (Map<String, Object> cjMap : cjMaps) {
+                        transitionService.buxiangmuchajia(cusId, pacId.toString(), cjMap.get("xmid").toString(), new BigDecimal(cjMap.get("cj").toString()));
                     }
+                }
 
             }
         }
@@ -3799,7 +3910,7 @@
 //                }
 //            }
 //        }
-        List<TbTransition> list= transitionService.newgetTransitionList(cusId);
+        List<TbTransition> list = transitionService.newgetTransitionList(cusId);
         return AjaxResult.success(list);
     }
 
@@ -3808,30 +3919,30 @@
     @Transactional
     public AjaxResult updateTransitionnewPrice(@RequestBody List<UpdateTransitionnewPriceDto> dtos) {
 
-        if(null !=dtos && !dtos.isEmpty()){
+        if (null != dtos && !dtos.isEmpty()) {
             for (UpdateTransitionnewPriceDto dto : dtos) {
-                LambdaQueryWrapper<TbTransition> wq=new LambdaQueryWrapper<>();
-                wq.eq(TbTransition::getCusId,dto.getCusIdCard());
-                wq.eq(TbTransition::getParentProId,dto.getParentProId());
+                LambdaQueryWrapper<TbTransition> wq = new LambdaQueryWrapper<>();
+                wq.eq(TbTransition::getCusId, dto.getCusIdCard());
+                wq.eq(TbTransition::getParentProId, dto.getParentProId());
                 wq.isNull(TbTransition::getTjNum);
                 List<TbTransition> list = transitionService.list(wq);
-                log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: "+dto.getCusIdCard());
-                log.info("鐖堕」鐩甶d涓�: "+dto.getParentProId());
-                log.info("鎶樻墸涓�: "+new BigDecimal(dto.getDiscount()));
-                if(null !=list && !list.isEmpty()){
-                    BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId());
+                log.info("淇敼鐨勫鎴疯韩浠借瘉鍙蜂负: " + dto.getCusIdCard());
+                log.info("鐖堕」鐩甶d涓�: " + dto.getParentProId());
+                log.info("鎶樻墸涓�: " + new BigDecimal(dto.getDiscount()));
+                if (null != list && !list.isEmpty()) {
+                    BigDecimal dxzj = transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId());
                     for (TbTransition transition : list) {
                         BigDecimal ordPrice = transition.getOrdPrice();
                         BigDecimal multiply = ordPrice.multiply((new BigDecimal(dto.getDiscount()).divide(BigDecimal.valueOf(10))));
-                        log.info("鍚庣璁$畻鐨勯噾棰�: "+multiply);
+                        log.info("鍚庣璁$畻鐨勯噾棰�: " + multiply);
                         transition.setNowPrice(multiply);
                         transition.setDiscount(new BigDecimal(dto.getDiscount()));
                         transitionService.updateById(transition);
                     }
-                    if(null !=dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO)>=0){
+                    if (null != dto.getYhj() && dto.getYhj().compareTo(BigDecimal.ZERO) >= 0) {
                         List<TbTransition> transitionList = list.stream().filter(a ->
-                                transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(),dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList());
-                        if(!transitionList.isEmpty()){
+                                transitionService.getTbTransitionPriceAndOrdPrice(dto.getCusIdCard(), dto.getParentProId()).subtract(dto.getYhj()).compareTo(BigDecimal.ZERO) >= 0).collect(Collectors.toList());
+                        if (!transitionList.isEmpty()) {
                             TbTransition tbTransition = transitionList.get(0);
                             tbTransition.setNowPrice(dxzj);
                             transitionService.updateById(tbTransition);
@@ -3844,5 +3955,37 @@
     }
 
 
+
+    @PostMapping("/huifuyuyuejilu")
+    @ApiOperation(value = "浣撴璁板綍椤甸潰鎭㈠棰勭害璁板綍鎺ュ彛")
+    @Transactional
+    public AjaxResult huifuyuyuejilu(@RequestBody List<String> tjNUms) {
+
+        if (null != tjNUms && !tjNUms.isEmpty()) {
+            for (String tjNUm : tjNUms) {
+                TjOrder order = tjOrderService.getOrderByTjNum(tjNUm);
+                if(null !=order && StringUtil.isNotBlank(order.getReservationId())){
+                    //杩欓噷鍒犻櫎鐨勬槸杩欎釜浜烘墍鏈夐」鐩寘鎷ˉ褰曢」鐩�
+                    tjOrderService.deleteTjOrderByOrderId(order.getOrderId());
+                    tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId()));
+                    remarkService.deletedOrderRemarkByTjNum(tjNUm);
+                    tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId()));
+//                transitionService.deletedTbTransitionByTjNum(tjNum);
+                    tjSamplingMapper.deleteByTjNumAndCusId(order.getTjNumber(), order.getUserId());
+
+                    TjReservation reservation = tjReservationService.getById(order.getReservationId());
+                    if(null !=reservation){
+                        reservation.setIsExpire(2);
+                        tjReservationService.updateById(reservation);
+                        transitionService.updateTbTransitionByTjNum(tjNUm);
+                    }
+
+                }
+            }
+
+            return AjaxResult.success();
+        }
+        return AjaxResult.error();
+    }
 }
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
index a360ec8..fbf5621 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -39,6 +39,7 @@
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import jodd.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -114,18 +115,21 @@
     public AjaxResult savePdf() {
         //浠庢枃浠跺湴鍧�璇诲叆PDF鏂囦欢  浠呭瓨鍌ㄤ竴娆�
         String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_pdf5Template"));
-        reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"浣撴鎶ュ憡妯℃澘5"));
-        TjReportTemplate tem = new TjReportTemplate();
-        tem.setName("浣撴鎶ュ憡妯℃澘5");
-        tem.setRemark("浣撴鎶ュ憡妯℃澘5");
-        tem.setTemplate(base64String);
-        tem.setFlag("1");
-        tem.setOpen("0");
-        tem.setCreateTime(DateUtil.date());
-        final boolean save = reportTemplateService.save(tem);
-        if (save) {
-            return AjaxResult.success("淇濆瓨鎴愬姛");
+        if(StringUtil.isNotBlank(base64String)){
+            reportTemplateService.remove(new LambdaQueryWrapper<TjReportTemplate>().eq(TjReportTemplate::getName,"浣撴鎶ュ憡妯℃澘5"));
+            TjReportTemplate tem = new TjReportTemplate();
+            tem.setName("浣撴鎶ュ憡妯℃澘5");
+            tem.setRemark("浣撴鎶ュ憡妯℃澘5");
+            tem.setTemplate(base64String);
+            tem.setFlag("1");
+            tem.setOpen("0");
+            tem.setCreateTime(DateUtil.date());
+            final boolean save = reportTemplateService.save(tem);
+            if (save) {
+                return AjaxResult.success("淇濆瓨鎴愬姛");
+            }
         }
+
         return AjaxResult.success("淇濆瓨澶辫触");
 //        String base64String2 = PDFBinaryUtil.getPDFBinary("D:\\Tjreport\\蹇冪數鍥�1.pdf");
 //        TjReport tem2 = new TjReport();
@@ -1711,7 +1715,7 @@
         we.eq(TjReport::getType, "浣撴鎶ュ憡");
         TjReport one = tjReportService.getOne(we);
         if (one == null) {
-            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡");
+            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!");
         }
         if ("pdf".equals(one.getPrint())) {
             res.put("flag", "0");
@@ -1721,7 +1725,7 @@
             res.put("url", one.getPath());
             return AjaxResult.success(res);
         } else {
-            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡");
+            return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!");
         }
 
     }
@@ -2146,7 +2150,7 @@
             // 涓嶅湪浣跨敤閫昏緫鍒犻櫎 閫昏緫鍒犻櫎瀵艰嚧鎵撳嵃鎶ュ憡鐢熸垚 鏌ヨsql缂撴參
             int i = tjReportService.deleteTjReportByReId(tjReport.getReId());
             if (i == 0) {
-                return AjaxResult.error("鎾ゅ洖澶辫触锛�");
+                return AjaxResult.error("鏆傛棤浣撴鎶ュ憡,璇锋挙鍥炲埌鎬绘鏈鏍搁〉闈�,闇�鎬绘鍖荤敓閲嶆柊瀹℃牳骞剁敓鎴愭姤鍛�!");
             }
         }
 
@@ -2169,11 +2173,10 @@
             one.setPrintLastTime(null);
             one.setDownloadLastTime(null);
             if (tjOrderService.updateById(one)) {
-//                ycxmService.delOrderYcXmJyByTjh(tjNumber);
                 return AjaxResult.success("鎾ゅ洖鎴愬姛锛�");
             }
         }
-        return AjaxResult.error("鎾ゅ洖澶辫触锛�");
+        return AjaxResult.error("璇ヤ汉鍛樹綋妫�璁板綍涓嶅瓨鍦�,璇锋牳瀹炰汉鍛樹俊鎭�!");
 
     }
 
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
index c3e82e4..f30a179 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java
@@ -221,6 +221,7 @@
     public AjaxResult getCusList(@RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor,
                                  @RequestParam(required = false) @ApiParam(value = "浣撴鍙�") String tjNum,
                                  @RequestParam(required = false) @ApiParam(value = "瀹㈡埛濮撳悕") String name,
+                                 @RequestParam(required = false) @ApiParam(value = "鍗曚綅") String dw,
                                  @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer pageNum,
                                  @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize,
                                  @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
@@ -234,6 +235,17 @@
             wrapper.like(TjSampling::getCusName, name);
         if (null != beginTime && null != endTime && StrUtil.isNotBlank(beginTime) && StrUtil.isNotBlank(endTime))
             wrapper.between(TjSampling::getApplicationTime, beginTime, endTime);
+        if (StrUtil.isNotBlank(dw)){
+            LambdaQueryWrapper<TjOrder> wqq=new LambdaQueryWrapper<>();
+            wqq.like(TjOrder::getFirmId,dw);
+            wqq.select(TjOrder::getTjNumber);
+            List<TjOrder> orderList = orderService.list(wqq);
+            if(null !=orderList && !orderList.isEmpty()){
+                List<String> list = orderList.stream().map(TjOrder::getTjNumber).collect(Collectors.toList());
+                wrapper.in(TjSampling::getTjNum, list);
+            }
+        }
+
         wrapper.groupBy(TjSampling::getCusId);
         wrapper.orderByDesc(TjSampling::getCreateTime);
 //        wrapper.last("LIMIT " + (pageNum - 1) * pageSize + "," + pageSize);
@@ -243,6 +255,8 @@
         for (TjSampling tjSampling : list) {
             TjCustomer customer = customerService.getById(tjSampling.getCusId());
             if(null !=customer){
+                TjOrder order = orderService.getOrderByTjNum(tjSampling.getTjNum());
+                customer.setCompName(order.getFirmName());
                 customer.setCusName(customer.getCusName());
                 customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
                 customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
@@ -364,7 +378,7 @@
         if (list.size() >= 2) {
             // 杩涜鍚堝苟
             List<String> stringList = list.stream().map(TjSampling::getId).collect(Collectors.toList());
-            log.info("鎻愬彇id ->{}",stringList);
+//            log.info("鎻愬彇id ->{}",stringList);
             for (String s : stringList) {
                 if (tjSamplingService.isMergeItem(s) != 0) {
                     list.removeIf(item -> Objects.equals(item.getId(), s));
diff --git a/ltkj-admin/src/main/resources/application-dev.yml b/ltkj-admin/src/main/resources/application-dev.yml
index ee295d4..beec389 100644
--- a/ltkj-admin/src/main/resources/application-dev.yml
+++ b/ltkj-admin/src/main/resources/application-dev.yml
@@ -21,7 +21,7 @@
 # 寮�鍙戠幆澧冮厤缃�
 server:
   # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
-  port: 5000
+  port: 5011
   servlet:
     # 搴旂敤鐨勮闂矾寰�
     context-path: /
@@ -147,7 +147,7 @@
   # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
   soloLogin: true
   #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
-  secret_key_login: false
+  secret_key_login: true
 
 # MyBatis Plus閰嶇疆
 mybatis-plus:
@@ -251,7 +251,7 @@
 #  username = root
 #  password = Root_ltkj123
 config:
-  properties: D:\ltkjprojectconf\configregion.properties
+  properties: D:\ltkjprojectconf\config.properties
   path: D:\ltkjprojectconf
 logging:
   level:
diff --git a/ltkj-admin/src/main/resources/application-linux-dev.yaml b/ltkj-admin/src/main/resources/application-linux-dev.yaml
new file mode 100644
index 0000000..90c9bbd
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-linux-dev.yaml
@@ -0,0 +1,252 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5011
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: /Users/chacca/寮�鍙戠浉鍏�/浠g爜/Tjreport
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: /ltkj/uploadPath/
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: /Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkjprojectconf/gspljcxyyconfig.properties
+  path: /Users/chacca/寮�鍙戠浉鍏�/浠g爜/ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-linux-mjprod.yml b/ltkj-admin/src/main/resources/application-linux-mjprod.yml
new file mode 100644
index 0000000..6dc475d
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-linux-mjprod.yml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5003
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: /ltkj/Tjreport/mjprodReort
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: /ltkj/uploadPath/
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: /ltkj/ltkjprojectconf/mjzsconfig.properties
+  path: /ltkj/ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-linux-mjtest.yml b/ltkj-admin/src/main/resources/application-linux-mjtest.yml
new file mode 100644
index 0000000..36fffc3
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-linux-mjtest.yml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5004
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: /ltkj/Tjreport
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: /ltkj/uploadPath/
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: /ltkj/ltkjprojectconf/mjcsconfig.properties
+  path: /ltkj/ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-prod.yml b/ltkj-admin/src/main/resources/application-prod.yml
index d9e6174..28ec201 100644
--- a/ltkj-admin/src/main/resources/application-prod.yml
+++ b/ltkj-admin/src/main/resources/application-prod.yml
@@ -21,7 +21,7 @@
 # 寮�鍙戠幆澧冮厤缃�
 server:
   # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
-  port: 5001
+  port: 5000
   servlet:
     # 搴旂敤鐨勮闂矾寰�
     context-path: /ltkj-admin
diff --git a/ltkj-admin/src/main/resources/application-test.yml b/ltkj-admin/src/main/resources/application-test.yml
index 7b30897..c8ad41b 100644
--- a/ltkj-admin/src/main/resources/application-test.yml
+++ b/ltkj-admin/src/main/resources/application-test.yml
@@ -21,7 +21,7 @@
 # 寮�鍙戠幆澧冮厤缃�
 server:
   # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
-  port: 5002
+  port: 5001
   servlet:
     # 搴旂敤鐨勮闂矾寰�
     context-path: /ltkj-admin
diff --git a/ltkj-admin/src/main/resources/application-win-chkwyyprod.yaml b/ltkj-admin/src/main/resources/application-win-chkwyyprod.yaml
new file mode 100644
index 0000000..3bf475a
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-win-chkwyyprod.yaml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5001
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: C:\Tjreport\chkwyy
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: C:\AppPhoto\uploadPath\
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: C:\ltkjprojectconf\chkwyy-config.properties
+  path: C:\ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-win-pbkwyyprod.yaml b/ltkj-admin/src/main/resources/application-win-pbkwyyprod.yaml
new file mode 100644
index 0000000..34b6c30
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-win-pbkwyyprod.yaml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5005
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: C:\Tjreport\pbkwyy
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: C:\AppPhoto\uploadPath\
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5005/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: C:\ltkjprojectconf\pbkwyy-config.properties
+  path: C:\ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-win-xamjyyprod.yaml b/ltkj-admin/src/main/resources/application-win-xamjyyprod.yaml
new file mode 100644
index 0000000..209a51e
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-win-xamjyyprod.yaml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5003
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: C:\Tjreport\xamjyy
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: C:\AppPhoto\uploadPath\
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: C:\ltkjprojectconf\xamjyy-config.properties
+  path: C:\ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application-win-xamjyytest.yaml b/ltkj-admin/src/main/resources/application-win-xamjyytest.yaml
new file mode 100644
index 0000000..46e5f47
--- /dev/null
+++ b/ltkj-admin/src/main/resources/application-win-xamjyytest.yaml
@@ -0,0 +1,255 @@
+# 椤圭洰鐩稿叧閰嶇疆
+ltkj:
+  # 鍚嶇О
+  name: ltkj
+  # 鐗堟湰
+  version: 1.0.1
+  # 鐗堟潈骞翠唤
+  copyrightYear: 2022
+  # 瀹炰緥婕旂ず寮�鍏�
+  demoEnabled: true
+  # 鏂囦欢璺緞 绀轰緥锛� Windows閰嶇疆D:/ltkj/uploadPath锛孡inux閰嶇疆 /home/ltkj/uploadPath锛�
+  # 鐢ㄦ埛鎹㈠ご鍍忓悗鐨勫浘鐗囧瓨鍌ㄥ湴鍧�  娴嬭瘯锛欴:\ltkj\uploadPath\avatar\2022\12\14
+  #profile: D:/ltkj/uploadPath
+  #  profile: https://ltpeis.xaltjdkj.cn:5502/uploadPath
+  profile: http://192.168.0.5:5502/uploadPath
+
+  # 鑾峰彇ip鍦板潃寮�鍏�
+  addressEnabled: true
+  # 楠岃瘉鐮佺被鍨� math 鏁扮粍璁$畻 char 瀛楃楠岃瘉
+  captchaType: math
+# 寮�鍙戠幆澧冮厤缃�
+server:
+  # 鏈嶅姟鍣ㄧ殑HTTP绔彛锛岄粯璁や负8080
+  port: 5004
+  servlet:
+    # 搴旂敤鐨勮闂矾寰�
+    context-path: /ltkj-admin
+  tomcat:
+    # tomcat鐨刄RI缂栫爜
+    uri-encoding: UTF-8
+    # 杩炴帴鏁版弧鍚庣殑鎺掗槦鏁帮紝榛樿涓�100
+    accept-count: 1000
+    threads:
+      # tomcat鏈�澶х嚎绋嬫暟锛岄粯璁や负200
+      max: 800
+      # Tomcat鍚姩鍒濆鍖栫殑绾跨▼鏁帮紝榛樿鍊�10
+      min-spare: 100
+
+# 鏃ュ織閰嶇疆
+#logging:
+#  level:
+#    com.ltkj: debug
+#    org.springframework: warn
+
+# 鐢ㄦ埛閰嶇疆
+user:
+  password:
+    # 瀵嗙爜鏈�澶ч敊璇鏁�
+    maxRetryCount: 5
+    # 瀵嗙爜閿佸畾鏃堕棿锛堥粯璁�10鍒嗛挓锛�
+    lockTime: 10
+
+# Spring閰嶇疆
+spring:
+  # 璧勬簮淇℃伅
+  messages:
+    # 鍥介檯鍖栬祫婧愭枃浠惰矾寰�
+    basename: i18n/messages
+  # 鏂囦欢涓婁紶
+  servlet:
+    multipart:
+      # 鍗曚釜鏂囦欢澶у皬
+      max-file-size: 2GB
+      # 璁剧疆鎬讳笂浼犵殑鏂囦欢澶у皬
+      max-request-size: 2GB
+  # 鏈嶅姟妯″潡
+  devtools:
+    restart:
+      # 鐑儴缃插紑鍏�
+      enabled: true
+  cache:
+    type: redis
+
+  # redis 閰嶇疆
+  #  redis:
+  #    # 鍦板潃
+  ##    host: 101.42.27.146
+  #    host: localhost
+  #    # 绔彛锛岄粯璁や负6379
+  #    port: 6379
+  #    # 鏁版嵁搴撶储寮�
+  #    database: 0
+  #    # 瀵嗙爜
+  ##    password: 654321
+  #    password: 123456
+  #    # 杩炴帴瓒呮椂鏃堕棿
+  #    timeout: 120s
+  #    lettuce:
+  #      pool:
+  #        # 杩炴帴姹犱腑鐨勬渶灏忕┖闂茶繛鎺�
+  #        min-idle: 0
+  #        # 杩炴帴姹犱腑鐨勬渶澶х┖闂茶繛鎺�
+  #        max-idle: 8
+  #        # 杩炴帴姹犵殑鏈�澶ф暟鎹簱杩炴帴鏁�
+  #        max-active: 8
+  #        # #杩炴帴姹犳渶澶ч樆濉炵瓑寰呮椂闂达紙浣跨敤璐熷�艰〃绀烘病鏈夐檺鍒讹級
+  #        max-wait: -1ms
+  # 閭欢
+  mail:
+    # from 瑕佸拰 username 涓�鑷�, 鍚﹀垯鎶ラ敊
+    from: 1138758025@qq.com
+    # 閭欢鏈嶅姟鍦板潃
+    host: smtp.qq.com
+    # 鐢ㄦ埛鍚�
+    username: 1138758025@qq.com
+    # 鎺堟潈鐮� (璁剧疆 - 璐︽埛 - POP3/SMTP鏈嶅姟)
+    password: lwsbmlbqgpaqfgdb
+    # QQ閭鍔犲瘑绔彛锛屼笉鍚岄偖绠辩殑绔彛涓嶄竴鏍�
+    port: 465
+    properties:
+      mail:
+        smtp:
+          socketFactory:
+            class: javax.net.ssl.SSLSocketFactory
+          ssl:
+            trust: smtp.qq.com
+          # 鏄惁闇�瑕佺敤鎴疯璇�
+          auth: true
+          starttls:
+            # 鍚敤TLS鍔犲瘑
+            enable: true
+            required: true
+  datasource:
+    druid:
+      stat-view-servlet:
+        enabled: true
+        url-pattern: /druid/*
+        login-username: 10001
+        login-password: admin123
+        reset-enable: true
+        allow:
+      filters: stat,wall,log4j  # 鍚敤鏃ュ織鍜岀洃鎺ц繃婊ゅ櫒
+      stat:
+        mergeSql: true  # 鍚堝苟SQL缁熻淇℃伅
+        slowSqlMillis: 3000  # 閰嶇疆 SQL 鎱㈡煡璇㈤槇鍊硷紝鍗曚綅鏄绉掞紝3绉掑嵆 3000ms
+
+# token閰嶇疆
+token:
+  # 浠ょ墝鑷畾涔夋爣璇�
+  header: Authorization
+  # 浠ょ墝瀵嗛挜
+  secret: xaltjdkjyxgs_sjh&1987
+
+  secret_key: ltkj_xaltjdkjsjh
+  # 浠ょ墝鏈夋晥鏈燂紙榛樿30鍒嗛挓锛�
+  expireTime: 180
+  # 鏄惁鍏佽璐︽埛澶氱粓绔悓鏃剁櫥褰曪紙true鍏佽 false涓嶅厑璁革級
+  soloLogin: true
+  #鏄惁寮�鍚櫥褰曟椂鍒ゆ柇鍟嗘埛绉橀挜鏄惁杩囨湡
+  secret_key_login: true
+
+# MyBatis Plus閰嶇疆
+mybatis-plus:
+  # 鎼滅储鎸囧畾鍖呭埆鍚�
+  typeAliasesPackage: com.ltkj.**.domain
+  # 閰嶇疆mapper鐨勬壂鎻忥紝鎵惧埌鎵�鏈夌殑mapper.xml鏄犲皠鏂囦欢
+  mapperLocations: classpath*:mapper/**/*Mapper.xml
+  # 鍔犺浇鍏ㄥ眬鐨勯厤缃枃浠�
+  configLocation: classpath:mybatis/mybatis-config.xml
+  global-config:
+    db-config:
+      logic-not-delete-value: 0
+      logic-delete-value: 1
+      update-strategy: not_null
+
+
+# PageHelper鍒嗛〉鎻掍欢
+pagehelper:
+  helperDialect: mysql
+  supportMethodsArguments: true
+  params: count=countSql
+
+# Swagger閰嶇疆
+swagger:
+  # 鏄惁寮�鍚痵wagger
+  enabled: true
+  # 璇锋眰鍓嶇紑
+  pathMapping: /
+
+# 闃叉XSS鏀诲嚮
+xss:
+  # 杩囨护寮�鍏�
+  enabled: true
+  # 鎺掗櫎閾炬帴锛堝涓敤閫楀彿鍒嗛殧锛�
+  excludes: /system/notice,/system/package
+  # 鍖归厤閾炬帴
+  urlPatterns: /system/*,/monitor/*,/tool/*
+
+
+#  浣撴鎶ュ憡妯℃澘鍜屾姤鍛婁复鏃剁敓鎴愬瓨鍌ㄧ殑鏂囦欢澶硅矾寰�
+path:
+  filePath: C:\Tjreport\xamjyy\test
+  # nginx鍥剧墖鏈嶅姟鍣�
+  reportServer: https://ltpeis.xaltjdkj.cn:5516/
+
+
+#  浣撴濂楅鍜岃疆鎾浘瀛樺偍璺緞
+photoPath: C:\AppPhoto\uploadPath\
+# nginx鍥剧墖鏈嶅姟鍣�
+#photoServer: https://ltpeis.xaltjdkj.cn:5502/uploadPath/
+photoServer: http://192.168.0.5:5502/uploadPath/
+
+
+
+# 寰俊灏忕▼搴廰ppid secret
+xcx:
+  appid: wx40a545f1a8eb1d9d
+  secret: c86c1ff7f91c16380111878e9a259237
+  msgDataFormat: JSON
+  token: token # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨則oken
+  aesKey: aesKey # 寰俊灏忕▼搴忔秷鎭湇鍔″櫒閰嶇疆鐨凟ncodingAESKey
+# 寮�鍙戣�呭簲璇ヨ缃垚鑷繁鐨剋x鐩稿叧淇℃伅
+wx:
+  # 灏忕▼搴�
+  miniapp:
+    appid: wx40a545f1a8eb1d9d
+    secret: c86c1ff7f91c16380111878e9a259237
+    msg-data-format: XML
+  pay:
+    #appid
+    app-id: wx40a545f1a8eb1d9d
+    mch-id: 1642930999   #鍟嗘埛鍙�
+    mch-key: Xianlutaikeji666888999shijihongL   #瀵嗛挜
+    #key-path: E:\mycode\apppwd\1643225121_20230427_cert\apiclient_cert.p12  #鏈湴璇佷功璺緞锛屽湪寰俊鍟嗘埛鍚庡彴涓嬭浇
+    key-path: D:\WXCertUtil\tjcert\apiclient_cert.p12  #鏈嶅姟鍣ㄨ瘉涔﹁矾寰勶紝鍦ㄥ井淇″晢鎴峰悗鍙颁笅杞�
+    #    pay-score-notify-url: http://192.168.0.101:5011/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    #    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+    pay-score-notify-url: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin/cus/order/pay-notify   #寰俊鏀粯鍥炶皟鍦板潃
+
+#绉湪鎶ヨ〃璁块棶鍦板潃
+jimu:
+  #  path: https://ltpeis.xaltjdkj.cn:5011/ltkj-admin
+  #  path: https://ltpeis.xaltjdkj.cn:5021/ltkj-admin
+  path: http://192.168.0.5:5000/ltkj-admin
+#   path: http://10.168.0.9:5011
+#   path: http://192.168.0.105:5011
+#  path: http://192.168.1.113:5011
+
+
+jeecg :
+  jmreport:
+    # 鎵撳嵃绾稿紶閰嶇疆 title鎻忚堪 size瀹介珮
+    printPaper:
+      - title: 灏忕エ鎵撳嵃
+        size:
+          - 40
+          - 60
+#  ip = 101.42.27.146
+#  prot = 3306
+#  name = ltkjpeis10
+#  username = root
+#  password = Root_ltkj123
+config:
+  properties: C:\ltkjprojectconf\xamjyy-config-test.properties
+  path: C:\ltkjprojectconf
diff --git a/ltkj-admin/src/main/resources/application.yml b/ltkj-admin/src/main/resources/application.yml
index 2ac5edf..bf60c66 100644
--- a/ltkj-admin/src/main/resources/application.yml
+++ b/ltkj-admin/src/main/resources/application.yml
@@ -1,9 +1,19 @@
 # Spring閰嶇疆
-#dev  鍏徃 寮�鍙�/閮ㄧ讲浣跨敤 5000
-#prod 娉惧窛鍘块儴缃叉寮忕幆澧冧娇鐢�(灏忕▼搴忕涔熷彲浣跨敤) 5001
-#test 娉惧窛鍘块儴缃叉祴璇曠幆澧冧娇鐢� 5002
-#  linux-prod 5001
-#  linux-test 5002
+#dev  鍏徃 寮�鍙�/閮ㄧ讲浣跨敤
+#prod 娉惧窛鍘块儴缃叉寮忕幆澧冧娇鐢�(灏忕▼搴忕涔熷彲浣跨敤)
+#test 娉惧窛鍘块儴缃叉祴璇曠幆澧冧娇鐢�
+#  linux-prod
+#  linux-test
+#  linux-mjprod
+#  linux-mjtest
+#  win-xamjyyprod
+#  win-xamjyytest
+#  win-chkwyyprod
+#  win-pbkwyyprod
+# 闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌姝e紡 5001
+# 闄曞仴鍖绘緞鍚堢熆鍔″眬涓績鍖婚櫌娴嬭瘯 5002
+# 闄曡タ瑗垮畨鐓ゆ満鍖婚櫌姝e紡 5003
+# 闄曡タ瑗垮畨鐓ゆ満鍖婚櫌娴嬭瘯 5004
 spring:
   profiles:
     active: dev
diff --git a/ltkj-admin/src/main/resources/logback.xml b/ltkj-admin/src/main/resources/logback.xml
index 6caa35b..e02a7f1 100644
--- a/ltkj-admin/src/main/resources/logback.xml
+++ b/ltkj-admin/src/main/resources/logback.xml
@@ -23,7 +23,30 @@
     </springProfile>
 
 
+    <!-- 鏃ュ織瀛樻斁璺緞  鐓ょН鍖婚櫌linux鐜-->
+    <springProfile name="linux-mjprod">
+        <property name="log.path" value="/ltkj/jar/logs/meiji"/>
+    </springProfile>
 
+    <springProfile name="linux-mjtest">
+        <property name="log.path" value="/ltkj/jar/logs/meiji/ceshi"/>
+    </springProfile>
+
+    <springProfile name="win-pbkwyyprod">
+        <property name="log.path" value="../../logs/pbkwyy/prod"/>
+    </springProfile>
+
+    <springProfile name="win-chkwyyprod">
+        <property name="log.path" value="../../logs/chkwyy/prod"/>
+    </springProfile>
+
+    <springProfile name="win-xamjyyprod">
+        <property name="log.path" value="../../logs/xamjyy/prod"/>
+    </springProfile>
+
+    <springProfile name="win-xamjyytest">
+        <property name="log.path" value="../../logs/xamjyy/test"/>
+    </springProfile>
 
     <!-- 鏃ュ織杈撳嚭鏍煎紡 -->
     <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/>
diff --git a/ltkj-admin/src/test/java/zwxTest.java b/ltkj-admin/src/test/java/zwxTest.java
index 006c827..0869032 100644
--- a/ltkj-admin/src/test/java/zwxTest.java
+++ b/ltkj-admin/src/test/java/zwxTest.java
@@ -10,6 +10,7 @@
 import com.ltkj.LtkjApplication;
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.DictUserInfo;
+import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.hisDto.OutpintestapplyDetailsDto;
 import com.ltkj.hosp.lisDto.LisSaveSqdxxDto;
@@ -31,6 +32,7 @@
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
@@ -59,6 +61,11 @@
     private ITjReportTemplateService reportTemplateService;
     @Autowired
     private HisPDFUtil hisPDFUtil;
+
+//    @Autowired
+//    private RedisCache redisCache;
+//    @Autowired
+//    private RedisTemplate<String,Object> redisTemplate;
 
     public static String generateId() {
         String id;
@@ -109,5 +116,11 @@
         template.setOpen("1");
         reportTemplateService.save(template);
     }
+//
+//    @Test
+//    public void test11(){
+//        redisCache.setCacheList("list1",new ArrayList<>());
+//        redisTemplate.opsForList().set("list2",0,new ArrayList<>());
+//    }
 
 }
diff --git a/ltkj-common/pom.xml b/ltkj-common/pom.xml
index fd5f706..7c58bd2 100644
--- a/ltkj-common/pom.xml
+++ b/ltkj-common/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
diff --git a/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java b/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
index 8e56cdd..74b805f 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
@@ -34,8 +34,6 @@
      */
     private String uuid;
 
-    private String hospId;
-
     @ApiModelProperty(value = "鏄痶rue鍚alse")
     private Boolean type = false;
 
diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
index 5d88fd1..71bb04c 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/utils/IdUtils.java
@@ -18,6 +18,7 @@
 public class IdUtils {
 
     private static final String LIS_LAST_ID_KEY = "id:generate:lis:id";
+    private static final String TJH_LAST_ID_KEY = "id:generate:tjhs:tjh";
     private static final String LIS_LAST_ID_INCR_KEY = "id:generate:lis:id:incr";
     private static final String LIS_CURRENT_DATE_KEY = "id:generate:lis:currentDate";
 
@@ -68,16 +69,35 @@
     private static long lastTimestamp = -1;
     private static final Random random = new Random();
 
-    public static synchronized String getTjNumber() {
-        long timestamp = System.currentTimeMillis();  // 鑾峰彇褰撳墠鏃堕棿鎴筹紙姣锛�
+//    public static synchronized String getTjNumber() {
+//        long timestamp = System.currentTimeMillis();  // 鑾峰彇褰撳墠鏃堕棿鎴筹紙姣锛�
+//
+//        // 濡傛灉鏃堕棿鎴冲拰涓婃鐢熸垚鐨勬椂闂存埑鐩稿悓锛岀敓鎴愪竴涓柊鐨勯殢鏈烘暟
+//        if (timestamp == lastTimestamp) {
+//            return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100);
+//        } else {
+//            lastTimestamp = timestamp;  // 鏇存柊鏈�鍚庣敓鎴愭椂闂存埑
+//            return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100);
+//        }
+//    }
 
-        // 濡傛灉鏃堕棿鎴冲拰涓婃鐢熸垚鐨勬椂闂存埑鐩稿悓锛岀敓鎴愪竴涓柊鐨勯殢鏈烘暟
-        if (timestamp == lastTimestamp) {
-            return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100);
+
+    public  synchronized String getTjNumber() {
+        String currentDate = new SimpleDateFormat("yyyyMMdd").format(new Date());
+        String storedDate = stringRedisTemplate.opsForValue().get(LIS_CURRENT_DATE_KEY);
+        String lastIdStr = stringRedisTemplate.opsForValue().get(TJH_LAST_ID_KEY);
+        if (StrUtil.isBlank(lastIdStr))lastIdStr = "0";
+        int lastId;
+        if (storedDate == null || !storedDate.equals(currentDate)) {
+            lastId = 1;
+            stringRedisTemplate.opsForValue().set(TJH_LAST_ID_KEY, String.valueOf(lastId));
+            stringRedisTemplate.opsForValue().set(LIS_CURRENT_DATE_KEY, currentDate);
         } else {
-            lastTimestamp = timestamp;  // 鏇存柊鏈�鍚庣敓鎴愭椂闂存埑
-            return String.format("%09d", (timestamp % 1000000000) + random.nextInt(900) + 100);
+            lastId = Integer.parseInt(lastIdStr) + 1;
+            stringRedisTemplate.opsForValue().set(TJH_LAST_ID_KEY, String.valueOf(lastId));
         }
+        String yyMMdd = currentDate.substring(2);
+        return String.format("%s%05d", yyMMdd, lastId);
     }
 
 
diff --git a/ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java b/ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java
index 7bef253..1f09a33 100644
--- a/ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java
+++ b/ltkj-common/src/main/java/com/ltkj/common/utils/PDFDocumentUtil.java
@@ -95,7 +95,7 @@
                         map.put(EncodeHintType.CHARACTER_SET,"utf-8");
                         BitMatrix encode = null;
                         try {
-                            encode = new MultiFormatWriter().encode(tjNumber, BarcodeFormat.CODE_128, 300, 100, map);
+                            encode = new MultiFormatWriter().encode(tjNumber, BarcodeFormat.CODE_128, 500, 100, map);
                         } catch (WriterException e) {
                             e.printStackTrace();
                         }
@@ -243,7 +243,7 @@
      * @throws DocumentException
      * @throws IOException
      */
-    public static void makeTjInfo(Document document,List<Map<String ,String>> data) throws DocumentException, IOException {
+    public static void makeTjInfo(Document document,List<Map<String ,Object>> data) throws DocumentException, IOException {
         PdfPTable table1 = new PdfPTable(7);
         table1.setWidthPercentage(100);
         float[] columnWidths = {1.5f, 3, 3, 6, 1.5f, 3, 3};
diff --git a/ltkj-framework/pom.xml b/ltkj-framework/pom.xml
index e14b4dc..50ecffd 100644
--- a/ltkj-framework/pom.xml
+++ b/ltkj-framework/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java b/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java
index e0014fd..1dccc09 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/DataSourceAspect.java
@@ -2,7 +2,6 @@
 
 import java.util.Objects;
 
-import com.ltkj.db.DataSourceContextHolder;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
@@ -39,14 +38,14 @@
         DataSource dataSource = getDataSource(point);
 
         if (StringUtils.isNotNull(dataSource)) {
-            DataSourceContextHolder.setDataSourceKey(dataSource.value().name());
+            DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name());
         }
 
         try {
             return point.proceed();
         } finally {
             // 閿�姣佹暟鎹簮 鍦ㄦ墽琛屾柟娉曚箣鍚�
-            DataSourceContextHolder.clear();
+            DynamicDataSourceContextHolder.clearDataSourceType();
         }
     }
 
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
index a7c2639..a3924ad 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/DruidConfig.java
@@ -5,6 +5,7 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
+import javax.annotation.Resource;
 import javax.servlet.Filter;
 import javax.servlet.FilterChain;
 import javax.servlet.FilterConfig;
@@ -13,12 +14,14 @@
 import javax.servlet.ServletResponse;
 import javax.sql.DataSource;
 
-import com.ltkj.db.HospDynamicDataSource;
 import com.ltkj.framework.config.properties.DruidProperties;
 import com.ltkj.framework.datasource.DynamicDataSource;
+import com.ltkj.system.service.ISysConfigService;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.web.servlet.FilterRegistrationBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -35,7 +38,7 @@
  *
  * @author ltkj
  */
-//@Configuration
+@Configuration
 @Slf4j
 public class DruidConfig {
 
@@ -47,29 +50,7 @@
     private  String path;
 
 
-    private static final String DEFAULT_DATA_SOURCE_KEY = "default"; // 涓诲簱鐨勬爣璇�
-    private final Map<String, DataSource> dataSourceCache = new HashMap<>(); // 鏁版嵁婧愮紦瀛�
-
-
-    // 浠� application.yml 涓鍙栦富搴撶殑閰嶇疆
-//    @Value("${spring.datasource.url}")
-    private String primaryUrl;
-
-    private String primaryPort;
-
-    //    @Value("${spring.datasource.username}")
-    private String primaryUsername;
-
-    //    @Value("${spring.datasource.password}")
-    private String primaryPassword;
-
-    //    @Value("${dbUrl}")
-    private String dbUrl;
-
-    private String dbName;
-
-
-//    @Bean
+    @Bean
 //    @ConfigurationProperties("spring.datasource.druid.master")
     public DataSource masterDataSource(DruidProperties druidProperties) {
         DruidDataSource dataSource = DruidDataSourceBuilder.create().build();
@@ -150,7 +131,7 @@
         return druidProperties.dataSource(dataSource);
     }
 
-//    @Bean
+    @Bean
 //    @ConfigurationProperties("spring.datasource.druid.slavehis")
 //    @ConditionalOnProperty(prefix = "spring.datasource.druid.slavehis", name = "enabled", havingValue = "true")
     public DataSource slaveHisDataSource(DruidProperties druidProperties) {
@@ -193,7 +174,7 @@
         return druidProperties.dataSource(dataSource);
     }
 
-//    @Bean
+    @Bean
 //    @ConfigurationProperties("spring.datasource.druid.slavelis")
 //    @ConditionalOnProperty(prefix = "spring.datasource.druid.slavelis", name = "enabled", havingValue = "true")
     public DataSource slaveDataLisSource(DruidProperties druidProperties) {
@@ -235,7 +216,7 @@
         return druidProperties.dataSource(dataSource);
     }
 
-//    @Bean
+    @Bean
 //    @ConfigurationProperties("spring.datasource.druid.slavepacs")
 //    @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true")
     public DataSource slaveDataPacsSource(DruidProperties druidProperties) {
@@ -278,7 +259,9 @@
         return druidProperties.dataSource(dataSource);
     }
 
-//    @Bean
+
+
+    @Bean
 //    @ConfigurationProperties("spring.datasource.druid.slavepacs")
 //    @ConditionalOnProperty(prefix = "spring.datasource.druid.slavepacs", name = "enabled", havingValue = "true")
     public DataSource slaveDataWsSource(DruidProperties druidProperties) {
@@ -363,72 +346,9 @@
         return dataSource;
     }
 
-//    @Bean(name = "hospDynamicDataSources")
-//    public DataSource hospDynamicDataSources() {
-//        HospDynamicDataSource dynamicDataSource = new HospDynamicDataSource();
-//        FileInputStream fis = null;
-//        Properties props = new Properties();
-//        try {
-//            fis = new FileInputStream(url);
-//            props.load(fis);
-//            fis.close();
-//            dbUrl = props.getProperty("ip");
-//            dbName = props.getProperty("name");
-//            primaryPassword = props.getProperty("password");
-//            primaryPort = props.getProperty("prot");
-//            primaryUsername = props.getProperty("username");
-//        } catch (IOException e) {
-//            throw new RuntimeException("璇诲彇閰嶇疆鏂囦欢澶辫触", e);
-//        }
-//        String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName;
-//        // 鍒濆鍖栭粯璁ゆ暟鎹簮涓轰富搴�
-//        dynamicDataSource.addTargetDataSource(DEFAULT_DATA_SOURCE_KEY, createDataSource(url, primaryUsername, primaryPassword));
-//
-//        dynamicDataSource.setDefaultTargetDataSource(dynamicDataSource.getTargetDataSources().get(DEFAULT_DATA_SOURCE_KEY)); // 璁剧疆榛樿鏁版嵁婧�
-//        return dynamicDataSource;
-//    }
 
-    // 鏍规嵁鐢ㄦ埛 ID 鍔ㄦ�佽幏鍙栨暟鎹簮
-    public void addDataSource(String dbName) {
-        FileInputStream fis = null;
-        Properties props = new Properties();
-        try {
-            fis = new FileInputStream(url);
-            props.load(fis);
-            fis.close();
-            dbUrl = props.getProperty("ip");
-            primaryPassword = props.getProperty("password");
-            primaryPort = props.getProperty("prot");
-            primaryUsername = props.getProperty("username");
-        } catch (IOException e) {
-            throw new RuntimeException("璇诲彇閰嶇疆鏂囦欢澶辫触", e);
-        }
-
-        // 妫�鏌ョ紦瀛樹腑鏄惁宸茬粡瀛樺湪璇ユ暟鎹簮
-        if (!dataSourceCache.containsKey(dbName)) {
-            synchronized (this) {
-                String url = "jdbc:mysql://" + dbUrl + ":" + primaryPort + "/" + dbName;
-                DataSource dataSource = createDataSource(url, primaryUsername, primaryPassword);
-                dataSourceCache.put(dbName, dataSource);
-
-                DynamicDataSource dynamicDataSource = dataSource(dataSource);
-                dynamicDataSource.addTargetDataSource(dbName, dataSource);
-            }
-        }
-    }
-
-    // 鍔ㄦ�佸垱寤烘暟鎹簮
-    private DataSource createDataSource(String url, String username, String password) {
-        DruidDataSource dataSource = new DruidDataSource();
-        dataSource.setUrl(url);
-        dataSource.setUsername(username);
-        dataSource.setPassword(password);
-        return dataSource;
-    }
-
-
-//    @Bean(name = "dynamicDataSource")
-//    @Primary
+    @Bean(name = "dynamicDataSource")
+    @Primary
     public DynamicDataSource dataSource(DataSource masterDataSource) {
         Map<Object, Object> targetDataSources = new HashMap<>();
         targetDataSources.put(DataSourceType.MASTER.name(), masterDataSource);
@@ -458,8 +378,8 @@
      * 鍘婚櫎鐩戞帶椤甸潰搴曢儴鐨勫箍鍛�
      */
     @SuppressWarnings({"rawtypes", "unchecked"})
-//    @Bean
-//    @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true")
+    @Bean
+    @ConditionalOnProperty(name = "spring.datasource.druid.statViewServlet.enabled", havingValue = "true")
     public FilterRegistrationBean removeDruidFilterRegistrationBean(DruidStatProperties properties) {
         // 鑾峰彇web鐩戞帶椤甸潰鐨勫弬鏁�
         DruidStatProperties.StatViewServlet config = properties.getStatViewServlet();
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java
index 97deb77..c00444e 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java
@@ -116,7 +116,7 @@
                 // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂�
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
-                .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**").anonymous()
+                .antMatchers("/jmreport/**","/lis/**","/pacs/**","/callBack/**","/hosp/order/signOrderInfo").anonymous()
                 // 闄や笂闈㈠鐨勬墍鏈夎姹傚叏閮ㄩ渶瑕侀壌鏉冭璇�
                 .anyRequest().authenticated()
                 .and()
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/TokenInterceptor.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/TokenInterceptor.java
index 5f6631b..da3e37a 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/TokenInterceptor.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/TokenInterceptor.java
@@ -4,7 +4,6 @@
 import com.google.gson.Gson;
 import com.ltkj.hosp.domain.Wxuser;
 import io.jsonwebtoken.Claims;
-import org.springframework.core.annotation.Order;
 import org.springframework.web.servlet.HandlerInterceptor;
 
 import javax.servlet.http.HttpServletRequest;
@@ -15,7 +14,6 @@
  * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞�
  * @Date: 2022/11/17 10:11
  */
-@Order(-1)
 //鎷︽埅鍣�(鏍¢獙token)
 public class TokenInterceptor implements HandlerInterceptor {
     @Override
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java
index 4ab71c6..19f520b 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/WebConfig.java
@@ -1,10 +1,6 @@
 package com.ltkj.framework.config;
 
-//import com.ltkj.framework.interceptor.DBChangeInterceptor;
-import com.ltkj.framework.interceptor.DBChangeInterceptor;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
@@ -15,10 +11,6 @@
 //瀹氫箟鎷︽埅鍣�
 @Configuration
 public class WebConfig implements WebMvcConfigurer {
-
-    @Autowired
-    private DBChangeInterceptor dbChangeInterceptor;
-
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(new TokenInterceptor())
@@ -30,23 +22,8 @@
                         "/cus/package/projectListByPacId/**",
                         "/cus/hospital/getHospList",
                         "/lis/**","/api/His/**","/pacs/**",
-                        "/callBack/**"
-                });
-
-        registry.addInterceptor(dbChangeInterceptor)
-                .addPathPatterns("/**")
-                .excludePathPatterns(new String[]{
-                        "/system/dict/data/**",
-                        "/system/dict/type/**",
-                        "/captchaImage","/getCaptchaConfigKey/**",
-                        "/system/role/execUpdateSql"
-//                        ,
-//                        "/login", "/register", "/captchaImage","/cus/**","/getCaptchaConfigKey","/report/jmreport/**",
-//                        "/sqlserver/getdata/**","/api/His/**","/system/config/zx","/system/config/gxxmpym","/system/report/savePdf",
-//                        "/system/dyjl/saveGjddyjl","/system/dyjl/saveBlGjddyjl","/check/ceshi","/check/pacs","/check/ceshicc",
-//                        "/common/uploadImgExe","/common/listExeVal","/pacs/InvokeRisService/**","/check/dataSynchronizationApi",
-//                        String.valueOf(HttpMethod.GET), "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**",
-//                        "/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**","/jmreport/**","/lis/**","/pacs/**","/callBack/**"
+                        "/callBack/**",
+                        "/hosp/order/signOrderInfo"
                 });
     }
 }
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
index d3e53c1..b82b6dc 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSource.java
@@ -1,7 +1,6 @@
 package com.ltkj.framework.datasource;
 
 import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 import javax.sql.DataSource;
 
 import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
@@ -12,7 +11,6 @@
  * @author ltkj
  */
 public class DynamicDataSource extends AbstractRoutingDataSource {
-    private final Map<Object, Object> targetDataSources = new ConcurrentHashMap<>(); // 瀛樺偍鎵�鏈夋暟鎹簮
     public DynamicDataSource(DataSource defaultTargetDataSource, Map<Object, Object> targetDataSources) {
         super.setDefaultTargetDataSource(defaultTargetDataSource);
         super.setTargetDataSources(targetDataSources);
@@ -21,23 +19,6 @@
 
     @Override
     protected Object determineCurrentLookupKey() {
-        System.out.println("褰撳墠鏁版嵁婧� -> "+ DynamicDataSourceContextHolder.getDataSourceType());
         return DynamicDataSourceContextHolder.getDataSourceType();
     }
-
-    public void addTargetDataSource(String key, DataSource dataSource) {
-        targetDataSources.put(key, dataSource);
-        super.setTargetDataSources(new ConcurrentHashMap<>(targetDataSources)); // 鏇存柊鐩爣鏁版嵁婧�
-        super.afterPropertiesSet(); // 閲嶆柊鍒濆鍖栨暟鎹簮
-    }
-
-    // 鍏佽澶栭儴璁块棶鎵�鏈夌洰鏍囨暟鎹簮
-    @Override
-    public void setTargetDataSources(Map<Object, Object> targetDataSources) {
-        super.setTargetDataSources(targetDataSources);
-    }
-
-    public Map<Object, Object> getTargetDataSources() {
-        return targetDataSources; // 鑾峰彇鎵�鏈夌洰鏍囨暟鎹簮
-    }
-}
+}
\ No newline at end of file
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSourceContextHolder.java b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSourceContextHolder.java
index 52da622..e64c1bc 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSourceContextHolder.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/datasource/DynamicDataSourceContextHolder.java
@@ -1,6 +1,5 @@
 package com.ltkj.framework.datasource;
 
-import com.ltkj.db.DataSourceContextHolder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -23,23 +22,20 @@
      */
     public static void setDataSourceType(String dsType) {
         log.info("鍒囨崲鍒皗}鏁版嵁婧�", dsType);
-//        CONTEXT_HOLDER.set(dsType);
-        DataSourceContextHolder.setDataSourceKey(dsType);
+        CONTEXT_HOLDER.set(dsType);
     }
 
     /**
      * 鑾峰緱鏁版嵁婧愮殑鍙橀噺
      */
     public static String getDataSourceType() {
-//        return CONTEXT_HOLDER.get();
-        return DataSourceContextHolder.getDataSourceKey();
+        return CONTEXT_HOLDER.get();
     }
 
     /**
      * 娓呯┖鏁版嵁婧愬彉閲�
      */
     public static void clearDataSourceType() {
-//        CONTEXT_HOLDER.remove();
-        DataSourceContextHolder.clear();
+        CONTEXT_HOLDER.remove();
     }
 }
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
index c5d788c..db229d3 100644
--- a/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
@@ -95,7 +95,6 @@
      */
     public String login(String username, String password, Boolean type,String code,String uuid) {
 
-
         String aSwitch = configService.selectConfigByKey("captcha_switch");
         if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){
             String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
@@ -139,8 +138,8 @@
         }
         AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")));
         LoginUser loginUser = (LoginUser) authentication.getPrincipal();
-
         recordLoginInfo(Long.valueOf(loginUser.getUserId()));
+
         //鏍¢獙鍟嗗杩囨湡鍚�
         if (secretKeyLogin)
         {
diff --git a/ltkj-generator/pom.xml b/ltkj-generator/pom.xml
index 587159d..3b0bb88 100644
--- a/ltkj-generator/pom.xml
+++ b/ltkj-generator/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
@@ -37,4 +37,4 @@
 
     </dependencies>
 
-</project>
+</project>
\ No newline at end of file
diff --git a/ltkj-hosp/pom.xml b/ltkj-hosp/pom.xml
index 3c38f0c..1c4d722 100644
--- a/ltkj-hosp/pom.xml
+++ b/ltkj-hosp/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
@@ -28,12 +28,6 @@
         <dependency>
             <groupId>com.ltkj</groupId>
             <artifactId>ltkj-common</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.alibaba</groupId>
-                    <artifactId>druid</artifactId>
-                </exclusion>
-            </exclusions>
         </dependency>
 
         <!-- 闆嗘垚绉湪鎶ヨ〃-->
@@ -41,23 +35,6 @@
             <groupId>org.jeecgframework.jimureport</groupId>
             <artifactId>jimureport-spring-boot-starter</artifactId>
             <version>1.5.4</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.alibaba</groupId>
-                    <artifactId>druid</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <!-- 闃块噷鏁版嵁搴撹繛鎺ユ睜 -->
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid-spring-boot-starter</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>druid</artifactId>
         </dependency>
 
     </dependencies>
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/DictHosp.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/DictHosp.java
index 91ffaac..d8de12f 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/DictHosp.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/DictHosp.java
@@ -173,9 +173,6 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date expirationTime;
 
-//    鏁版嵁搴撳悕
-    private String dbname;
-
 
     @Override
     public String toString() {
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
index ddb735e..4eddac6 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -76,7 +76,8 @@
     public boolean delTbBycusCardIdAndProId(@Param("cdId") String cdId,@Param("proId")String proId);
 
     @Update("UPDATE tb_transition a SET "+
-            "a.tj_num=null" +
+            "a.tj_num=null," +
+            "a.card_id=0" +
             " WHERE a.tj_num=#{tjNum}")
     boolean updateTbTransitionByTjNum(String tjNum);
 
@@ -376,4 +377,16 @@
 
     @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum} AND a.parent_pro_id=#{proId}")
     BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(@Param("tjNum")String tjNum,@Param("proId")String proId);
+
+    @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE a.tj_num=#{tjNum} ")
+    BigDecimal sumTbTransitionOrdPriceByTjNum(@Param("tjNum")String tjNum);
+
+    @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE a.cus_id=#{tjNum} and  isnull(a.tj_num)")
+    BigDecimal sumTbTransitionOrdPriceByTjNumIsNull(@Param("tjNum")String tjNum);
+
+    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum}")
+    BigDecimal sumTbTransitionNowPriceByTjNum(@Param("tjNum")String tjNum);
+
+    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE  a.cus_id=#{tjNum} and  isnull(a.tj_num)")
+    BigDecimal sumTbTransitionNowPriceByTjNumIsNull(@Param("tjNum")String tjNum);
 }
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java
index b12c3f2..c577c8a 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java
@@ -310,7 +310,7 @@
 
 
 //    @DataSource(value = DataSourceType.SLAVE_WS)
-    @Select("SELECT aa.tjh,ws.pro_id tmh,aa.bbbh,aa.bbmc,ws.pro_id xmid,aa.xmmc,aa.sqsj,aa.sqys,aa.jgsj,aa.sqdh,aa.sqrxm,aa.sqrdm,aa.jybgjg,aa.create_time FROM tj_wsxm ws LEFT JOIN (\n" +
+    @Select("SELECT aa.tjh,CONCAT(aa.tjh,RIGHT(ws.pro_id, 6)) tmh,aa.bbbh,aa.bbmc,ws.pro_id xmid,aa.xmmc,aa.sqsj,aa.sqys,aa.jgsj,aa.sqdh,aa.sqrxm,aa.sqrdm,aa.jybgjg,aa.create_time FROM tj_wsxm ws LEFT JOIN (\n" +
             "   SELECT\n" +
             "        a.brid tjh,\n" +
             "         a.brid tmh,\n" +
@@ -333,7 +333,7 @@
     List<LtkjHysqd> getWsxmLtkjHysqdByLisVi(String tjNum);
 
 //    @DataSource(value = DataSourceType.SLAVE_WS)
-    @Select("SELECT ws.pro_id tmh,aa.jcxmid,aa.jcxm,NULL tdh,aa.jyjg,null jgdw,null fwzdz,null fwzgz,aa.jysj,aa.shsj,NULL shys,aa.shysmc,NULL tpurl,NULL ycbz,aa.create_time\n" +
+    @Select("SELECT CONCAT(aa.tmh,RIGHT(ws.pro_id, 6)) tmh,aa.jcxmid,aa.jcxm,NULL tdh,aa.jyjg,null jgdw,null fwzdz,null fwzgz,aa.jysj,aa.shsj,NULL shys,aa.shysmc,NULL tpurl,NULL ycbz,aa.create_time\n" +
             " FROM tj_wsxm ws \n" +
             " LEFT JOIN (\n" +
             "   SELECT distinct a.brid tmh,a.xmbm jcxmid,a.xmmc jcxm,NULL tdh,a.result jyjg,null jgdw,null fwzdz,null fwzgz,null fwz,a.bgsj jysj,a.bgys jyys,a.bgsj shsj," +
@@ -343,8 +343,14 @@
 
 
 
-        @DataSource(value = DataSourceType.SLAVE_WS)
-    @Select("SELECT * from  lis_result a where  a.brid=#{tjNum}")
+//        @DataSource(value = DataSourceType.SLAVE_WS)
+//    @Select("SELECT * from  lis_result a where  a.brid=#{tjNum}")
+//    List<Aws> getWsxmLtkjHysqdByLisViBySLAVEWS(String tjNum);
+
+    @DataSource(value = DataSourceType.SLAVE_WS)
+    @Select("select t.brid,t.xmbm,t.xmmc,t.result,t.gdpd ,t.xmckz,t.dw,t.bgys,max(bgsj) bgsj\n" +
+            "  from lis_result t WHERE t.brid=#{tjNum} \n" +
+            "  group by t.brid,t.xmbm,t.xmmc,t.result,t.gdpd,t.xmckz,t.dw,t.bgys")
     List<Aws> getWsxmLtkjHysqdByLisViBySLAVEWS(String tjNum);
 
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
index 51dcd8e..ac7f7f5 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -221,21 +221,67 @@
      * @param tjNumber 浣撴鍗曞彿
      * @return
      */
-    @Select("SELECT  @num :=  @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN ( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm  from ( SELECT (case when f.ksmc in ('涓存瀹�','鍖栭獙瀹�','','') or c.pro_name like '%娴嬪畾%' then '妫�楠岀'      when c.pro_name like '%蹇冪數鍥�%' then '蹇冪數鍥惧'  when f.ksmc='x鍏夊' or c.pro_name like '%X绾挎憚褰�%'  then '鏀惧皠绉�'  when c.pro_name like '%鑹茶%' then '鐪肩' \t\t\t\twhen c.pro_name like '%瓒�%' or c.pro_name like '%澶氭櫘鍕�%' then 'B瓒呭'  when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then  d.dept_name when c.pro_name like '%CT%' then 'CT瀹�'  else '浣撴涓績' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id JOIN tj_project c ON c.pro_id = b.pro_id  left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00',(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number =  #{tjNumber} ) aa  GROUP BY ksmc ) e ON e.ksmc = d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh")
-    List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber);
+//    @Select("SELECT  @num :=  @num + 1 AS xh, d.dept_name ksmc, d.official_web ksdz, e.tjxm FROM sys_dept d JOIN " +
+//            "( select aa.ksmc,GROUP_CONCAT( DISTINCT aa.pro_name ORDER BY aa.pro_name DESC SEPARATOR ';' ) tjxm  from " +
+//            "( SELECT (case when f.ksmc in ('涓存瀹�','鍖栭獙瀹�','','') or c.pro_name like '%娴嬪畾%' then '妫�楠岀'     " +
+//            " when c.pro_name like '%蹇冪數鍥�%' then '蹇冪數鍥惧'  when f.ksmc='x鍏夊' or c.pro_name like '%X绾挎憚褰�%'  then '鏀惧皠绉�'  when c.pro_name like '%鑹茶%' then '鐪肩' " +
+//            "\t\t\t\twhen c.pro_name like '%瓒�%' or c.pro_name like '%澶氭櫘鍕�%' then 'B瓒呭'  when (replace(f.ksmc,' ','')='' or f.ksmc is null) and c.dept_id<>'100' then " +
+//            " d.dept_name when c.pro_name like '%CT%' then 'CT瀹�'  else '浣撴涓績' end ) ksmc, c.pro_name FROM tj_order a JOIN tj_order_detail b ON b.order_id = a.order_id " +
+//            "JOIN tj_project c ON c.pro_id = b.pro_id  left join his_mxfyxm e on e.mxfyxmbm=c.his_xmbm left join ltkj_his_dept f on f.ksbm = CONCAT('00'," +
+//            "(case when e.hsks is null then '' else e.hsks end)) join sys_dept d on d.dept_id=c.dept_id WHERE a.tj_number =  #{tjNumber} ) aa  GROUP BY ksmc ) e ON e.ksmc = " +
+//            "d.dept_name , (SELECT @num := 0) a WHERE d.parent_id = '100' ORDER BY xh")
+//    List<Map<String ,String >> selectDjdInfo(@Param("tjNumber")String tjNumber);
+
+
+    @Select("SELECT \n" +
+            "    ROW_NUMBER() OVER (ORDER BY d.djd_num) AS xh, " +
+            "    REPLACE(d.dept_name, '闂ㄨ瘖', '') AS ksmc,\n" +
+            "    ifnull(d.official_web,'') AS ksdz,\n" +
+            "    e.tjxm,\n" +
+            "    e.tjjg\n" +
+            "FROM sys_dept d\n" +
+            "JOIN (\n" +
+            "    SELECT\n" +
+            "        c.dept_id,\n" +
+            "        GROUP_CONCAT(DISTINCT c1.pro_name ORDER BY c1.pro_name DESC SEPARATOR ';') AS tjxm,\n" +
+            "        SUM(b.ord_price) AS tjjg\n" +
+            "    FROM tb_transition b\n" +
+            "    JOIN tj_project c ON c.pro_id = b.parent_pro_id\n" +
+            "    JOIN tj_project c1 ON c1.pro_id = b.parent_pro_id\n" +
+            "    WHERE trim(b.tj_num) = #{tjNumber} \n" +
+            "      AND c.pro_parent_id = 0\n" +
+            "      AND c1.pro_name NOT IN ('涓讳换鍖诲笀璇婃煡', '(tj)浣撴璐�(鐗╃悊妫�鏌�)')\n" +
+            "      AND c1.pro_name NOT LIKE '%涓讳换鍖诲笀璇婃煡%'\n" +
+            "    GROUP BY c.dept_id\n" +
+            ") e ON e.dept_id = d.dept_id\n" +
+            "ORDER BY d.djd_num")
+    List<Map<String ,Object >> selectDjdInfo(@Param("tjNumber")String tjNumber);
 
     /**
      * 鏌ヨ瀵兼鍗曠敤鎴蜂俊鎭�
      * @param tjNumber
      * @return
      */
-    @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,a.create_time tjsj,ifnull(d.cn_name,'') dwmc,a.cus_phone lxdh\n" +
+    @Select("select c.tj_number tjh,a.cus_name tjname, b.dict_label sex,c.create_time tjsj,ifnull(c.firm_name,'') dwmc,a.cus_phone lxdh,ifnull(c.firm_dept_name,'') dwbm,\n" +
+            "ifnull((select dict_label from sys_dict_data where dict_type ='dict_team' and status=0 and dict_value=c.tj_type),'') tjlx,\n" +
+            "( (\n" +
+            "  SELECT\n" +
+            "    sum( b1.ord_price ) \n" +
+            "  FROM\n" +
+            "    tb_transition b1\n" +
+            "    JOIN tj_project c1 ON c1.pro_id = b1.parent_pro_id \n" +
+            "    AND c1.pro_parent_id = 0 \n" +
+            "  WHERE\n" +
+            "    b1.tj_num = c.tj_number \n" +
+            "  )*(IFNULL(c.discount,10)/10)) tjze,c.card_id ,CONCAT(cast(a.age as char),e.dict_label) nl,(SELECT tb.pac_name FROM tb_transition tb" +
+            " WHERE tb.tj_num = c.tj_number GROUP BY tb.pac_id)tcmc,a.his_jzkh\n" +
             "from tj_order c \n" +
-            " join tj_customer a on  a.cus_id= c.user_id \n" +
-            " join (select dict_value,dict_label from  sys_dict_data where dict_type='sys_user_sex') b on b.dict_value = a.cus_sex\n" +
-            " left join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" +
-            "where c.tj_number=#{tjNumber}")
-    Map<String ,Object > selectDjdUserInfo(@Param("tjNumber")String tjNumber);
+            "\tjoin tj_customer a on  a.cus_id= c.user_id \n" +
+            "  join (select dict_value,dict_label from  sys_dict_data where dict_type='sys_user_sex') b on b.dict_value = a.cus_sex\n" +
+            "\tleft join dict_comp d on d.drug_manufacturer_id = c.firm_id\n" +
+            "join (select dict_label,dict_value from sys_dict_data where dict_type='dict_ageunit') e  on e.dict_value = a.age_unit\n" +
+            "where trim(c.tj_number)=#{tjNumber}")
+    Map<String ,Object > selectDjdUserInfo(@Param("tjNumber") String tjNumber);
 
 
     @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId} AND a.type='妫�鏌�' GROUP BY a.sqdh")
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
index 817fe9e..6d78e52 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -138,7 +138,7 @@
 
     String  isPayByTjNum(String orderId);
 
-    List<Map<String ,String >> selectDjdInfo(String tjNumber);
+    List<Map<String ,Object >> selectDjdInfo(String tjNumber);
 
     Map<String ,Object > selectDjdUserInfo(String tjNumber);
 
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/LtkjExamJcsqdServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/LtkjExamJcsqdServiceImpl.java
index 9ad309e..6182d21 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/LtkjExamJcsqdServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/LtkjExamJcsqdServiceImpl.java
@@ -37,6 +37,8 @@
     private LtkjExamJcsqdMapper mapper;
 
     @Qualifier(value = "slaveHisDataSource")
+    @Autowired
+    private DataSource dataSource;
 
 
     @Override
diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
index 349778c..04bc44d 100644
--- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
+++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -11,6 +11,7 @@
 import com.ltkj.hosp.service.ITjOrderService;
 import com.ltkj.hosp.service.ITjPackageService;
 import com.ltkj.hosp.vodomain.LineChartsVo;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ltkj.hosp.mapper.TjOrderMapper;
@@ -23,6 +24,7 @@
  * @date 2022-11-21
  */
 @Service
+@Slf4j
 public class TjOrderServiceImpl extends ServiceImpl<TjOrderMapper, TjOrder> implements ITjOrderService {
     @Autowired
     private TjOrderMapper tjOrderMapper;
@@ -277,12 +279,14 @@
     }
 
     @Override
-    public List<Map<String, String>> selectDjdInfo(String tjNumber) {
+    public List<Map<String, Object>> selectDjdInfo(String tjNumber) {
+        log.info("浼犻�掕繘鏉ョ殑浣撴鍙蜂负: "+tjNumber);
         return tjOrderMapper.selectDjdInfo(tjNumber);
     }
 
     @Override
     public Map<String, Object> selectDjdUserInfo(String tjNumber) {
+        log.info("浼犻�掕繘鏉ョ殑浣撴鍙蜂负: "+tjNumber);
         return tjOrderMapper.selectDjdUserInfo(tjNumber);
     }
 
diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/DictHospMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/DictHospMapper.xml
index d8bb389..6ad3365 100644
--- a/ltkj-hosp/src/main/resources/mapper/hosp/DictHospMapper.xml
+++ b/ltkj-hosp/src/main/resources/mapper/hosp/DictHospMapper.xml
@@ -31,7 +31,6 @@
         <result property="updateByName" column="update_by_name"/>
         <result property="imgbase64" column="imgBase64"/>
         <result property="deleted" column="deleted"/>
-<!--        <result property="dbname" column="dbname"/>-->
     </resultMap>
 
     <sql id="selectDictHospVo">
@@ -192,4 +191,4 @@
             #{hospAreaId}
         </foreach>
     </delete>
-</mapper>
+</mapper>
\ No newline at end of file
diff --git a/ltkj-quartz/pom.xml b/ltkj-quartz/pom.xml
index 7046e5d..2d90175 100644
--- a/ltkj-quartz/pom.xml
+++ b/ltkj-quartz/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
@@ -37,4 +37,4 @@
 
     </dependencies>
 
-</project>
+</project>
\ No newline at end of file
diff --git a/ltkj-system/pom.xml b/ltkj-system/pom.xml
index c1671d8..d3f8085 100644
--- a/ltkj-system/pom.xml
+++ b/ltkj-system/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>ltkj_peis_region</artifactId>
+        <artifactId>ltkj</artifactId>
         <groupId>com.ltkj</groupId>
         <version>3.8.4</version>
     </parent>
@@ -22,4 +22,4 @@
             <artifactId>ltkj-common</artifactId>
         </dependency>
     </dependencies>
-</project>
+</project>
\ No newline at end of file

--
Gitblit v1.8.0