From 2c785c3d4513daea9deb5c7edbb17a9f17111d25 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 21 二月 2025 17:49:03 +0800 Subject: [PATCH] zjh20250221 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 153 insertions(+), 24 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 99b3545..efa6950 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 @@ -49,6 +49,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; +import java.text.Collator; import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -56,6 +57,8 @@ import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save; import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect; +import static org.jeecg.modules.jmreport.dyndb.util.b.a; +import static org.jeecg.modules.jmreport.dyndb.util.b.e; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� @@ -122,6 +125,10 @@ private RedissonClient redissonClient; @Autowired private ITjRulesService rulesService; + @Autowired + private ITjProAdvicerulesService tjProAdvicerulesService; + @Autowired + private TjOrderYcxmService ycxmService; @GetMapping ("/ceshicc") @@ -724,9 +731,9 @@ if ("Y".equals(getInfoFromSqlData)) { tbhyxm(order); //鍚屾鍖栭獙椤圭洰 - testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); //鍚屾妫�鏌ラ」鐩� - testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); asyncService.updateCheckType(order.getTjNumber()); } @@ -771,6 +778,7 @@ 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()) @@ -782,10 +790,10 @@ } } //鍚屾鍖栭獙椤圭洰 - 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.size() > 0) { + if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) { Map<String, Object> maps = new HashMap<>(); maps.put("his_registration_id", order.getCardId()); maps.put("ksbm", "浣撴涓績"); @@ -837,10 +845,11 @@ 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()); jcbgdService.save(jcbgd); } jcsqdService.saveLtkjExamJcsqd(order.getCardId()); - testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); }else { return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); } @@ -849,7 +858,7 @@ return AjaxResult.success("鍚屾鎴愬姛"); } //鍖栭獙 - testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); +// testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); //妫�鏌� jcsqdService.saveLtkjExamJcsqd(order.getCardId()); return AjaxResult.success("鍚屾鎴愬姛"); @@ -900,6 +909,7 @@ bgd.setShys(js.getStr("SHRBH")); bgd.setShysmc(js.getStr("SHRXM")); bgd.setYcbz(js.getStr("YCTS")); + bgd.setCreateTime(new Date()); // bgd.setTpurl(js.getStr("")); QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd); List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper); @@ -954,7 +964,7 @@ private void tbhyxm(TjOrder order) { List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); - if (one != null && one.size() > 0) { + if (one != null && !one.isEmpty()) { for (LtkjHysqd ltkjHysqd : one) { ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); @@ -963,7 +973,7 @@ ltkjHysqdService.save(ltkjHysqd); DynamicDataSourceContextHolder.clearDataSourceType(); List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh()); - if (one1 != null && one1.size() > 0) { + if (one1 != null && !one1.isEmpty()) { DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); ltkjHybgdService.saveBatch(one1); DynamicDataSourceContextHolder.clearDataSourceType(); @@ -1529,7 +1539,9 @@ tjOrderDetail.setProResult(tjOrderDetail.getProResult()); } - dels.add(tjOrderDetail); + if(remark.getOrgType().equals(tjOrderDetail.getOrgType())){ + dels.add(tjOrderDetail); + } } } String summary = remark.getSummary(); @@ -1542,6 +1554,12 @@ if (dels.isEmpty()) { continue; } + dels=dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); + dels = dels.stream() + .sorted(Comparator.comparingInt( + tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� + )) + .collect(Collectors.toList()); parent.put("sons", dels); parent.put("remark", remark.getRemark()); parent.put("jgbx", remark.getJgbx()); @@ -1575,7 +1593,7 @@ @PostMapping ("/checkUpdateOrderRemark") @ApiOperation (value = "鎬绘淇敼澶囨敞鎺ュ彛") public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) { - if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) { + if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) { for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) { LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber()); @@ -1631,18 +1649,90 @@ @ApiOperation (value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { if (StrUtil.isNotBlank(tjNum)) { - return zongjianyishengchakanyichangxiangmu(tjNum); + TjOrder one = orderService.getOrderByTjNum(tjNum); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } + + LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh,tjNum); + List<TjOrderYcxm> list = ycxmService.list(wq); + if(null !=list && !list.isEmpty()){ + Collections.reverse(list); + Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); + List<Map<String, Object>> maps = new ArrayList<>(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { + Map<String, Object> parent = new HashMap<>(); + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderYcxm ycxm : entry.getValue()) { + TjOrderDetail detail=new TjOrderDetail(); + detail.setOrderDetailId(Long.valueOf(ycxm.getId())); + detail.setProName(ycxm.getJcxm()); + detail.setProResult(ycxm.getJcjg()); + detail.setStanId(ycxm.getCkfw()); + detail.setProAdvice(ycxm.getDw()); + List<Map<String,Object>> btnrlist=new ArrayList<>(); + String jynr = ycxm.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String,Object> objectMap=new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt",bt); + objectMap.put("nr",nr); + if(null !=bt || null !=nr) btnrlist.add(objectMap); + } + detail.setAdvices(btnrlist); + dels.add(detail); + } + + parent.put("proName",entry.getKey()); + parent.put("jyjc",entry.getValue().get(0).getJyjc()); + parent.put("sone",dels); + maps.add(parent); + } + List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); + + + List<Map<String, Object>> collect = mapList.stream() + .filter(b -> maps.stream() + .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌 + .collect(Collectors.toList()); + if(!collect.isEmpty()){ + maps.addAll(collect); + } + if(!maps.isEmpty()){ + List<Map<String, Object>> collect1 = maps.stream() + .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) + .collect(Collectors.toList()); + return AjaxResult.success(collect1); + } + return AjaxResult.success(maps); + }else { + List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum); +// if(mapList.isEmpty()){ +// return AjaxResult.success("鏆傛棤鏁版嵁"); +// } + return AjaxResult.success(mapList); + } + +// return zongjianyishengchakanyichangxiangmu(tjNum); } return AjaxResult.error(); } - private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { -// asyncService.updateCheckType(tjNumber); - TjOrder one = orderService.getOrderByTjNum(tjNumber); + @GetMapping ("/delzongjianyishengchakanyichangxiangmu") + @ApiOperation (value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛") + public AjaxResult delzongjianyishengchakanyichangxiangmu(@RequestParam String id) { + ycxmService.removeById(id); + return AjaxResult.success(); + } - if (one == null) { - return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); - } + 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<>(); @@ -1654,10 +1744,31 @@ for (TjOrderDetail tjOrderDetail : tjOrderDetails) { if (remark.getProsId().equals(tjOrderDetail.getProsId())) { if(null !=tjOrderDetail.getProId()&& null !=tjOrderDetail.getYcbz()){ - List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString(),"",tjOrderDetail.getYcbz(),tjNumber); - if(null !=maps && !maps.isEmpty()){ - tjOrderDetail.setAdvices(maps); + if(!tjOrderDetail.getDeptId().equals("2")){ + List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() + ,"",tjOrderDetail.getYcbz().replaceAll(" ", ""),tjNumber + ,tjOrderDetail.getProName().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(mapList); } + } dels.add(tjOrderDetail); @@ -1669,13 +1780,11 @@ parent.put("sone",dels); list.add(parent); } - } else { - return AjaxResult.success("璇ヤ汉鍛樻棤寮傚父椤圭洰"); } } - return AjaxResult.success(list); + } - return AjaxResult.success("璇ヤ汉鍛樻病鏈変綋妫�椤圭洰鏁版嵁锛�"); + return list; } @GetMapping ("/chushenyemianchakanxiangmujieguo") @@ -1693,5 +1802,25 @@ } + @PostMapping ("/addOrderYcXmByTjh") + @ApiOperation (value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿") + public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) { + if(null !=ycxms && !ycxms.isEmpty()){ + String tjh = ycxms.get(0).getTjh(); + if(StringUtils.isNotBlank(tjh)){ + ycxmService.delOrderYcXmJyByTjh(tjh); + + for (TjOrderYcxm ycxm : ycxms) { + ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap())); + } +// List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList()); + ycxmService.saveBatch(ycxms); + return AjaxResult.success(); + } + } + return AjaxResult.success(); + } + + } -- Gitblit v1.8.0