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;
|
import java.math.RoundingMode;
|
import java.text.NumberFormat;
|
import java.time.format.DateTimeFormatter;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
public class UnlawfulServiceImpl implements UnlawfulService {
|
|
@Resource
|
private UnlawfulMapper unlawfuldao;
|
|
|
/**
|
* 按类型
|
*/
|
@Override
|
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);
|
}
|
|
private IPage<UnlawfulDto> getUnlawfulDtoIPage(Double total, IPage<UnlawfulDto> page1) {
|
page1.getRecords().forEach(dto -> {
|
dto.setRatio(StringUtils.doubleTwo((double) dto.getCount() * 100 / total) + "%");
|
dto.setRegisterRatio(StringUtils.doubleTwo((double) dto.getRegister() * 100 / (double) dto.getCount()) + "%");
|
dto.setCheckedRatio(StringUtils.doubleTwo((double) dto.getChecked() * 100 / (double) dto.getCount()) + "%");
|
dto.setAccuracyRatio(StringUtils.doubleTwo(1.0 - (double) dto.getRelearn() * 100 / (double) dto.getCount()) + "%");
|
|
});
|
return page1;
|
}
|
|
/**
|
* 按区域
|
*/
|
@Override
|
public IPage<UnlawfulDto> getUnlawfulByStreet(Integer currentPage, Integer pageSize, String startTime, String endTime) {
|
Page<UnlawfulDto> page = new Page<>(currentPage, pageSize);
|
|
Double total = unlawfuldao.getTotal(startTime, endTime, false, true, false).doubleValue();
|
IPage<UnlawfulDto> page1 = unlawfuldao.getDataByStreet(page, startTime, endTime);
|
return getUnlawfulDtoIPage(total, page1);
|
}
|
|
|
@Override
|
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 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);
|
|
}
|
|
}
|