From c4aa721a61edb5ff4502d621897c266b98ef3d1c Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期五, 24 二月 2023 11:18:58 +0800 Subject: [PATCH] 按报警点位统计,按区域统计 --- ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java | 121 +++++++++++++++++++++++++++++----------- 1 files changed, 87 insertions(+), 34 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 9c21b2c..16b8cdc 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 @@ -12,61 +12,84 @@ import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; -import java.util.function.Consumer; @Service public class UnlawfulServiceImpl implements UnlawfulService { + + private List<UnlawfulDto> res = new ArrayList<>(); @Resource private UnlawfulMapper unlawfuldao; + /** + * 鎸夌被鍨� + */ @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 -> { - Double checkedRatio; //瀹℃牳鐜� - Double registerRatio; //绔嬫鐜� StatusDto statusData = unlawfuldao.getStatusDataByType(startTime, endTime, categoryDto.getId()); - UnlawfulDto build = new 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); + format(res, total, categoryDto, statusData); + }); + return res; + } + @Override + public List<UnlawfulDto> getUnlawfulByTypeExport() { + 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; } + /** + * 鎸夊尯鍩� + */ @Override - public List<UnlawfulDto> getUnlawfulByTypeExport() { - List<UnlawfulDto> res = new ArrayList<>(); + public List<UnlawfulDto> getUnlawfulByStreet(Integer currentPage, Integer pageSize, String startTime, String endTime) { Double total = unlawfuldao.getTotal().doubleValue(); - List<CategoryDto> data = unlawfuldao.getDataByTypeExp(); + List<CategoryDto> data = unlawfuldao.getDataByStreet(currentPage, pageSize, startTime, endTime); data.forEach(categoryDto -> { - Double checkedRatio; //瀹℃牳鐜� - Double registerRatio; //绔嬫鐜� - StatusDto statusData = unlawfuldao.getStatusDataByType(null, null, categoryDto.getId()); - UnlawfulDto build = new 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); + StatusDto statusData = unlawfuldao.getStatusDataByStreet(startTime, endTime, categoryDto.getId()); + format(res, total, categoryDto, statusData); + }); + return res; + } + @Override + public List<UnlawfulDto> getUnlawfulByStreetExport() { + 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; + } + + /** + * 鎸夋姤璀︾偣浣� + */ + @Override + public List<UnlawfulDto> getUnlawfulBySite(Integer currentPage, Integer pageSize, String startTime, String endTime) { + 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() { + 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; } @@ -78,4 +101,34 @@ 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 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