From ce4202406542566234c53c9ed85bd1a03ed47a55 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 06 二月 2025 15:37:52 +0800 Subject: [PATCH] zjh20250206 --- ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java | 2 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 4 ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java | 5 + ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java | 79 +++++++++++++++++++++++--- ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java | 3 + ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java | 71 ++++++++++++++++------- ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java | 3 + ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java | 2 8 files changed, 134 insertions(+), 35 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java index a3fbce1..f6e9e3b 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java +++ b/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("鏈姤鍛婁粎瀵规湰娆℃鏌ヨ礋璐o紝涓村簥鍖荤敓渚濇嵁鐥呮儏濡傛湁鐤戦棶锛岃鍙婃椂澶嶆煡鎴栬繘涓�姝ユ鏌�", ""); // 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); } } diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java index 5c0ca9c..51a3e4c 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java +++ b/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 diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java index e6fe635..8061883 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java +++ b/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()); diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java index d177ce4..65a5a9c 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjProject.java +++ b/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; + /** * 瀛愰」鐩� */ diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java index cdcc1f2..e6bd50e 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjAsyncService.java +++ b/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); diff --git a/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java b/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java index 61566d0..4dac7d2 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/mapper/SysDeptMapper.java +++ b/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); } diff --git a/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java b/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java index 099bb5b..309ad65 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/service/ISysDeptService.java +++ b/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); } diff --git a/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java b/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java index 10ec18e..c26004c 100644 --- a/ltkj-system/src/main/java/com/ltkj/system/service/impl/SysDeptServiceImpl.java +++ b/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); + } } -- Gitblit v1.8.0