|
@@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -62,6 +64,9 @@ public class EnforceSuperviseController {
|
|
@GetMapping("/enforcement/process/joblist")
|
|
@GetMapping("/enforcement/process/joblist")
|
|
public TableInfo<EnforcementJobProcessDTO> getEnforcementJobProcessList(EnforcementJobProcessQuery query) {
|
|
public TableInfo<EnforcementJobProcessDTO> getEnforcementJobProcessList(EnforcementJobProcessQuery query) {
|
|
getOrgIds(query);
|
|
getOrgIds(query);
|
|
|
|
+ if (!getTime(query)) {//执法全过程无记录数量
|
|
|
|
+ return new TableInfo<>(new ArrayList<>());
|
|
|
|
+ }
|
|
startPage();
|
|
startPage();
|
|
List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
|
|
List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
|
|
return new TableInfo<>(list);
|
|
return new TableInfo<>(list);
|
|
@@ -71,6 +76,9 @@ public class EnforceSuperviseController {
|
|
@GetMapping(value = "/enforcement/process/joblist/export")
|
|
@GetMapping(value = "/enforcement/process/joblist/export")
|
|
public void getEnforcementJobProcessListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
|
|
public void getEnforcementJobProcessListExport(HttpServletResponse response, EnforcementJobProcessQuery query) {
|
|
getOrgIds(query);
|
|
getOrgIds(query);
|
|
|
|
+ if (!getTime(query)) {//执法全过程无记录数量
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
|
|
List<EnforcementJobProcessDTO> list = enforceSuperviseMapper.getEnforcementJobProcessList(query);
|
|
if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
|
|
if (com.zfjg.common.core.utils.StringUtils.isEmpty(list)) {
|
|
return;
|
|
return;
|
|
@@ -255,6 +263,63 @@ public class EnforceSuperviseController {
|
|
query.setEnforceOrgId(null);
|
|
query.setEnforceOrgId(null);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ public static boolean getTime(EnforcementJobProcessQuery query) {
|
|
|
|
+ if (Objects.equals("evaluate", query.getEntrace())) {
|
|
|
|
+ // 定义时间格式
|
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ String startDate = query.getStartDate();
|
|
|
|
+ String endDate = query.getEndDate();
|
|
|
|
+ // 传递过来的两个时间段
|
|
|
|
+ LocalDateTime start = LocalDateTime.parse(startDate, formatter);
|
|
|
|
+ LocalDateTime end = LocalDateTime.parse(endDate, formatter);
|
|
|
|
+
|
|
|
|
+ LocalDateTime start1 = LocalDateTime.parse("2024-10-10 00:00:00",formatter);
|
|
|
|
+ LocalDateTime end1 = LocalDateTime.parse("2024-10-31 23:59:59", formatter);
|
|
|
|
+ //时间段早于2024-10-10,无过程记录
|
|
|
|
+ if (end.isBefore(start1)) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ query.setProcess(true);
|
|
|
|
+ if (ObjectUtils.isNotEmpty(query.getRelate())) {
|
|
|
|
+ query.setRelate(false);//未关联
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ query.setStartDate(null);
|
|
|
|
+ query.setEndDate(null);
|
|
|
|
+ LocalDateTime start2 = LocalDateTime.parse("2024-11-01 23:59:59", formatter);
|
|
|
|
+ LocalDateTime end2 = LocalDateTime.parse("2024-12-17 00:00:00",formatter);
|
|
|
|
+
|
|
|
|
+ //时间段大于2024-11-01
|
|
|
|
+ if (start.isAfter(end2)) {
|
|
|
|
+ query.setStartDate2(startDate);
|
|
|
|
+ query.setEndDate2(endDate);
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+ if (end.isAfter(end2)) {
|
|
|
|
+ query.setEndDate3(endDate);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 计算交集
|
|
|
|
+ LocalDateTime intersectionStart1 = start.isAfter(start1) ? start : start1;
|
|
|
|
+ LocalDateTime intersectionEnd1 = end.isBefore(end1) ? end : end1;
|
|
|
|
+
|
|
|
|
+ LocalDateTime intersectionStart2 = start.isAfter(start2) ? start : start2;
|
|
|
|
+ LocalDateTime intersectionEnd2 = end.isBefore(end2) ? end : end2;
|
|
|
|
+
|
|
|
|
+ // 检查是否有交集
|
|
|
|
+ if (!intersectionStart1.isAfter(intersectionEnd1)) {
|
|
|
|
+ query.setStartDate1(intersectionStart1.format(formatter));
|
|
|
|
+ query.setEndDate1(intersectionEnd1.format(formatter));
|
|
|
|
+ }
|
|
|
|
+ if (!intersectionStart2.isAfter(intersectionEnd2)) {
|
|
|
|
+ query.setStartDate2(intersectionStart2.format(formatter));
|
|
|
|
+ query.setEndDate2(intersectionEnd2.format(formatter));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
public void getTypeName(EnforcementJobProcessQuery query){
|
|
public void getTypeName(EnforcementJobProcessQuery query){
|
|
if (ObjectUtils.isNotEmpty(query.getJobType())) {
|
|
if (ObjectUtils.isNotEmpty(query.getJobType())) {
|
|
switch (query.getJobType()) {
|
|
switch (query.getJobType()) {
|