From 21ce50faebc1acb413f5bcb722daf817cce69f33 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 26 三月 2025 14:51:00 +0800
Subject: [PATCH] zjh20250326

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  198 +++++++++++++++++++++++++++++--------------------
 1 files changed, 118 insertions(+), 80 deletions(-)

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 4b00216..a86ce15 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
@@ -37,6 +37,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 lombok.var;
 import org.aspectj.weaver.AjAttribute;
@@ -48,6 +49,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
 import java.text.Collator;
 import java.util.*;
@@ -398,8 +400,8 @@
     @ApiOperation (value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛")
     @RepeatSubmit
 //    @Transactional
-    public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
-
+    public AjaxResult dataSynchronization(@RequestParam String tjNumber, HttpServletRequest request) {
+        String hospId = request.getHeader("hospId");
         RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber);
         try {
             boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS);
@@ -656,7 +658,7 @@
                         return AjaxResult.success("鍚屾鎴愬姛");
                     }
                     else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")){
-                        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber());
+                        List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber(),hospId);
                         if(null != hysqdList && !hysqdList.isEmpty()){
                             for (LtkjHysqd hysqd : hysqdList) {
                                 LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh());
@@ -671,12 +673,12 @@
                             }
                             DynamicDataSourceContextHolder.clearDataSourceType();
                         }
-                        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber());
+                        List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber(),hospId);
                         if(null !=jcsqdList && !jcsqdList.isEmpty()){
                             jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
                             jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
                             jcsqdService.saveBatch(jcsqdList);
-                            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId());
+                            List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId(),hospId);
                             if(null != jcbgdList && !jcbgdList.isEmpty())jcbgdService.saveBatch(jcbgdList);
                             DynamicDataSourceContextHolder.clearDataSourceType();
                         }
@@ -742,6 +744,7 @@
                         List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
                         List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId());
                         //鍚屾妫�楠�
+                        String resultMsg = "";
                         if (null != baoGaoDans && !baoGaoDans.isEmpty()) {
                             Date dates = new Date();
                             Map<String, Object> map = new HashMap<>();
@@ -756,38 +759,42 @@
                             String result1 = getAjaxResult(result);
                             JSONObject object = getJSONObject(result1);
                             String code = object.getStr("ResultCode");
-                            if (null == code || !code.equals("0")) {
-                                return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!");
-                            }
-                            JSONArray data = object.getJSONArray("ResultData");
-                            for (Object datum : data) {
-                                JSONObject jsonObject = (JSONObject) datum;
-                                boolean isInsertHysqd = false;
-                                LtkjHysqd hysqd = new LtkjHysqd();
-                                hysqd.setTjh(order.getCardId());
-                                hysqd.setTmh(jsonObject.getStr("JYBGID"));
-                                hysqd.setBbbh(jsonObject.getStr("BBDM"));
-                                hysqd.setBbmc(jsonObject.getStr("BBMC"));
-                                hysqd.setXmid(jsonObject.getStr("JYXMDM"));
-                                hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
-                                hysqd.setSqsj(jsonObject.getStr("SQRQ"));
-                                hysqd.setSqys(jsonObject.getStr("SQRBH"));
-                                hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
-                                hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
-                                hysqd.setSqdh(jsonObject.getStr("SQDBH"));
-                                hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
-                                hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
-                                hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
-                                hysqd.setCreateTime(new Date());
-                                QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd);
-                                List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper);
-                                if (list.isEmpty())
-                                    isInsertHysqd = true;
-                                if (isInsertHysqd){
-                                    saveHysqd(hysqd);
-                                }else {
-                                    saveHybgd(hysqd);
+//                            if (null == code || !code.equals("0")) {
+//                                return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!");
+//                            }
+                            if (null != code && code.equals("0")) {
+                                JSONArray data = object.getJSONArray("ResultData");
+                                for (Object datum : data) {
+                                    JSONObject jsonObject = (JSONObject) datum;
+                                    boolean isInsertHysqd = false;
+                                    LtkjHysqd hysqd = new LtkjHysqd();
+                                    hysqd.setTjh(order.getCardId());
+                                    hysqd.setTmh(jsonObject.getStr("JYBGID"));
+                                    hysqd.setBbbh(jsonObject.getStr("BBDM"));
+                                    hysqd.setBbmc(jsonObject.getStr("BBMC"));
+                                    hysqd.setXmid(jsonObject.getStr("JYXMDM"));
+                                    hysqd.setXmmc(jsonObject.getStr("JYXMMC"));
+                                    hysqd.setSqsj(jsonObject.getStr("SQRQ"));
+                                    hysqd.setSqys(jsonObject.getStr("SQRBH"));
+                                    hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));
+                                    hysqd.setSqrxm(jsonObject.getStr("SQRXM"));
+                                    hysqd.setSqdh(jsonObject.getStr("SQDBH"));
+                                    hysqd.setShrdm(jsonObject.getStr("JYYSBH"));
+                                    hysqd.setShrxm(jsonObject.getStr("JYYSQM"));
+                                    hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));
+                                    hysqd.setCreateTime(new Date());
+                                    QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd);
+                                    List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper);
+                                    if (list.isEmpty())
+                                        isInsertHysqd = true;
+                                    if (isInsertHysqd) {
+                                        saveHysqd(hysqd);
+                                    } else {
+                                        saveHybgd(hysqd);
+                                    }
                                 }
+                            }else {
+                                resultMsg = "鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!";
                             }
                             //鍚屾鍖栭獙椤圭洰
 //                            testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
@@ -851,11 +858,14 @@
                                     jcsqdService.saveLtkjExamJcsqd(order.getCardId());
 //                                    testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
                                 }else {
-                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
+                                    resultMsg = "妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!";
+//                                    return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!");
                                 }
                             }
                         }
-                        return AjaxResult.success("鍚屾鎴愬姛");
+                        if (StrUtil.isBlank(resultMsg))
+                            return AjaxResult.success("鍚屾鎴愬姛");
+                        else return AjaxResult.error(resultMsg);
                     }
                     //鍖栭獙
 //                    testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId);
@@ -1737,61 +1747,78 @@
 
     private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) {
 //        asyncService.updateCheckType(tjNumber);
-
-        List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
-        List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
         List<Map<String, Object>> list = new ArrayList<>();
-        if (null != remarkList && !remarkList.isEmpty()) {
-            for (TjOrderRemark remark : remarkList) {
-                Map<String, Object> parent = new HashMap<>();
-                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
-                    List<TjOrderDetail> dels = new ArrayList<>();
-                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                        if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
-                            if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){
-                                if(!tjOrderDetail.getDeptId().equals("2")){
-                                    List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                            ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber
-                                            ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
-                                                    .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "")
-                                            ,tjOrderDetail.getProResult());
+        TjOrder order = orderService.getOrderByTjNum(tjNumber);
+        if(null !=order){
+            List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+            List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
+            LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
+            wq.eq(TjOrderYcxm::getTjh,tjNumber);
+            List<TjOrderYcxm> ycxmList = ycxmService.list(wq);
+            if (null != remarkList && !remarkList.isEmpty()) {
+                for (TjOrderRemark remark : remarkList) {
+                    Map<String, Object> parent = new HashMap<>();
+                    if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
+                        List<TjOrderDetail> dels = new ArrayList<>();
+                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                            if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+                                if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){
+                                    if(!tjOrderDetail.getDeptId().equals("2")){
+                                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                        .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", ""),tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber
+                                                ,tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "")
+                                                        .replaceAll("[ 娴嬪畾妫�娴媇","").replaceAll("\\[.*?\\]", "")
+                                                ,tjOrderDetail.getProResult());
 
 
-                                    if(null !=maps && !maps.isEmpty()){
-                                        tjOrderDetail.setAdvices(maps);
-                                    }
-
-                                }else {
-                                    String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
-                                    List<Map<String,Object>> mapList=new ArrayList<>();
-                                    for (String s : split) {
-                                                s = s.replaceAll("\n", "");
-//                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
-                                        Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0");
                                         if(null !=maps && !maps.isEmpty()){
-                                            Object bt = maps.get("bt");
-                                            Object nr = maps.get("nr");
-                                            if(null !=bt || null !=nr) mapList.add(maps);
+                                            tjOrderDetail.setAdvices(maps);
                                         }
+
+                                    }else {
+                                        String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
+                                        List<Map<String,Object>> mapList=new ArrayList<>();
+                                        for (String s : split) {
+                                            s = s.replaceAll("\n", "");
+//                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
+                                            Map<String,Object> maps= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(),s,"0");
+                                            if(null !=maps && !maps.isEmpty()){
+                                                Object bt = maps.get("bt");
+                                                Object nr = maps.get("nr");
+                                                if(null !=bt || null !=nr) mapList.add(maps);
+                                            }
+                                        }
+                                        tjOrderDetail.setAdvices(mapList);
                                     }
-                                    tjOrderDetail.setAdvices(mapList);
+
+                                }
+                                if(null==ycxmList || ycxmList.isEmpty()){
+                                    TjOrderYcxm ycxm=new TjOrderYcxm();
+                                    ycxm.setTjh(tjNumber);
+                                    ycxm.setParentName(remark.getProName());
+                                    ycxm.setJcxm(tjOrderDetail.getProName());
+                                    ycxm.setJcjg(tjOrderDetail.getProResult());
+                                    ycxm.setCkfw(tjOrderDetail.getStanId());
+                                    ycxm.setDw(tjOrderDetail.getProAdvice());
+                                    ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices()));
+                                    ycxm.setJyjc(remark.getJyjc());
+                                    ycxmService.save(ycxm);
                                 }
 
+                                dels.add(tjOrderDetail);
                             }
-
-                            dels.add(tjOrderDetail);
+                        }
+                        if(!dels.isEmpty()){
+                            parent.put("proName",remark.getProName());
+                            parent.put("jyjc",remark.getJyjc());
+                            parent.put("sone",dels);
+                            list.add(parent);
                         }
                     }
-                    if(!dels.isEmpty()){
-                        parent.put("proName",remark.getProName());
-                        parent.put("jyjc",remark.getJyjc());
-                        parent.put("sone",dels);
-                        list.add(parent);
-                    }
                 }
-            }
 
+            }
         }
         return list;
     }
@@ -1837,4 +1864,15 @@
 
 
 
+    @PostMapping ("/newaddOrderYcXmJyByTjh")
+    @ApiOperation (value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿(鍗曚釜)")
+    public AjaxResult newaddOrderYcXmJyByTjh(@RequestBody TjOrderYcxm ycxm) {
+
+                ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
+                ycxmService.save(ycxm);
+                return AjaxResult.success();
+    }
+
+
+
 }

--
Gitblit v1.8.0