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,7 +585,18 @@ @Override @Async("async") public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order) { 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<>(); @@ -588,9 +606,50 @@ 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 @Async("async") public void updateOrdeltile2(TjOrderDetail detail, SysUser sysUser) { 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); } }