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