From e6be2f618355fb182d31c3ddc3d19127eea5e723 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期一, 04 八月 2025 17:35:34 +0800
Subject: [PATCH] zjh20250804

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  477 ++++++++++++++++++++--------------------------------------
 1 files changed, 166 insertions(+), 311 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
index ab1f44c..bec6c62 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -14,6 +14,7 @@
 import com.ltkj.common.annotation.RepeatSubmit;
 import com.ltkj.common.core.domain.AjaxResult;
 import com.ltkj.common.core.domain.entity.SysDept;
+import com.ltkj.common.core.domain.entity.SysDictData;
 import com.ltkj.common.core.domain.entity.SysRole;
 import com.ltkj.common.core.domain.entity.SysUser;
 import com.ltkj.common.core.redis.RedisCache;
@@ -24,6 +25,7 @@
 import com.ltkj.framework.config.UserHoder;
 import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
 import com.ltkj.hosp.domain.*;
+import com.ltkj.hosp.dto.CheckUpdateStatusDto;
 import com.ltkj.hosp.mapper.TestMapper;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.sqlDomain.*;
@@ -33,6 +35,7 @@
 import com.ltkj.mall.mallOrderUtils.TjConstants;
 import com.ltkj.system.service.ISysConfigService;
 import com.ltkj.system.service.ISysDeptService;
+import com.ltkj.system.service.ISysDictDataService;
 import com.ltkj.system.service.ISysUserService;
 import com.ltkj.web.controller.his.HisApiGetMethodService;
 import com.ltkj.web.controller.his.HisApiMethodService;
@@ -129,6 +132,8 @@
     private SysConfigController configController;
     @Autowired
     private  TjReportController reportController;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
 
     @GetMapping("/ceshicc")
     @ApiOperation(value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛")
@@ -1133,95 +1138,7 @@
                               @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime,
                               @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory,
                               @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tcm) {
-        //        String config = configService.selectConfigByKey("tj_confirm");
-//        DateTime beginTimes = null;
-//        DateTime endTimes = null;
-//        if (null != beginTime && null != endTime) {
-//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
-//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
-//        }
-//        asyncService.checkSetCustomerLisByRedis(config);
-//        //鍒濆鍖栦綋妫�璁㈠崟琛�
-//        List<TjOrder> orderList = null;
-//        List<TjCustomer> customerList = new ArrayList<>();
-//        Map<String, Object> map = new HashMap<>();
-//
-//        //濮撳悕鏌ヨ
-//        if (null != name && !"".equals(name)) {
-//            List<TjCustomer> list = customerService.getTjCustomerList(name);
-//            if (null != list && list.size() > 0) {
-//                List<TjCustomer> lists = new ArrayList<>();
-//                for (TjCustomer customer : list) {
-//                    if ("Y".equals(config)) {
-//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
-//                    } else {
-//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
-//                    }
-//                    if (null != orderList && orderList.size() > 0) {
-//                        for (TjOrder tjOrder : orderList) {
-//                            customer.setTjNumber(tjOrder.getTjNumber());
-//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
-//                            customer.setOrderId(tjOrder.getOrderId());
-//                            customer.setTjTime(tjOrder.getFinishTime());
-//                            customer.setFinishTime(tjOrder.getFinishTime());
-//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
-//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
-//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
-//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
-//                            customer.setTjCategory(tjOrder.getTjCategory());
-//                            if (tjOrder.getFirmId().equals("0")) {
-//                                customer.setTjCompName(null);
-//                            } else {
-//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
-//                            }
-//                            lists.add(customer);
-//                        }
-//                    }
-//                }
-//                List<TjCustomer> customers = null;
-//                if (lists.size() > 0) {
-//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//                }
-//                map.put("customers", customers);
-//                map.put("total", lists.size());
-//                return AjaxResult.success(map);
-//            }
-//            return AjaxResult.success("鏆傛棤鏁版嵁");
-//        }
-//
-//        //鏉′欢鏌ヨ
-//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
-//
-//        List<TjCustomer> customers = null;
-//        if (null != checkStatus && checkStatus == 0) {
-//            customers = redisCache.getCacheMapValue("check", "ws");
-//        }
-//        if (null != checkStatus && checkStatus == 1) {
-//            customers = redisCache.getCacheMapValue("check", "ys");
-//        }
-//        if (customers != null && customers.size() > 0) {
-////            asyncService.addRedis(customers);
-//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//            map.put("customers", customerLists);
-//            map.put("total", customers.size());
-//            return AjaxResult.success(map);
-//        } else {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
+
 
         String value = String.valueOf(compId);
         if (tjNumber == null) tjNumber = "";
@@ -1243,95 +1160,6 @@
                                   @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
                                   @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
                                   @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) {
-        //        String config = configService.selectConfigByKey("tj_confirm");
-//        DateTime beginTimes = null;
-//        DateTime endTimes = null;
-//        if (null != beginTime && null != endTime) {
-//            beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime));
-//            endTimes = DateUtil.endOfDay(DateUtil.parse(endTime));
-//        }
-//        asyncService.checkSetCustomerLisByRedis(config);
-//        //鍒濆鍖栦綋妫�璁㈠崟琛�
-//        List<TjOrder> orderList = null;
-//        List<TjCustomer> customerList = new ArrayList<>();
-//        Map<String, Object> map = new HashMap<>();
-//
-//        //濮撳悕鏌ヨ
-//        if (null != name && !"".equals(name)) {
-//            List<TjCustomer> list = customerService.getTjCustomerList(name);
-//            if (null != list && list.size() > 0) {
-//                List<TjCustomer> lists = new ArrayList<>();
-//                for (TjCustomer customer : list) {
-//                    if ("Y".equals(config)) {
-//                        orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId());
-//                    } else {
-//                        orderList = orderService.getTjOrderListByCusId(customer.getCusId());
-//                    }
-//                    if (null != orderList && orderList.size() > 0) {
-//                        for (TjOrder tjOrder : orderList) {
-//                            customer.setTjNumber(tjOrder.getTjNumber());
-//                            customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
-//                            customer.setOrderId(tjOrder.getOrderId());
-//                            customer.setTjTime(tjOrder.getFinishTime());
-//                            customer.setFinishTime(tjOrder.getFinishTime());
-//                            customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
-//                            customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
-//                            customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
-//                            customer.setConfirmStatus(String.valueOf(tjOrder.getStatus()));
-//                            customer.setTjCategory(tjOrder.getTjCategory());
-//                            if (tjOrder.getFirmId().equals("0")) {
-//                                customer.setTjCompName(null);
-//                            } else {
-//                                customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName());
-//                            }
-//                            lists.add(customer);
-//                        }
-//                    }
-//                }
-//                List<TjCustomer> customers = null;
-//                if (lists.size() > 0) {
-//                    customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//                }
-//                map.put("customers", customers);
-//                map.put("total", lists.size());
-//                return AjaxResult.success(map);
-//            }
-//            return AjaxResult.success("鏆傛棤鏁版嵁");
-//        }
-//
-//        //鏉′欢鏌ヨ
-//        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
-//
-//        List<TjCustomer> customers = null;
-//        if (null != checkStatus && checkStatus == 0) {
-//            customers = redisCache.getCacheMapValue("check", "ws");
-//        }
-//        if (null != checkStatus && checkStatus == 1) {
-//            customers = redisCache.getCacheMapValue("check", "ys");
-//        }
-//        if (customers != null && customers.size() > 0) {
-////            asyncService.addRedis(customers);
-//            List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-//            map.put("customers", customerLists);
-//            map.put("total", customers.size());
-//            return AjaxResult.success(map);
-//        } else {
-//            //鍒ゆ柇鏄惁寮�鍚垵瀹�
-//            if ("Y".equals(config)) {
-//                orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            } else {
-//                orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
-//            }
-//            return getResult(page, pageSize, orderList, customerList, map);
-//        }
 
         String value = String.valueOf(compId);
         if (tjNumber == null) tjNumber = "";
@@ -1346,46 +1174,38 @@
     /**
      * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛
      *
-     * @param tjNumber
-     * @param advice
-     * @param checkStatus
      * @return
      */
-    @PutMapping("/getTjdetailList")
+    @PostMapping("/getTjdetailList")
     @ApiOperation(value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛")
-//    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
     @Transactional
-    public AjaxResult getTjdetailList(@ApiParam(value = "浣撴tjNumber") @RequestParam String tjNumber,
-                                      @ApiParam(value = "鎬绘寤鸿") @RequestParam(required = false) String advice,
-                                      @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus,
-                                      @ApiParam(value = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl,
-                                      @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) {
+    public AjaxResult getTjdetailList(@RequestBody CheckUpdateStatusDto dto) {
 
         try {
             String config = configService.selectConfigByKey("sfjcwjhyqxm");
             if (null != config && config.equalsIgnoreCase("Y")) {
-                int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
+                int num = orderRemarkService.getTjYqOrderRemarkByTjNum(dto.getTjNumber());
                 if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
             }
             Date date = new Date();
-            if (null != tjNumber) {
+            if (null != dto.getTjNumber()) {
                 Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
                 SysUser sysUser = userService.getById(userId);
-                TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber);
+                TjOrder tjOrder = orderService.getOrderByTjNum(dto.getTjNumber());
                 if (null != tjOrder) {
-                    tjOrder.setCheckAdvice(advice);
-                    tjOrder.setCheckStatus(checkStatus);
+                    tjOrder.setCheckAdvice(dto.getAdvice());
+                    tjOrder.setCheckStatus(dto.getCheckStatus());
                     tjOrder.setStatus(TjConstants.TJ_CHECK);
                     tjOrder.setCheckDoctor(sysUser.getNickName());
                     tjOrder.setCheckTime(date);
                     tjOrder.setStatus(401);
                     tjOrder.setFinishTime(date);
-                    if (StrUtil.isNotBlank(zhiyeJl))
-                        tjOrder.setZhiyeJl(zhiyeJl);
-                    if (StrUtil.isNotBlank(zhiyeJg))
-                        tjOrder.setZhiyeJg(zhiyeJg);
+                    if (StrUtil.isNotBlank(dto.getZhiyeJl()))
+                        tjOrder.setZhiyeJl(dto.getZhiyeJl());
+                    if (StrUtil.isNotBlank(dto.getZhiyeJg()))
+                        tjOrder.setZhiyeJg(dto.getZhiyeJg());
                     if (orderService.updateById(tjOrder)) {
-                        AjaxResult pdf = reportController.toPdf(tjNumber);
+                        AjaxResult pdf = reportController.toPdf(dto.getTjNumber());
                         if (!pdf.get("code").toString().equals("200") ) {
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                             return AjaxResult.error("鎿嶄綔澶辫触!");
@@ -1637,58 +1457,81 @@
                 parent.put("zhiyejg", one.getZhiyeJg());
                 List<TjOrderDetail> dels = new ArrayList<>();
                 if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
-                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                        if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
-                            String ckfw = tjOrderDetail.getStanId();
-                            if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
-                                ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
-                            }
-                            if (StrUtil.isNotBlank(ckfw)) {
-                                try {
-                                    if (ckfw != null && ckfw.contains("-")) {
-                                        Integer.parseInt(tjOrderDetail.getYcbz());
-                                        String[] split = ckfw.split("-");
-                                        BigDecimal min = new BigDecimal(split[0]);
-                                        BigDecimal max = new BigDecimal(split[1]);
-                                        String proResult = tjOrderDetail.getProResult();
-                                        if (null != proResult) {
-                                            BigDecimal jyjgval = new BigDecimal(proResult);
-                                            if (jyjgval.compareTo(min) < 0) {
-                                                tjOrderDetail.setYcbz("鈫�");
-                                            } else if (jyjgval.compareTo(max) > 0) {
-                                                tjOrderDetail.setYcbz("鈫�");
-                                            } else if (proResult.contains("闃�")) {
-                                                tjOrderDetail.setYcbz("");
+                    Map<String, List<TjOrderDetail>> listMap = tjOrderDetails.stream()
+                            .filter(i -> StrUtil.isNotBlank(i.getProResult()) && remark.getProsId().equals(i.getProsId()))
+                            .collect(Collectors.groupingBy(TjOrderDetail::getProResult));
+                    boolean isGroupOnce = false;
+                    String groupOnceProResult = "";
+                    if (listMap.size() == 1){
+                        String firstKey = listMap.keySet().stream().findFirst().orElse(null);
+                        LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>();
+                        wrapper.eq(SysDictData::getDictType,"qj_type");
+                        wrapper.eq(SysDictData::getDictLabel,firstKey);
+                        List<SysDictData> dictList = sysDictDataService.list(wrapper);
+                        if (!dictList.isEmpty()) {
+                            isGroupOnce = true;
+                            groupOnceProResult = firstKey;
+                        }
+                    }
+                    if (isGroupOnce){
+                        TjOrderDetail tjOrderDetail = new TjOrderDetail();
+                        tjOrderDetail.setProName(remark.getProName());
+                        tjOrderDetail.setProResult(groupOnceProResult);
+                        dels.add(tjOrderDetail);
+                    }else{
+                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                            if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+                                String ckfw = tjOrderDetail.getStanId();
+                                if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
+                                    ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
+                                }
+                                if (StrUtil.isNotBlank(ckfw)) {
+                                    try {
+                                        if (ckfw != null && ckfw.contains("-")) {
+                                            Integer.parseInt(tjOrderDetail.getYcbz());
+                                            String[] split = ckfw.split("-");
+                                            BigDecimal min = new BigDecimal(split[0]);
+                                            BigDecimal max = new BigDecimal(split[1]);
+                                            String proResult = tjOrderDetail.getProResult();
+                                            if (null != proResult) {
+                                                BigDecimal jyjgval = new BigDecimal(proResult);
+                                                if (jyjgval.compareTo(min) < 0) {
+                                                    tjOrderDetail.setYcbz("鈫�");
+                                                } else if (jyjgval.compareTo(max) > 0) {
+                                                    tjOrderDetail.setYcbz("鈫�");
+                                                } else if (proResult.contains("闃�")) {
+                                                    tjOrderDetail.setYcbz("");
+                                                } else {
+                                                    tjOrderDetail.setYcbz("");
+                                                }
+                                                if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
+                                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
+                                                }
                                             } else {
                                                 tjOrderDetail.setYcbz("");
                                             }
-                                            if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) {
-                                                tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
-                                            }
                                         } else {
-                                            tjOrderDetail.setYcbz("");
+                                            if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                                tjOrderDetail.setYcbz("");
+
+                                            if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                                tjOrderDetail.setYcbz("鈫�");
                                         }
-                                    } else {
-                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
-                                            tjOrderDetail.setYcbz("");
-
-                                        if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
-                                            tjOrderDetail.setYcbz("鈫�");
+                                    } catch (NumberFormatException ignored) {
                                     }
-                                } catch (NumberFormatException ignored) {
-                                }
-                            } else {
+                                } else {
 //                                tjOrderDetail.setYcbz("");
-                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
-                                    tjOrderDetail.setYcbz("");
+                                    if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                        tjOrderDetail.setYcbz("");
 
-                                if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
-                                    tjOrderDetail.setYcbz("鈫�");
-                                tjOrderDetail.setProResult(tjOrderDetail.getProResult());
-                            }
+                                    if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�"))
+                                        tjOrderDetail.setYcbz("鈫�");
+                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult());
+                                }
 
-                            if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
-                                dels.add(tjOrderDetail);
+                                if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) {
+                                    dels.add(tjOrderDetail);
+                                }
                             }
                         }
                     }
@@ -1799,20 +1642,26 @@
         try {
             if (StrUtil.isNotBlank(tjNum)) {
                 TjOrder one = orderService.getOrderByTjNum(tjNum);
-
+                List<Map<String, Object>> maps = new ArrayList<>();
                 if (one == null) {
                     return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
                 }
                 yichangxiangmu(tjNum);
-                LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
-                wq.eq(TjOrderYcxm::getTjh, tjNum);
-                List<TjOrderYcxm> list = ycxmService.list(wq);
-                if (null != list && !list.isEmpty()) {
-                    Collections.reverse(list);
-                    return getOrderYcxmList(list);
-                } else {
+                List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNum);
+                if(null!=tjOrderYcxmList&&!tjOrderYcxmList.isEmpty()){
+                    LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>();
+                    wq.eq(TjOrderYcxm::getTjh, tjNum);
+                    List<TjOrderYcxm> list = ycxmService.list(wq);
+                    if (null != list && !list.isEmpty()) {
+                        Collections.reverse(list);
+                        return getOrderYcxmList(list);
+                    }else {
+                        return AjaxResult.success(maps);
+                    }
+                }else {
                     return zongjianyishengchakanyichangxiangmu(tjNum);
                 }
+
             }
             return AjaxResult.error();
         } catch (Exception ex) {
@@ -1975,88 +1824,94 @@
 
     private void yichangxiangmu(String tjNumber) {
         try {
-            List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber);
-            String xb= customerService.getSexByTjh(tjNumber);
-            if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){
+            List<TjOrderYcxm> tjOrderYcxmList = ycxmService.selectListByTjh(tjNumber);
+
+            if (null != tjOrderYcxmList && !tjOrderYcxmList.isEmpty()) {
 
                 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()) {
-                        for (TjOrderRemark remark : remarkList) {
-                            Map<String, Object> parent = new HashMap<>();
-                            if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
-                                List<TjOrderDetail> dels = new ArrayList<>();
-                                for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                                    if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
-                                        if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
-                                            if (!tjOrderDetail.getDeptId().equals("2")) {
+                        List<TjOrderRemark> collects = remarkList.stream()
+                                .filter(b -> tjOrderYcxmList.stream()
+                                        .noneMatch(a -> a.getParentName() != null && a.getParentName().equals(b.getProName()))).collect(Collectors.toList());
+                        if (!collects.isEmpty()) {
+                            for (TjOrderRemark remark : remarkList) {
+                                Map<String, Object> parent = new HashMap<>();
+                                if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) {
+                                    List<TjOrderDetail> dels = new ArrayList<>();
+                                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                                        if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
+                                            if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) {
+                                                if (!tjOrderDetail.getDeptId().equals("2")) {
+                                                    String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
+                                                            .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
 
-                                                String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "")
-                                                        .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", "");
-
-                                                List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
-                                                        ,replacedAll,
-                                                        tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber
-                                                        , replacedAll
-                                                        , tjOrderDetail.getProResult());
+                                                    List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString()
+                                                            , replacedAll, tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber, replacedAll, tjOrderDetail.getProResult());
 
 
-                                                if (null != maps && !maps.isEmpty()) {
-                                                    tjOrderDetail.setAdvices(maps);
-                                                }
-
-                                            } else {
-                                                String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
-                                                List<Map<String, Object>> mapList = new ArrayList<>();
-                                                for (String s : split) {
-                                                    s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
-                                                    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");
-                                                        if (null != bt || null != nr) mapList.add(maps);
+                                                        tjOrderDetail.setAdvices(maps);
                                                     }
-                                                }
-                                                tjOrderDetail.setAdvices(mapList);
-                                            }
 
+                                                } else {
+                                                    String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�");
+                                                    List<Map<String, Object>> mapList = new ArrayList<>();
+                                                    for (String s : split) {
+                                                        s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "");
+                                                        ;
+                                                        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");
+                                                            if (null != bt || null != nr) mapList.add(maps);
+                                                        }
+                                                    }
+                                                    tjOrderDetail.setAdvices(mapList);
+                                                }
+
+                                            }
+                                            dels.add(tjOrderDetail);
                                         }
-                                        dels.add(tjOrderDetail);
+                                    }
+                                    if (!dels.isEmpty()) {
+                                        parent.put("proName", remark.getProName());
+                                        parent.put("jyjc", remark.getJyjc());
+                                        parent.put("sone", dels);
+                                        list.add(parent);
                                     }
                                 }
-                                if (!dels.isEmpty()) {
-                                    parent.put("proName", remark.getProName());
-                                    parent.put("jyjc", remark.getJyjc());
-                                    parent.put("sone", dels);
-                                    list.add(parent);
+                            }
+
+                            List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
+                            List<Map<String, Object>> collect = list.stream()
+                                    .filter(b -> maps.stream()
+                                            .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
+                                    .collect(Collectors.toList());
+                            if (!collect.isEmpty()) {
+                                for (Map<String, Object> map : collect) {
+                                    for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
+                                        TjOrderYcxm ycxm = new TjOrderYcxm();
+                                        ycxm.setTjh(tjNumber);
+                                        ycxm.setParentName(map.get("proName").toString());
+                                        ycxm.setJcxm(detail.getProName());
+                                        ycxm.setJcjg(detail.getProResult());
+                                        ycxm.setCkfw(detail.getStanId());
+                                        ycxm.setDw(detail.getProAdvice());
+                                        ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
+                                        ycxm.setJyjc(map.get("jyjc").toString());
+                                        ycxmService.save(ycxm);
+                                    }
                                 }
                             }
                         }
-                    }
-                }
-                List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList);
-                List<Map<String, Object>> collect = list.stream()
-                        .filter(b -> maps.stream()
-                                .noneMatch(a -> a.get("proName").equals(b.get("proName"))))  // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌
-                        .collect(Collectors.toList());
 
-                if(!collect.isEmpty()){
-                    for (Map<String, Object> map : collect) {
-                        for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) {
-                            TjOrderYcxm ycxm = new TjOrderYcxm();
-                            ycxm.setTjh(tjNumber);
-                            ycxm.setParentName(map.get("proName").toString());
-                            ycxm.setJcxm(detail.getProName());
-                            ycxm.setJcjg(detail.getProResult());
-                            ycxm.setCkfw(detail.getStanId());
-                            ycxm.setDw(detail.getProAdvice());
-                            ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices()));
-                            ycxm.setJyjc(map.get("jyjc").toString());
-                            ycxmService.save(ycxm);
-                        }
                     }
                 }
             }

--
Gitblit v1.8.0