From 3a1c9430768830a931c86c03bf08c98ac6435d4a Mon Sep 17 00:00:00 2001
From: zjh <zjh@888>
Date: 星期三, 26 六月 2024 10:32:40 +0800
Subject: [PATCH] zjh 本地 2024/06/26 --1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  276 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 245 insertions(+), 31 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 8715071..71badca 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
@@ -2,6 +2,10 @@
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -25,9 +29,11 @@
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
 import com.ltkj.system.service.ISysUserService;
+import com.ltkj.web.controller.his.HisApiMethodService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.var;
 import org.aspectj.weaver.AjAttribute;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -35,6 +41,7 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -95,6 +102,9 @@
     private LtkjHybgdService ltkjHybgdService;
     @Resource
     private LtkjHysqdService ltkjHysqdService;
+    @Autowired
+    private HisApiMethodService controller;
+
 
 
     @GetMapping("/getOperationPermissionsByTjNum")
@@ -269,7 +279,7 @@
                                    @ApiParam(value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status,
                                    @ApiParam(value = "椹冲洖鐞嗙敱") @RequestParam(required = false) String remark) {
         int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
-        if (num > 0) return AjaxResult.error("璇峰厛鍚屾浣撴椤圭洰!");
+        if (num > 0) return AjaxResult.error("璇锋鏌ユ槸鍚﹀瓨鍦ㄦ湭妫�鎴栧欢鏈熼」鐩�");
         if (null != tjNumber) {
             Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
             SysUser sysUser = userService.getById(userId);
@@ -311,25 +321,15 @@
     public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
         //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12
         final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
-        if ("Y".equals(getInfoFromSqlData)) {
-            TjOrder order = orderService.getOrderByTjNum(tjNumber);
-            if (null != order) {
-                List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
-                if (one != null && one.size() > 0) {
-                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
-                    ltkjHysqdService.saveBatch(one);
-                    DynamicDataSourceContextHolder.clearDataSourceType();
-                    for (LtkjHysqd ltkjHysqd : one) {
-                        List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
-                        if (one1 != null && one1.size() > 0) {
-                            DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
-                            ltkjHybgdService.saveBatch(one1);
-                            DynamicDataSourceContextHolder.clearDataSourceType();
-                        }
-                    }
-                }
 
-//                List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
+        final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis");
+        TjOrder order = orderService.getOrderByTjNum(tjNumber);
+        if(null !=order){
+
+        //寮�鍚瓧鍏稿脊绐�
+        if ("Y".equals(getInfoFromSqlData)) {
+                tbhyxm(order);
+                //                List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber);
 //                if (one2 != null && one2.size() > 0) {
 //                    DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
 //                    ltkjExamJcsqdService.saveBatch(one2);
@@ -344,12 +344,134 @@
 //                    }
 //                }
                 //鍚屾鍖栭獙椤圭洰
-                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),UserHoder.getLoginUser().getUserId());
+                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
                 //鍚屾妫�鏌ラ」鐩�
-                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()),order.getTjNumber(),UserHoder.getLoginUser().getUserId());
+                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                asyncService.updateCheckType(order.getTjNumber());
+
+        }
+
+        //寮�鍚拰his瀵规帴
+        if(null !=sfkqdyhis && sfkqdyhis.equals("Y")){
+
+            List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId());
+            if(null !=baoGaoDans && baoGaoDans.size()>0){
+//                for (String baoGaoDan : baoGaoDans) {
+                    Date dates = new Date();
+                    Map<String,Object> map=new HashMap<>();
+                    map.put("his_registration_id",order.getCardId());
+                    map.put("ksbm","");
+                    map.put("pationid","");
+                    map.put("ksrq",DateUtil.format(DateUtil.beginOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
+                    map.put("jsrq",DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss"));
+                    map.put("pagecount",10);
+                    map.put("page",1);
+                    AjaxResult result = controller.Getlabreportinfo(map);
+                    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;
+                        LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
+                        if(null !=jybgid){
+                            continue;
+                        }
+                        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"));
+                        if (ltkjHysqdService.save(hysqd)) {
+                            Map<String,Object> hashMap=new HashMap<>();
+                            hashMap.put("jybgid",hysqd.getTmh());
+                            AjaxResult bgdres = controller.Getlabdetailinfo(hashMap);
+                            String result2 = getAjaxResult(bgdres);
+                            JSONObject object1 = getJSONObject(result2);
+                            String code1 = object1.getStr("ResultCode");
+                            if(null ==code1 || !code1.equals("0")){
+                                return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏃犵粨鏋�,璇风◢鍚庡悓姝�!!!");
+                            }
+                            JSONArray datas = object1.getJSONArray("ResultData");
+                            for (Object o : datas) {
+                                JSONObject js = (JSONObject)o;
+//                            ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID"));
+                                LtkjHybgd bgd=new LtkjHybgd();
+                                bgd.setTmh(hysqd.getTmh());
+                                bgd.setJcxmid(js.getStr("JCZBDM"));
+                                bgd.setJcxm(js.getStr("JCZBMC"));
+                                bgd.setTdh(js.getStr(""));
+                                bgd.setJyjg(js.getStr("JCZBJG"));
+                                bgd.setJgdw(js.getStr("JLDW"));
+                                bgd.setFwzdz(js.getStr(""));
+                                bgd.setFwzgz(js.getStr(""));
+                                bgd.setFwz(js.getStr("CKZFW"));
+                                bgd.setJysj(js.getStr("BGRQ"));
+                                bgd.setJyys(js.getStr("JCRBH"));
+                                bgd.setShsj(js.getStr("BGRQ"));
+                                bgd.setShsj(js.getStr("BGRQ"));
+                                bgd.setShys(js.getStr("SHRBH"));
+                                bgd.setYcbz(js.getStr("YCTS"));
+//                            bgd.setTpurl(js.getStr(""));
+                                ltkjHybgdService.save(bgd);
+                            }
+                        }
+                    }
+//                }
+                //鍚屾鍖栭獙椤圭洰
+                testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                //鍚屾妫�鏌ラ」鐩�
+                testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId());
+                asyncService.updateCheckType(order.getTjNumber());
             }
+
+
         }
         return AjaxResult.success("鍚屾鎴愬姛");
+        }
+        return AjaxResult.error();
+    }
+
+    //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡
+    public JSONObject getJSONObject(String builder) {
+        String Response = JSONUtil.parseObj(builder).getStr("Response");
+        return JSONUtil.parseObj(Response);
+    }
+
+    //鑾峰彇鏂规硶杩斿洖鍊间俊鎭�
+    public String getAjaxResult(AjaxResult result) {
+        return result.get("data").toString();
+    }
+
+    private void tbhyxm(TjOrder order) {
+        List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId());
+        if (one != null && one.size() > 0) {
+            for (LtkjHysqd ltkjHysqd : one) {
+                ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
+                ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh());
+                LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh());
+                if (hysqd == null) {
+                    ltkjHysqdService.save(ltkjHysqd);
+                    DynamicDataSourceContextHolder.clearDataSourceType();
+                    List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh());
+                    if (one1 != null && one1.size() > 0) {
+                        DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name());
+                        ltkjHybgdService.saveBatch(one1);
+                        DynamicDataSourceContextHolder.clearDataSourceType();
+                    }
+                }
+            }
+        }
     }
 
 
@@ -456,6 +578,7 @@
 //            }
 //            return getResult(page, pageSize, orderList, customerList, map);
 //        }
+
         String value = String.valueOf(compId);
         if (tjNumber == null) tjNumber = "";
         if (compId == null) value = "";
@@ -500,10 +623,10 @@
                     if (null != customer) {
                         customer.setCusNumber(customer.getCusNumber() + 1);
                         if (customerService.updateById(customer)) {
-                            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
-                            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
-                            wqq.eq(TbTransition::getCardId, customer.getCardId());
-                            transitionService.remove(wqq);
+//                            LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>();
+//                            wqq.eq(TbTransition::getCusId, customer.getCusIdcard());
+//                            wqq.eq(TbTransition::getCardId, customer.getCardId());
+//                            transitionService.remove(wqq);
                             asyncService.updateCheckType(tjNumber);
                             return AjaxResult.success("鎿嶄綔鎴愬姛");
                         }
@@ -519,18 +642,18 @@
 
 
     /**
-     * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏
+     * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰
      *
      * @param tjNumber
      * @return
      */
     @GetMapping("/updateCheckType")
-    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏")
+    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰")
     public AjaxResult updateCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
-        if (redisCache.hasKey("updateCheckType" + tjNumber)) {
-            List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
-            return AjaxResult.success(cacheMapValue);
-        }
+//        if (redisCache.hasKey("updateCheckType" + tjNumber)) {
+//            List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
+//            return AjaxResult.success(cacheMapValue);
+//        }
         return getAjaxResult(tjNumber);
     }
 
@@ -556,6 +679,12 @@
                 if ("N".equals(project.getNeedReport())) {
                     continue;
                 }
+
+                //鍒ゆ柇璇ラ」鐩槸鍚︽楠岀椤圭洰  2024/2/28g
+                if (project.getDeptId() == 241) {
+                    continue;
+                }
+
                 if (null != project) {
                     parent.put("parent", project.getProName());
                     parent.put("parentId", project.getProId().toString());
@@ -610,6 +739,91 @@
     }
 
 
+    /**
+     * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩�
+     *
+     * @param tjNumber
+     * @return
+     */
+    @GetMapping("/updateCheckTypeHuaYan")
+    @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩�")
+    public AjaxResult updateCheckTypeHuaYan(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+//        asyncService.updateCheckType(tjNumber);
+        List<Map<String, Object>> list = new ArrayList<>();
+        TjOrder one = orderService.getOrderByTjNum(tjNumber);
+
+        if (one == null) {
+            return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
+        }
+        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
+        if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y"))
+        tbhyxm(one);
+//        TjCustomer customer = customerService.getById(one.getUserId());
+        List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanTable(tjNumber);
+        List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber);
+
+
+        if (null != remarkList && remarkList.size() > 0) {
+            for (TjOrderRemark remark : remarkList) {
+                Map<String, Object> parent = new HashMap<>();
+                parent.put("checkAdvice", one.getCheckAdvice());
+                parent.put("parent", remark.getProName());
+                parent.put("parentId", remark.getProId().toString());
+                List<TjOrderDetail> dels=new ArrayList<>();
+                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
+                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                        if(remark.getProId().equals(tjOrderDetail.getProId())){
+                            String ckfw = tjOrderDetail.getStanId();
+                            if (StrUtil.isNotBlank(ckfw)) {
+                                try {
+                                    Integer.parseInt(tjOrderDetail.getYcbz());
+                                    String[] split = ckfw.split("-");
+                                    BigDecimal min = new BigDecimal(split[0]);
+                                    BigDecimal max = new BigDecimal(split[1]);
+                                    String proResult = tjOrderDetail.getProResult();
+                                    BigDecimal jyjgval = new BigDecimal(proResult);
+                                    if (jyjgval.compareTo(min) < 0) {
+                                        tjOrderDetail.setYcbz("鈫�");
+                                    } else if (jyjgval.compareTo(max) > 0) {
+                                        tjOrderDetail.setYcbz("鈫�");
+                                    }else {
+                                        tjOrderDetail.setYcbz("");
+                                    }
+                                } catch (NumberFormatException ignored) { }
+                            }
+                            if(null !=tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")){
+                                tjOrderDetail.setProResult(tjOrderDetail.getProResult()+" ["+tjOrderDetail.getYcbz()+"]");
+                            }
+                            dels.add(tjOrderDetail);
+                        }
+                    }
+                    String summary = remark.getSummary();
+                    if (null != summary) {
+                        String[] split = summary.split(";");
+                        parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split));
+                    } else {
+                        parent.put("parentAdvice", null);
+                    }
+                    if(dels.size()==0){
+                        continue;
+                    }
+                    parent.put("sons", dels);
+                    parent.put("remark", remark.getRemark());
+                    if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
+                        parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
+                    }
+
+                    list.add(parent);
+                } else {
+                    return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁");
+                }
+            }
+            return AjaxResult.success(list);
+        }
+        return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�");
+    }
+
+
     @GetMapping("/getTm")
     @ApiOperation(value = "鑾峰彇鏉$爜")
 //    @PreAuthorize("@ss.hasPermi('check:check:getTm')")

--
Gitblit v1.8.0