From 6d8d2a1483a5b9decba783b5d0259fc1849a6f20 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期三, 23 七月 2025 14:04:52 +0800
Subject: [PATCH] 总检页面查询数据接口弃检结果去重

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  113 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 70 insertions(+), 43 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 02584c1..d6132ac 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;
@@ -34,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;
@@ -130,6 +132,8 @@
     private SysConfigController configController;
     @Autowired
     private  TjReportController reportController;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
 
     @GetMapping("/ceshicc")
     @ApiOperation(value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛")
@@ -1630,58 +1634,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();
+                        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);
+                                }
                             }
                         }
                     }

--
Gitblit v1.8.0