zjh
2025-04-28 15cff7198e70b26b8b97779430e0b1bcce23e2de
zjh20250428
14个文件已修改
520 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java 445 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderDetail.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProAdvicerulesMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjCustomerService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProAdvicerulesService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjCustomerServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProAdvicerulesServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -2995,12 +2995,7 @@
     * @param customer
     */
    private void notHuaYanData(String tjNumber, Map<TjOrderRemark, List<TjPdfVO>> printReport, TjOrder one, TjCustomer customer) {
//        LambdaQueryWrapper<TjOrderRemark> wqq = new LambdaQueryWrapper<>();
//        wqq.eq(TjOrderRemark::getTjNumber, tjNumber);
//        wqq.ne(TjOrderRemark::getDeptId, "241");
//        wqq.in(TjOrderRemark::getDeptId, "269", "270", "253", "254", "255", "257");
//        wqq.notIn(TjOrderRemark::getProId, projectService.getNneedReprotProId());
//        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.list(wqq);
        List<TjOrderRemark> tjOrderRemarks = tjOrderRemarkService.notHuaYanData(tjNumber);
        for (TjOrderRemark tjOrderRemark : tjOrderRemarks) {
            printReport.put(tjOrderRemark, null);
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -594,6 +594,7 @@
                } else {
                    deptname = dept.getDeptName();
                }
                String xb= tjCustomerService.getSexByTjh(order.getTjNumber());
                StringBuilder ssyszys = new StringBuilder();
                StringBuilder ssyszyjgs = new StringBuilder();
@@ -628,7 +629,7 @@
                                    for (String s : split) {
                                        s = s.replaceAll("\n", "");
                                        //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0");
                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
                                        if (null != mapss && !mapss.isEmpty()) {
                                            Object bt = mapss.get("bt");
                                            Object nr = mapss.get("nr");
@@ -678,7 +679,7 @@
                                    for (String s : split) {
                                        s = s.replaceAll("\n", "");
                                        //                                        Map<String,Object> maps= rulesService.getyichangxiangmujianyiguizeJianCha(s);
                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0");
                                        Map<String, Object> mapss = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname, s, "0",xb);
                                        if (null != mapss && !mapss.isEmpty()) {
                                            Object bt = mapss.get("bt");
                                            Object nr = mapss.get("nr");
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -210,14 +210,6 @@
                                       @ApiParam(value = "姓名)") @RequestParam(required = false) String name,
                                       @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page,
                                       @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize) {
//        List<Long> ksproList = null;
//
//        ksproList = projectService.getHuaYanProId();
//
//        if (ksproList == null || ksproList.isEmpty()) {
//            return AjaxResult.error("请完善科室项目信息");
//        }
        Map<String, Object> map = null;
        if (type == 0) {
            map = deptService.getSysDeptHyAndYxYjWjCustomerList13("A30", name, tjNumber, 0, page, pageSize);
@@ -264,8 +256,6 @@
        List<Map<String, Object>> tjYxjcList = testMapper.getTjYxjcList(patname, sex, null);
        return AjaxResult.success(tjYxjcList);
    }
    /**
@@ -528,7 +518,7 @@
//                }
                logger.info("接口 DataSourceContextHolder ->{}", DataSourceContextHolder.getDataSourceKey());
                logger.info("接口 DynamicDataSourceContextHolder ->{}", DynamicDataSourceContextHolder.getDataSourceType());
                asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order,orderRemark);
                asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order, orderRemark);
                LambdaQueryWrapper<TjOrderDetail> qww = new LambdaQueryWrapper<>();
                qww.eq(TjOrderDetail::getOrderId, order.getOrderId());
                qww.eq(TjOrderDetail::getProId, orderRemark.getProId());
@@ -653,241 +643,264 @@
                }
            }
        }
            List<TjOrderRemark> list;
            if(null != sysUser && sysUser.getUserName().equals("10001")){
                list=remarkService.yiShengJianChaGetPrentProCJGLY(tjNumber);
            }else {
                list= remarkService.yiShengJianChaGetPrentPro(tjNumber, split);
        List<TjOrderRemark> list;
        if (null != sysUser && sysUser.getUserName().equals("10001")) {
            list = remarkService.yiShengJianChaGetPrentProCJGLY(tjNumber);
        } else {
            list = remarkService.yiShengJianChaGetPrentPro(tjNumber, split);
        }
        if (null == list || list.isEmpty()) {
            return AjaxResult.error("该科室下无项目!");
        }
        for (TjOrderRemark tjOrderRemark : list) {
            TjProject tjProject = projectService.getById(tjOrderRemark.getProId());
            if (null != tjProject) {
                tjOrderRemark.setProName(tjProject.getProName());
            }
            if (null ==list || list.isEmpty()) {
                return AjaxResult.error("该科室下无项目!");
            }
            for (TjOrderRemark tjOrderRemark : list) {
                TjProject tjProject = projectService.getById(tjOrderRemark.getProId());
                if (null != tjProject) {
                    tjOrderRemark.setProName(tjProject.getProName());
                }
            }
            return AjaxResult.success(list);
}
@Transactional
public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) {
    tjFlowingWater.setPayStasus(1L);
    tjFlowingWater.setPayType(0L);
    tjFlowingWater.setTollCollectorId("148");
    tjFlowingWaterService.updateById(tjFlowingWater);
    Long tjSerialNumber = tjFlowingWater.getTjSerialNumber();
    LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
    tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
    List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper);
    List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList());
    LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
    tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId, tjSerialNumber);
    tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId, detailIds);
    detailService.update(tjOrderDetailLambdaUpdateWrapper);
    remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
}
/**
 * 点击父项目显示子项目详情
 *
 * @return
 */
@GetMapping("/getOrderDetailByProParentId")
@ApiOperation("点击父项目显示子项目详情")
public AjaxResult getOrderDetailByProParentId(@ApiParam(value = "父项目id") @RequestParam String proParentId,
                                              @ApiParam(value = "体检号") @RequestParam String tjNumber) {
    if (null == SecurityUtils.getLoginUser().getUserId() || null == userService.getById(SecurityUtils.getLoginUser().getUserId())) {
        return AjaxResult.error("获取用户信息错误");
        }
        return AjaxResult.success(list);
    }
    TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId);
    List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId, tjNumber);
    @GetMapping("/getParentListWs")
    @ApiOperation(value = "医生界面外送菜单(只显示父项目列表)")
//    修改按照科室查询
    public AjaxResult getParentListWs(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
        TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber);
        if (null == tjOrder) {
            return AjaxResult.error("未找到体检记录");
        }
        List<TjOrderRemark> list = remarkService.yiShengJianChaGetPrentProWs(tjNumber);
        if (null == list || list.isEmpty()) {
            return AjaxResult.error("暂无外送项目!");
        }
        for (TjOrderRemark tjOrderRemark : list) {
            TjProject tjProject = projectService.getById(tjOrderRemark.getProId());
            if (null != tjProject) {
                tjOrderRemark.setProName(tjProject.getProName());
            }
        }
        return AjaxResult.success(list);
    }
    if (null == proParentList || proParentList.isEmpty()) {
    @Transactional
    public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) {
        tjFlowingWater.setPayStasus(1L);
        tjFlowingWater.setPayType(0L);
        tjFlowingWater.setTollCollectorId("148");
        tjFlowingWaterService.updateById(tjFlowingWater);
        Long tjSerialNumber = tjFlowingWater.getTjSerialNumber();
        LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>();
        tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId());
        List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper);
        List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList());
        LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId, tjSerialNumber);
        tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId, detailIds);
        detailService.update(tjOrderDetailLambdaUpdateWrapper);
        remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
    }
    /**
     * 点击父项目显示子项目详情
     *
     * @return
     */
    @GetMapping("/getOrderDetailByProParentId")
    @ApiOperation("点击父项目显示子项目详情")
    public AjaxResult getOrderDetailByProParentId(@ApiParam(value = "父项目id") @RequestParam String proParentId,
                                                  @ApiParam(value = "体检号") @RequestParam String tjNumber) {
        if (null == SecurityUtils.getLoginUser().getUserId() || null == userService.getById(SecurityUtils.getLoginUser().getUserId())) {
            return AjaxResult.error("获取用户信息错误");
        }
        TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId);
        List<TjProject> proParentList = projectService.getTjProjectListByTbTransition(proParentId, tjNumber);
        if (null == proParentList || proParentList.isEmpty()) {
            Map<String, Object> map = new HashMap<>();
            map.put("xiaoJieIds", null);
            map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId, proParentId).orderByAsc(TjProject::getXh)));
            map.put("xiaoJie", null);
            map.put("remark", remark.getRemark());
            return AjaxResult.success(map);
        }
        List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList());
        TjOrder one = orderService.getOrderByTjNum(tjNumber);
        if (null == one) {
            return AjaxResult.success("该用户暂时没有体检数据");
        }
        List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList);
        List<TjOrderDetail> tjOrderDetailList = new ArrayList<>();
        if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
            for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                TjProject project = projectService.getById(tjOrderDetail.getProId());
                if (null != project) {
                    //判断该项目是否需要打印报告
                    if ("N".equals(project.getNeedReport())) {
                        continue;
                    }
                    List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
                    tjOrderDetail.setRulesList(rulesList);
                    tjOrderDetail.setProject(project);
                    tjOrderDetail.setResultType(project.getResultType());
                    if (null != remark.getDoctorName()) {
                        SysUser byId = userService.getById(remark.getDoctorName());
                        if (byId != null) {
                            tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
                        }
                    } else {
                        tjOrderDetail.setDoctorName(null);
                    }
                    if (StringUtil.isBlank(tjOrderDetail.getProResult())) {
                        tjOrderDetail.setProResult(project.getProDefault());
                    }
                    tjOrderDetail.setXh(project.getXh());
                    tjOrderDetailList.add(tjOrderDetail);
                }
            }
        }
        Map<String, Object> map = new HashMap<>();
        map.put("xiaoJieIds", null);
        map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId, proParentId)));
        map.put("xiaoJie", null);
        List<TjAdvice> adviceList = new ArrayList<>();
        if (null != remark) {
            String[] strings = StringUtils.split(remark.getSummary(), ";");
            if (null != strings && strings.length > 0) {
                List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings);
                adviceList.addAll(list);
            }
            map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";"));
        } else {
            map.put("xiaoJieIds", null);
        }
        map.put("sons", tjOrderDetailList.stream().sorted(Comparator.comparing(TjOrderDetail::getXh)).collect(Collectors.toList()));
        map.put("xiaoJie", adviceList);
        map.put("remark", remark.getRemark());
        return AjaxResult.success(map);
    }
    List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList());
    TjOrder one = orderService.getOrderByTjNum(tjNumber);
    if (null == one) {
        return AjaxResult.success("该用户暂时没有体检数据");
    }
    List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList);
    List<TjOrderDetail> tjOrderDetailList = new ArrayList<>();
    if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
            TjProject project = projectService.getById(tjOrderDetail.getProId());
            if(null != project){
                //判断该项目是否需要打印报告
                if ("N".equals(project.getNeedReport())) {
                    continue;
                }
                List<TjRules> rulesList = tjRulesService.getTjRulesListByTjNumAndProId(tjNumber, tjOrderDetail.getProId());
                tjOrderDetail.setRulesList(rulesList);
                tjOrderDetail.setProject(project);
                tjOrderDetail.setResultType(project.getResultType());
                if (null != remark.getDoctorName()) {
                    SysUser byId = userService.getById(remark.getDoctorName());
                    if (byId != null) {
                        tjOrderDetail.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
                    }
                } else {
                    tjOrderDetail.setDoctorName(null);
                }
                if(StringUtil.isBlank(tjOrderDetail.getProResult())){
                    tjOrderDetail.setProResult(project.getProDefault());
                }
                tjOrderDetailList.add(tjOrderDetail);
    /**
     * 状态修改
     */
    @PutMapping("/changeStatus")
    @ApiOperation("部门状态修改")
    public AjaxResult changeStatus(@RequestBody SysDept dept) {
        //判断是启用还是
        if ("1".equals(dept.getStatus())) {
            //判断用户表中有没有人在该科室下
            LambdaQueryWrapper<SysUser> wq = new LambdaQueryWrapper<>();
            wq.eq(SysUser::getDeptId, dept.getDeptId());
            List<SysUser> list = userService.list(wq);
            if (!list.isEmpty()) {
                return AjaxResult.error("该科室下有工作人员,不能停用!");
            }
        }
    }
    Map<String, Object> map = new HashMap<>();
    List<TjAdvice> adviceList = new ArrayList<>();
    if (null != remark) {
        String[] strings = StringUtils.split(remark.getSummary(), ";");
        if (null != strings && strings.length > 0) {
            List<TjAdvice> list = tjAdviceService.getAdviceStringByIds(strings);
            adviceList.addAll(list);
        dept.setUpdateBy(getUsername());
        int i = deptService.updateDeptStatus(dept);
        if (i == 0) {
            return AjaxResult.error("修改失败");
        }
        map.put("xiaoJieIds", StringUtils.split(remark.getSummary(), ";"));
    } else {
        map.put("xiaoJieIds", null);
    }
    map.put("sons", tjOrderDetailList);
    map.put("xiaoJie", adviceList);
    map.put("remark", remark.getRemark());
    return AjaxResult.success(map);
}
        return AjaxResult.success("修改成功");
/**
 * 状态修改
 */
@PutMapping("/changeStatus")
@ApiOperation("部门状态修改")
public AjaxResult changeStatus(@RequestBody SysDept dept) {
    //判断是启用还是
    if ("1".equals(dept.getStatus())) {
        //判断用户表中有没有人在该科室下
        LambdaQueryWrapper<SysUser> wq = new LambdaQueryWrapper<>();
        wq.eq(SysUser::getDeptId, dept.getDeptId());
        List<SysUser> list = userService.list(wq);
        if (!list.isEmpty()) {
            return AjaxResult.error("该科室下有工作人员,不能停用!");
    }
    /**
     * 根据项目id获取建议
     */
    @GetMapping("/getDeptAdvice")
    @ApiOperation(value = "根据项目id获取建议")
    public AjaxResult getDeptAdvice(@ApiParam(value = "父项目项目id") @RequestParam(required = false) String proId,
                                    @ApiParam(value = "内容") @RequestParam(required = false) String nr,
                                    @ApiParam(value = "拼音码") @RequestParam(required = false) String pym,
                                    @ApiParam(value = "页码") @RequestParam(defaultValue = "1") int page,
                                    @ApiParam(value = "每页展示条数") @RequestParam(defaultValue = "10") int pageSize) {
        LambdaQueryWrapper<TjAdvice> wq1 = new LambdaQueryWrapper<>();
        if (null != proId) {
            wq1.eq(TjAdvice::getProId, proId);
        }
    }
    dept.setUpdateBy(getUsername());
    int i = deptService.updateDeptStatus(dept);
    if (i == 0) {
        return AjaxResult.error("修改失败");
    }
    return AjaxResult.success("修改成功");
}
/**
 * 根据项目id获取建议
 */
@GetMapping("/getDeptAdvice")
@ApiOperation(value = "根据项目id获取建议")
public AjaxResult getDeptAdvice(@ApiParam(value = "父项目项目id") @RequestParam(required = false) String proId,
                                @ApiParam(value = "内容") @RequestParam(required = false) String nr,
                                @ApiParam(value = "拼音码") @RequestParam(required = false) String pym,
                                @ApiParam(value = "页码") @RequestParam(defaultValue = "1") int page,
                                @ApiParam(value = "每页展示条数") @RequestParam(defaultValue = "10") int pageSize) {
    LambdaQueryWrapper<TjAdvice> wq1 = new LambdaQueryWrapper<>();
    if (null != proId) {
        wq1.eq(TjAdvice::getProId, proId);
    }
    if (null != nr && !nr.isEmpty()) {
        wq1.like(TjAdvice::getTitle, nr);
    } else if (null != pym && !pym.isEmpty()) {
        wq1.like(TjAdvice::getTitle, pym);
    }
        if (null != nr && !nr.isEmpty()) {
            wq1.like(TjAdvice::getTitle, nr);
        } else if (null != pym && !pym.isEmpty()) {
            wq1.like(TjAdvice::getTitle, pym);
        }
//        else {
//            wq1.last("limit 20");
//        }
    Page<TjAdvice> pages = new Page<>(page, pageSize);
    Page<TjAdvice> advicePage = tjAdviceService.page(pages, wq1);
    Map<String, Object> map = new HashMap<>();
    map.put("list", advicePage.getRecords());
    map.put("total", advicePage.getTotal());
        Page<TjAdvice> pages = new Page<>(page, pageSize);
        Page<TjAdvice> advicePage = tjAdviceService.page(pages, wq1);
        Map<String, Object> map = new HashMap<>();
        map.put("list", advicePage.getRecords());
        map.put("total", advicePage.getTotal());
//        List<TjAdvice> list = tjAdviceService.list(wq1);
    return AjaxResult.success(map);
}
        return AjaxResult.success(map);
    }
@GetMapping("/getAdviceByTjNumAndPro")
@ApiOperation(value = "根据项目id和体检号获取建议")
public AjaxResult getAdviceByTjNumAndPro(@ApiParam(value = "父项目项目id") @RequestParam String proId,
                                         @ApiParam(value = "体检号") @RequestParam String tjNum) {
    LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
    wq.eq(TjOrderRemark::getProId, proId);
    wq.eq(TjOrderRemark::getTjNumber, tjNum);
    TjOrderRemark remark = remarkService.getOne(wq);
    List<TjAdvice> list = null;
    if (null != remark && !StringUtils.isBlank(remark.getSummary())) {
        String[] strings = StringUtils.split(remark.getSummary(), ";");
        if (null != strings && strings.length > 0) {
            list = tjAdviceService.getAdviceStringByIds(strings);
    @GetMapping("/getAdviceByTjNumAndPro")
    @ApiOperation(value = "根据项目id和体检号获取建议")
    public AjaxResult getAdviceByTjNumAndPro(@ApiParam(value = "父项目项目id") @RequestParam String proId,
                                             @ApiParam(value = "体检号") @RequestParam String tjNum) {
        LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>();
        wq.eq(TjOrderRemark::getProId, proId);
        wq.eq(TjOrderRemark::getTjNumber, tjNum);
        TjOrderRemark remark = remarkService.getOne(wq);
        List<TjAdvice> list = null;
        if (null != remark && !StringUtils.isBlank(remark.getSummary())) {
            String[] strings = StringUtils.split(remark.getSummary(), ";");
            if (null != strings && strings.length > 0) {
                list = tjAdviceService.getAdviceStringByIds(strings);
            }
        }
        return AjaxResult.success(list);
    }
    return AjaxResult.success(list);
}
/**
 * 获取部门树列表
 */
    /**
     * 获取部门树列表
     */
//@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/deptTree")
@ApiOperation("获取部门树列表")
public AjaxResult deptTree(SysDept dept) {
    return success(deptService.selectDeptTreeList(dept));
}
@GetMapping("/deptTree111")
@ApiOperation("获取部门树列表1111111111")
public AjaxResult deptTree111(SysDept dept) {
    final List<TreeSelect> treeSelects = deptService.selectDeptTreeList1(dept);
    return success(treeSelects);
}
/**
 * 获取子科室部门列表
 */
@GetMapping("/getChildList")
@ApiOperation(value = "获取子科室部门列表")
public AjaxResult getChildList(String deptName) {
    LambdaQueryWrapper<SysDept> wq = new LambdaQueryWrapper<>();
    wq.ne(SysDept::getParentId, 0);
    if (deptName != null) {
        wq.like(SysDept::getDeptName, deptName);
    @GetMapping("/deptTree")
    @ApiOperation("获取部门树列表")
    public AjaxResult deptTree(SysDept dept) {
        return success(deptService.selectDeptTreeList(dept));
    }
    List<SysDept> depts = deptService.list(wq);
    return success(depts);
}
    @GetMapping("/deptTree111")
    @ApiOperation("获取部门树列表1111111111")
    public AjaxResult deptTree111(SysDept dept) {
        final List<TreeSelect> treeSelects = deptService.selectDeptTreeList1(dept);
        return success(treeSelects);
    }
    /**
     * 获取子科室部门列表
     */
    @GetMapping("/getChildList")
    @ApiOperation(value = "获取子科室部门列表")
    public AjaxResult getChildList(String deptName) {
        LambdaQueryWrapper<SysDept> wq = new LambdaQueryWrapper<>();
        wq.ne(SysDept::getParentId, 0);
        if (deptName != null) {
            wq.like(SysDept::getDeptName, deptName);
        }
        List<SysDept> depts = deptService.list(wq);
        return success(depts);
    }
    @GetMapping("/getxmjgz")
    @ApiOperation(value = "医生检查处获取项目规则值")
    public AjaxResult getxmjgz(@RequestParam  String proId,@RequestParam(required = false)  String xmgz) {
    public AjaxResult getxmjgz(@RequestParam String proId, @RequestParam(required = false) String xmgz) {
        LambdaQueryWrapper<TjRules> wq = new LambdaQueryWrapper<>();
        wq.eq(TjRules::getProId, proId);
        if(StringUtil.isNotBlank(xmgz))wq.like(TjRules::getRuleStr,xmgz);
        if (StringUtil.isNotBlank(xmgz)) wq.like(TjRules::getRuleStr, xmgz);
        List<TjRules> list = tjRulesService.list(wq);
        if(null !=list && !list.isEmpty()){
        if (null != list && !list.isEmpty()) {
            for (TjRules tjRules : list) {
                if(null !=tjRules){
                    tjRules.setJm(PinyinUtil.getFirstLetter(tjRules.getRuleStr(),""));
                if (null != tjRules) {
                    tjRules.setJm(PinyinUtil.getFirstLetter(tjRules.getRuleStr(), ""));
                }
            }
        }
@@ -895,9 +908,9 @@
    }
    @GetMapping ("/ysjcbGetProByTjNumAndOrderId")
    @ApiOperation (value = "医生检查页面查询检验检查项目接口")
    public AjaxResult ysjcbGetProByTjNumAndOrderId(@ApiParam (value = "体检号") @RequestParam String tjNumber) {
    @GetMapping("/ysjcbGetProByTjNumAndOrderId")
    @ApiOperation(value = "医生检查页面查询检验检查项目接口")
    public AjaxResult ysjcbGetProByTjNumAndOrderId(@ApiParam(value = "体检号") @RequestParam String tjNumber) {
//        List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber);
//        List<CsProVo> list = new ArrayList<>();
//        if (null != orderRemarkList && orderRemarkList.size() > 0) {
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1559,12 +1559,13 @@
                    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());
//                    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());
                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getXh)).collect(Collectors.toList());
                    parent.put("sons", dels);
                    parent.put("remark", remark.getRemark());
                    parent.put("jgbx", remark.getJgbx());
@@ -1744,6 +1745,7 @@
            List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>();
            TjOrder order = orderService.getOrderByTjNum(tjNumber);
            if (null != order) {
                String xb= customerService.getSexByTjh(order.getTjNumber());
                List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
                LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
@@ -1777,7 +1779,7 @@
                                            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");
                                                Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s.replaceAll(" ",""), "0",xb);
                                                if (null != maps && !maps.isEmpty()) {
                                                    Object bt = maps.get("bt");
                                                    Object nr = maps.get("nr");
@@ -1837,6 +1839,7 @@
            List<Map<String, Object>> list = new ArrayList<>();
            TjOrder order = orderService.getOrderByTjNum(tjNumber);
            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()) {
@@ -1865,7 +1868,7 @@
                                            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");
                                                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");
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjOrderDetail.java
@@ -242,6 +242,9 @@
    @TableField(exist = false)
    private String orgType;
    @TableField(exist = false)
    private Integer xh;
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCustomerMapper.java
@@ -110,4 +110,9 @@
    List<Map<String ,Object >> getCusInfoList(String card);
    List<Map<String ,Object >> getCusInfoListByCardAndName(@Param("card") String card,@Param("name") String name);
    @Select("SELECT IF(b.cus_sex=0,'男','女') xb FROM tj_order a JOIN tj_customer b ON b.cus_id=a.user_id \n" +
            "WHERE a.tj_number=#{tjNumber}")
    String getSexByTjh(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -172,13 +172,12 @@
    @Select("SELECT a.* FROM tj_order_remark a LEFT JOIN sys_dept b ON b.dept_id=a.dept_id LEFT JOIN tj_project c ON c.pro_id=a.pro_id\n" +
            "\n" +
            "WHERE a.deleted=0 AND b.org_type = 3 AND c.need_report='Y' AND a.tj_number=#{tjnumber}")
//    AND c.need_report='Y' guo
    List<TjOrderRemark> notHuaYanData(String tjnumber);
    @Select("SELECT a.* FROM tj_order_remark a LEFT JOIN sys_dept b ON b.dept_id=a.dept_id LEFT JOIN tj_project c ON c.pro_id=a.pro_id\n" +
            "\n" +
            "WHERE a.deleted=0 AND b.org_type = 2 AND c.need_report='Y' AND a.tj_number=#{tjnumber}")
//    AND c.need_report='Y' guo
    List<TjOrderRemark> pacsJianChaData(String tjnumber);
@@ -289,4 +288,11 @@
    @Select("call tj_yxjcymxx(#{tjh,mode=IN},#{ks,mode=IN})")
    List<CsProVo> getYxJcXx(@Param("tjh")String tjNumber,@Param("ks")String ks);
    @Select("SELECT a.* FROM tj_order_remark a JOIN tj_project b ON b.pro_id=a.pro_id \n" +
            " WHERE b.need_report='Y' AND b.pro_delivery=1 AND !ISNULL(a.sfbz) AND a.type !=2 AND a.tj_number=#{tjNumber} ")
    List<TjOrderRemark> yiShengJianChaGetPrentProWs(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProAdvicerulesMapper.java
@@ -67,6 +67,6 @@
    @Select("call tj_new_advicerules(\n" +
            "                #{ks,mode=IN,jdbcType=VARCHAR},#{jg,mode=IN,jdbcType=VARCHAR},#{kslx,mode=IN,jdbcType=VARCHAR} )")
    Map<String, Object> getyichangxiangmujianyiguizeJianCha(@Param("ks") String ks,@Param("jg") String s,@Param("kslx") String kslx);
            "                #{ks,mode=IN,jdbcType=VARCHAR},#{jg,mode=IN,jdbcType=VARCHAR},#{kslx,mode=IN,jdbcType=VARCHAR},#{xb,mode=IN,jdbcType=VARCHAR}  )")
    Map<String, Object> getyichangxiangmujianyiguizeJianCha(@Param("ks") String ks,@Param("jg") String s,@Param("kslx") String kslx,@Param("xb") String xb);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjCustomerService.java
@@ -75,4 +75,6 @@
    List<Map<String, Object>> vcustomerlist(String name, String sjh, String sfzh);
    List<TjCustomer> getcusList(TjCustomer tjCustomer);
    String getSexByTjh(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -97,4 +97,7 @@
    List<TjOrderRemark> shoufeiyemianweishoufei(String tjNumber,String jxbz);
    List<CsProVo> getYxJcXx(String tjNumber, String string);
    List<TjOrderRemark> yiShengJianChaGetPrentProWs(String tjNumber);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProAdvicerulesService.java
@@ -61,5 +61,5 @@
     */
    public int deleteTjProAdvicerulesById(Long id);
    Map<String, Object> getyichangxiangmujianyiguizeJianCha(String ks, String s, String kslx);
    Map<String, Object> getyichangxiangmujianyiguizeJianCha(String ks, String s, String kslx,String xb);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjCustomerServiceImpl.java
@@ -128,4 +128,9 @@
    public List<TjCustomer> getcusList(TjCustomer tjCustomer) {
        return tjCustomerMapper.getcusList(tjCustomer);
    }
    @Override
    public String getSexByTjh(String tjNumber) {
        return tjCustomerMapper.getSexByTjh(tjNumber);
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -199,4 +199,10 @@
        return yxJcXx;
    }
    @Override
    public List<TjOrderRemark> yiShengJianChaGetPrentProWs(String tjNumber) {
        return mapper.yiShengJianChaGetPrentProWs(tjNumber);
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProAdvicerulesServiceImpl.java
@@ -92,7 +92,7 @@
    }
    @Override
    public Map<String, Object> getyichangxiangmujianyiguizeJianCha(String ks, String s, String kslx) {
        return tjProAdvicerulesMapper.getyichangxiangmujianyiguizeJianCha(ks,s,kslx);
    public Map<String, Object> getyichangxiangmujianyiguizeJianCha(String ks, String s, String kslx,String xb) {
        return tjProAdvicerulesMapper.getyichangxiangmujianyiguizeJianCha(ks,s,kslx,xb);
    }
}