From cf84e1347914b92e46c6a63155fff74282490890 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期三, 02 四月 2025 18:02:03 +0800 Subject: [PATCH] zjh20250402 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 256 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 206 insertions(+), 50 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 4f71514..48f2064 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; @@ -129,7 +130,14 @@ private ITjProAdvicerulesService tjProAdvicerulesService; @Autowired private TjOrderYcxmService ycxmService; - + @Autowired + private SysConfigController configController; + @Autowired + private TjJcycxmService jcycxmService; + @Resource + private TjXdtgmdjgService xdtgmdjgService; + @Resource + private TjXdPictureController pictureController; @GetMapping ("/ceshicc") @ApiOperation (value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛") @@ -207,6 +215,7 @@ @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber, @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId, @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name, + @ApiParam (value = "濂楅鍚�)") @RequestParam (required = false) String tcm, @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime, @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) { @@ -292,7 +301,8 @@ if (name == null) name = ""; if (beginTime == null) beginTime = ""; if (endTime == null) endTime = ""; - return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name)); + if (tcm == null) tcm = ""; + return AjaxResult.success(orderService.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tcm)); } @@ -399,7 +409,7 @@ @RepeatSubmit // @Transactional public AjaxResult dataSynchronization(@RequestParam String tjNumber) { - + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber); try { boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS); @@ -664,7 +674,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(),dqyyyqbm); if(null != hysqdList && !hysqdList.isEmpty()){ for (LtkjHysqd hysqd : hysqdList) { LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(),hysqd.getTmh()); @@ -679,7 +689,7 @@ } DynamicDataSourceContextHolder.clearDataSourceType(); } - List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber()); + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber(),dqyyyqbm); if(null !=jcsqdList && !jcsqdList.isEmpty()){ jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); @@ -706,7 +716,7 @@ } return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } catch (InterruptedException e) { - e.printStackTrace(); + log.error(String.valueOf(e),e.getMessage()); return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); }finally { lock.unlock(); @@ -730,7 +740,7 @@ String doctorId = configService.selectConfigByKey("request_default_check_doctorId"); //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); - + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); TjOrder order = orderService.getOrderByTjNum(tjNumber); if (null != order) { @@ -745,11 +755,15 @@ asyncService.updateCheckType(order.getTjNumber()); } + // 11:42:04.617 [http-nio-5000-exec-72] ERROR c.a.d.p.DruidDataSource - [init,905] - init datasource error, url: jdbc:sqlserver://192.168.10.2:1433;DatabaseName=hospital;&characterEncoding=utf8 + //com.microsoft.sqlserver.jdbc.SQLServerException: 椹卞姩绋嬪簭鏃犳硶閫氳繃浣跨敤瀹夊叏濂楁帴瀛楀眰(SSL)鍔犲瘑涓� SQL Server 寤虹珛瀹夊叏杩炴帴銆傞敊璇�:鈥淣o appropriate protocol (protocol is disabled or cipher suites are inappropriate)鈥濄�� + // //寮�鍚拰his瀵规帴 if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { 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<>(); @@ -764,41 +778,50 @@ 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; + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh()); + } + 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); + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); } /*鍚屾妫�鏌� his鎺ュ彛*/ if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) { @@ -859,29 +882,64 @@ jcbgd.setJcbw(objectMap.get("JCBW").toString()); if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals("")) jcbgd.setSqsj(objectMap.get("SQRQSJ").toString()); - jcbgd.setCreateTime(new Date()); + jcbgd.setCreateTime(new Date()); jcbgdService.save(jcbgd); + } jcsqdService.saveLtkjExamJcsqd(order.getCardId()); -// testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); + /* List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId()); + if(null !=jcsqdList && !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(order.getTjNumber()); + 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); + } + } + } + } + }*/ + testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); }else { - return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); +// return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); + resultMsg+="\n妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"; } } } - return AjaxResult.success("鍚屾鎴愬姛"); + LambdaQueryWrapper<TjXdtgmdjg> wq=new LambdaQueryWrapper<>(); + wq.eq(TjXdtgmdjg::getTjh,tjNumber); + List<TjXdtgmdjg> list = xdtgmdjgService.list(wq); + if(null !=list && !list.isEmpty()){ + for (TjXdtgmdjg xdtgmdjg : list) { + pictureController.saveTjXdtgmdjgByJcbgd(xdtgmdjg); + } + } + if (StrUtil.isBlank(resultMsg)) + return AjaxResult.success("鍚屾鎴愬姛"); + else return AjaxResult.error(resultMsg); } //鍖栭獙 // testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); //妫�鏌� - jcsqdService.saveLtkjExamJcsqd(order.getCardId()); +// jcsqdService.saveLtkjExamJcsqd(order.getCardId()); return AjaxResult.success("鍚屾鎴愬姛"); } return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); } return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } catch (InterruptedException e) { - e.printStackTrace(); + log.error(String.valueOf(e),e.getMessage()); return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); } finally { lock.unlock(); @@ -1662,12 +1720,16 @@ @GetMapping ("/getzongjianyishengchakanyichangxiangmu") @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { + long l = System.currentTimeMillis(); if (StrUtil.isNotBlank(tjNum)) { TjOrder one = orderService.getOrderByTjNum(tjNum); if (one == null) { return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); } + String yqbm = configService.selectConfigByKey("common_api_service_hospbm"); + jcycxmService.deletedByTjh(tjNum); + configController.zongjianshengchengyichangxiangmu(tjNum,yqbm); LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>(); wq.eq(TjOrderYcxm::getTjh,tjNum); @@ -1721,14 +1783,15 @@ List<Map<String, Object>> collect1 = maps.stream() .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) .collect(Collectors.toList()); + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); return AjaxResult.success(collect1); } - return AjaxResult.success(maps); + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); + + return AjaxResult.success(maps); }else { List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); -// if(mapList.isEmpty()){ -// return AjaxResult.success("鏆傛棤鏁版嵁"); -// } + System.out.println("鎬昏�楁椂:"+(System.currentTimeMillis()-l)); return AjaxResult.success(mapList); } @@ -1744,7 +1807,7 @@ return AjaxResult.success(); } - private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { + /*private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) { // asyncService.updateCheckType(tjNumber); List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); @@ -1772,6 +1835,68 @@ 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); + } + + } + + dels.add(tjOrderDetail); + } + } + if(!dels.isEmpty()){ + parent.put("proName",remark.getProName()); + parent.put("jyjc",remark.getJyjc()); + parent.put("sone",dels); + list.add(parent); + } + } + } + + } + return list; + }*/ + + 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()); + + + 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()){ @@ -1837,4 +1962,35 @@ + + /** + * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛 + */ + @GetMapping ("/newdataSynchronization") + @ApiOperation (value = "鏈�鏂板叕鍏卞悓姝ql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit + public AjaxResult newdataSynchronization(@RequestParam String tjNumber) { + try { + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { + dataSynchronizationApi(tjNumber); + }else { + configController.shoudongtbjyjcwsxmjg("jyjc",tjNumber); + } + return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); + } catch (Exception e) { +// throw new RuntimeException(ex); + log.error(String.valueOf(e),e.getMessage()); + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } + } + + + + } -- Gitblit v1.8.0