zjh
2025-05-30 b7d7d80a8a9e9ac145a05b5e1d545b6b61fc0cc4
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -25,6 +25,7 @@
import com.ltkj.hosp.mapper.TestMapper;
import com.ltkj.hosp.service.*;
import com.ltkj.hosp.sqlDomain.*;
import com.ltkj.hosp.vo.ProFcListVo;
import com.ltkj.hosp.vodomain.CsProVo;
import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo;
import com.ltkj.mall.mallOrderUtils.TjConstants;
@@ -868,24 +869,38 @@
                                            jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
                                        jcbgd.setCreateTime(new Date());
                                        jcbgdService.save(jcbgd);
                                    }
                                    jcsqdService.saveLtkjExamJcsqd(order.getCardId());
                                    List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId());
                                    jcycxmService.deletedByTjh(order.getTjNumber());
                                    if(!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("正常")&& !jg.contains("双侧椎间孔无狭窄")){
                                                        TjJcycxm jcycxm=new TjJcycxm();
                                                        jcycxm.setTjh(order.getTjNumber());
                                                        jcycxm.setYqid("jczyy");
                                                        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 {
                                    resultMsg += "\n检查项目暂时未出结果,请稍后同步!!!";
                                }
                            }
                        }
                        /*        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("同步成功");
@@ -1027,7 +1042,8 @@
                              @ApiParam(value = "单位") @RequestParam(required = false) Long compId,
                              @ApiParam(value = "姓名)") @RequestParam(required = false) String name,
                              @ApiParam(value = "开始时间") @RequestParam(required = false) String beginTime,
                              @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime) {
                              @ApiParam(value = "结束时间") @RequestParam(required = false) String endTime,
                              @ApiParam(value = "体检类型") @RequestParam(required = false) String tjCategory) {
        //        String config = configService.selectConfigByKey("tj_confirm");
//        DateTime beginTimes = null;
//        DateTime endTimes = null;
@@ -1124,7 +1140,7 @@
        if (name == null) name = "";
        if (beginTime == null) beginTime = "";
        if (endTime == null) endTime = "";
        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name));
        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory));
    }
@@ -1251,7 +1267,9 @@
//    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
    public AjaxResult getTjdetailList(@ApiParam(value = "体检tjNumber") @RequestParam String tjNumber,
                                      @ApiParam(value = "总检建议") @RequestParam(required = false) String advice,
                                      @ApiParam(value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus) {
                                      @ApiParam(value = "审核状态0待审核1已审核") @RequestParam Integer checkStatus,
                                      @ApiParam(value = "职业结论") @RequestParam(required = false) String zhiyeJl,
                                      @ApiParam(value = "职业结果") @RequestParam(required = false) String zhiyeJg) {
        String config = configService.selectConfigByKey("sfjcwjhyqxm");
        if (null != config && config.equalsIgnoreCase("Y")) {
@@ -1273,6 +1291,10 @@
                tjOrder.setCheckTime(date);
                tjOrder.setStatus(401);
                tjOrder.setFinishTime(date);
                if (StrUtil.isNotBlank(zhiyeJl))
                    tjOrder.setZhiyeJl(zhiyeJl);
                if (StrUtil.isNotBlank(zhiyeJg))
                    tjOrder.setZhiyeJg(zhiyeJg);
                if (orderService.updateById(tjOrder)) {
                    TjCustomer customer = customerService.getById(tjOrder.getUserId());
                    if (null != customer) {
@@ -1522,6 +1544,8 @@
                parent.put("parentId", remark.getProsId());
                parent.put("xmlb", remark.getXmlb());
                parent.put("", remark.getXmlb());
                parent.put("zhiyejl",one.getZhiyeJl());
                parent.put("zhiyejg", one.getZhiyeJg());
                List<TjOrderDetail> dels = new ArrayList<>();
                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
@@ -1565,7 +1589,12 @@
                                } catch (NumberFormatException ignored) {
                                }
                            } else {
                                tjOrderDetail.setYcbz("");
//                                tjOrderDetail.setYcbz("");
                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阴"))
                                    tjOrderDetail.setYcbz("");
                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("阳"))
                                    tjOrderDetail.setYcbz("↑");
                                tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                            }
@@ -1677,82 +1706,274 @@
    @GetMapping("/getzongjianyishengchakanyichangxiangmu")
    @ApiOperation(value = "总检查看异常项目接口")
    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
        long l = System.currentTimeMillis();
        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);
                }
            }
            String yqbm = configService.selectConfigByKey("common_api_service_hospbm");
            jcycxmService.deletedByTjh(tjNum);
            configController.zongjianshengchengyichangxiangmu(tjNum, yqbm);
            return AjaxResult.error();
        } catch (Exception ex) {
            //throw new RuntimeException(ex);
            log.error(ex.getMessage());
            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);
    private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) {
        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);
            }
            return AjaxResult.success(maps);
        } catch (Exception ex) {
//            throw new RuntimeException(ex);
            log.error(ex.getMessage());
            return AjaxResult.error();
        }
    }
    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);
            String xb= customerService.getSexByTjh(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")) {
                                            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());
                                            if (null != maps && !maps.isEmpty()) {
                                                tjOrderDetail.setAdvices(maps);
                                            }
                                        } else {
                                            String[] split = tjOrderDetail.getProResult().split("[。,,::.\\s]+");
                                            List<Map<String, Object>> mapList = new ArrayList<>();
                                            for (String s : split) {
                                                s = s.replaceAll("\n", "").replaceAll("[((][^))]*[))]", "").replaceAll(" ","")
                                                        .replaceAll("症","").replaceAll("[0-9]", "");
                                                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);
                                        }
                                    }
                                    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);
                            }
                        }
                        detail.setAdvices(btnrlist);
                        dels.add(detail);
                    }
                    if (!tjOrderYcxms.isEmpty()) {
                        Collections.reverse(tjOrderYcxms);
                        return getOrderYcxmList(tjOrderYcxms);
                    }
                    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);
            }
            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);
            String xb= customerService.getSexByTjh(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")) {
                                                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>> collect = mapList.stream()
                                                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(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()) {
                    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());
                    System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l));
                    return AjaxResult.success(collect1);
                }
                System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l));
                return AjaxResult.success(maps);
            } else {
                List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
                System.out.println("总检查看异常项目接口总耗时:" + (System.currentTimeMillis() - l));
                return AjaxResult.success(mapList);
                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());
        }
        return AjaxResult.error();
    }
    @GetMapping("/delzongjianyishengchakanyichangxiangmu")
@@ -1762,126 +1983,6 @@
        return AjaxResult.success();
    }
    /*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.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);
                        }
                    }
                    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);
      String xb= customerService.getSexByTjh(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",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);
                        }
                    }
                    if (!dels.isEmpty()) {
                        parent.put("proName", remark.getProName());
                        parent.put("jyjc", remark.getJyjc());
                        parent.put("sone", dels);
                        list.add(parent);
                    }
                }
            }
        }
        return list;
    }
    @GetMapping("/chushenyemianchakanxiangmujieguo")
    @ApiOperation(value = "初审页面查看项目结果接口")
@@ -1946,4 +2047,29 @@
    }
    /**
     * 查询复查项目列表
     * @param tjNum 体检号
     * @param type 复查状态 0未复查状态 1复查状态
     * @return
     */
    @GetMapping("/getFcList")
    public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){
        TjOrder order = orderService.getOrderByTjNum(tjNum);
        if (order == null)
            return AjaxResult.error();
        List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type);
        return AjaxResult.success(list);
    }
    /**
     * 复查项目提交
     * @param json
     * @return
     */
    @PostMapping("/UpdFcPro")
    public AjaxResult updFcPro(@RequestBody String json) {
        return detailService.updFcPro(json);
    }
}