From dedacd79c93f8ef95e0cb986f5e7fbd27ddbd907 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期四, 03 七月 2025 09:12:49 +0800
Subject: [PATCH] 2025-07-03

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysConfigController.java |  213 ++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 169 insertions(+), 44 deletions(-)

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 7698bfc..e7a3bd5 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,31 +1,31 @@
 package com.ltkj.web.controller.system;
 
-import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
 import cn.hutool.extra.pinyin.PinyinUtil;
 import cn.hutool.json.JSONUtil;
-import com.ltkj.common.core.domain.entity.SysMenu;
+import com.ltkj.hosp.idutil.IdUtils;
 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.domain.*;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.*;
 import com.ltkj.system.service.ISysMenuService;
+import com.ltkj.web.wxUtils.HttpClientUtils;
 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;
@@ -77,6 +77,8 @@
     private TestMapper testMapper;
     @Autowired
     private AwsService awsService;
+    @Autowired
+    private IdUtils idUtils;
 
     /**
      * 鑾峰彇鍙傛暟閰嶇疆鍒楄〃
@@ -193,22 +195,22 @@
     @ApiOperation(value = "鎵嬪姩鍚屾妫�楠屾鏌ュ閫侀」鐩粨鏋滄帴鍙�")
     public AjaxResult shoudongtbjyjcwsxmjg(@RequestParam @ApiParam(value = "jy妫�楠� jc妫�鏌� jyjc妫�楠屽拰妫�鏌�") String tblx,
                                            @ApiParam(value = "浣撴鍙�")@RequestParam String tjh) {
-
+        String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm");
         log.info("鎵嬪姩鍚屾妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
         try {
 
             switch (tblx){
                 case "jy":
-                    tbjianyan(tjh);
+                    tbjianyan(tjh,dqyyyqbm);
                     log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠�");
                     break;
                 case "jc":
-                    tbjiancha(tjh);
+                    tbjiancha(tjh,dqyyyqbm);
                     log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�鏌�");
                     break;
                 case "jyjc":
-                    tbjianyan(tjh);
-                    tbjiancha(tjh);
+                    tbjianyan(tjh,dqyyyqbm);
+                    tbjiancha(tjh,dqyyyqbm);
                     log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠屾鏌�");
                     break;
                 default:
@@ -228,7 +230,7 @@
         return AjaxResult.success();
     }
 
-    private void tbjianyan(String s) {
+    private void tbjianyan(String s,String dqyyyqbm) {
         try {
             List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s);
             if(null !=awsList && !awsList.isEmpty()){
@@ -239,7 +241,7 @@
                 awsService.saveBatch(awsList);
                 log.info("淇濆瓨澶栭�侀」鐩垚鍔�");
             }
-            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s);
+            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s,dqyyyqbm);
             log.info("鍘焗ysqdList->{} 缁撴灉", JSONUtil.parseObj(hysqdList));
             List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s);
             if(null !=wssq && !wssq.isEmpty()){
@@ -272,16 +274,39 @@
     }
 
 
-    private void tbjiancha(String s) {
+    private void tbjiancha(String s,String dqyyyqbm) {
 
         try {
-            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s);
+            List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(s,dqyyyqbm);
             if (null != jcsqdList && !jcsqdList.isEmpty()) {
                 DynamicDataSourceContextHolder.clearDataSourceType();
                 jcsqdService.deletedLtkjJcsqdByTjhAndTmh(s);
                 jcbgdService.deletedLtkjJcbgdByTjhAndTmh(s);
                 jcsqdService.saveBatch(jcsqdList);
                 List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(s);
+                jcycxmService.deletedByTjh(s);
+                if(!jcsqdList.isEmpty()){
+                    for (LtkjExamJcsqd jcsqd : jcsqdList) {
+                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
+                            String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�");
+                            for (String jg : split) {
+                                if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父")
+                                        && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈")
+                                        && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")){
+                                    TjJcycxm jcycxm=new TjJcycxm();
+                                    jcycxm.setTjh(s);
+                                    jcycxm.setYqid(dqyyyqbm);
+                                    String[] split1 = jcsqd.getJcxmid().split(";");
+                                    jcycxm.setProId(split1[0]);
+                                    jcycxm.setProName(jcsqd.getJcxmmc());
+                                    jcycxm.setCreateTime(new Date());
+                                    jcycxm.setJcjg(jg);
+                                    jcycxmService.save(jcycxm);
+                                }
+                            }
+                        }
+                    }
+                }
                 DynamicDataSourceContextHolder.clearDataSourceType();
                 if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList);
                 DynamicDataSourceContextHolder.clearDataSourceType();
@@ -294,6 +319,48 @@
     }
 
 
+    @GetMapping ("/chaxunjyjcwsxmjg")
+    @ApiOperation(value = "鏌ヨ妫�楠屾鏌ラ」鐩粨鏋滄帴鍙�")
+    public AjaxResult chaxunjyjcwsxmjg(@RequestParam @ApiParam(value = "jy妫�楠� jc妫�鏌� jyjc妫�楠屽拰妫�鏌�") String tblx,
+                                       @ApiParam(value = "浣撴鍙�")@RequestParam String tjh) {
+        String hospId = configService.selectConfigByKey("dqyyyqbm");
+        log.info("鎵嬪姩鏌ヨ妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}{}",hospId,DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
+        try {
+
+            switch (tblx){
+                case "jy":
+                    List<Map<String, Object>> hysqdList = testMapper.sysgetCcXZxYyLtkjHysqdByLisVi(tjh,hospId);
+                    if (null != hysqdList && !hysqdList.isEmpty()) {
+                        for (Map<String, Object> map : hysqdList) {
+                            List<Map<String, Object>> hybgdList = testMapper.sysgetCcXZxYyLtkjHybgdByLisVi(map.get("鏉$爜鍙�").toString());
+                            map.put("jybgd",hybgdList);
+                        }
+                        DynamicDataSourceContextHolder.clearDataSourceType();
+                    }
+
+                    log.info("褰撳墠鏌ヨ鐨勬槸->{} 缁撴灉","妫�楠�");
+                    return AjaxResult.success(hysqdList);
+
+                case "jc":
+                    List<Map<String, Object>> jcsqdList = testMapper.sysgetCcXZxYyPacsLtkjExamJcsqd(tjh,hospId);
+                    DynamicDataSourceContextHolder.clearDataSourceType();
+                    log.info("褰撳墠鏌ヨ鐨勬槸->{} 缁撴灉","妫�鏌�");
+                    return AjaxResult.success(jcsqdList);
+                default:
+                    log.info("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�");
+//                    return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!");
+            }
+            log.info("鎵嬪姩鏌ヨ妫�楠屾垨妫�鏌ョ粨鏋滃紑濮�->{}",DateUtil.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
+            return AjaxResult.error("娌℃湁鎵惧埌鎵�鍖归厤鐨勫悓姝ョ被鍨�!");
+
+        } catch (Exception e) {
+            log.error(String.valueOf(e));
+            return AjaxResult.error();
+        }
+    }
+
+
+
 
 
     @GetMapping ("/zxsq")//鎵ц
@@ -301,7 +368,7 @@
     public AjaxResult zx(@RequestParam int day) {
         try {
             List<DictHosp> list = dictHospService.list();
-            DateTime dateTime1 = DateUtil.offsetMonth(new Date(), day);
+            DateTime dateTime1 = DateUtil.offsetDay(new Date(), day);
             for (DictHosp dictHosp : list) {
                 String mallMerchantSecretKey = SecurityUtils.getMallMerchantSecretKey(secret, dictHosp.getHospAreaId(), dictHosp.getHospAreaName(), dateTime1);
                 dictHosp.setSecretKey(mallMerchantSecretKey);
@@ -347,38 +414,96 @@
     @GetMapping ("/tjjcycxm")//鍚屾his椤圭洰鍗曚环淇℃伅
 //    @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')")
     @ApiOperation (value = "tjjcycxm")
-    public AjaxResult tjjcycxm() {
-        String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
-        List<String> jc = orderService.getJianChaTjNum();
-        if (null != jc && !jc.isEmpty()) {
-            for (String s : jc) {
-                jcycxmService.deletedByTjh(s);
-                List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(s);
-                if(null !=list && !list.isEmpty()){
-                    for (LtkjExamJcsqd jcsqd : list) {
-                        if(StringUtil.isNotBlank(jcsqd.getJgzt())){
-                            String[] split = jcsqd.getJgzt().split("銆�");
-                            for (String jg : split) {
-                                if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父")
-                                        && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅")
-                                        && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")&& !jg.contains("鏃犳畩")){
-                                    TjJcycxm jcycxm=new TjJcycxm();
-                                    jcycxm.setTjh(s);
-                                    jcycxm.setYqid(yqbm);
-                                    String[] split1 = jcsqd.getJcxmid().split(";");
-                                    jcycxm.setProId(split1[0]);
-                                    jcycxm.setProName(jcsqd.getJcxmmc());
-                                    jcycxm.setCreateTime(new Date());
-                                    jcycxm.setJcjg(jg);
-                                    jcycxmService.save(jcycxm);
-                                }
-                            }
+    public AjaxResult tjjcycxm(@RequestParam(required = false)@ApiParam(value = "浣撴鍙�") String tjh,
+                               @RequestParam(defaultValue = "0",required = false)@ApiParam(value = "0 浠呭悓姝ユ湭瀹℃牳浜哄憳 1鎵�鏈変汉") String lx) {
+        String yqbm = configService.selectConfigByKey("dqyyyqbm");
+        if(StringUtil.isNotBlank(tjh)){
+            zongjianshengchengyichangxiangmu(tjh, yqbm);
+            return AjaxResult.success();
+        }else {
+            List<String> jc =null;
+            if(lx.equals("0")){
+                jc = orderService.getJianChaTjNumWsh();
+            }else {
+                jc = orderService.getJianChaTjNum();
+            }
+
+            if (null != jc && !jc.isEmpty()) {
+                for (String s : jc) {
+                    zongjianshengchengyichangxiangmu(s, yqbm);
+                }
+            }
+            return AjaxResult.success();
+        }
+
+    }
+
+    public void zongjianshengchengyichangxiangmu(String s, String yqbm) {
+        TjOrder order = orderService.getOrderByTjNum(s);
+        jcycxmService.deletedByTjh(s);
+        List<LtkjExamJcsqd> list = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
+        if(null !=list && !list.isEmpty()){
+            for (LtkjExamJcsqd jcsqd : list) {
+                if(StringUtil.isNotBlank(jcsqd.getJgzt())){
+                    String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�");
+                    for (String jg : split) {
+                        if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父")
+                                && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅")  && !jg.contains("鏃犲紓甯�")
+                                && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")&& !jg.contains("鏃犳畩")){
+                            TjJcycxm jcycxm=new TjJcycxm();
+                            jcycxm.setTjh(s);
+                            jcycxm.setYqid(yqbm);
+                            String[] split1 = jcsqd.getJcxmid().split(";");
+                            jcycxm.setProId(split1[0]);
+                            jcycxm.setProName(jcsqd.getJcxmmc());
+                            jcycxm.setCreateTime(new Date());
+                            jcycxm.setJcjg(jg);
+                            jcycxmService.save(jcycxm);
                         }
                     }
                 }
-
             }
         }
+    }
+
+
+    @GetMapping ("/ceshitijianhao")//鍚屾his椤圭洰鍗曚环淇℃伅
+//    @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')")
+    @ApiOperation (value = "娴嬭瘯浣撴鍙�")
+    public AjaxResult ceshitijianhao() {
+        //鍒涘缓绾跨▼姹�
+        ExecutorService threadPool = Executors.newFixedThreadPool(2000);
+        List<String> numbers = new ArrayList<>();
+        for (int i = 0; i < 2000; i++) {
+            //鑾峰彇绾跨▼
+            threadPool.execute(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        String number = idUtils.getNewTjNumberRedisLock(); // 璋冪敤鑾峰彇缂栧彿鐨勬柟娉�
+                        numbers.add(number); // 娣诲姞鍒� Set
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                }
+            });
+        }
+        threadPool.shutdown();
+        return AjaxResult.success(numbers);
+    }
+
+    @GetMapping("/syncHisData")
+    public AjaxResult syncHisData(@RequestParam(value = "tbzd",required = false,defaultValue = "true") Boolean tbzd) {
+        if (tbzd) {
+            String apiUrl = configService.selectConfigByKey("common_api_url");
+            if (StrUtil.isBlank(apiUrl)) {
+                return AjaxResult.error("鏈厤缃甤ommon_api_url");
+            }
+            HttpClientUtils instance = HttpClientUtils.getInstance();
+            String sendHttpGet = instance.sendHttpGet(apiUrl);
+            if (!sendHttpGet.equals("success")) return AjaxResult.error("鍚屾澶辫触");
+        }
+        testMapper.updTbProHisPrice();
         return AjaxResult.success();
     }
 

--
Gitblit v1.8.0