From 9155df2aeab5b0d95c89dd928dbaefbfbaeae9d1 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期四, 05 九月 2024 17:10:35 +0800
Subject: [PATCH] zjh 2024-09-05

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java |   62 +++++++++++++++++-------------
 1 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java
index 55bdca0..a76c3d1 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjTollCollectorController.java
@@ -13,8 +13,11 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ltkj.common.core.domain.entity.SysDictData;
+import com.ltkj.common.core.redis.RedisCache;
 import com.ltkj.common.utils.SecurityUtils;
+import com.ltkj.common.utils.StringUtils;
 import com.ltkj.framework.config.MatchUtils;
+import com.ltkj.framework.config.UserHoder;
 import com.ltkj.hosp.domain.*;
 import com.ltkj.hosp.service.*;
 import com.ltkj.hosp.vodomain.ChargeStatisticsVo;
@@ -58,11 +61,12 @@
     private ITjCustomerService tjCustomerService;
     @Resource
     private ISysDictDataService dictDataService;
-
+    @Resource
+    private RedisCache redisCache;
     /**
      * 鏌ヨ鏀惰垂鍛樻棩缁撳垪琛�
      */
-    @PreAuthorize("@ss.hasPermi('hosp:collector:list')")
+    //@PreAuthorize("@ss.hasPermi('hosp:collector:list')")
     @GetMapping("/list")
     @ApiOperation(value = "鏌ヨ鏀惰垂鍛樻棩缁撳垪琛�")
     public AjaxResult list(@RequestParam(required = false) @ApiParam(value = "鏀惰垂鍛榠d") String tollCollectorId,
@@ -80,7 +84,6 @@
         if (null != accountBeginTime && null != accountEndTime) {
             wqq.between(TjTollCollector::getCreateTime, accountBeginTime, accountEndTime);
         } else {
-            DateTime dateTime = DateUtil.lastWeek();
             wqq.between(TjTollCollector::getCreateTime, DateUtil.lastWeek(),DateUtil.date());
         }
         wqq.orderByDesc(TjTollCollector::getCreateTime);
@@ -103,7 +106,7 @@
     /**
      * 瀵煎嚭鏀惰垂鍛樻棩缁撳垪琛�
      */
-    @PreAuthorize("@ss.hasPermi('hosp:collector:export')")
+    //@PreAuthorize("@ss.hasPermi('hosp:collector:export')")
     @Log(title = "鏀惰垂鍛樻棩缁�", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     @ApiOperation(value = "瀵煎嚭鏀惰垂鍛樻棩缁撳垪琛�")
@@ -116,7 +119,7 @@
     /**
      * 鑾峰彇鏀惰垂鍛樻棩缁撹缁嗕俊鎭�
      */
-    @PreAuthorize("@ss.hasPermi('hosp:collector:query')")
+    // @PreAuthorize("@ss.hasPermi('hosp:collector:query')")
     @GetMapping(value = "/{id}")
     @ApiOperation(value = "鑾峰彇鏀惰垂鍛樻棩缁撹缁嗕俊鎭�")
     public AjaxResult getInfo(@PathVariable("id") String id) {
@@ -126,7 +129,7 @@
     /**
      * 鐐瑰嚮缁撶畻 鏂板鏀惰垂鍛樻棩缁�
      */
-    @PreAuthorize("@ss.hasPermi('hosp:collector:add')")
+    //@PreAuthorize("@ss.hasPermi('hosp:collector:add')")
     @Log(title = "鏀惰垂鍛樻棩缁�", businessType = BusinessType.INSERT)
     @PostMapping
     @ApiOperation(value = "鐐瑰嚮缁撶畻 鏂板鏀惰垂鍛樻棩缁�")
@@ -139,10 +142,15 @@
                 collectorDetail.setAccountId(tjTollCollector.getAccountId());
                 collectorDetailService.save(collectorDetail);
             }
-            for (String id : tjTollCollector.getIds()) {
-                TjFlowingWater water = tjFlowingWaterService.getById(id);
-                water.setIsCheckout("Y");
-                tjFlowingWaterService.updateById(water);
+            if(redisCache.hasKey("longList"+tjTollCollector.getTollCollectorId())){
+                List<Long> longList= redisCache.getCacheObject("longList" + tjTollCollector.getTollCollectorId());
+                for (Long id : longList) {
+                    TjFlowingWater water = tjFlowingWaterService.getById(id);
+                    water.setIsCheckout(tjTollCollector.getId());
+                    water.setUpdateTime(new Date());
+                    tjFlowingWaterService.updateById(water);
+                }
+                redisCache.deleteObject("longList"+tjTollCollector.getTollCollectorId());
             }
             return AjaxResult.success(accountId);
         }
@@ -150,7 +158,7 @@
     }
 
 
-    @PreAuthorize("@ss.hasPermi('hosp:collector:remove')")
+    //@PreAuthorize("@ss.hasPermi('hosp:collector:remove')")
     @DeleteMapping("/removeTjTollCollectorById")
     @ApiOperation(value = "鏀惰垂鍛樻挙閿�璐﹀崟鎿嶄綔鎺ュ彛")
     public AjaxResult removeTjTollCollectorById(@RequestParam @ApiParam(value = "缁撹处id") String id,
@@ -159,32 +167,25 @@
         if (!userId.equals(tollCollectorId)) {
             return AjaxResult.error("闈炲綋鍓嶇敤鎴风姝㈡搷浣�");
         }
-//        LambdaQueryWrapper<TjTollCollector> wqq = new LambdaQueryWrapper<>();
-//        wqq.orderByDesc(TjTollCollector::getCreateTime);
-//        List<TjTollCollector> list = tjTollCollectorService.list(wqq);
-//        if (null != list && list.size() > 0) {
-//            TjTollCollector collector = list.get(0);
-//            if (null != collector && !collector.getId().equals(id)) {
-//                return AjaxResult.error("璇锋挙閿�鏈�鍚庝竴娆$粨璐﹁褰�");
-//            }
-//        }
         String ids = tjTollCollectorService.getTjTollCollectorByLastOne();
         if (null != ids && !id.equals(ids)) {
                 return AjaxResult.error("璇锋挙閿�鏈�鍚庝竴娆$粨璐﹁褰�");
             }
-//        TjTollCollector collector = tjTollCollectorService.getById(id);
         TjTollCollector collector = tjTollCollectorService.getTjTollCollectorById(id);
         if (null != collector) {
+            if(null !=collector.getIsHz()){
+                return AjaxResult.error("璇ヨ处鍗曞凡姹囨�讳笉鍙挙閿�");
+            }
             LambdaQueryWrapper<TjTollCollectorDetail> wq = new LambdaQueryWrapper<>();
             wq.eq(TjTollCollectorDetail::getAccountId, collector.getAccountId());
             collectorDetailService.remove(wq);
             tjTollCollectorService.removeById(collector);
             LambdaQueryWrapper<TjFlowingWater> wqq1 = new LambdaQueryWrapper<>();
-            wqq1.eq(TjFlowingWater::getIsCheckout, "Y");
-            wqq1.between(TjFlowingWater::getUpdateTime, collector.getAccountBeginTime(), collector.getAccountEndTime());
+            wqq1.eq(TjFlowingWater::getIsCheckout,id);
             List<TjFlowingWater> waterList = tjFlowingWaterService.list(wqq1);
             for (TjFlowingWater tjFlowingWater : waterList) {
-                tjFlowingWater.setIsCheckout("N");
+                tjFlowingWater.setIsCheckout(null);
+                tjFlowingWater.setUpdateTime(new Date());
                 tjFlowingWaterService.updateById(tjFlowingWater);
             }
             return AjaxResult.success("璇ヨ处鍗曞凡鎴愬姛鎾ら攢");
@@ -207,7 +208,9 @@
         wq.orderByDesc(TjTollCollector::getAccountEndTime);
         List<TjTollCollector> list = tjTollCollectorService.list(wq);
         if (null != list && list.size() > 0) return success(list.get(0).getAccountEndTime());
-        return AjaxResult.success("1970-01-01 00:00:00");
+        String dateStr = "2023-10-01 00:00:00";
+        Date date = DateUtil.parse(dateStr, "yyyy-MM-dd HH:mm:ss");
+        return AjaxResult.success(date);
     }
 
 
@@ -224,11 +227,16 @@
         Map<String, Object> map = new HashMap<>();
         LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
         wq.eq(TjFlowingWater::getTollCollectorId, userId);
-        wq.eq(TjFlowingWater::getIsCheckout, "N");
+        wq.isNull(TjFlowingWater::getIsCheckout);
         wq.ne(TjFlowingWater::getPayStasus,0);
         wq.between(TjFlowingWater::getUpdateTime, beginTime, endTime);
         Page<TjFlowingWater> page =new Page<>(pageNum,pageSize);
         Page<TjFlowingWater> waterPage = tjFlowingWaterService.page(page, wq);
+
+        //缂撳瓨鎵�缁熻鐨勬祦姘磇d
+        List<Long> longList = tjFlowingWaterService.getFlowingWaterIdList(userId, beginTime, endTime);
+        redisCache.setCacheObject("longList"+userId,longList);
+
         List<TjFlowingWater> list1 = waterPage.getRecords();
         List<TjFlowingWater> list = tjFlowingWaterService.list(wq);
         for (TjFlowingWater tjFlowingWater : list1) {
@@ -243,7 +251,7 @@
         List<Map<String, Object>> cc = new ArrayList<>();
         //缁熻鎬婚泦鍚�
         //浠樻鏂瑰紡
-        Map<Long, List<TjFlowingWater>> m = list.stream().collect(Collectors.groupingBy(TjFlowingWater::getPayType));
+        Map<Long, List<TjFlowingWater>> m = list.stream().filter(item-> StringUtils.isNotNull(item.getPayType())).collect(Collectors.groupingBy(TjFlowingWater::getPayType));
         BigDecimal zshoukuan = new BigDecimal("0.00");
         BigDecimal ztuikuan = new BigDecimal("0.00");
         BigDecimal zyingjiao = new BigDecimal("0.00");

--
Gitblit v1.8.0