From 8e4922026e05dceffa44d913a234bbc489f1be6c Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 23 七月 2025 17:16:14 +0800
Subject: [PATCH] zjh20250723

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  275 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 160 insertions(+), 115 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 314cf36..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,8 @@
 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;
 import com.ltkj.common.enums.DataSourceType;
@@ -23,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.*;
@@ -32,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;
@@ -47,7 +51,9 @@
 import org.redisson.api.RedissonClient;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.transaction.NoTransactionException;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -89,11 +95,7 @@
     @Resource
     private ITjOrderRemarkService orderRemarkService;
     @Resource
-    private ITbTransitionService transitionService;
-    @Resource
     private ISysUserService userService;
-    @Resource
-    private RedisCache redisCache;
     @Resource
     private TjAsyncService asyncService;
     @Resource
@@ -104,12 +106,6 @@
     private ISysDeptService deptService;
     @Resource
     private TestMapper testMapper;
-    @Resource
-    private TjvLtkjvtjpatService tjvLtkjvtjpatService;
-    @Resource
-    private LtkjMiddleDetailService middleDetailService;
-    @Resource
-    private LtkjMiddleHeadService headService;
     @Resource
     private LtkjExamJcbgdService jcbgdService;
     @Resource
@@ -135,11 +131,9 @@
     @Autowired
     private SysConfigController configController;
     @Autowired
-    private TjJcycxmService jcycxmService;
-    @Resource
-    private TjXdtgmdjgService xdtgmdjgService;
-    @Resource
-    private TjXdPictureController pictureController;
+    private  TjReportController reportController;
+    @Autowired
+    private ISysDictDataService sysDictDataService;
 
     @GetMapping("/ceshicc")
     @ApiOperation(value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛")
@@ -1142,7 +1136,8 @@
                               @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
                               @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
                               @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime,
-                              @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) {
+                              @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;
@@ -1239,7 +1234,7 @@
         if (name == null) name = "";
         if (beginTime == null) beginTime = "";
         if (endTime == null) endTime = "";
-        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory));
+        return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory,tcm));
     }
 
 
@@ -1356,61 +1351,53 @@
     /**
      * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛
      *
-     * @param tjNumber
-     * @param advice
-     * @param checkStatus
      * @return
      */
-    @PutMapping("/getTjdetailList")
+    @PostMapping("/getTjdetailList")
     @ApiOperation(value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛")
-//    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
-    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) {
+    @Transactional
+    public AjaxResult getTjdetailList(@RequestBody CheckUpdateStatusDto dto) {
 
-        String config = configService.selectConfigByKey("sfjcwjhyqxm");
-        if (null != config && config.equalsIgnoreCase("Y")) {
-            int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
-            if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
-        }
-        Date date = new Date();
-        if (null != tjNumber) {
-            Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
-            SysUser sysUser = userService.getById(userId);
-            LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-            wq1.eq(TjOrder::getTjNumber, tjNumber);
-            TjOrder tjOrder = orderService.getOne(wq1);
-            if (null != tjOrder) {
-                tjOrder.setCheckAdvice(advice);
-                tjOrder.setCheckStatus(checkStatus);
-                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 (orderService.updateById(tjOrder)) {
-                    TjCustomer customer = customerService.getById(tjOrder.getUserId());
-                    if (null != customer) {
-                        customer.setCusNumber(customer.getCusNumber() + 1);
-                        customer.setCardId("0");
-                        if (customerService.updateById(customer)) {
-                            asyncService.updateCheckType(tjNumber);
-                            return AjaxResult.success("鎿嶄綔鎴愬姛");
-                        }
-                        return AjaxResult.error("鎿嶄綔澶辫触");
-                    }
-                }
-                return AjaxResult.error("鎿嶄綔澶辫触");
+        try {
+            String config = configService.selectConfigByKey("sfjcwjhyqxm");
+            if (null != config && config.equalsIgnoreCase("Y")) {
+                int num = orderRemarkService.getTjYqOrderRemarkByTjNum(dto.getTjNumber());
+                if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!");
             }
-            return AjaxResult.success("鏁版嵁涓嶅瓨鍦�");
+            Date date = new Date();
+            if (null != dto.getTjNumber()) {
+                Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId());
+                SysUser sysUser = userService.getById(userId);
+                TjOrder tjOrder = orderService.getOrderByTjNum(dto.getTjNumber());
+                if (null != tjOrder) {
+                    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(dto.getZhiyeJl()))
+                        tjOrder.setZhiyeJl(dto.getZhiyeJl());
+                    if (StrUtil.isNotBlank(dto.getZhiyeJg()))
+                        tjOrder.setZhiyeJg(dto.getZhiyeJg());
+                    if (orderService.updateById(tjOrder)) {
+                        AjaxResult pdf = reportController.toPdf(dto.getTjNumber());
+                        if (!pdf.get("code").toString().equals("200") ) {
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return AjaxResult.error("鎿嶄綔澶辫触!");
+                        }
+                        return AjaxResult.success("瀹℃牳骞剁敓鎴愭姤鍛婃垚鍔�!");
+                    }
+                    return AjaxResult.error("鎿嶄綔澶辫触");
+                }
+                return AjaxResult.success("鏁版嵁涓嶅瓨鍦�");
+            }
+            return AjaxResult.error();
+        } catch (Exception ex) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            throw new RuntimeException(ex);
         }
-        return AjaxResult.error();
     }
 
 
@@ -1647,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);
+                                }
                             }
                         }
                     }
@@ -1712,12 +1722,13 @@
                     if (dels.isEmpty()) {
                         continue;
                     }
-                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
-                    dels = dels.stream()
-                            .sorted(Comparator.comparingInt(
-                                    tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
-                            ))
-                            .collect(Collectors.toList());
+//                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList());
+//                    dels = dels.stream()
+//                            .sorted(Comparator.comparingInt(
+//                                    tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴�
+//                            ))
+//                            .collect(Collectors.toList());
+                    dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getXh)).collect(Collectors.toList());
                     parent.put("sons", dels);
                     parent.put("remark", remark.getRemark());
                     parent.put("jgbx", remark.getJgbx());
@@ -2232,4 +2243,38 @@
     }
 
 
+
+    @GetMapping("/getRsjList")
+    @ApiOperation(value = "鎬绘妫�鏌ヤ簩涓夌骇鏌ヨ鎺ュ彛")//0寰�1宸�
+//    @PreAuthorize("@ss.hasPermi('check:check:getList')")
+    public AjaxResult getRsjList(@ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam(required = false) Integer checkStatus,
+                              @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page,
+                              @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize,
+                              @ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
+                              @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId,
+                              @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                              @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime,
+                              @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime,
+                              @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory,
+                              @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tcm) {
+
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        String type = "0";
+        if (null != roles && !roles.isEmpty()) {
+            List<SysRole> erji = roles.stream().filter(item -> item.getRoleName().contains("浜岀骇瀹℃牳")).collect(Collectors.toList());
+            List<SysRole> sanji = roles.stream().filter(item -> item.getRoleName().contains("涓夌骇瀹℃牳")).collect(Collectors.toList());
+            if (!erji.isEmpty()) type="2";
+            if (!sanji.isEmpty()) type="3";
+        }
+
+        String value = String.valueOf(compId);
+        if (tjNumber == null) tjNumber = "";
+        if (compId == null) value = "";
+        if (name == null) name = "";
+        if (beginTime == null) beginTime = "";
+        if (endTime == null) endTime = "";
+        return AjaxResult.success(orderService.getEsjCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value,
+                beginTime, endTime, name,tjCategory,tcm,type));
+    }
+
 }

--
Gitblit v1.8.0