buliang/src/main/java/com/example/demo/service/TsjbDataService.java
2025-06-23 23:40:54 +08:00

135 lines
5.3 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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);
}