forked from zhuyuchen/buliang
135 lines
5.3 KiB
Java
135 lines
5.3 KiB
Java
package com.example.demo.service;
|
||
|
||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||
import com.baomidou.mybatisplus.extension.service.IService;
|
||
import com.example.demo.domain.TsjbData;
|
||
import com.example.demo.domain.TsjbDataAudit;
|
||
import com.example.demo.entity.TongJi.TouSuJuBaoLv;
|
||
import com.example.demo.entity.vo.DaPingScoreQX;
|
||
import com.example.demo.entity.vo.ZHZSVo;
|
||
import com.example.demo.entity.vo.ZhzsScoreVo;
|
||
import com.example.demo.util.R;
|
||
import com.example.demo.util.ZR;
|
||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||
import org.springframework.util.ObjectUtils;
|
||
import org.springframework.web.multipart.MultipartFile;
|
||
|
||
import javax.servlet.http.HttpServletResponse;
|
||
import java.time.LocalDate;
|
||
import java.time.format.DateTimeFormatter;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* @author zhuYuChen
|
||
* @description 针对表【TSJB_DATA】的数据库操作Service
|
||
* @createDate 2023-12-25 15:35:03
|
||
*/
|
||
@DS("db2")
|
||
public interface TsjbDataService extends IService<TsjbData> {
|
||
|
||
void cleanShuQiu();
|
||
|
||
void cleanJuBao();
|
||
|
||
void cleanJuBaoTest();
|
||
|
||
void cleanZongJu();
|
||
|
||
/**
|
||
* 投诉率
|
||
*/
|
||
ZR<List<TouSuJuBaoLv>> GetTouSuLv(String startTime, String endTime, String ly, String szqx);
|
||
|
||
ZR<List<TouSuJuBaoLv>> GetTouSuLvAll(String start, String end, String ly, String szqx);
|
||
|
||
ZhzsScoreVo<TouSuJuBaoLv> getTouSuLvAllVo(LocalDate startTime, LocalDate endTime, String ly, String szqx);
|
||
|
||
//投诉举报大屏演示
|
||
ZR<List<TouSuJuBaoLv>> getTouSuLvDaPing(String startTime, String endTime, String ly, String szqx);
|
||
|
||
|
||
//投诉举报大屏演示
|
||
|
||
/**
|
||
* 获取特定时间段内,指定区域和街道的投诉举报率
|
||
* 该方法用于统计在给定的开始和结束时间内,符合各类别和指定区域条件的投诉举报信息,
|
||
* 并按街道分类返回这些信息的列表
|
||
*
|
||
* @param startTime 开始时间,格式为"yyyy-MM-dd",用于限定查询的时间范围起点
|
||
* @param endTime 结束时间,格式为"yyyy-MM-dd",用于限定查询的时间范围终点
|
||
* @param hj 领域,表示投诉举报的类型,用于筛选特定类型的投诉举报信息
|
||
* @param szqx 区域,表示投诉举报发生的区域,用于筛选特定区域的投诉举报信息
|
||
* @param street 街道,表示投诉举报发生的街道,用于筛选特定街道的投诉举报信息
|
||
* @return 返回一个ZR对象,封装了List<TouSuJuBaoLv>类型的列表,每个列表项代表一个街道的投诉举报率信息
|
||
*/
|
||
ZR<List<TouSuJuBaoLv>> getTouSuLvDaPingStreet(LocalDate startTime, LocalDate endTime, String hj, String szqx, String street);
|
||
|
||
/**
|
||
* 上面方法的重载
|
||
*/
|
||
default ZR<List<TouSuJuBaoLv>> getTouSuLvDaPingStreet(String startTime, String endTime, String hj, String szqx, String street) {
|
||
// 定义日期格式解析器
|
||
DateTimeFormatter dateString = DateTimeFormatter.ofPattern("yyyy/M/d");
|
||
// 解析开始和结束日期
|
||
LocalDate start = !ObjectUtils.isEmpty(startTime) ? LocalDate.parse(startTime, dateString) : null;
|
||
LocalDate end = !ObjectUtils.isEmpty(endTime) ? LocalDate.parse(endTime, dateString) : null;
|
||
return getTouSuLvDaPingStreet(start, end, hj, szqx, street);
|
||
}
|
||
|
||
/**
|
||
* 上面方法的重载
|
||
*/
|
||
default ZR<List<TouSuJuBaoLv>> getTouSuLvDaPingStreet(String startTime, String endTime, String hj, String szqx, String street, int littlemonth) {
|
||
// 定义日期格式解析器
|
||
DateTimeFormatter dateString = DateTimeFormatter.ofPattern("yyyy/M/d");
|
||
// 解析开始和结束日期
|
||
LocalDate start = !ObjectUtils.isEmpty(startTime) ? LocalDate.parse(startTime, dateString) : null;
|
||
LocalDate end = !ObjectUtils.isEmpty(endTime) ? LocalDate.parse(endTime, dateString) : null;
|
||
start = start.plusMonths(littlemonth);
|
||
end = end.plusMonths(littlemonth);
|
||
return getTouSuLvDaPingStreet(start, end, hj, szqx, street);
|
||
}
|
||
|
||
|
||
//投诉举报环节界面大屏演示
|
||
ZR<List<DaPingScoreQX>> getScoreByHuanJie(String szqx, String start, String end);
|
||
|
||
//投诉举报区县界面大屏演示
|
||
List<ZHZSVo> getScoreByQuAndHj(String hj, String szqx, LocalDate startTime, LocalDate endTime);
|
||
|
||
//投诉举报区县界面大屏演示
|
||
List<ZHZSVo> getScoreByStreetQuery(String hj, String szqx, LocalDate startTime, LocalDate endTime);
|
||
|
||
/**
|
||
* 投诉率详情导出
|
||
*/
|
||
void getTouSuLvExport(String startTime, String endTime, String ly, String szqx, HttpServletResponse response);
|
||
|
||
ZR<List<TouSuJuBaoLv>> getTouSuLvYZ(Double lv);
|
||
|
||
/**
|
||
* 根据环节权重,求总分
|
||
*/
|
||
List<TouSuJuBaoLv> getAllScore(List<TouSuJuBaoLv> tsjbLvList);
|
||
|
||
IPage<TsjbData> pageTsjb(String wherestr, int page, int limit);
|
||
|
||
R updateData(TsjbDataAudit tsjbDataAudit);
|
||
|
||
void exportByHuanJie(HttpServletResponse response, String startTime, String endTime, String ly, String szqx);
|
||
|
||
/**
|
||
* 根据条件导出数据
|
||
*/
|
||
void export(HttpServletResponse response, String wherestr, int page, int limit);
|
||
|
||
void Import(MultipartFile file);
|
||
|
||
ZR<List<DaPingScoreQX>> getScoreByQu() throws JsonProcessingException;
|
||
|
||
void updateDataPending(TsjbDataAudit tsjbDataAudit);
|
||
|
||
Integer selectAuditCount(String auditName);
|
||
}
|