zjh
2025-02-06 ce4202406542566234c53c9ed85bd1a03ed47a55
zjh20250206
8个文件已修改
169 ■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1001,6 +1001,13 @@
        int xmXh = 1;
//        orderDetails=orderDetails.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
//        orderDetails = orderDetails.stream()
//                .sorted(Comparator.comparingInt(
//                        tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序
//                ))
//                .collect(Collectors.toList());
        Map<Long, List<TjOrderDetail>> collect = orderDetails.stream().collect(Collectors.groupingBy(TjOrderDetail::getProId));
        for (Map.Entry<String, List<CsProVo>> deptEntry : listMap.entrySet()) {
            List<CsProVo> proVos = deptEntry.getValue();
@@ -1017,9 +1024,19 @@
                for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
                    if (!entry.getKey().equals(proVo.getProId())) continue;
                    List<TjOrderDetail> details = entry.getValue();
                    String xmmc = details.get(0).getProName();
                    String xmmc = proVo.getProName();
//                    String xmmc = details.get(0).getProName();
                    boolean isXmWrite = false;
//                    details=details.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
//                    details = details.stream()
//                            .sorted(Comparator.comparingInt(
//                                    tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序
//                            ))
//                            .collect(Collectors.toList());
                    int index = 1;
                    for (TjOrderDetail detail : details) {
//                        if (!entry.getKey().equals(detail.getProId())) continue;
                        if (!isXmWrite) {
                            paragraph = new Paragraph(xmXh + ".  " + xmmc, defaultFont);
                            paragraph.setAlignment(Element.ALIGN_LEFT);
@@ -1028,16 +1045,20 @@
                        }
                        String result = detail.getProResult();
                        if (StrUtil.isNotBlank(result)) {
                            int index = 1;
                            result = result.replaceAll("本报告仅对本次检查负责,临床医生依据病情如有疑问,请及时复查或进一步检查", "");
//                            result = result.replaceAll("", "");
                            String[] split = result.split("\n");
//                            String[] split = result.split("\n");
//                            StringBuilder builder = new StringBuilder();
//                            for (String s : split) {
//                                if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
//                                builder.append("    (").append(index).append(")").append(s).append("\n");
//                                index++;
//                            }
                            StringBuilder builder = new StringBuilder();
                            for (String s : split) {
                                if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                builder.append("    (").append(index).append(")").append(s).append("\n");
                                if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
                                builder.append("    (").append(index).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
                                index++;
                            }
                            result = builder.toString();
                        }
                        paragraph = new Paragraph(result, defaultFont);
@@ -1125,7 +1146,8 @@
                            int index = 1;
                            int index1 = 1;
                            for (TjOrderDetail detail : details) {
                                String xmmc = detail.getProName();
                                String xmmc = proVo.getProName();
//                                String xmmc = detail.getProName();
                                if (!isXmWrite) {
                                    xmXh++;
                                    paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
@@ -1135,13 +1157,18 @@
                                }
                                String result = detail.getProResult();
                                if (StrUtil.isNotBlank(result)) {
                                    String[] split = result.split("\n");
                                    StringBuilder builder = new StringBuilder();
                                    for (String s : split) {
                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
//                                    String[] split = result.split("\n");
//                                    for (String s : split) {
//                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
//                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
//                                        index1++;
//                                    }
                                        if (StrUtil.isBlank(result.replaceAll("\n", "").trim())) continue;
                                        builder.append("    (").append(index1).append(")").append(detail.getProName()).append(": ").append(result).append("\n");
                                        index1++;
                                    }
                                    result = builder.toString();
                                }
                                if (StrUtil.isNotBlank(result)) {
@@ -1158,7 +1185,7 @@
                                LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                                ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
                                ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
                                ycwq.eq(TjOrderYcxm::getJcxm,detail.getProName());
                                TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                                if(null !=ycxm){
                                    String jynr = ycxm.getJynr();
@@ -2805,14 +2832,14 @@
                    }
                }
            }
//            if(!tjPdfVOS.isEmpty()){
//                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
//                tjPdfVOS = tjPdfVOS.stream()
//                        .sorted(Comparator.comparingInt(
//                                tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序
//                        ))
//                        .collect(Collectors.toList());
//            }
            if(!tjPdfVOS.isEmpty()){
                tjPdfVOS=tjPdfVOS.stream().sorted(Comparator.comparing(TjPdfVO::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
                tjPdfVOS = tjPdfVOS.stream()
                        .sorted(Comparator.comparingInt(
                                tjPdfVO -> tjPdfVO.getProName().length() // 根据名字的长度排序
                        ))
                        .collect(Collectors.toList());
            }
            printReport.put(entry.getKey(), tjPdfVOS);
        }
    }
ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -11,6 +11,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ltkj.common.core.domain.AjaxResult;
import com.ltkj.common.core.domain.entity.SysDept;
import com.ltkj.common.core.domain.entity.SysUser;
import com.ltkj.common.core.redis.RedisCache;
import com.ltkj.common.utils.IdUtils;
@@ -164,6 +165,12 @@
    private ITjXdPictureService xdPictureService;
    @Autowired
    private TjOutpinmedicXmService tjOutpinmedicXmService;
    @Autowired
    private TjOrderYcxmService ycxmService;
    @Autowired
    private ITjRulesService rulesService;
    @Autowired
    private ITjProAdvicerulesService tjProAdvicerulesService;
@@ -578,17 +585,69 @@
    @Override
    @Async("async")
    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) {
        for (TjOrderDetail detail : tjOrderDetailList) {
            detail.setTjStatus(1L);
            LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
            wq0.eq(TjStandard::getProId, detail.getProId());
            detail.setUpdateBy(sysUser.getNickName());
            detail.setUpdateTime(new Date());
            detail.setCreateId(String.valueOf(sysUser.getUserId()));
            detail.setUpdateId(String.valueOf(sysUser.getUserId()));
            tjOrderDetailService.updateById(detail);
    public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
        String deptname="";
        TjProject tjProject = projectService.getById(orderRemark.getProId());
        if(null !=tjProject){
            SysDept dept = deptService.getById(tjProject.getDeptId());
            if(dept.getParentId()!=100L){
                deptname= deptService.getprentks(dept.getParentId().toString());
            }else {
                deptname=dept.getDeptName();
            }
            for (TjOrderDetail detail : tjOrderDetailList) {
                detail.setTjStatus(1L);
                LambdaQueryWrapper<TjStandard> wq0 = new LambdaQueryWrapper<>();
                wq0.eq(TjStandard::getProId, detail.getProId());
                detail.setUpdateBy(sysUser.getNickName());
                detail.setUpdateTime(new Date());
                detail.setCreateId(String.valueOf(sysUser.getUserId()));
                detail.setUpdateId(String.valueOf(sysUser.getUserId()));
                tjOrderDetailService.updateById(detail);
                try {
                    LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
                    wq.eq(TjOrderYcxm::getTjh,order.getTjNumber());
                    wq.eq(TjOrderYcxm::getJcxm,detail.getProName());
                    TjOrderYcxm ycxm = ycxmService.getOne(wq);
                    if(null !=ycxm){
                        ycxm.setJcjg(detail.getProResult());
                        List<Map<String,Object>> maps= rulesService.getyichangxiangmujianyiguize(detail.getProId().toString()
                                ,"","",order.getTjNumber()
                                ,detail.getProName().replaceAll("[((][^))]*[))]", "")
                                        .replaceAll("[ 测定检测]","")
                                ,detail.getProResult());
                        String[] split = detail.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> mapss= tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(deptname,s,"0");
                            if(null !=mapss && !mapss.isEmpty()){
                                Object bt = mapss.get("bt");
                                Object nr = mapss.get("nr");
                                if(null !=bt || null !=nr){
                                } mapList.add(mapss);
                            }
                        }
                        if(null != maps && !maps.isEmpty()){
                            ycxm.setJynr(JSONUtil.toJsonStr(maps));
                        }
                        if( !mapList.isEmpty()){
                            ycxm.setJynr(JSONUtil.toJsonStr(mapList));
                        }
                        ycxmService.updateById(ycxm);
                        if(detail.getExceptionDesc()==0)ycxmService.remove(wq);
                    }
                } catch (Exception e) {
                }
            }
        }
    }
    @Override
ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -1354,7 +1354,7 @@
            }
            List<TjOrderDetail> tjOrderDetailList = orderRemark.getTjOrderDetailList();
            final TjCustomer byId1 = customerService.getById(order.getUserId());
//            final TjCustomer byId1 = customerService.getById(order.getUserId());
            if (null != tjOrderDetailList && !tjOrderDetailList.isEmpty()) {
                //----------------------------------start
//                for (TjOrderDetail tjOrderDetail : tjOrderDetailList) {
@@ -1382,7 +1382,7 @@
//                        }
//                    }
//                }
                asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order);
                asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order,orderRemark);
                LambdaQueryWrapper<TjOrderDetail> qww = new LambdaQueryWrapper<>();
                qww.eq(TjOrderDetail::getOrderId, order.getOrderId());
                qww.eq(TjOrderDetail::getProId, orderRemark.getProId());
ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java
@@ -265,6 +265,9 @@
    @ApiModelProperty(value = "数量")
    private Integer sl;
    @ApiModelProperty(value = "序号")
    private Integer xh;
    /**
     * 子项目
     */
ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java
@@ -30,7 +30,7 @@
     void abandonCheck(String tjNumber, TjOrder tjOrder, List<TjOrderDetail> list, SysUser sysUser);
     //医生检查完毕后体检状态及是否异常修改
     void  updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser,TjOrder order);
     void  updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser,TjOrder order,TjOrderRemark orderRemark);
     void  updateOrdeltile2(TjOrderDetail tjOrderDetail, SysUser sysUser);
ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java
@@ -155,4 +155,7 @@
    @Select("SELECT a.dept_id FROM sys_dept a WHERE a.deleted=0 AND a.`status`=0 AND a.org_type=3")
    List<String> getCzDeptIds();
     @Select("SELECT e.dept_name FROM sys_dept e WHERE e.dept_id=#{deptId}")
    String getprentks(String deptId);
}
ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java
@@ -160,4 +160,6 @@
    List<String> getJcDeptIds();
    List<String> getCzDeptIds();
    String getprentks(String deptId);
}
ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java
@@ -449,4 +449,9 @@
    public List<String> getCzDeptIds() {
        return deptMapper.getCzDeptIds();
    }
    @Override
    public String getprentks(String deptId) {
        return deptMapper.getprentks(deptId);
    }
}