From 6b74e7a581a89d59e3e61e1b57a4570a3d031bc5 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期四, 05 六月 2025 16:25:44 +0800 Subject: [PATCH] 报告数据接口增加返回检查综述和医师建议 --- ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java | 154 +++++++++++++++++++++++++++------------------------ 1 files changed, 82 insertions(+), 72 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java index 76e70ae..6ac4969 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/api/DefaultController.java @@ -115,25 +115,96 @@ LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); wq.eq(TjOrderYcxm::getTjh, tjNum); List<TjOrderYcxm> ycxms = tjOrderYcxmService.list(wq); - Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream() - .collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); - JSONArray jczs = JSONUtil.createArray(); - JSONArray ysjy = JSONUtil.createArray(); + Map<String, List<TjOrderYcxm>> stringListMap = ycxms.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); int xmXh = 1; + JSONArray jczs = JSONUtil.createArray(); for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) { List<TjOrderYcxm> details = entry.getValue(); String xmmc = entry.getKey(); - details.sort(Comparator.comparing(TjOrderYcxm::getJcxm)); + boolean isXmWrite = false; + int index = 1; + JSONObject object = JSONUtil.createObj(); + for (TjOrderYcxm detail : details) { + if (!isXmWrite) { + object.putOpt("xh",xmXh); + object.putOpt("xmmc",xmmc); + xmXh++; + } + String result = detail.getJcjg(); + if (StrUtil.isNotBlank(result)) { + result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); + StringBuilder builder = new StringBuilder(); + if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; + builder.append(" (").append(index).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + index++; + result = builder.toString(); + } + object.putOpt("result",result); + } + jczs.add(object); + } + entries.putOpt("jczs",jczs); - JSONObject jczObject = processDetails(details, xmmc, xmXh, true); - jczs.add(jczObject); + xmXh = 1; + JSONArray ysjy = JSONUtil.createArray(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : stringListMap.entrySet()) { + List<TjOrderYcxm> details = entry.getValue(); + if(null !=details && !details.isEmpty()){ + details= details.stream() + .sorted(Comparator.comparing(TjOrderYcxm::getJcxm)) + .collect(Collectors.toList()); + boolean isXmWrite = false; + int index1 = 1; + for (TjOrderYcxm detail : details) { + JSONObject obj = JSONUtil.createObj(); + String xmmc = entry.getKey().toString(); + if (!isXmWrite) { + isXmWrite = true; + obj.putOpt("xh",xmXh); + obj.putOpt("xmmc",xmmc); + xmXh++; + } + String result = detail.getJcjg(); + if (StrUtil.isNotBlank(result)) { + StringBuilder builder = new StringBuilder(); + if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue; + builder.append(" (").append(index1).append(")").append(detail.getJcxm()).append(": ").append(result).append("\n"); + index1++; + result = builder.toString(); + } + if (StrUtil.isNotBlank(result)) { + obj.putOpt("result",result); + } else { + obj.putOpt("result","寤鸿瀹氭湡澶嶆煡"); + } + String str = " "; + List<Map<String, Object>> maps = new ArrayList<>(); - JSONObject ysjyObject = processDetails(details, xmmc, xmXh, false); - ysjy.add(ysjyObject); + String jynr = detail.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) maps.add(objectMap); + } + ArrayList<String> strings = new ArrayList<>(); + List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList()); + for (Map<String, Object> objectMap : collect1) { + String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString(); + if (StrUtil.isBlank(content)) content = " "; + strings.add(content); + } + obj.putOpt("contents",strings); + ysjy.add(obj); + } + } } - entries.putOpt("jczs", jczs); - entries.putOpt("ysjy", ysjy); + entries.putOpt("ysjy",ysjy); removeNullFields(entries); return JSONUtil.toBean(entries, AjaxResult.class); @@ -246,67 +317,6 @@ log.info("ltkj {}鐨勪綋妫�鎶ュ憡鏌ヨ璇︽儏"+maps,tjNumber); return AjaxResult.success(maps); - } - - private JSONObject processDetails(List<TjOrderYcxm> details, String xmmc, int xmXh, boolean isJcz) { - JSONObject object = JSONUtil.createObj(); - boolean isXmWrite = false; - int index = 1; - for (TjOrderYcxm detail : details) { - if (!isXmWrite) { - object.putOpt("xh", xmXh++); - object.putOpt("xmmc", xmmc); - isXmWrite = true; - } - String result = detail.getJcjg(); - if (StrUtil.isNotBlank(result)) { - result = result.replaceAll("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", "") - .replaceAll("\n", "").trim(); - if (StrUtil.isNotBlank(result)) { - StringBuilder builder = new StringBuilder(); - builder.append(" (").append(index).append(")").append(detail.getJcxm()) - .append(": ").append(result).append("\n"); - index++; - result = builder.toString(); - } - } - - if (StrUtil.isNotBlank(result)) { - object.putOpt("result", result); - } else { - object.putOpt("result", isJcz ? result : "寤鸿瀹氭湡澶嶆煡"); - } - if (!isJcz) { - JSONArray contents = processJynr(detail.getJynr()); - object.putOpt("contents", contents); - } - } - return object; - } - - private JSONArray processJynr(String jynr) { - JSONArray contents = JSONUtil.createArray(); - List<Map<String, Object>> maps = JSONUtil.parseArray(jynr).stream() - .map(o -> { - JSONObject jsonObject = (JSONObject) o; - Map<String, Object> map = new HashMap<>(); - String bt = jsonObject.getStr("bt"); - String nr = jsonObject.getStr("nr"); - if (StrUtil.isNotBlank(bt) || StrUtil.isNotBlank(nr)) { - map.put("bt", bt); - map.put("nr", nr); - } - return map; - }) - .filter(map -> !map.isEmpty()) - .distinct() - .collect(Collectors.toList()); - - for (Map<String, Object> map : maps) { - String content = " " + map.get("bt") + map.get("nr"); - contents.add(StrUtil.isBlank(content) ? " " : content); - } - return contents; } } -- Gitblit v1.8.0