fix:数据统计支持传入多个
This commit is contained in:
@@ -18,6 +18,9 @@ public class CommonGetCompleteStatisticsReq {
|
||||
@Schema(description = "数据返回Tag类型: tag1、tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10")
|
||||
private String resultTagType;
|
||||
|
||||
@Schema(description = "查询学科信息")
|
||||
private String discipline;
|
||||
|
||||
@Schema(description = "标签1")
|
||||
private String tag1;
|
||||
|
||||
|
||||
@@ -2914,23 +2914,60 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
|
||||
@Override
|
||||
public SdmResponse getTaskCompleteStatisticsByDiscipline(CommonGetCompleteStatisticsReq req) {
|
||||
List<SimulationTask> simulationTasks = simulationTaskService.lambdaQuery()
|
||||
// 构建查询条件
|
||||
var query = simulationTaskService.lambdaQuery()
|
||||
.eq(SimulationTask::getTenantId, ThreadLocalContext.getTenantId())
|
||||
.isNotNull(SimulationTask::getDiscipline)
|
||||
.ne(SimulationTask::getDiscipline, "")
|
||||
.isNotNull(SimulationTask::getExeStatus)
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag1()), SimulationTask::getTag1, req.getTag1())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag2()), SimulationTask::getTag2, req.getTag2())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag3()), SimulationTask::getTag3, req.getTag3())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag4()), SimulationTask::getTag4, req.getTag4())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag5()), SimulationTask::getTag5, req.getTag5())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag6()), SimulationTask::getTag6, req.getTag6())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag7()), SimulationTask::getTag7, req.getTag7())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag9()), SimulationTask::getTag9, req.getTag9())
|
||||
.eq(ObjectUtils.isNotEmpty(req.getTag10()), SimulationTask::getTag10, req.getTag10())
|
||||
.list();
|
||||
|
||||
// 按学科(discipline)分组统计任务完成状态
|
||||
.isNotNull(SimulationTask::getExeStatus);
|
||||
|
||||
// 处理 discipline 字段,支持逗号分隔的多个值
|
||||
if (StringUtils.isNotBlank(req.getDiscipline())) {
|
||||
String[] disciplines = req.getDiscipline().split(",");
|
||||
query.in(SimulationTask::getDiscipline, Arrays.asList(disciplines));
|
||||
}
|
||||
|
||||
// 处理 tag1-tag10,支持逗号分隔的多个 ID
|
||||
if (StringUtils.isNotBlank(req.getTag1())) {
|
||||
String[] tag1Values = req.getTag1().split(",");
|
||||
query.in(SimulationTask::getTag1, Arrays.asList(tag1Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag2())) {
|
||||
String[] tag2Values = req.getTag2().split(",");
|
||||
query.in(SimulationTask::getTag2, Arrays.asList(tag2Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag3())) {
|
||||
String[] tag3Values = req.getTag3().split(",");
|
||||
query.in(SimulationTask::getTag3, Arrays.asList(tag3Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag4())) {
|
||||
String[] tag4Values = req.getTag4().split(",");
|
||||
query.in(SimulationTask::getTag4, Arrays.asList(tag4Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag5())) {
|
||||
String[] tag5Values = req.getTag5().split(",");
|
||||
query.in(SimulationTask::getTag5, Arrays.asList(tag5Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag6())) {
|
||||
String[] tag6Values = req.getTag6().split(",");
|
||||
query.in(SimulationTask::getTag6, Arrays.asList(tag6Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag7())) {
|
||||
String[] tag7Values = req.getTag7().split(",");
|
||||
query.in(SimulationTask::getTag7, Arrays.asList(tag7Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag9())) {
|
||||
String[] tag9Values = req.getTag9().split(",");
|
||||
query.in(SimulationTask::getTag9, Arrays.asList(tag9Values));
|
||||
}
|
||||
if (StringUtils.isNotBlank(req.getTag10())) {
|
||||
String[] tag10Values = req.getTag10().split(",");
|
||||
query.in(SimulationTask::getTag10, Arrays.asList(tag10Values));
|
||||
}
|
||||
|
||||
List<SimulationTask> simulationTasks = query.list();
|
||||
|
||||
// 按学科 (discipline) 分组统计任务完成状态
|
||||
Set<String> allExeStatus = new HashSet<>();
|
||||
Map<String, CommonStatisticsVo> statisticsMap = buildCommonStatistics(
|
||||
simulationTasks,
|
||||
@@ -2938,7 +2975,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
SimulationTask::getExeStatus,
|
||||
allExeStatus
|
||||
);
|
||||
|
||||
|
||||
return buildStatisticsResponse(statisticsMap, allExeStatus, "allExeStatus");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user