zjh
2025-08-04 6efa4693cb921bf4c582d48d504e02c73f7f336b
zjh202500804
1个文件已修改
198 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java 198 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -138,7 +138,7 @@
    @Autowired
    private TjOrderYcxmService ycxmService;
    @Autowired
    private  TjReportController reportController;
    private TjReportController reportController;
    @Autowired
    private ISysDictDataService sysDictDataService;
@@ -1171,7 +1171,7 @@
                    tjOrder.setZhiyeJg(dto.getZhiyeJg());
                if (orderService.updateById(tjOrder)) {
                    AjaxResult pdf = reportController.toPdf(dto.getTjNumber());
                    if (!pdf.get("code").toString().equals("200") ) {
                    if (!pdf.get("code").toString().equals("200")) {
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return AjaxResult.error("操作失败!");
                    }
@@ -1391,7 +1391,7 @@
    }
    private AjaxResult getResult(String tjNumber) {
        asyncService.updateCheckType(tjNumber);
//        asyncService.updateCheckType(tjNumber);
        List<Map<String, Object>> list = new ArrayList<>();
        TjOrder one = orderService.getOrderByTjNum(tjNumber);
@@ -1422,57 +1422,61 @@
                    Map<String, List<TjOrderDetail>> listMap = tjOrderDetails.stream()
                            .filter(i -> StrUtil.isNotBlank(i.getProResult()) && remark.getProsId().equals(i.getProsId()))
                            .collect(Collectors.groupingBy(TjOrderDetail::getProResult));
//                    null !=dictList &&
                    boolean isGroupOnce = false;
                    String groupOnceProResult = "";
                    if (listMap.size() == 1){
                    if (listMap.size() == 1) {
                        String firstKey = listMap.keySet().stream().findFirst().orElse(null);
                        LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(SysDictData::getDictType,"qj_type");
                        wrapper.eq(SysDictData::getDictLabel,firstKey);
                        wrapper.eq(SysDictData::getDictType, "qj_type");
                        wrapper.eq(SysDictData::getDictLabel, firstKey);
                        List<SysDictData> dictList = sysDictDataService.list(wrapper);
                        if  (!dictList.isEmpty()) {
                        if (!dictList.isEmpty()) {
                            isGroupOnce = true;
                            groupOnceProResult = firstKey;
                        }
                    }
                    if (isGroupOnce){
                    if (isGroupOnce) {
                        TjOrderDetail tjOrderDetail = new TjOrderDetail();
                        tjOrderDetail.setProName(remark.getProName());
                        tjOrderDetail.setProResult(groupOnceProResult);
                        dels.add(tjOrderDetail);
                    }else{
                    } else {
                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                            if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                                String ckfw = tjOrderDetail.getStanId();
                      /*          String ckfw = tjOrderDetail.getStanId();
                                if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
                                    ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
                                }
                                if (StrUtil.isNotBlank(ckfw)) {
                                    try {
                                        if (ckfw != null && ckfw.contains("-")) {
                                            Integer.parseInt(tjOrderDetail.getYcbz());
                                            String[] split = ckfw.split("-");
                                            BigDecimal min = new BigDecimal(split[0]);
                                            BigDecimal max = new BigDecimal(split[1]);
                                            String proResult = tjOrderDetail.getProResult();
                                            if (null != proResult) {
                                                BigDecimal jyjgval = new BigDecimal(proResult);
                                                if (jyjgval.compareTo(min) < 0) {
                                                    tjOrderDetail.setYcbz("↓");
                                                } else if (jyjgval.compareTo(max) > 0) {
                                                    tjOrderDetail.setYcbz("↑");
                                                } else if (proResult.contains("阴")) {
                                                    tjOrderDetail.setYcbz("");
                                            String ycbz = tjOrderDetail.getYcbz();
                                            if(StringUtil.isBlank(ycbz)){
                                                Integer.parseInt(tjOrderDetail.getYcbz());
                                                String[] split = ckfw.split("-");
                                                BigDecimal min = new BigDecimal(split[0]);
                                                BigDecimal max = new BigDecimal(split[1]);
                                                String proResult = tjOrderDetail.getProResult();
                                                if (null != proResult) {
                                                    BigDecimal jyjgval = new BigDecimal(proResult);
                                                    if (jyjgval.compareTo(min) < 0) {
                                                        tjOrderDetail.setYcbz("↓");
                                                    } else if (jyjgval.compareTo(max) > 0) {
                                                        tjOrderDetail.setYcbz("↑");
                                                    } else if (proResult.contains("阴")) {
                                                        tjOrderDetail.setYcbz("");
                                                    } else {
                                                        tjOrderDetail.setYcbz("");
                                                    }
                                                    if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
                                                        tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                                    }
                                                } else {
                                                    tjOrderDetail.setYcbz("");
                                                }
                                                if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
                                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                                }
                                            } else {
                                                tjOrderDetail.setYcbz("");
                                            }else {
                                                tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                            }
                                        } else {
                                            if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阴"))
@@ -1490,8 +1494,12 @@
                                    if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阳"))
                                        tjOrderDetail.setYcbz("↑");
                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                                }
                                }*/
                                String ycbz = tjOrderDetail.getYcbz();
                                if(StringUtil.isNotBlank(ycbz)){
                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                }
                                if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
                                    dels.add(tjOrderDetail);
                                }
@@ -1613,8 +1621,8 @@
                    return AjaxResult.error("暂无数据!!");
                }
                yichangxiangmu(tjNum);
                List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNum);
                if(null!=tjOrderYcxmList&&!tjOrderYcxmList.isEmpty()){
                List<TjOrderYcxm> tjOrderYcxmList = ycxmService.selectListByTjh(tjNum);
                if (null != tjOrderYcxmList && !tjOrderYcxmList.isEmpty()) {
                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
                    wq.eq(TjOrderYcxm::getTjh, tjNum);
                    List<TjOrderYcxm> list = ycxmService.list(wq);
@@ -1624,7 +1632,7 @@
                    } else {
                        return AjaxResult.success(maps);
                    }
                }else {
                } else {
                    return zongjianyishengchakanyichangxiangmu(tjNum);
                }
            }
@@ -1639,11 +1647,12 @@
    private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
        try {
            List<Map<String, Object>> maps = getYcxmMapList(list);
            if (!maps.isEmpty()) {
            if (null != maps && !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);
            }
            return AjaxResult.success(maps);
        } catch (Exception ex) {
@@ -1695,6 +1704,7 @@
            return null;
        }
    }
    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
        List<Map<String, Object>> list = new ArrayList<>();
@@ -1801,77 +1811,85 @@
                if (null != order) {
                    String xb = customerService.getSexByTjh(order.getTjNumber());
                    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")) {
                                                String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
                                                        .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
                        List<TjOrderRemark> collects = remarkList.stream()
                                .filter(b -> tjOrderYcxmList.stream()
                                        .noneMatch(a -> a.getParentName() != null && a.getParentName().equals(b.getProName()))).collect(Collectors.toList());
                        if (!collects.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")) {
                                                    String replacedAll = tjOrderDetail.getProName().replaceAll("[((][^))]*[\u4e00-\u9fa5]+[^))]*[))]", "").replaceAll("[((][^))]*[))]", "")
                                                            .replaceAll("[ 测定检测]", "").replaceAll("\\[.*?\\]", "").replaceAll("◆", "");
                                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
                                                        , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult());
                                                    List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
                                                            , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, 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", "").replaceAll("[((][^))]*[))]", "");
                                                    ;
                                                    Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb);
                                                    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(maps);
                                                    }
                                                }
                                                tjOrderDetail.setAdvices(mapList);
                                            }
                                                } else {
                                                    String[] split = tjOrderDetail.getProResult().split("。|,|,");
                                                    List<Map<String, Object>> mapList = new ArrayList<>();
                                                    for (String s : split) {
                                                        s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "");
                                                        ;
                                                        Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0", xb);
                                                        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);
                                        }
                                        dels.add(tjOrderDetail);
                                    }
                                    if (!dels.isEmpty()) {
                                        parent.put("proName", remark.getProName());
                                        parent.put("jyjc", remark.getJyjc());
                                        parent.put("sone", dels);
                                        list.add(parent);
                                    }
                                }
                                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);
                                    }
                                }
                            }
                        }
                    }
                }
                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);
                        }
                    }
                }
            }