Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -22,11 +22,11 @@ public class BaseReq {
|
||||
|
||||
@Schema(description = "文件创建搜索开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String startTime;
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "文件创建搜索结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private String endTime;
|
||||
private LocalDateTime finishTime;
|
||||
|
||||
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
|
||||
private List<String> createTime;
|
||||
@@ -46,8 +46,8 @@ public class BaseReq {
|
||||
try {
|
||||
// 解析时间字符串为 LocalDateTime
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
this.startTime = createTime.get(0);
|
||||
this.endTime = createTime.get(1);
|
||||
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
|
||||
this.finishTime = LocalDateTime.parse(createTime.get(1), formatter);
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
|
||||
}
|
||||
|
||||
36
project/src/main/java/com/sdm/project/common/BaseEntity.java
Normal file
36
project/src/main/java/com/sdm/project/common/BaseEntity.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package com.sdm.project.common;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.sdm.common.entity.bo.BaseBean;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class BaseEntity extends BaseBean {
|
||||
private long id;
|
||||
|
||||
@Schema(description = "所属公司")
|
||||
public String company;
|
||||
|
||||
@Schema(description = "更新者ID")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
public Long updater;
|
||||
|
||||
@Schema(description = "更新者名称")
|
||||
public String updaterName;
|
||||
|
||||
@Schema(description = "更新时间")
|
||||
public String updateTime;
|
||||
|
||||
@Schema(description = "租户ID")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
public Long tenantId;
|
||||
|
||||
@Schema(description = "模版创建者名称")
|
||||
public String createName;
|
||||
|
||||
@Schema(description = "创建者ID")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
public Long creator;
|
||||
public String creatorName;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ public class SimulationAnalysisController {
|
||||
*/
|
||||
@PostMapping("/runList")
|
||||
@Operation(summary = "算例", description = "算例")
|
||||
public SdmResponse runList(SpdmAnalysisRunListReq req) {
|
||||
public SdmResponse runList(@RequestBody SpdmAnalysisRunListReq req) {
|
||||
return taskService.analysisRunList(req);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +1,25 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.common.entity.req.data.TagReq;
|
||||
import com.sdm.common.entity.req.project.BaseReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelParam;
|
||||
import com.sdm.project.common.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SpdmAnalysisPerformanceListReq extends BaseReq {
|
||||
public class SpdmAnalysisPerformanceListReq extends BaseEntity {
|
||||
|
||||
@NotNull(message = "current不能为空")
|
||||
private Integer current;
|
||||
@@ -98,5 +103,41 @@ public class SpdmAnalysisPerformanceListReq extends BaseReq {
|
||||
@Schema(description = "标签请求参数")
|
||||
private TagReq tagReq;
|
||||
|
||||
@Schema(description = "文件创建搜索开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "文件创建搜索结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime finishTime;
|
||||
|
||||
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
|
||||
private List<String> createTime;
|
||||
|
||||
// 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法
|
||||
@JsonSetter("createTime")
|
||||
public void setCreateTime(List<String> createTime) {
|
||||
this.createTime = createTime;
|
||||
parseCreateTimeToStartEndTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析 createTime 并赋值给 startTime 和 endTime
|
||||
*/
|
||||
private void parseCreateTimeToStartEndTime() {
|
||||
if (createTime != null && createTime.size() == 2) {
|
||||
try {
|
||||
// 解析时间字符串为 LocalDateTime
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
|
||||
this.finishTime = LocalDateTime.parse(createTime.get(1), formatter);
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@JsonProperty(value = "pMembers")
|
||||
private Long pMembers;
|
||||
|
||||
}
|
||||
|
||||
@@ -2,21 +2,24 @@ package com.sdm.project.model.req;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.common.entity.req.data.TagReq;
|
||||
import com.sdm.common.entity.req.project.BaseReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelParam;
|
||||
import com.sdm.project.common.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SpdmAnalysisRunListReq extends BaseReq {
|
||||
public class SpdmAnalysisRunListReq extends BaseEntity {
|
||||
|
||||
@NotNull(message = "current不能为空")
|
||||
private Integer current;
|
||||
@@ -102,4 +105,42 @@ public class SpdmAnalysisRunListReq extends BaseReq {
|
||||
*/
|
||||
@Schema(description = "标签请求参数")
|
||||
private TagReq tagReq;
|
||||
|
||||
@Schema(description = "文件创建搜索开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "文件创建搜索结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime finishTime;
|
||||
|
||||
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
|
||||
private List<String> createTime;
|
||||
|
||||
// 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法
|
||||
@JsonSetter("createTime")
|
||||
public void setCreateTime(List<String> createTime) {
|
||||
this.createTime = createTime;
|
||||
parseCreateTimeToStartEndTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析 createTime 并赋值给 startTime 和 endTime
|
||||
*/
|
||||
private void parseCreateTimeToStartEndTime() {
|
||||
if (createTime != null && createTime.size() == 2) {
|
||||
try {
|
||||
// 解析时间字符串为 LocalDateTime
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
|
||||
this.finishTime = LocalDateTime.parse(createTime.get(1), formatter);
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@JsonProperty(value = "pMembers")
|
||||
private Long pMembers;
|
||||
|
||||
}
|
||||
|
||||
@@ -3,20 +3,25 @@ package com.sdm.project.model.req;
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonSetter;
|
||||
import com.sdm.common.entity.ExportExcelFormat;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.common.entity.req.data.TagReq;
|
||||
import com.sdm.common.entity.req.project.BaseReq;
|
||||
import com.sdm.common.entity.req.task.TaskExportExcelParam;
|
||||
import com.sdm.project.common.BaseEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SpdmAnalysisTaskListReq extends BaseReq {
|
||||
public class SpdmAnalysisTaskListReq extends BaseEntity {
|
||||
|
||||
@NotNull(message = "current不能为空")
|
||||
private Integer current;
|
||||
@@ -150,10 +155,48 @@ public class SpdmAnalysisTaskListReq extends BaseReq {
|
||||
|
||||
private String reportContent;
|
||||
|
||||
@Schema(description = "文件创建搜索开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@Schema(description = "文件创建搜索结束时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime finishTime;
|
||||
|
||||
@Schema(description = "创建时间范围,格式为 ['开始时间', '结束时间']")
|
||||
private List<String> createTime;
|
||||
|
||||
// 使用 @JsonSetter 注解确保 JSON 反序列化时调用此方法
|
||||
@JsonSetter("createTime")
|
||||
public void setCreateTime(List<String> createTime) {
|
||||
this.createTime = createTime;
|
||||
parseCreateTimeToStartEndTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析 createTime 并赋值给 startTime 和 endTime
|
||||
*/
|
||||
private void parseCreateTimeToStartEndTime() {
|
||||
if (createTime != null && createTime.size() == 2) {
|
||||
try {
|
||||
// 解析时间字符串为 LocalDateTime
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||
this.startTime = LocalDateTime.parse(createTime.get(0), formatter);
|
||||
this.finishTime = LocalDateTime.parse(createTime.get(1), formatter);
|
||||
} catch (Exception e) {
|
||||
throw new IllegalArgumentException("createTime 时间格式错误,请使用 'yyyy-MM-dd HH:mm:ss' 格式");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 标签请求参数 设置tag1-tag10 ,taskId, runId记录文件所属节点信息
|
||||
*/
|
||||
@Schema(description = "标签请求参数")
|
||||
private TagReq tagReq;
|
||||
|
||||
@JsonProperty(value = "pMembers")
|
||||
private Long pMembers;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -599,7 +599,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
// 仿真负责人
|
||||
addDemandMember(todo.getVerifierNo(), MemberTypeEnum.PRINCIPAL.getCode(), demandUuid, jobNumber, curDateStr, memberList);
|
||||
// 仿真执行人
|
||||
addDemandMember(todo.getEmulationExecutor(), MemberTypeEnum.EXECUTOR.getCode(), demandUuid, jobNumber, curDateStr, memberList);
|
||||
addDemandMember(todo.getPerformer(), MemberTypeEnum.EXECUTOR.getCode(), demandUuid, jobNumber, curDateStr, memberList);
|
||||
// 3D负责人
|
||||
addDemandMember(todo.getThreeDimensionalPerformer(), MemberTypeEnum.THREED.getCode(), demandUuid, jobNumber, curDateStr, memberList);
|
||||
// 关注人
|
||||
@@ -623,7 +623,8 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
|
||||
|
||||
String[] userIdStr;
|
||||
if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.ATTENTION.getCode().equals(type)) {
|
||||
if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.ATTENTION.getCode().equals(type) ||
|
||||
MemberTypeEnum.EXECUTOR.getCode().equals(type)) {
|
||||
userIdStr = memberStr.split(",");
|
||||
}else {
|
||||
userIdStr = memberStr.split("-");
|
||||
|
||||
@@ -3702,7 +3702,8 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
|
||||
|
||||
String[] userIdStr;
|
||||
if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.EXECUTOR.getCode().equals(type)) {
|
||||
if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.ATTENTION.getCode().equals(type) ||
|
||||
MemberTypeEnum.EXECUTOR.getCode().equals(type)) {
|
||||
userIdStr = memberStr.split(",");
|
||||
} {
|
||||
userIdStr = memberStr.split("-");
|
||||
@@ -3745,7 +3746,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
// 仿真负责人
|
||||
addDemandMember(todoItem.getVerifierNo(), MemberTypeEnum.PRINCIPAL.getCode(), demandUuid, currentUserId, currentTimeStr, memberList,permissionReqList,usernameToUserIdMap);
|
||||
// 仿真执行人
|
||||
addDemandMember(todoItem.getEmulationExecutor(), MemberTypeEnum.EXECUTOR.getCode(), demandUuid, currentUserId, currentTimeStr, memberList,permissionReqList,usernameToUserIdMap);
|
||||
addDemandMember(todoItem.getPerformer(), MemberTypeEnum.EXECUTOR.getCode(), demandUuid, currentUserId, currentTimeStr, memberList,permissionReqList,usernameToUserIdMap);
|
||||
// 3D负责人
|
||||
addDemandMember(todoItem.getThreeDimensionalPerformer(), MemberTypeEnum.THREED.getCode(), demandUuid, currentUserId, currentTimeStr, memberList,permissionReqList,usernameToUserIdMap);
|
||||
|
||||
|
||||
@@ -88,8 +88,10 @@ import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
@@ -1668,42 +1670,94 @@ public class TaskServiceImpl implements ITaskService {
|
||||
taskReq.setName("");
|
||||
taskReq.setBeginTime("");
|
||||
taskReq.setEndTime("");
|
||||
taskReq.setCreateTime(null);
|
||||
taskReq.setStartTime(null);
|
||||
taskReq.setFinishTime(null);
|
||||
SdmResponse response = analysisTaskList(taskReq);
|
||||
if (ObjectUtils.isEmpty(response)) {
|
||||
log.error("指标查询中,未查询到任务1");
|
||||
log.info("指标查询中,未查询到任务1");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
JSONObject data = (JSONObject) response.getData();
|
||||
List<SpdmAnalysisTaskVo> taskVoList = (List<SpdmAnalysisTaskVo>) data.get("data");
|
||||
if (CollectionUtils.isEmpty(taskVoList)) {
|
||||
log.error("指标查询中,未查询到任务2");
|
||||
log.info("指标查询中,未查询到任务2");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
List<String> taskIdList = taskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList();
|
||||
List<PerformanceNodePo> performanceNodePoList = projectMapper.queryPerformanceNodeByNodeIdList(taskIdList, req);
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.error("指标查询中,未查询到指标1");
|
||||
log.info("指标查询中,未查询到指标1");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getPerformanceName())) {
|
||||
performanceNodePoList = performanceNodePoList.stream().filter(performance -> performance.getPerformanceName().contains(req.getName())).toList();
|
||||
}
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.error("指标查询中,未查询到指标2");
|
||||
log.info("指标查询中,未查询到指标2");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getRunId())) {
|
||||
String runId = req.getRunId();
|
||||
performanceNodePoList = performanceNodePoList.stream().filter(performance -> runId.equals(performance.getRunId())).toList();
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.error("指标查询中,未查询到指标3");
|
||||
log.info("指标查询中,未查询到指标3");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
} else {
|
||||
// 不传runId 为导出任务下的指标 筛除掉算例下的指标
|
||||
performanceNodePoList = performanceNodePoList.stream().filter(performance -> StringUtils.isEmpty(performance.getRunId())).toList();
|
||||
}
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.info("指标查询中,未查询到指标3");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
|
||||
List<PerformanceNodePo> filterPerformanceList = new ArrayList<>();
|
||||
// 根据创建时间过滤
|
||||
if (CollectionUtils.isNotEmpty(req.getCreateTime())) {
|
||||
LocalDateTime startTime = req.getStartTime();
|
||||
LocalDateTime finishTime = req.getFinishTime();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
for (PerformanceNodePo performanceNodePo : performanceNodePoList) {
|
||||
if (StringUtils.isBlank(performanceNodePo.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
Date createTimeDate = sdf.parse(performanceNodePo.getCreateTime());
|
||||
LocalDateTime createTime = createTimeDate.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toLocalDateTime();
|
||||
boolean isBetween = !createTime.isBefore(startTime) && !createTime.isAfter(finishTime);
|
||||
if (!isBetween) {
|
||||
continue;
|
||||
}
|
||||
filterPerformanceList.add(performanceNodePo);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
performanceNodePoList = filterPerformanceList;
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.info("指标查询中,未查询到指标4");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
// 根据仿真负责人过滤
|
||||
Long pMembers = req.getPMembers();
|
||||
if (ObjectUtils.isNotEmpty(pMembers)) {
|
||||
performanceNodePoList = performanceNodePoList.stream().filter(performance -> pMembers.equals(performance.getCreator())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||
log.info("指标查询中,未查询到指标5");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
Map<String, SpdmAnalysisTaskVo> taskMap = taskVoList.stream().collect(Collectors.groupingBy(
|
||||
SpdmAnalysisTaskVo::getUuid,
|
||||
Collectors.collectingAndThen(
|
||||
@@ -1790,7 +1844,7 @@ public class TaskServiceImpl implements ITaskService {
|
||||
|
||||
TagReq tagReq = req.getTagReq();
|
||||
if (ObjectUtils.isEmpty(tagReq)){
|
||||
log.info("tagReq为空");
|
||||
log.error("tagReq为空");
|
||||
return oldAnalysisTaskList(req);
|
||||
}
|
||||
// key可能为多个,根据逗号转化为集合
|
||||
@@ -1859,21 +1913,65 @@ public class TaskServiceImpl implements ITaskService {
|
||||
tag1KeyList,tag2KeyList,tag3KeyList,tag4KeyList,tag5KeyList,tag6KeyList,tag7KeyList
|
||||
,tag8KeyList,tag9KeyList,tag10KeyList);
|
||||
if (CollectionUtils.isEmpty(taskVoList)) {
|
||||
log.error("数据分析中未查询到任务信息");
|
||||
log.info("数据分析中未查询到任务信息");
|
||||
jsonObject.put("data", new ArrayList<>());
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
allTaskVoList = taskVoList;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(allTaskVoList)) {
|
||||
log.error("数据分析中未查询到任务信息");
|
||||
log.info("数据分析中未查询到任务信息");
|
||||
jsonObject.put("data", new ArrayList<>());
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
List<SpdmAnalysisTaskVo> filterTaskVoList = new ArrayList<>();
|
||||
// 根据创建时间过滤
|
||||
if (CollectionUtils.isNotEmpty(req.getCreateTime())) {
|
||||
LocalDateTime startTime = req.getStartTime();
|
||||
LocalDateTime finishTime = req.getFinishTime();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
for (SpdmAnalysisTaskVo spdmAnalysisTaskVo : allTaskVoList) {
|
||||
if (StringUtils.isBlank(spdmAnalysisTaskVo.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
Date createTimeDate = sdf.parse(spdmAnalysisTaskVo.getCreateTime());
|
||||
LocalDateTime createTime = createTimeDate.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toLocalDateTime();
|
||||
boolean isBetween = !createTime.isBefore(startTime) && !createTime.isAfter(finishTime);
|
||||
if (!isBetween) {
|
||||
continue;
|
||||
}
|
||||
filterTaskVoList.add(spdmAnalysisTaskVo);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
allTaskVoList = filterTaskVoList;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(allTaskVoList)) {
|
||||
log.info("数据分析中未查询到任务信息");
|
||||
jsonObject.put("data", new ArrayList<>());
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
|
||||
// 根据仿真负责人过滤
|
||||
Long pMembers = req.getPMembers();
|
||||
if (ObjectUtils.isNotEmpty(pMembers)) {
|
||||
allTaskVoList = allTaskVoList.stream().filter(task -> pMembers.equals(task.getCreator())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(allTaskVoList)) {
|
||||
log.info("数据分析中未查询到任务信息");
|
||||
jsonObject.put("data", new ArrayList<>());
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
|
||||
jsonObject.put("total", allTaskVoList.size());
|
||||
taskVoList = allTaskVoList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList();
|
||||
if (CollectionUtils.isEmpty(taskVoList)) {
|
||||
log.error("数据分析中未查询到任务信息");
|
||||
log.info("数据分析中未查询到任务信息");
|
||||
jsonObject.put("data", new ArrayList<>());
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
@@ -2133,27 +2231,74 @@ public class TaskServiceImpl implements ITaskService {
|
||||
taskReq.setName("");
|
||||
taskReq.setBeginTime("");
|
||||
taskReq.setEndTime("");
|
||||
taskReq.setCreateTime(null);
|
||||
taskReq.setStartTime(null);
|
||||
taskReq.setFinishTime(null);
|
||||
SdmResponse response = analysisTaskList(taskReq);
|
||||
if (ObjectUtils.isEmpty(response)) {
|
||||
log.error("指标查询中,未查询到任务1");
|
||||
log.info("指标查询中,未查询到任务1");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
JSONObject data = (JSONObject) response.getData();
|
||||
List<SpdmAnalysisTaskVo> taskVoList = (List<SpdmAnalysisTaskVo>) data.get("data");
|
||||
if (CollectionUtils.isEmpty(taskVoList)) {
|
||||
log.error("指标查询中,未查询到任务2");
|
||||
log.info("指标查询中,未查询到任务2");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
List<String> taskIdList = taskVoList.stream().map(SpdmAnalysisTaskVo::getUuid).toList();
|
||||
List<TaskRunPo> runPoList = projectMapper.queryRunListByNodeIdList(taskIdList, req);
|
||||
if (CollectionUtils.isEmpty(runPoList)) {
|
||||
log.error("算例查询中,未查询到算例1");
|
||||
log.info("算例查询中,未查询到算例1");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
if (CollectionUtils.isEmpty(runPoList)) {
|
||||
log.error("算例查询中,未查询到算例2");
|
||||
log.info("算例查询中,未查询到算例2");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
List<TaskRunPo> filterRunList = new ArrayList<>();
|
||||
// 根据创建时间过滤
|
||||
if (CollectionUtils.isNotEmpty(req.getCreateTime())) {
|
||||
LocalDateTime startTime = req.getStartTime();
|
||||
LocalDateTime finishTime = req.getFinishTime();
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
for (TaskRunPo runPo : runPoList) {
|
||||
if (StringUtils.isBlank(runPo.getCreateTime())) {
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
Date createTimeDate = sdf.parse(runPo.getCreateTime());
|
||||
LocalDateTime createTime = createTimeDate.toInstant()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toLocalDateTime();
|
||||
boolean isBetween = !createTime.isBefore(startTime) && !createTime.isAfter(finishTime);
|
||||
if (!isBetween) {
|
||||
continue;
|
||||
}
|
||||
filterRunList.add(runPo);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
runPoList = filterRunList;
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(runPoList)) {
|
||||
log.info("算例查询中,未查询到算例3");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
// 根据仿真负责人过滤
|
||||
Long pMembers = req.getPMembers();
|
||||
if (ObjectUtils.isNotEmpty(pMembers)) {
|
||||
runPoList = runPoList.stream().filter(run -> pMembers.equals(run.getCreator())).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(runPoList)) {
|
||||
log.info("算例查询中,未查询到算例4");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
|
||||
Map<String, SpdmAnalysisTaskVo> taskMap = taskVoList.stream().collect(Collectors.groupingBy(
|
||||
SpdmAnalysisTaskVo::getUuid,
|
||||
Collectors.collectingAndThen(
|
||||
|
||||
Reference in New Issue
Block a user