From 87a395a6024278594a0a80d25a24ba4ca5993513 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期六, 18 三月 2023 17:42:10 +0800
Subject: [PATCH] 统计修改

---
 ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java |  193 +++++++++--------------------------------------
 1 files changed, 38 insertions(+), 155 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
index 43af345..fa20858 100644
--- a/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java
@@ -1,11 +1,14 @@
 package com.ycl.service.unlawful.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ycl.dto.statistics.CategoryDto;
 import com.ycl.dto.statistics.StatusDto;
 import com.ycl.dto.statistics.TimeDto;
 import com.ycl.dto.statistics.UnlawfulDto;
 import com.ycl.mapper.unlawful.UnlawfulMapper;
 import com.ycl.service.unlawful.UnlawfulService;
+import com.ycl.utils.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -26,177 +29,57 @@
      * 鎸夌被鍨�
      */
     @Override
-    public List<UnlawfulDto> getUnlawfulByType(Integer currentPage, Integer pageSize, String startTime, String endTime) {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<CategoryDto> data = unlawfuldao.getDataByType(currentPage, pageSize, startTime, endTime);
-        data.forEach(categoryDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByType(startTime, endTime, categoryDto.getId());
-            format(res, total, categoryDto, statusData);
-        });
-        return res;
-    }
-    @Override
-    public List<UnlawfulDto> getUnlawfulByTypeExport() {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<CategoryDto> data = unlawfuldao.getDataByTypeExp();
-        data.forEach(categoryDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByType(null, null, categoryDto.getId());
-            format(res, total, categoryDto, statusData);
-        });
-        return res;
+    public IPage<UnlawfulDto> getUnlawfulByType(Integer currentPage, Integer pageSize, String startTime, String endTime) {
+        Page<UnlawfulDto> page = new Page<>(currentPage, pageSize);
+
+        Double total = unlawfuldao.getTotal(startTime, endTime, true, false, false).doubleValue();
+        IPage<UnlawfulDto> page1 = unlawfuldao.getDataByType(page, startTime, endTime);
+        return getUnlawfulDtoIPage(total, page1);
     }
 
-    @Override
-    public Integer getTotalByType(String startTime, String endTime) {
-        return unlawfuldao.getTotalByType(startTime, endTime);
+    private IPage<UnlawfulDto> getUnlawfulDtoIPage(Double total, IPage<UnlawfulDto> page1) {
+        page1.getRecords().forEach(dto -> {
+            dto.setRatio(StringUtils.doubleTwo((double) dto.getCount() / total));
+            dto.setRegisterRatio(StringUtils.doubleTwo((double) dto.getRegister() / (double) dto.getCount()));
+            dto.setCheckedRatio(StringUtils.doubleTwo((double) dto.getChecked() / (double) dto.getCount()));
+            dto.setAccuracyRatio(StringUtils.doubleTwo(1.0 - (double) dto.getRelearn() / (double) dto.getCount()));
+
+        });
+        return page1;
     }
 
     /**
      * 鎸夊尯鍩�
      */
     @Override
-    public List<UnlawfulDto> getUnlawfulByStreet(Integer currentPage, Integer pageSize, String startTime, String endTime) {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<CategoryDto> data = unlawfuldao.getDataByStreet(currentPage, pageSize, startTime, endTime);
-        data.forEach(categoryDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByStreet(startTime, endTime, categoryDto.getId());
-            format(res, total, categoryDto, statusData);
-        });
-        return res;
-    }
-    @Override
-    public List<UnlawfulDto> getUnlawfulByStreetExport() {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<CategoryDto> data = unlawfuldao.getDataByStreetExp();
-        data.forEach(categoryDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByStreet(null, null, categoryDto.getId());
-            format(res, total, categoryDto, statusData);
-        });
-        return res;
-    }
+    public IPage<UnlawfulDto> getUnlawfulByStreet(Integer currentPage, Integer pageSize, String startTime, String endTime) {
+        Page<UnlawfulDto> page = new Page<>(currentPage, pageSize);
 
-    @Override
-    public Integer getTotalByStreet(String startTime, String endTime) {
-        return unlawfuldao.getTotalByStreet(startTime, endTime);
+        Double total = unlawfuldao.getTotal(startTime, endTime, false, true, false).doubleValue();
+        IPage<UnlawfulDto> page1 = unlawfuldao.getDataByStreet(page, startTime, endTime);
+        return getUnlawfulDtoIPage(total, page1);
     }
-
-    /**
-     * 鎸夋姤璀︾偣浣�
-     */
-    @Override
-    public List<UnlawfulDto> getUnlawfulBySite(Integer currentPage, Integer pageSize, String startTime, String endTime) {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<String> data = unlawfuldao.getDataBySite(currentPage, pageSize, startTime, endTime);
-        data.forEach(site -> {
-            StatusDto statusData = unlawfuldao.getStatusDataBySite(startTime, endTime, site);
-            format1(res, total, site, statusData);
-        });
-        return res;
-    }
-    @Override
-    public List<UnlawfulDto> getUnlawfulBySiteExport() {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<String> data = unlawfuldao.getDataBySiteExp();
-        data.forEach(site -> {
-            StatusDto statusData = unlawfuldao.getStatusDataBySite(null, null, site);
-            format1(res, total, site, statusData);
-        });
-        return res;
-    }
-
-    @Override
-    public Integer getTotalBySite(String startTime, String endTime) {
-        return unlawfuldao.getTotalBySite(startTime, endTime);
-    }
-
-    @Override
-    public List<UnlawfulDto> getUnlawfulByTime(Integer currentPage, Integer pageSize, String startTime, String endTime) {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<TimeDto> data = unlawfuldao.getDataByTime(currentPage, pageSize, startTime, endTime);
-        data.forEach(timeDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByTime(startTime, endTime, timeDto.getId());
-            format2(res, total, timeDto, statusData);
-        });
-        return res;
-    }
-
 
 
     @Override
-    public List<UnlawfulDto> getUnlawfulByTimeExport() {
-        List<UnlawfulDto> res = new ArrayList<>();
-        Double total = unlawfuldao.getTotal().doubleValue();
-        List<TimeDto> data = unlawfuldao.getDataByTimeExp();
-        data.forEach(timeDto -> {
-            StatusDto statusData = unlawfuldao.getStatusDataByTime(null, null, timeDto.getId());
-            format2(res, total, timeDto, statusData);
-        });
-        return res;
+    public IPage<UnlawfulDto> getUnlawfulByTime(Integer currentPage, Integer pageSize, String startTime, String endTime) {
+        Page<UnlawfulDto> page = new Page<>(currentPage, pageSize);
+
+        Double total = unlawfuldao.getTotal(startTime, endTime, false, false, false).doubleValue();
+        IPage<UnlawfulDto> page1 = unlawfuldao.getDataByTime(page, startTime, endTime);
+        return getUnlawfulDtoIPage(total, page1);
     }
+
 
     @Override
-    public Integer getTotalByTime(String startTime, String endTime) {
-        return unlawfuldao.getTotalBySite(startTime, endTime);
+    public IPage<UnlawfulDto> getUnlawfulByPoint(Integer currentPage, Integer pageSize, String startTime, String endTime) {
+
+        Page<UnlawfulDto> page = new Page<>(currentPage, pageSize);
+
+        Double total = unlawfuldao.getTotal(startTime, endTime, false, false, true).doubleValue();
+        IPage<UnlawfulDto> page1 = unlawfuldao.getDataByPoint(page, startTime, endTime);
+        return getUnlawfulDtoIPage(total, page1);
+
     }
 
-    private Double changeFormat(Double previous){
-        NumberFormat numberInstance = NumberFormat.getNumberInstance();
-        numberInstance.setMaximumFractionDigits(3);
-        numberInstance.setRoundingMode(RoundingMode.HALF_UP);
-        String format = numberInstance.format(previous);
-        return Double.parseDouble(format);
-    }
-
-    private void format(List<UnlawfulDto> res, Double total, CategoryDto categoryDto, StatusDto statusData) {
-        UnlawfulDto build = UnlawfulDto.builder().name(categoryDto.getName())     //绫诲瀷鍚嶇О
-                .count(statusData.getTotal())   //浜嬩欢鎬绘暟
-                .ratio(changeFormat(statusData.getTotal().doubleValue() / total))     //鍗犳瘮
-                .register(statusData.getRegister())     //绔嬫
-                .notRegister(statusData.getNotRegister())   //鏆備笉绔嬫
-                .closing(statusData.getClosing())   //缁撴
-                .relearn(statusData.getRelearn())   //鍦ㄥ涔�
-                .checked(statusData.getChecked())   //宸插鏍�
-                .checkedRatio(changeFormat(statusData.getChecked().doubleValue() / statusData.getTotal().doubleValue()))  //瀹℃牳鐜�
-                .registerRatio(changeFormat(statusData.getRegister().doubleValue() / statusData.getTotal().doubleValue()))    //绔嬫鐜�
-                .build();
-        res.add(build);
-    }
-
-    private void format2(List<UnlawfulDto> res, Double total, TimeDto timeDto, StatusDto statusData) {
-        DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-        UnlawfulDto build = UnlawfulDto.builder().name(timeDto.getTime().format(fmt))     //绫诲瀷鍚嶇О
-                .count(statusData.getTotal())   //浜嬩欢鎬绘暟
-                .ratio(changeFormat(statusData.getTotal().doubleValue() / total))     //鍗犳瘮
-                .register(statusData.getRegister())     //绔嬫
-                .notRegister(statusData.getNotRegister())   //鏆備笉绔嬫
-                .closing(statusData.getClosing())   //缁撴
-                .relearn(statusData.getRelearn())   //鍦ㄥ涔�
-                .checked(statusData.getChecked())   //宸插鏍�
-                .checkedRatio(changeFormat(statusData.getChecked().doubleValue() / statusData.getTotal().doubleValue()))  //瀹℃牳鐜�
-                .registerRatio(changeFormat(statusData.getRegister().doubleValue() / statusData.getTotal().doubleValue()))    //绔嬫鐜�
-                .build();
-        res.add(build);
-    }
-
-    private void format1(List<UnlawfulDto> res, Double total, String site, StatusDto statusData) {
-        UnlawfulDto build = UnlawfulDto.builder().name(site)     //绫诲瀷鍚嶇О
-                .count(statusData.getTotal())   //浜嬩欢鎬绘暟
-                .ratio(changeFormat(statusData.getTotal().doubleValue() / total))     //鍗犳瘮
-                .register(statusData.getRegister())     //绔嬫
-                .notRegister(statusData.getNotRegister())   //鏆備笉绔嬫
-                .closing(statusData.getClosing())   //缁撴
-                .relearn(statusData.getRelearn())   //鍦ㄥ涔�
-                .checked(statusData.getChecked())   //宸插鏍�
-                .checkedRatio(changeFormat(statusData.getChecked().doubleValue() / statusData.getTotal().doubleValue()))  //瀹℃牳鐜�
-                .registerRatio(changeFormat(statusData.getRegister().doubleValue() / statusData.getTotal().doubleValue()))    //绔嬫鐜�
-                .build();
-        res.add(build);
-    }
 }

--
Gitblit v1.8.0