From 8cde7ee1143bae70eb68d2b75f572d5b4dbadf98 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 12 十月 2023 17:47:00 +0800
Subject: [PATCH] zjh 2023/10/12--1

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java |  192 ++++++++++++++++++------------------------------
 1 files changed, 72 insertions(+), 120 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 1004756..266f9ab 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
@@ -72,26 +72,21 @@
     private ISysDeptService deptService;
 
 
-
     @GetMapping("/getOperationPermissionsByTjNum")
     @ApiOperation(value = "(鍒濆椤甸潰  鍜� 鍖荤敓椤甸潰)鏍规嵁浣撴鍙疯幏鍙栨槸鍚﹀彲鎿嶄綔鏉冮檺鎺ュ彛  true鍙搷浣�  鍙嶄箣涓嶅彲")
     public AjaxResult getOperationPermissionsByTjNum(@ApiParam(value = "浣撴鍙�") @RequestParam String tjNumber) {
         TjOrder order = orderService.getOrderByTjNum(tjNumber);
-        if(null !=order){
+        if (null != order) {
             Integer status = order.getStatus();
-            if(status<300){
+            if (status < 300) {
                 return AjaxResult.success(true);
             }
-            if(status>300){
+            if (status > 300) {
                 return AjaxResult.success(false);
             }
         }
         return AjaxResult.success(false);
     }
-
-
-
-
 
 
     @GetMapping("/getCsList")
@@ -134,7 +129,7 @@
                             customer.setTjNumber(tjOrder.getTjNumber());
                             customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
                             customer.setOrderId(tjOrder.getOrderId());
-                            customer.setTjTime(tjOrder.getFinishTime());
+                            customer.setTjTime(tjOrder.getCreateTime());
                             customer.setFinishTime(tjOrder.getFinishTime());
                             customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
                             customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
@@ -161,7 +156,7 @@
         }
 
         //鏉′欢鏌ヨ
-        if(null != tjNumber || null !=compId || (null !=beginTime && null !=endTime)){
+        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
             orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes);
             return getResult(page, pageSize, orderList, customerList, map);
         }
@@ -185,7 +180,6 @@
     }
 
 
-
     /**
      * 鍒濆
      */
@@ -200,7 +194,7 @@
                 vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName());
                 vo.setProName(projectService.getById(remark.getProId()).getProName());
                 vo.setType(remark.getType());
-                if(null !=remark.getDoctorName()){
+                if (null != remark.getDoctorName()) {
                     vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName());
                     vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName());
                 }
@@ -211,6 +205,13 @@
                 vo.setZhupdateTime(remark.getUpdateTime());
                 list.add(vo);
             }
+
+            Collections.sort(list, new Comparator<CsProVo>() {
+                @Override
+                public int compare(CsProVo o1, CsProVo o2) {
+                    return o1.getType() - o2.getType();
+                }
+            });
         }
         return AjaxResult.success(list);
     }
@@ -220,11 +221,11 @@
      * 鍒濆
      */
     @GetMapping("/confirmOrder")
-        @ApiOperation(value = "鍒濆(骞朵慨鏀圭姸鎬�)鎺ュ彛")
-    @PreAuthorize("@ss.hasPermi('check:check:confirmOrder')")
+    @ApiOperation(value = "鍒濆(骞朵慨鏀圭姸鎬�)鎺ュ彛")
+//    @PreAuthorize("@ss.hasPermi('check:check:confirmOrder')")
     @Transactional
     public AjaxResult confirmOrder(@ApiParam(value = "tjNumber") @RequestParam String tjNumber,
-                                   @ApiParam(value = "鐘舵�� 0鍚屾剰1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status,
+                                   @ApiParam(value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status,
                                    @ApiParam(value = "椹冲洖鐞嗙敱") @RequestParam(required = false) String remark) {
         int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber);
         if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘瀹℃牳!");
@@ -238,9 +239,10 @@
                 tjOrder.setConfirmTime(new DateTime());
                 tjOrder.setConfirmDoctor(sysUser.getNickName());
                 tjOrder.setConfirmStatus(remark);
-                if(status==0){
+                if (status == 0) {
                     tjOrder.setStatus(TjConstants.TJ_CHECK);
-                }else {
+                    asyncService.updateCheckType(tjNumber);
+                } else {
                     tjOrder.setStatus(TjConstants.TJ_REFUSED);
                 }
                 if (orderService.updateById(tjOrder)) {
@@ -273,7 +275,7 @@
      */
     @GetMapping("/getList")
     @ApiOperation(value = "鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸�
-    @PreAuthorize("@ss.hasPermi('check:check:getList')")
+//    @PreAuthorize("@ss.hasPermi('check:check:getList')")
     public AjaxResult getList(@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,
@@ -339,7 +341,7 @@
         }
 
         //鏉′欢鏌ヨ
-        if(null != tjNumber || null !=compId || (null !=beginTime && null !=endTime)){
+        if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) {
             //鍒ゆ柇鏄惁寮�鍚垵瀹�
             if ("Y".equals(config)) {
                 orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes);
@@ -357,6 +359,7 @@
             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());
@@ -382,7 +385,7 @@
      */
     @PutMapping("/getTjdetailList")
     @ApiOperation(value = "鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅(骞朵慨鏀圭姸鎬�)鎺ュ彛")
-    @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')")
+//    @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) {
@@ -431,22 +434,26 @@
      */
     @GetMapping("/updateCheckType")
     @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏")
-    @PreAuthorize("@ss.hasPermi('check:check:updateCheckType')")
+//    @PreAuthorize("@ss.hasPermi('check:check:updateCheckType')")
     public AjaxResult updateCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
+        if(redisCache.hasKey("updateCheckType"+tjNumber)) {
+            return redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber);
+        }
+        return getAjaxResult(tjNumber);
+    }
+
+    private AjaxResult getAjaxResult(String tjNumber) {
+        final long l = System.currentTimeMillis();
         List<Map<String, Object>> list = new ArrayList<>();
-        LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
-        wq1.eq(TjOrder::getTjNumber, tjNumber);
-        TjOrder one = orderService.getOne(wq1);
+        TjOrder one = orderService.getOrderByTjNum(tjNumber);
+
         if (one == null) {
             return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒");
         }
-        LambdaQueryWrapper<TjCustomer> wq22 = new LambdaQueryWrapper<>();
-        wq22.eq(TjCustomer::getCusId, one.getUserId());
-        TjCustomer customer = customerService.getOne(wq22);
-        LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>();
-        wqm.eq(TjOrderRemark::getTjNumber, tjNumber);
-        wqm.eq(TjOrderRemark::getType, 1);
-        List<TjOrderRemark> remarkList = orderRemarkService.list(wqm);
+
+        TjCustomer customer = customerService.getById(one.getUserId());
+        List<TjOrderRemark> remarkList = orderRemarkService.getRemarkListByTjNumAndType(tjNumber);
+
         if (null != remarkList && remarkList.size() > 0) {
             for (TjOrderRemark remark : remarkList) {
                 Map<String, Object> parent = new HashMap<>();
@@ -456,66 +463,43 @@
                     parent.put("parent", project.getProName());
                     parent.put("parentId", project.getProId().toString());
                 }
-                LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>();
-                wq2.eq(TjProject::getProParentId, remark.getProId());
-                List<Long> sonsTjProjectList = projectService.list(wq2).stream().map(TjProject::getProId).collect(Collectors.toList());
-                if (sonsTjProjectList.size() > 0) {
-                    LambdaQueryWrapper<TjOrderDetail> wq = new LambdaQueryWrapper<>();
-                    wq.eq(TjOrderDetail::getOrderId, one.getOrderId());
-                    wq.in(TjOrderDetail::getProId, sonsTjProjectList);
-                    List<TjOrderDetail> tjOrderDetails = detailService.list(wq);
-                    if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
-                        for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
-                            LambdaQueryWrapper<TjProject> wqqqq = new LambdaQueryWrapper<>();
-                            wqqqq.eq(TjProject::getProId, tjOrderDetail.getProId());
-                            tjOrderDetail.setProject(projectService.getOne(wqqqq));
-                            LambdaQueryWrapper<TjStandard> wq6 = new LambdaQueryWrapper<>();
-                            wq6.eq(TjStandard::getProId, tjOrderDetail.getProId());
-                            List<TjStandard> list2 = tjStandardService.list(wq6);
-                            if (list2.size() == 0) {
-                                tjOrderDetail.setStandard(new TjStandard());
-                            } else if (list2.size() == 1) {
-                                tjOrderDetail.setStandard(list2.get(0));
-                            } else {
-                                for (TjStandard tjStandard : list2) {
-                                    LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>();
-                                    if (tjStandard.getTjSex() != null) {
-                                        wq8.eq(TjStandard::getTjSex, customer.getCusSex());
-                                    }
-                                    if (tjStandard.getTjType() != null) {
-                                        wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())));
-                                    }
-                                    tjOrderDetail.setStandard(tjStandardService.getOne(wq8));
-                                }
-                            }
-                        }
-                        String summary = remark.getSummary();
-                        if (null != summary) {
-                            String[] split = summary.split(";");
-                            LambdaQueryWrapper<TjAdvice> wq3 = new LambdaQueryWrapper<>();
-                            wq3.in(TjAdvice::getId, Arrays.asList(split));
-                            List<TjAdvice> advices = tjAdviceService.list(wq3);
-                            if (null != advices && advices.size() > 0) {
-                                StringBuilder string = new StringBuilder();
-                                for (TjAdvice advice : advices) {
-                                    string.append(advice.getTitle()).append(";");
-                                }
-                                parent.put("parentAdvice", string);
-                            }
+                List<TjOrderDetail> tjOrderDetails = detailService.getDetailByOrderIdAndParId(one.getOrderId(), remark.getProId());
+                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
+                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
+                        final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId());
+                        tjOrderDetail.setProject(byId);
+                        List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId()));
+                        if (list2.size() == 0) {
+                            tjOrderDetail.setStandard(new TjStandard());
+                        } else if (list2.size() == 1) {
+                            tjOrderDetail.setStandard(list2.get(0));
                         } else {
-                            parent.put("parentAdvice", null);
+                            final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()));
+                            TjStandard tjStandard1=tjStandardService.getListBySexAndType(customer.getCusSex(),ageType, String.valueOf(tjOrderDetail.getProId()));
+                            tjOrderDetail.setStandard(tjStandard1);
                         }
-                        parent.put("sons", tjOrderDetails);
-                        parent.put("remark", remark.getRemark());
-                        if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
-                            parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
-                        }
-                        list.add(parent);
-                    } else {
-                        return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁");
                     }
+                    String summary = remark.getSummary();
+                    if (null != summary) {
+                          String[] split = summary.split(";");
+                        parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(Arrays.asList(split)));
+
+                    } else {
+                        parent.put("parentAdvice", null);
+                    }
+                    parent.put("sons", tjOrderDetails);
+                    parent.put("remark", remark.getRemark());
+                    if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) {
+                        parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName());
+                    }
+                    list.add(parent);
+                } else {
+                    return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁");
                 }
+//                }
             }
+            final long l1 = System.currentTimeMillis();
+            System.out.println("++++++++++++++++++++++++++++++++++++++++++==============="+(l1-l));
             return AjaxResult.success(list);
         }
         return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�");
@@ -524,13 +508,14 @@
 
     @GetMapping("/getTm")
     @ApiOperation(value = "鑾峰彇鏉$爜")
-    @PreAuthorize("@ss.hasPermi('check:check:getTm')")
+//    @PreAuthorize("@ss.hasPermi('check:check:getTm')")
     public AjaxResult getTm(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) {
         return AjaxResult.success(tjNumber);
     }
 
     /**
      * 鎬绘淇敼澶囨敞
+     *
      * @return
      */
     @PostMapping("/checkUpdateOrderRemark")
@@ -585,37 +570,4 @@
         return AjaxResult.success(map);
     }
 
-    /*private boolean getAjaxResult(@RequestParam(defaultValue = "1") @ApiParam("椤电爜鏁�(榛樿1)") Integer page,
-                                  @RequestParam(defaultValue = "10") @ApiParam("鏄剧ず鏉℃暟(榛樿10)") Integer pageSize,
-                                  List<TjOrder> orderList,
-                                  List<TjCustomer> customerList,
-                                  Map<String, Object> map) {
-        if (null != orderList && orderList.size() > 0) {
-            for (TjOrder tjOrder : orderList) {
-                TjCustomer customer = customerService.selectTjCustomerByCusId(tjOrder.getUserId());
-                if (null == customer) {
-                    continue;
-                }
-                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
-                customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
-                customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
-                customer.setTjNumber(tjOrder.getTjNumber());
-                customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus()));
-                customer.setOrderId(tjOrder.getOrderId());
-                customer.setTjTime(tjOrder.getCreateTime());
-                customer.setFinishTime(tjOrder.getFinishTime());
-                if (tjOrder.getFirmId() == null || tjOrder.getFirmId().equals("0")) {
-                    customer.setTjCompName("鏃�");
-                } else {
-                    customer.setTjCompName(compService.getById(tjOrder.getFirmId()).getCnName());
-                }
-                customerList.add(customer);
-            }
-            List<TjCustomer> customers = customerList.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
-            map.put("customers", customers);
-            map.put("total", customerList.size());
-            return true;
-        }
-        return false;
-    }*/
 }

--
Gitblit v1.8.0