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 |  315 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 306 insertions(+), 9 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 f553595..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,23 +1,31 @@
 package com.ltkj.web.controller.system;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Locale;
+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 com.ltkj.common.core.domain.entity.SysMenu;
+import cn.hutool.json.JSONUtil;
+import com.ltkj.hosp.idutil.IdUtils;
 import com.ltkj.common.utils.SecurityUtils;
-import com.ltkj.hosp.domain.DictHosp;
-import com.ltkj.hosp.domain.TjProject;
-import com.ltkj.hosp.service.IDictHospService;
-import com.ltkj.hosp.service.ITjProjectService;
+import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -41,6 +49,7 @@
 @RestController
 @RequestMapping("/system/config")
 @Api(tags = "A---PC绔弬鏁伴厤缃帴鍙i泦")
+@Slf4j
 public class SysConfigController extends BaseController {
     @Autowired
     private ISysConfigService configService;
@@ -52,6 +61,24 @@
     private String secret;
     @Autowired
     private ITjProjectService projectService;
+    @Resource
+    private ITjOrderService orderService;
+    @Autowired
+    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;
+    @Autowired
+    private IdUtils idUtils;
 
     /**
      * 鑾峰彇鍙傛暟閰嶇疆鍒楄〃
@@ -164,12 +191,184 @@
     }
 
 
+    @GetMapping ("/shoudongtbjyjcwsxmjg")
+    @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,dqyyyqbm);
+                    log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�楠�");
+                    break;
+                case "jc":
+                    tbjiancha(tjh,dqyyyqbm);
+                    log.info("褰撳墠鍚屾鐨勬槸->{} 缁撴灉","妫�鏌�");
+                    break;
+                case "jyjc":
+                    tbjianyan(tjh,dqyyyqbm);
+                    tbjiancha(tjh,dqyyyqbm);
+                    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,String dqyyyqbm) {
+        try {
+            List<Aws> awsList = testMapper.getWsxmLtkjHysqdByLisViBySLAVEWS(s);
+            if(null !=awsList && !awsList.isEmpty()){
+                log.info("澶栭�侀」鐩釜鏁�->{} 缁撴灉",awsList.size());
+                log.info(awsList.toString());
+                testMapper.delWsxmjg(s);
+                log.info("鍒犻櫎澶栭�侀」鐩垚鍔�");
+                awsService.saveBatch(awsList);
+                log.info("淇濆瓨澶栭�侀」鐩垚鍔�");
+            }
+            List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(s,dqyyyqbm);
+            log.info("鍘焗ysqdList->{} 缁撴灉", JSONUtil.parseObj(hysqdList));
+            List<LtkjHysqd> wssq = testMapper.getWsxmLtkjHysqdByLisVi(s);
+            if(null !=wssq && !wssq.isEmpty()){
+                log.info("澶栭�侀」涓�->{} 缁撴灉",wssq.toString());
+                hysqdList.addAll(wssq);
+            }
+            if (null != hysqdList && !hysqdList.isEmpty()) {
+                log.info("鐜癶ysqdList->{} 缁撴灉", JSONUtil.parseObj(hysqdList));
+                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,String dqyyyqbm) {
+
+        try {
+            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();
+            }
+        } catch (Exception e) {
+            log.info("鍚屾妫�鏌ユ暟鎹け璐�");
+//            throw new RuntimeException(e);
+            log.error(String.valueOf(e));
+        }
+    }
+
+
+    @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")//鎵ц
     @ApiOperation(value = "zxsq")
     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);
@@ -210,4 +409,102 @@
         return AjaxResult.success();
     }
 
+
+
+    @GetMapping ("/tjjcycxm")//鍚屾his椤圭洰鍗曚环淇℃伅
+//    @PreAuthorize("@ss.hasPermi('system:config:tbhisproprice')")
+    @ApiOperation (value = "tjjcycxm")
+    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