From bd8147d7890bf60d88e4007c1af726ba5f364cf5 Mon Sep 17 00:00:00 2001 From: baizonghao <1719256278@qq.com> Date: 星期二, 14 三月 2023 11:24:31 +0800 Subject: [PATCH] 拼接地址 --- ycl-platform/src/main/java/com/ycl/service/unlawful/impl/UnlawfulServiceImpl.java | 183 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 152 insertions(+), 31 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..43af345 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 @@ -2,6 +2,7 @@ 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; @@ -10,9 +11,9 @@ import javax.annotation.Resource; import java.math.RoundingMode; import java.text.NumberFormat; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; -import java.util.function.Consumer; @Service public class UnlawfulServiceImpl implements UnlawfulService { @@ -21,61 +22,181 @@ 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() { List<UnlawfulDto> res = new ArrayList<>(); Double total = unlawfuldao.getTotal().doubleValue(); List<CategoryDto> data = unlawfuldao.getDataByTypeExp(); 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); + format(res, total, categoryDto, statusData); }); return res; } + @Override + public Integer getTotalByType(String startTime, String endTime) { + return unlawfuldao.getTotalByType(startTime, endTime); + } + + /** + * 鎸夊尯鍩� + */ + @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; + } + + @Override + public Integer getTotalByStreet(String startTime, String endTime) { + return unlawfuldao.getTotalByStreet(startTime, endTime); + } + + /** + * 鎸夋姤璀︾偣浣� + */ + @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; + } + + @Override + public Integer getTotalByTime(String startTime, String endTime) { + return unlawfuldao.getTotalBySite(startTime, endTime); + } + private Double changeFormat(Double previous){ NumberFormat numberInstance = NumberFormat.getNumberInstance(); - numberInstance.setMaximumFractionDigits(2); + 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