From 7ef4892f9f24f941aca37e6b3991b808a0aca619 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期五, 08 九月 2023 11:16:35 +0800
Subject: [PATCH] 优化

---
 ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java |  120 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 86 insertions(+), 34 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
index feea793..330f40c 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/cockpit/statisticsEvents/StatisticsEventsController.java
@@ -1,32 +1,32 @@
 package com.ycl.controller.cockpit.statisticsEvents;
 
+import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ycl.api.CommonResult;
 import com.ycl.entity.cockpitManage.TeamConstruction;
-import com.ycl.entity.video.VideoPoint;
+import com.ycl.entity.cockpitManage.TeamIndex;
+import com.ycl.service.apidata.IApiDataService;
 import com.ycl.service.cockpitManage.ITeamConstructionService;
+import com.ycl.service.equipment.IOrgGridService;
 import com.ycl.service.video.impl.IVideoPointService;
 import com.ycl.util.CheckApiUtil;
 import com.ycl.vo.cockpit.CockpitVO;
+import com.ycl.vo.cockpit.statisticsEvents.GridMapVO;
 import com.ycl.vo.cockpit.statisticsEvents.StatisticsEventsVO;
 import com.ycl.vo.equipment.VideoPointVo;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -45,6 +45,16 @@
 
     private ITeamConstructionService teamConstructionService;
 
+    private IOrgGridService orgGridService;
+
+
+    private IApiDataService iApiDataService;
+
+    @Autowired
+    public void setIApiDataService(IApiDataService apiDataService) {
+        this.iApiDataService = apiDataService;
+    }
+
     @Autowired
     public void setTeamConstructionService(ITeamConstructionService teamConstructionService) {
         this.teamConstructionService = teamConstructionService;
@@ -53,6 +63,11 @@
     @Autowired
     public void setVideoPointService(IVideoPointService videoPointService) {
         this.videoPointService = videoPointService;
+    }
+
+    @Autowired
+    public void setOrgGridService(IOrgGridService orgGridService) {
+        this.orgGridService = orgGridService;
     }
 
     @ApiOperation(value = "鎵ф硶浜嬩欢")
@@ -76,16 +91,8 @@
     @GetMapping("/lot")
     public CommonResult<List<StatisticsEventsVO.LotVO>> lot(@Validated CockpitVO params) {
         checkApiUtil.cockpit(params);
-        List<StatisticsEventsVO.LotVO> lotVOS = new ArrayList<>();
-        StatisticsEventsVO.LotVO a = null;
-        for (int i = 0; i < 4; i++) {
-            a = new StatisticsEventsVO.LotVO();
-            a.setName("鍥㈢粨灞�");
-            a.setType("鎽勫儚澶�");
-            a.setCount(10);
-            a.setRatio(new BigDecimal("-0.3").setScale(2, RoundingMode.HALF_UP));
-            lotVOS.add(a);
-        }
+        List<StatisticsEventsVO.LotVO> lotVOS = iApiDataService.listLot(params.getStreetId(), params.getBeginTime(), params.getEndTime());
+
         return CommonResult.success(lotVOS);
     }
 
@@ -111,7 +118,7 @@
         StatisticsEventsVO.GridMemberVO a = null;
         for (int i = 0; i < 4; i++) {
             a = new StatisticsEventsVO.GridMemberVO();
-            a.setRatio(new BigDecimal("0.20").setScale(2, RoundingMode.HALF_UP));
+            a.setRatio(new BigDecimal("0.20").setScale(4, RoundingMode.HALF_UP));
             a.setName("鍥㈢粨灞�");
             a.setCount(10);
             gridMemberVOS.add(a);
@@ -126,9 +133,9 @@
         StatisticsEventsVO.IndexSignsVO indexSignsVO = new StatisticsEventsVO.IndexSignsVO();
         indexSignsVO.setEvent(1);
         indexSignsVO.setGridMember(20);
-        indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(2, RoundingMode.HALF_UP));
+        indexSignsVO.setCompletePercentage(new BigDecimal("0.60").setScale(4, RoundingMode.HALF_UP));
         indexSignsVO.setEquipment(30);
-        indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(2, RoundingMode.HALF_UP));
+        indexSignsVO.setAccuracy(new BigDecimal("0.80").setScale(4, RoundingMode.HALF_UP));
         indexSignsVO.setTrigger(10);
         indexSignsVO.setLot(30);
         indexSignsVO.setLotOnline(10);
@@ -141,13 +148,17 @@
     @ApiOperation(value = "top10")
     @GetMapping("/top10")
     public CommonResult<List<StatisticsEventsVO.Top10VO>> top10(@Validated CockpitVO params) {
-        checkApiUtil.cockpit(params);
-        List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>();
-        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 100.0));
-        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 90.0));
-        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 80.0));
-        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 70.0));
-        return CommonResult.success(ls);
+//        checkApiUtil.cockpit(params);
+//        List<StatisticsEventsVO.Top10VO> ls = new ArrayList<>();
+//        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 100.0));
+//        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 90.0));
+//        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 80.0));
+//        ls.add(new StatisticsEventsVO.Top10VO("xx涓槦", 70.0));
+//        return CommonResult.success(ls);
+        String beginTime = params.getBeginTime();
+        String endTime = params.getEndTime();
+        List<StatisticsEventsVO.Top10VO> res = iApiDataService.listTop10(beginTime, endTime);
+        return CommonResult.success(res);
     }
 
 
@@ -155,11 +166,8 @@
     @GetMapping("/arithmetic_event")
     public CommonResult<List<StatisticsEventsVO.ArithmeticVO>> arithmeticEvent(@Validated CockpitVO params) {
         checkApiUtil.cockpit(params);
-        List<StatisticsEventsVO.ArithmeticVO> ls = new ArrayList<>();
-        ls.add(new StatisticsEventsVO.ArithmeticVO("xx涓槦", 10, 0.1));
-        ls.add(new StatisticsEventsVO.ArithmeticVO("xx涓槦", 20, 0.2));
-        ls.add(new StatisticsEventsVO.ArithmeticVO("xx涓槦", 30, 0.3));
-        ls.add(new StatisticsEventsVO.ArithmeticVO("xx涓槦", 40, 0.4));
+        List<StatisticsEventsVO.ArithmeticVO> ls = iApiDataService.arithmeticEvent(params.getStreetId(), params.getBeginTime(), params.getEndTime());
+
         return CommonResult.success(ls);
     }
 
@@ -169,7 +177,9 @@
     public CommonResult<StatisticsEventsVO.CityPanelVo> cityPanel(@Validated CockpitVO params) {
         checkApiUtil.cockpit(params);
 
-        StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, 22, 12, 22, 34, 99, 9, 34, 6);
+        StatisticsEventsVO.CityPanelVo vo = new StatisticsEventsVO.CityPanelVo(92, true, 22, false, 12, true,
+                22, false, 34, true, 99, false, 9, true,
+                34, false, 6, true);
 
         return CommonResult.success(vo);
     }
@@ -179,12 +189,18 @@
     @GetMapping("/video_point")
     public CommonResult<List<VideoPointVo>> videoPoint(@Validated CockpitVO params) {
         checkApiUtil.cockpit(params);
-
         IPage<VideoPointVo> page = videoPointService.getList(null, null, 1, 500);
-
         return CommonResult.success(page.getRecords());
     }
 
+    @ApiOperation(value = "缃戞牸鍦板浘")
+    @GetMapping("/grid_map")
+    public CommonResult<List<GridMapVO>> gridMap(@Validated CockpitVO params) {
+        checkApiUtil.cockpit(params);
+
+        List<GridMapVO> list = orgGridService.statisticsGridMap(params.getBeginTime(), params.getEndTime());
+        return CommonResult.success(list);
+    }
 
     @ApiOperation(value = "闃熶紞寤鸿")
     @GetMapping("/team_construction")
@@ -192,7 +208,43 @@
         checkApiUtil.cockpit(params);
         LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
         List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
-
         return CommonResult.success(list);
     }
+
+
+    @ApiOperation(value = "涓槦鎸囨暟浣撳緛")
+    @GetMapping("/team_index")
+    public CommonResult<List<TeamIndex>> teamIndex(@Validated CockpitVO params) {
+        checkApiUtil.cockpit(params);
+
+        // LambdaQueryWrapper<TeamConstruction> queryWrapper = new LambdaQueryWrapper<TeamConstruction>().eq(TeamConstruction::getStatus, 1).eq(TeamConstruction::getIsDelete, 0);
+        // List<TeamConstruction> list = teamConstructionService.list(queryWrapper);
+        // List<TeamIndex> teamIndexList = BeanUtil.copyToList(list, TeamIndex.class);
+        // teamIndexList.forEach(o -> {
+        //     o.setStepTimely(0.0);
+        //     o.setStepDelayed(0.0);
+        //     o.setStepOvertime(0.0);
+        //     o.setHandleTimely(0.0);
+        //     o.setHandleDelayed(0.0);
+        //     o.setHandleOvertime(0.0);
+        //     o.setNoHandle(0.0);
+        // });
+        List<TeamIndex> teamIndexList = teamConstructionService.teamIndex(params.getBeginTime(), params.getEndTime());
+        teamIndexList.forEach(o -> {
+
+            o.setAllocation(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount())
+                    + 18 * ((double) o.getOverCount() / (double) o.getAllCount())
+                    + 15 * ((double) o.getNoHandleCount() / (double) o.getAllCount()));
+            o.setHandle(20 * ((double) o.getPunctualityCount() / (double) o.getAllCount())
+                    + 5 * ((double) o.getOverCount() / (double) o.getAllCount())
+                    - 2 * ((double) o.getNoHandleCount() / (double) o.getAllCount()));
+
+            o.setOnline(0.0);
+            o.setDuration(0.0);
+            o.setDistance(0.0);
+        });
+        return CommonResult.success(teamIndexList);
+    }
 }
+
+

--
Gitblit v1.8.0