From 62a3b99ee38ac963fd7d0d8e411bf9c3827e2946 Mon Sep 17 00:00:00 2001 From: lige <bestlige@outlook.com> Date: 星期五, 26 一月 2024 18:01:53 +0800 Subject: [PATCH] 团队统计 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java | 816 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 669 insertions(+), 147 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 39a0fb8..7399842 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 @@ -26,7 +26,13 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.ArrayUtils; +import org.apache.ibatis.jdbc.Null; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.ConvertingCursor; +import org.springframework.data.redis.core.Cursor; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.ScanOptions; +import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -89,7 +95,8 @@ @Autowired private ITjRulesService tjRulesService; - + @Autowired + public RedisTemplate<Object,Object> redisTemplate; /** @@ -115,7 +122,6 @@ return AjaxResult.error("璇疯緭鍏ョ瀹d"); } //鏍规嵁褰撳墠鐧婚檰鐨勪汉鐨勭瀹d锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩� - // TODO: 2023/3/24 缁欒秴绾х鐞嗗憳璧嬪尰鐢熸鏌ユ潈闄� List<Long> postIds = sysUser.getPostIds(); List<Long> ksproList = null; if (postIds != null) { @@ -138,145 +144,209 @@ return AjaxResult.error("璇峰畬鍠勭瀹ら」鐩俊鎭�"); } List<TjCustomer> customerLis = new ArrayList<>(); + if(null==name) name=""; + if(null==tjNumber) tjNumber=""; - //鏍规嵁浣撴鍙锋煡 - 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(";"); - } +// //鏍规嵁浣撴鍙锋煡 +// 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()); +// +// //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 +// for (TjOrderDetail tjOrderDetail11 : list) { +// customer.setIsPositive(tjOrderDetail11.getIsPositive()); +// if (tjOrderDetail11.getIsPositive()==1){ +// break; +// } +// } +// +// 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()); +// customer.setTjCategory(order.getTjCategory()); +// 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; +// } +// //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 +// for (TjOrderDetail tjOrderDetail11 : list111) { +// customer.setIsPositive(tjOrderDetail11.getIsPositive()); +// if (tjOrderDetail11.getIsPositive()==1){ +// break; +// } +// } +// 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()); +// customer.setTjCategory(order.getTjCategory()); +// 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<>(); - } - 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()); - 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()); - 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<>(); +// String key="*"; +// if(sysUser.isAdmin()){ +// key="ks"+":*"; +// }else { +// key="ks:"+ksId+":*"; +// } +// ScanOptions options = ScanOptions.scanOptions() +// //杩欓噷鎸囧畾姣忔鎵弿key鐨勬暟閲�(寰堝鍗氬鐬庤瑕佹寚瀹欼nteger.MAX_VALUE锛岃繖鏍风殑璇濊窡 keys鏈変粈涔堝尯鍒紵) +// .count(10000) +// .match(key).build(); +// RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer(); +// 0鏈,1宸叉 + Map<String,Object> map=null; if (type == 0) { - customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); +// Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); +// List<TjCustomer> customers = new ArrayList<>(); +// while(cursor.hasNext()){ +// String s = cursor.next().toString(); +// TjCustomer wj = redisCache.getCacheMapValue(s,"0"); +// if(null !=wj){ +// customers.add(wj); +// } +// } +//// //鍒囪杩欓噷涓�瀹氳鍏抽棴锛屽惁鍒欎細鑰楀敖杩炴帴鏁般�傛姤Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a +// cursor.close(); +// customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); + map = deptService.getSysDeptYjWjCustomerList13(String.valueOf(ksId), name, tjNumber, 0, page, pageSize); +// customerLists = customers; } if (type == 1) { - customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); +// Cursor cursor = redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); +// List<TjCustomer> customers = new ArrayList<>(); +// while(cursor.hasNext()){ +// String s = cursor.next().toString(); +// TjCustomer wj = redisCache.getCacheMapValue(s,"1"); +// if(null !=wj){ +// customers.add(wj); +// } +// } +//// //鍒囪杩欓噷涓�瀹氳鍏抽棴锛屽惁鍒欎細鑰楀敖杩炴帴鏁般�傛姤Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a +// cursor.close(); +// customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); + map = deptService.getSysDeptYjWjCustomerList13(String.valueOf(ksId), name, tjNumber, 1, page, pageSize); +// customerLists = customers; } - 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("鏆傛椂娌℃湁鏁版嵁"); - } + return AjaxResult.success(map); +// asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); +// if (null !=customerLists && 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) { @@ -313,6 +383,8 @@ } customer.setTjTime(order.getCreateTime()); customer.setTjNumber(order.getTjNumber()); + customer.setOrderId(orderId); + customer.setIsHz(order.getIsHz()); customer.setTjStatus(Long.valueOf(type)); List<TjOrderRemark> list = remarkService.getTjOrderRemarkListByYjNum(order.getTjNumber()); if (null != list && list.size() > 0) { @@ -339,6 +411,430 @@ } return null; } + + /** + * 鍖栭獙妫�鏌ラ〉闈㈠垪琛� + */ + @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锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩� + 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("璇峰畬鍠勭瀹ら」鐩俊鎭�"); + } + //绛涢�夊寲楠岀殑椤圭洰銆� + ksproList = ksproList.stream() + .filter(element -> element ==1633660948860522629L) + .collect(Collectors.toList()); + + 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()); + //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 + for (TjOrderDetail tjOrderDetail11 : list) { + customer.setIsPositive(tjOrderDetail11.getIsPositive()); + if (tjOrderDetail11.getIsPositive()==1){ + break; + } + } + 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; + } + //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 + for (TjOrderDetail tjOrderDetail11 : list111) { + customer.setIsPositive(tjOrderDetail11.getIsPositive()); + if (tjOrderDetail11.getIsPositive()==1){ + break; + } + } + 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 = null; + if (type == 0) { +// customerLists = redisCache.getCacheMapValue(ksId + "ks", "wj"); + } + if (type == 1) { +// customerLists = redisCache.getCacheMapValue(ksId + "ks", "yj"); + } + asyncService.dockerSetCustomerLisByRedis(ksproList, String.valueOf(ksId)); + AjaxResult map = getAjaxResult(type, page, pageSize, ksproList, customerLis); + if (map != null) return map; + return AjaxResult.success("鏆傛椂娌℃湁鏁版嵁"); + } + + + /** + * 褰卞儚妫�鏌ラ〉闈㈠垪琛� + */ + @GetMapping("/yingXiangGetProList") + @ApiOperation("褰卞儚妫�鏌ラ〉闈㈠垪琛�") + public AjaxResult yingXiangGetProList(@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锛岃幏鍙栬绉戝涓嬬殑鎵�鏈夐」鐩� + 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.size() == 0) { + return AjaxResult.error("璇峰畬鍠勭瀹ら」鐩俊鎭�"); + } + ksproList = ksproList.stream() + .filter(element -> element ==1633660948860522589L +// || element ==1633660948860522504L +// || +// element ==1633660948860522507L|| element ==1633660948860522508L +// || +// element ==1633660948860522515L|| element ==1633660948860522516L +// || +// element ==1633660948860522517L|| element ==1633660948860522519L +// || +// element ==1633660948860522524L|| element ==1633660948860522530L +// || +// element ==1633660948860522531L|| element ==1633660948860522533L + ) + .collect(Collectors.toList()); + 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()); + //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 + for (TjOrderDetail tjOrderDetail11 : list) { + customer.setIsPositive(tjOrderDetail11.getIsPositive()); + if (tjOrderDetail11.getIsPositive()==1){ + break; + } + } + 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; + } + //閬嶅巻椤圭洰 鍒ゆ柇鏄惁鏈夐噸澶ч槼鎬� 鏍囪 + for (TjOrderDetail tjOrderDetail11 : list111) { + customer.setIsPositive(tjOrderDetail11.getIsPositive()); + if (tjOrderDetail11.getIsPositive()==1){ + break; + } + } + 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 = null; + 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.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("鏆傛椂娌℃湁鏁版嵁"); +// } + } + + + + /** * 鏌ヨ瀹㈡埛浣撴鍘嗗彶璁板綍 @@ -540,7 +1036,8 @@ return AjaxResult.success("鎿嶄綔澶辫触"); } for (TjOrderRemark orderRemark : remarklList) { - if (null != orderRemark.getSummaryList() && orderRemark.getSummaryList().size()>0 ) { + List<String> summaryList = orderRemark.getSummaryList(); + if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null) ) { orderRemark.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); } LambdaQueryWrapper<TjOrder> qw = new LambdaQueryWrapper<>(); @@ -554,7 +1051,6 @@ final TjCustomer byId1 = customerService.getById(order.getUserId()); if (null != tjOrderDetailList && tjOrderDetailList.size() > 0) { - // TODO: 2023/8/31 瀛樺叆姣忎竴灏忛」鐨勭粨鏋滃拰缁撹 //----------------------------------start for (TjOrderDetail tjOrderDetail : tjOrderDetailList) { final TjProject byId = projectService.getById(tjOrderDetail.getProId()); @@ -581,7 +1077,6 @@ } } } - //-----------------------------------end asyncService.updateOrdeltile(tjOrderDetailList, sysUser, order); LambdaQueryWrapper<TjOrderDetail> qww = new LambdaQueryWrapper<>(); qww.eq(TjOrderDetail::getOrderId, order.getOrderId()); @@ -600,7 +1095,7 @@ remarkService.save(remark); } else { one.setRemark(orderRemark.getRemark()); - if (orderRemark.getSummaryList() != null) { + if (null != summaryList && summaryList.size()>0 && !summaryList.contains(null)) { one.setSummary(Joiner.on(";").join(orderRemark.getSummaryList())); } one.setDeptId(orderRemark.getDeptId()); @@ -654,9 +1149,11 @@ // return AjaxResult.success(listq); // } LambdaQueryWrapper<TjProject> wq2 = new LambdaQueryWrapper<>(); - if (null != sysUser && !sysUser.getUserName().equals("10001")) { + if ((null != sysUser && !sysUser.getUserName().equals("10001")) && 100!=ksId) { wq2.eq(TjProject::getDeptId, ksId); } + //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� + wq2.eq(TjProject::getNeedReport,"Y"); List<TjProject> Deptlist = projectService.list(wq2); List<Long> proIdList = Deptlist.stream().map(TjProject::getProId).collect(Collectors.toList()); if (Deptlist.size() == 0 || proIdList.size() == 0) { @@ -679,7 +1176,7 @@ wq.ne("type", 2); List<TjOrderRemark> list = remarkService.list(wq); if (list.size() == 0) { - return AjaxResult.error("璇ョ瀹や笅鏃犻」鐩紒"); + return AjaxResult.success("璇ョ瀹や笅鏃犻」鐩紒"); } for (TjOrderRemark tjOrderRemark : list) { TjProject tjProject = projectService.getById(tjOrderRemark.getProId()); @@ -707,15 +1204,20 @@ return AjaxResult.error("鑾峰彇鐢ㄦ埛淇℃伅閿欒"); } - if(redisCache.hasHKey("getOrderDetailByProParentId"+tjNumber,proParentId)){ - Map<String, Object> mapValue = redisCache.getCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId); - return AjaxResult.success(mapValue); - } +// if(redisCache.hasHKey("getOrderDetailByProParentId"+tjNumber,proParentId)){ +// Map<String, Object> mapValue = redisCache.getCacheMapValue("getOrderDetailByProParentId" + tjNumber, proParentId); +// return AjaxResult.success(mapValue); +// } TjOrderRemark remark = remarkService.getTjOrderRemarkByTjNumAndProParentId(tjNumber, proParentId); List<TjProject> proParentList = projectService.getTjProjectListBySoneId(proParentId); - if (null == proParentList) { - return AjaxResult.error("璇ラ」鐩笅鏆傛椂娌℃暟鎹�"); + if (null == proParentList || proParentList.size()==0) { + Map<String, Object> map = new HashMap<>(); + map.put("xiaoJieIds", null); + map.put("sons", projectService.list(new LambdaQueryWrapper<TjProject>().eq(TjProject::getProId,proParentId))); + map.put("xiaoJie", null); + map.put("remark", remark.getRemark()); + return AjaxResult.success(map); } List<Long> proParentIdList = proParentList.stream().map(TjProject::getProId).collect(Collectors.toList()); TjOrder one = orderService.getOrderByTjNum(tjNumber); @@ -727,6 +1229,10 @@ if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { TjProject project = projectService.getById(tjOrderDetail.getProId()); + //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� + if ("N".equals(project.getNeedReport())){ + continue; + } //鐥呯鍥炴樉 // LambdaQueryWrapper<TjOrderDetailRules> wq=new LambdaQueryWrapper<>(); // wq.eq(TjOrderDetailRules::getProId,project.getProId()); @@ -877,4 +1383,20 @@ return success(deptService.selectDeptTreeList(dept)); } + + /** + * 鑾峰彇瀛愮瀹ら儴闂ㄥ垪琛� + */ + @GetMapping("/getChildList") + @ApiOperation(value = "鑾峰彇瀛愮瀹ら儴闂ㄥ垪琛�") + public AjaxResult getChildList(String deptName) { + LambdaQueryWrapper<SysDept> wq=new LambdaQueryWrapper<>(); + wq.ne(SysDept::getParentId,0); + if (deptName!=null){ + wq.like(SysDept::getDeptName,deptName); + } + List<SysDept> depts = deptService.list(wq); + return success(depts); + } + } -- Gitblit v1.8.0