From 4f1eae9865fca2831ea2966d003b2c57222e036d Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 27 三月 2025 18:01:35 +0800 Subject: [PATCH] zjh20250327 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 400 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 254 insertions(+), 146 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 d6edbfa..284b8fb 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 @@ -1652,81 +1652,270 @@ @GetMapping("/getzongjianyishengchakanyichangxiangmu") @ApiOperation(value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { - if (StrUtil.isNotBlank(tjNum)) { - TjOrder one = orderService.getOrderByTjNum(tjNum); + try { + if (StrUtil.isNotBlank(tjNum)) { + TjOrder one = orderService.getOrderByTjNum(tjNum); - if (one == null) { - return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } + yichangxiangmu(tjNum); + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjNum); + List<TjOrderYcxm> list = ycxmService.list(wq); + if (null != list && !list.isEmpty()) { + Collections.reverse(list); + return getOrderYcxmList(list); + } else { + return zongjianyishengchakanyichangxiangmu(tjNum); + } } - - LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); - wq.eq(TjOrderYcxm::getTjh, tjNum); - List<TjOrderYcxm> list = ycxmService.list(wq); - if (null != list && !list.isEmpty()) { - Collections.reverse(list); - return getOrderYcxmList(list); - } else { - return zongjianyishengchakanyichangxiangmu(tjNum); - } + return AjaxResult.error(); + } catch (Exception ex) { + //throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); } - return AjaxResult.error(); } private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> 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); + try { + List<Map<String, Object>> maps = getYcxmMapList(list); + 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); } - - parent.put("proName", entry.getKey()); - parent.put("jyjc", entry.getValue().get(0).getJyjc()); - parent.put("sone", dels); - maps.add(parent); + return AjaxResult.success(maps); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); } - // 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); } + private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) { + try { + 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); + } + return maps; + } catch (NumberFormatException ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return null; + } + } + + private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { + List<Map<String, Object>> list = new ArrayList<>(); + try { + List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); + 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(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()); + if (ycxmService.save(ycxm)) { + tjOrderYcxms.add(ycxm); + } + } + dels.add(tjOrderDetail); + } + } + if (!dels.isEmpty()) { + parent.put("proName", remark.getProName()); + parent.put("jyjc", remark.getJyjc()); + parent.put("sone", dels); + list.add(parent); + } + } + } + if (!tjOrderYcxms.isEmpty()) { + Collections.reverse(tjOrderYcxms); + return getOrderYcxmList(tjOrderYcxms); + } + + } + } + return AjaxResult.success(list); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.success(list); + } + } + + private void yichangxiangmu(String tjNumber) { + try { + List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); + + if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ + + List<Map<String, Object>> list = new ArrayList<>(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); + 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 = 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); + } + } + } + } + } + List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList); + List<Map<String, Object>> collect = list.stream() + .filter(b -> maps.stream() + .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌 + .collect(Collectors.toList()); + + if(!collect.isEmpty()){ + for (Map<String, Object> map : collect) { + for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) { + TjOrderYcxm ycxm = new TjOrderYcxm(); + ycxm.setTjh(tjNumber); + ycxm.setParentName(map.get("proName").toString()); + ycxm.setJcxm(detail.getProName()); + ycxm.setJcjg(detail.getProResult()); + ycxm.setCkfw(detail.getStanId()); + ycxm.setDw(detail.getProAdvice()); + ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices())); + ycxm.setJyjc(map.get("jyjc").toString()); + ycxmService.save(ycxm); + } + } + } + } + + } catch (Exception ex) { + log.error(ex.getMessage()); + } + } @GetMapping("/delzongjianyishengchakanyichangxiangmu") @ApiOperation(value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛") @@ -1735,88 +1924,7 @@ return AjaxResult.success(); } - private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { - List<Map<String, Object>> list = new ArrayList<>(); - List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); - 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(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()); - if (ycxmService.save(ycxm)) { - tjOrderYcxms.add(ycxm); - } - } - dels.add(tjOrderDetail); - } - } - if (!tjOrderYcxms.isEmpty()) { - Collections.reverse(tjOrderYcxms); - return getOrderYcxmList(tjOrderYcxms); - } - if (!dels.isEmpty()) { - parent.put("proName", remark.getProName()); - parent.put("jyjc", remark.getJyjc()); - parent.put("sone", dels); - list.add(parent); - } - } - } - - } - } - return AjaxResult.success(list); - } @GetMapping("/chushenyemianchakanxiangmujieguo") @ApiOperation(value = "鍒濆椤甸潰鏌ョ湅椤圭洰缁撴灉鎺ュ彛") -- Gitblit v1.8.0