From 1cad14bca191807e18705c3a5526eda8151be439 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 14 四月 2025 23:10:22 +0800
Subject: [PATCH] 批量审核和图片保存bug

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java |  128 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 103 insertions(+), 25 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
index 99caed7..863e7f6 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ycl.service.caseHandler.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.alibaba.druid.util.StringUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -32,6 +33,7 @@
 import com.ycl.service.caseHandler.IBaseCaseService;
 import com.ycl.service.caseHandler.IDispatchHandleService;
 import com.ycl.service.caseHandler.IViolationsService;
+import com.ycl.service.resources.IImageResourcesService;
 import com.ycl.service.video.IVideoAlarmReportService;
 import com.ycl.vo.casePool.*;
 import com.ycl.vo.cockpit.enforcementEvents.DelayVO;
@@ -50,10 +52,8 @@
 import java.time.Duration;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -126,7 +126,8 @@
 
     @Resource
     IBaseCaseService baseCaseService;
-
+    @Autowired
+    IImageResourcesService imageResourcesService;
 
     @Override
     public String uploadEvent(Long caseId) {
@@ -142,12 +143,13 @@
                 medias = stringBuilder.toString();
             }
         }
+        eventDesc += "[澶у崕瑙嗛鎺ュ叆娴嬭瘯]";
         EventAddParamDto dto = EventAddParamDto.builder().y84(baseCase.getLatitude() != null ? baseCase.getLatitude().toString() : "").x84(baseCase.getLongitude() != null ? baseCase.getLongitude().toString() : "").source(11).address(baseCase.getSite()).eventDesc(eventDesc).eventSign(baseCase.getCode()).medias(medias).build();
         String msg = cityPlatformService.addEvent(dto);
         ResultResponseDto result = JSONObject.parseObject(msg, ResultResponseDto.class);
         if (result.getCode() == 0) {
-            EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
-            baseCase.setTaskCode(responseDto.getTaskcode());
+//            EventAddResponseDto responseDto = JSONObject.parseObject(result.getResult(), EventAddResponseDto.class);
+            baseCase.setTaskCode(result.getResult());
             this.updateById(baseCase);
             return null;
         } else {
@@ -171,7 +173,7 @@
     }
 
     @Override
-    public Page listViolationsPage(Integer current, Integer size, Integer state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId,Integer videoId) {
+    public Page listViolationsPage(Integer current, Integer size, List<Integer> state, Integer resource, String code, String categoryBig, String categorySmall, Integer street, String site, String startTime, String endTime, Integer violationsTypeId, Integer videoId) {
         Integer type = 01;
         Integer hours = 60;
         Integer day = 24;
@@ -196,7 +198,7 @@
     }
 
     @Override
-    public Page listIllegalBuilding(Integer size, Integer current, Integer state, Integer resource) {
+    public Page listIllegalBuilding(Integer current, Integer size, List<Integer> state, Integer resource) {
         Integer type = 02;
         Page page = new Page<>().setCurrent(current).setSize(size);
         return baseCaseMapper.listIllegalBuildingsPage(page, state, type, resource);
@@ -262,13 +264,15 @@
             baseCase.setViolationsVO(violationsVO);
         } else {
             IllegalBuilding illegalBuilding = illegalBuildingMapper.selectById(baseCase.getId());
-            LambdaQueryWrapper<DataDictionary> dict = new LambdaQueryWrapper<>();
-            dict.eq(DataDictionary::getId, illegalBuilding.getCategoryId());
-            DataDictionary dictionary = dataDictionaryMapper.selectOne(dict);
-            if (dictionary != null) {
-                illegalBuilding.setCategoryText(dictionary.getName());
+            if(illegalBuilding!=null) {
+                LambdaQueryWrapper<DataDictionary> dict = new LambdaQueryWrapper<>();
+                dict.eq(DataDictionary::getId, illegalBuilding.getCategoryId());
+                DataDictionary dictionary = dataDictionaryMapper.selectOne(dict);
+                if (dictionary != null) {
+                    illegalBuilding.setCategoryText(dictionary.getName());
+                }
+                baseCase.setIllegalBuilding(illegalBuilding);
             }
-            baseCase.setIllegalBuilding(illegalBuilding);
         }
         //鑾峰彇璋冨害淇℃伅
         Map mapD = new HashMap();
@@ -397,10 +401,65 @@
         disposeRecordMapper.update(disposeRecord, updateWrapper);
     }
 
+
     @Override
-    public Page<BaseCase> selectPage(Page<BaseCase> page, String number, Integer streetId, Integer categories, String startTime, String endTime, String site) {
-        return baseCaseMapper.selectBaseCasePage(page, number, streetId, categories, startTime, endTime, site);
+    public Page<BaseCase> selectPage(Page<BaseCase> page, String number, Integer communityId, Integer categories, String startTime, String endTime, String site, Integer state, Integer streetId, Integer time) {
+        LocalDateTime start = null;
+        LocalDateTime end = null;
+        LocalDateTime now = LocalDateTime.now();
+        if (Objects.nonNull(time) && time == 0) {
+            end = now;
+            start = now.minusWeeks(1);
+
+        }
+        if (Objects.nonNull(time) && time == 1) {
+            end = now;
+            start = now.minusMonths(1);
+
+        }
+        if (Objects.nonNull(time) && time == 2) {
+            end = now;
+            start = now.minusMonths(3);
+        }
+        Page<BaseCase> baseCasePage = baseCaseMapper.selectBaseCasePage(page, number, communityId, categories, start, end, site, state, streetId);
+        if (!Objects.isNull(baseCasePage) && CollUtil.isNotEmpty(baseCasePage.getRecords())) {
+            List<BaseCase> records = baseCasePage.getRecords();
+            //TODO:灏嗙姸鎬乻tate鏀逛负鐘舵�佸悕stateName
+            records.stream().forEach(baseCase -> {
+                Integer stateInt = baseCase.getState();
+                if (stateInt == 0) {
+                    baseCase.setStateName("寰呭鐞�");
+                } else if (stateInt == 1) {
+                    baseCase.setStateName("鎶ヨ");
+                } else if (stateInt == 2) {
+                    baseCase.setStateName("涓婃姤");
+                } else if (stateInt == 3) {
+                    baseCase.setStateName("鍦ㄥ涔�");
+                } else if (stateInt == 4) {
+                    baseCase.setStateName("鏆備笉澶勭悊");
+                } else if (stateInt == 5) {
+                    baseCase.setStateName("绔嬫");
+                } else if (stateInt == 6) {
+                    baseCase.setStateName("璋冨害");
+                } else if (stateInt == 7) {
+                    baseCase.setStateName("澶勭疆");
+                } else if (stateInt == 8) {
+                    baseCase.setStateName("鏍告煡");
+                } else if (stateInt == 9) {
+                    baseCase.setStateName("缁撴");
+                } else if (stateInt == 10) {
+                    baseCase.setStateName("寰呬笂鎶�");
+                }
+            });
+            Set<Long> caseIds = records.stream().map(BaseCase::getId).collect(Collectors.toSet());
+            Map<Long, String> urlMap = imageResourcesService.getUrlMap(caseIds, "01");
+            records.stream().forEach(item -> {
+                item.setUrl(urlMap.get(item.getId()));
+            });
+        }
+        return baseCasePage;
     }
+
 
     @Override
     public Page<QueryForViolationVO> selectViolation(QueryForViolationParam queryForViolationParam) {
@@ -416,8 +475,8 @@
     }
 
     @Override
-    public Page<BaseCaseVO> selectVideoInspection(Integer current, Long gradeId, Long videoId, String beginTime, String endTime) {
-        return baseCaseMapper.selectVideoInspection(new Page<>(current, 1), gradeId, videoId, beginTime, endTime);
+    public Page<BaseCaseVO> selectVideoInspection(Integer current, Integer pageSize, Long gradeId, Long videoId, String beginTime, String endTime, Integer type) {
+        return baseCaseMapper.selectVideoInspection(new Page<>(current, pageSize), gradeId, videoId, beginTime, endTime, type);
     }
 
     @Override
@@ -494,7 +553,7 @@
     public List<VideoAndAreaVO> areaCount() {
         List<VideoAndAreaVO> areaCountList = baseCaseMapper.areaCount();
         Long allCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<>());
-        areaCountList.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP)));
+        areaCountList.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / allCount).setScale(4, BigDecimal.ROUND_HALF_UP)));
         return areaCountList;
     }
 
@@ -534,7 +593,7 @@
         if (reportLastMonthCount == 0) {
             report.setRatio(null);
         } else {
-            report.setRatio(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
+            report.setRatio(new BigDecimal(v).setScale(4, BigDecimal.ROUND_HALF_UP).abs());
         }
         if (v < 0) {
             report.setUp(false);
@@ -556,7 +615,7 @@
         if (disposeLastMonthCount == 0) {
             dispose.setRatio(null);
         } else {
-            dispose.setRatio(new BigDecimal(v1).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
+            dispose.setRatio(new BigDecimal(v1).setScale(4, BigDecimal.ROUND_HALF_UP).abs());
         }
         if (v1 < 0) {
             dispose.setUp(false);
@@ -572,7 +631,7 @@
         if (onTimeCaseLastMonthCount == 0) {
             onTimeDispose.setRatio(null);
         } else {
-            onTimeDispose.setRatio(new BigDecimal(v2).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
+            onTimeDispose.setRatio(new BigDecimal(v2).setScale(4, BigDecimal.ROUND_HALF_UP).abs());
         }
         if (v2 < 0) {
             onTimeDispose.setUp(false);
@@ -591,12 +650,12 @@
         registerState.add(BaseCaseStatus.REPORT);
         Long registerLastMonthCount = baseCaseMapper.selectLastMonthCount(registerState);
         Long registerRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(registerState);
-        System.out.println(disposeRecentlyMonthCount);
+//        System.out.println(disposeRecentlyMonthCount);
         Double v3 = (registerRecentlyMonthCount - registerLastMonthCount) * 1.0 / registerLastMonthCount;
         if (disposeLastMonthCount == 0) {
             register.setRatio(null);
         } else {
-            register.setRatio(new BigDecimal(v3).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
+            register.setRatio(new BigDecimal(v3).setScale(4, BigDecimal.ROUND_HALF_UP).abs());
         }
         if (v3 < 0) {
             register.setUp(false);
@@ -609,4 +668,23 @@
         map.put("register", register);
         return map;
     }
+
+    @Override
+    public IPage<WorkOrderVO> getWorkOrder(Integer pageIndex, Integer pageSize, String keyword) {
+        if (pageIndex == null) {
+            pageIndex = 1;
+        }
+        if (pageSize == null) {
+            pageSize = 20;
+        }
+        IPage<WorkOrderVO> page = new Page<>(pageIndex, pageSize);
+        return baseCaseMapper.getWorkOrder(page, keyword);
+    }
+
+    @Override
+    public List<WorkOrderVO> getWorkOrderList(String keyword) {
+        IPage<WorkOrderVO> page = new Page<>(1, 5000);
+        IPage<WorkOrderVO> page1 = baseCaseMapper.getWorkOrder(page, keyword);
+        return page1.getRecords();
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0