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