From 219fd53dfa354caf13e4617479cd82422a228343 Mon Sep 17 00:00:00 2001
From: lige <bestlige@outlook.com>
Date: 星期五, 01 十二月 2023 17:43:13 +0800
Subject: [PATCH] 团队预约、沟通记录。。

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java |  195 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 195 insertions(+), 0 deletions(-)

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 c0280d0..da53400 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
@@ -283,6 +283,201 @@
         }
     }
 
+
+
+    /**
+     * 鍖栭獙妫�鏌ラ〉闈㈠垪琛�
+     */
+    @GetMapping("/huaYangetProList")
+    @ApiOperation("褰卞儚/鍖栭獙妫�鏌ラ〉闈㈠垪琛�")
+    public AjaxResult huaYangetProList(@ApiParam(value = "浣撴鍗曞彿") @RequestParam(required = false) String tjNumber,
+                                 @ApiParam(value = "0鏈,1宸叉") @RequestParam(defaultValue = "0") Integer type,
+                                 @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name,
+                                 @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer page,
+                                 @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize) {
+        String userId = SecurityUtils.getLoginUser().getUserId();
+        Integer ksId = null;
+        SysUser sysUser = null;
+        if (null != userId) {
+            sysUser = userService.getById(Long.valueOf(userId));
+            if (null != sysUser) {
+                ksId = Math.toIntExact(sysUser.getDeptId());
+            }
+        }
+        if (ksId == null) {
+            return AjaxResult.error("璇疯緭鍏ョ瀹d");
+        }
+        //鏍规嵁褰撳墠鐧婚檰鐨勪汉鐨勭瀹d锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩�
+        // TODO: 2023/3/24  缁欒秴绾х鐞嗗憳璧嬪尰鐢熸鏌ユ潈闄�
+        List<Long> postIds = sysUser.getPostIds();
+        List<Long> ksproList = null;
+        if (postIds != null) {
+            for (Long postId : postIds) {
+                LambdaQueryWrapper<SysUserPost> wq111 = new LambdaQueryWrapper<>();
+                wq111.eq(SysUserPost::getPostId, postId);
+                SysUserPost one = userPostService.getOne(wq111);
+                if (one != null) {
+                    SysPost byId = postService.getById(one.getPostId());
+                    if (byId.getPostName().equals("褰曞叆鍛�")) {
+                        ksproList = projectService.getKsTjProjectIdListBydeptId(String.valueOf(ksId));
+                    }
+                }
+            }
+        } else {
+            ksproList = projectService.getKsTjProjectIdList();
+        }
+
+        if (ksproList == null || ksproList.size() == 0) {
+            return AjaxResult.error("璇峰畬鍠勭瀹ら」鐩俊鎭�");
+        }
+        List<TjCustomer> customerLis = new ArrayList<>();
+
+        //鏍规嵁浣撴鍙锋煡
+        if (null != tjNumber) {
+            List<TjOrder> orderList = orderService.getOrderListByLikeTjNum(tjNumber);
+            if (null == orderList) {
+                return AjaxResult.success("鏆傛椂娌℃湁鏁版嵁");
+            }
+            for (TjOrder order : orderList) {
+                List<TjOrderDetail> list = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get();
+                if (list.size() == 0) {
+                    continue;
+                }
+                LambdaQueryWrapper<TjOrderRemark> wqs = new LambdaQueryWrapper<>();
+                wqs.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
+                wqs.in(TjOrderRemark::getType, 0,3);
+                List<TjOrderRemark> lists = remarkService.list(wqs);
+                TjCustomer customer = customerService.getById(order.getUserId());
+                customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
+                customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
+                customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
+                if (null != lists && lists.size() > 0) {
+                    StringBuilder stringBuilder = new StringBuilder();
+                    for (TjOrderRemark remark : lists) {
+                        TjProject byId = projectService.selectTjProjectByProId(remark.getProId());
+                        TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId()));
+                        if (one.getFlowingWaterId() != null) {
+                            stringBuilder.append(byId.getProName()).append(";");
+                        }
+
+                    }
+                    customer.setNotCheckeds(String.valueOf(stringBuilder));
+                    customer.setTjStatus(0L);
+                } else {
+                    customer.setTjStatus(1L);
+                    customer.setNotCheckeds("鏃�");
+                }
+                if (order.getTjType().equals("1")) {
+                    customer.setTjType("鍥綋");
+                }
+                if (order.getTjType().equals("2")) {
+                    customer.setTjType("涓汉");
+                }
+                customer.setTjTime(order.getCreateTime());
+                customer.setTjNumber(order.getTjNumber());
+                customer.setOrderId(order.getOrderId());
+                customer.setIsHz(order.getIsHz());
+                customerLis.add(customer);
+
+            }
+            if (customerLis.size() > 0) {
+                List<TjCustomer> customerList = customerLis.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+                Collections.reverse(customerList);
+                Map<String, Object> map = new HashMap<>();
+                map.put("date", customerList);
+                map.put("total", customerLis.size());
+                return AjaxResult.success(map);
+            } else {
+                return AjaxResult.success("鏆傛棤鏁版嵁");
+            }
+        }
+
+        //鏍规嵁濮撳悕鏌ヨ
+        if (null != name && !"".equals(name)) {
+            LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>();
+            wq.like(TjCustomer::getCusName, name);
+            List<TjCustomer> list = customerService.list(wq);
+            List<TjCustomer> list11111 = new ArrayList<>();
+            if (null != list && list.size() > 0) {
+                for (TjCustomer customer : list) {
+                    customer.setCusName(MatchUtils.hideCusName(customer.getCusName()));
+                    customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone()));
+                    customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard()));
+                    List<TjOrder> orderList = orderService.getOrderListByCusId(String.valueOf(customer.getCusId()));
+                    if (null != orderList && orderList.size() > 0) {
+                        for (TjOrder order : orderList) {
+                            List<TjOrderDetail> list111 = Optional.ofNullable(detailService.getTjOrderDetailListByOrderId(String.valueOf(order.getOrderId()))).get();
+                            if (list111.size() == 0) {
+                                continue;
+                            }
+                            List<TjOrderRemark> lists = remarkService.getTjOrderRemarkListByYjNum(order.getTjNumber());
+                            if (null != lists && lists.size() > 0) {
+                                StringBuilder stringBuilder = new StringBuilder();
+                                for (TjOrderRemark remark : lists) {
+                                    TjProject byId = projectService.selectTjProjectByProId(remark.getProId());
+                                    TjOrderDetail one = detailService.getTjOrderDetailByOrderId(String.valueOf(order.getOrderId()), String.valueOf(byId.getProId()));
+                                    if (one.getFlowingWaterId() != null) {
+                                        stringBuilder.append(byId.getProName()).append(";");
+                                    }
+                                }
+                                customer.setNotCheckeds(String.valueOf(stringBuilder));
+                                if (null == customer.getNotCheckeds()) customer.setNotCheckeds("鍏ㄩ儴宸叉");
+                                customer.setTjStatus(0L);
+                            } else {
+                                customer.setNotCheckeds("鏃�");
+                                customer.setTjStatus(1L);
+                            }
+                            if (order.getTjType().equals("1")) {
+                                customer.setTjType("鍥綋");
+                            }
+                            if (order.getTjType().equals("2")) {
+                                customer.setTjType("涓汉");
+                            }
+                            customer.setTjTime(order.getCreateTime());
+                            customer.setTjNumber(order.getTjNumber());
+                            customer.setOrderId(order.getOrderId());
+                            customer.setIsHz(order.getIsHz());
+                            list11111.add(customer);
+                        }
+                    }
+                }
+                if (list11111.size() == 0) {
+                    return AjaxResult.success("鏆傛棤鏁版嵁");
+                }
+                Map<String, Object> map = new HashMap<>();
+                List<TjCustomer> customers = list11111.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+                Collections.reverse(customers);
+                map.put("customers", customers);
+                map.put("total", list11111.size());
+                return AjaxResult.success(map);
+            } else {
+                return AjaxResult.success("鏆傛棤鏁版嵁");
+            }
+        }
+        List<TjCustomer> customerLists = new ArrayList<>();
+        if (type == 0) {
+            customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj");
+        }
+        if (type == 1) {
+            customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj");
+        }
+        asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId));
+        if (customerLists != null && customerLists.size() > 0) {
+            Collections.reverse(customerLists);
+            List<TjCustomer> customerList = customerLists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+            Map<String, Object> map = new HashMap<>();
+            map.put("date", customerList);
+            map.put("total", customerLists.size());
+            return AjaxResult.success(map);
+        } else {
+            AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis);
+            if (map != null) return map;
+            return AjaxResult.success("鏆傛椂娌℃湁鏁版嵁");
+        }
+    }
+
+
+
     private AjaxResult getAjaxResult(Integer type, Integer page, Integer pageSize, List<Long> ksproList, List<TjCustomer> customerLis) {
         LambdaQueryWrapper<TjOrderDetail> wq1 = new LambdaQueryWrapper<>();
         wq1.eq(TjOrderDetail::getTjStatus, type);

--
Gitblit v1.8.0