feat:工作负载添加项目筛选 & [仿真汇总看板-项目任务达成统计] 添加日期筛选

This commit is contained in:
2026-04-02 15:51:55 +08:00
parent e47a08e045
commit e41f71730d
7 changed files with 49 additions and 8 deletions

View File

@@ -50,4 +50,10 @@ public class CommonGetCompleteStatisticsReq {
@Schema(description = "标签10")
private String tag10;
@Schema(description = "开始时间范围")
private String[] createTimeArr;
@Schema(description = "结束时间范围")
private String[] finishTimeArr;
}

View File

@@ -38,4 +38,10 @@ public class UserWorkloadReq {
private List<TaskNodeTag> idMap;
/**
* 前端传值,支持多选,用逗号分开
*/
private String tag1;
private List<String> tag1List;
}

View File

@@ -2,6 +2,7 @@ package com.sdm.project.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.util.ArrayUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
@@ -3185,6 +3186,14 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
String[] tag10Values = req.getTag10().split(",");
query.in(SimulationTask::getTag10, Arrays.asList(tag10Values));
}
if (ArrayUtil.isNotEmpty(req.getCreateTimeArr())) {
query.ge(SimulationTask::getCreateTime, req.getCreateTimeArr()[0])
.le(SimulationTask::getCreateTime, req.getCreateTimeArr()[1]);
}
if (ArrayUtil.isNotEmpty(req.getFinishTimeArr())) {
query.ge(SimulationTask::getFinishTime, req.getFinishTimeArr()[0])
.le(SimulationTask::getFinishTime, req.getFinishTimeArr()[1]);
}
List<SimulationTask> simulationTasks = query.list();

View File

@@ -50,6 +50,7 @@ import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
import com.sdm.common.service.DataFileService;
import com.sdm.common.service.FileBizTypeService;
import com.sdm.common.utils.CommonUtils;
import com.sdm.common.utils.DateUtils;
import com.sdm.common.utils.PageUtils;
import com.sdm.common.utils.RandomUtil;
import com.sdm.project.common.*;
@@ -1445,6 +1446,7 @@ public class SimulationRunServiceImpl extends ServiceImpl<SimulationRunMapper, S
simulationTask.setProgress(100);
simulationTask.setApprovalStatus(ApprovalStatusEnum.PASSED.getCode());
simulationTask.setExeStatus(TaskExeStatusEnum.COMPLETED.getCode());
simulationTask.setFinishTime(DateUtils.getCurrentDateTime());
simulationTaskService.updateById(simulationTask);
} else {
simulationTask.setApprovalStatus(ApprovalStatusEnum.REJECTED.getCode());

View File

@@ -1217,7 +1217,13 @@ public class TaskServiceImpl implements ITaskService {
req.setFilterDiscipline(new ArrayList<>());
req.setDisciplineList(Arrays.stream(req.getDiscipline().split(",")).toList());
}
List<SpdmTaskVo> allTaskList = mapper.optimisedGtTaskList(tenantId, req);
// 传了指定taskId直接查出指定任务
if (CollectionUtils.isNotEmpty(req.getTaskIds())) {
allTaskList = mapper.getTaskListByIdList(req.getTaskIds());
}
stopWatch.stop();
JSONObject jsonObject = buildEmptyJsonResp(req);
if (CollectionUtils.isEmpty(allTaskList)) {
@@ -2819,14 +2825,6 @@ public class TaskServiceImpl implements ITaskService {
List<CIDUserResp> userList = new ArrayList<>();
if (CollectionUtils.isEmpty(req.getUserIds()) && StringUtils.isEmpty(req.getUserGroupId())) {
// UserListReq userListReq = new UserListReq();
// userListReq.setTenantId(ThreadLocalContext.getTenantId());
// userListReq.setCurrent(1);
// userListReq.setSize(9999);
// SdmResponse<PageDataResp<List<CIDUserResp>>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq);
// if (!pageDataRespSdmResponse.isSuccess()) {
// return SdmResponse.success();
// }
List<CIDUserResp> cidUserRespList = userNameCacheService.getAllUsers();
userList.addAll(cidUserRespList);
} else if (CollectionUtils.isEmpty(req.getUserIds()) && StringUtils.isNotEmpty(req.getUserGroupId())) {
@@ -2853,6 +2851,9 @@ public class TaskServiceImpl implements ITaskService {
CIDUserResp::getNickname
));
req.setUserIdList(userIds);
if (StringUtils.isNotBlank(req.getTag1())) {
req.setTag1List(Arrays.asList(req.getTag1().split(",")));
}
List<SpdmTaskVo> taskList = mapper.getUserExecTaskWithinTimeFrame(req, tenantId);
SpdmTaskListReq taskListReq = new SpdmTaskListReq();

View File

@@ -513,6 +513,13 @@
</foreach>
)
<if test="req.tag1List != null and req.tag1List.size() > 0">
and st.tag1 in
<foreach collection="req.tag1List" item="tag1Item" open="(" separator="," close=")">
#{tag1Item}
</foreach>
</if>
<if test="req.beginTime != null and req.beginTime != ''">
<![CDATA[
and STR_TO_DATE(st.begin_time,'%Y-%m-%d') >= #{req.beginTime}
@@ -986,6 +993,13 @@
<if test="req.taskId != null and req.taskId != ''">
and st.uuid = #{req.taskId}
</if>
<if test="req.taskIds != null and req.taskIds.size > 0">
and st.uuid in (
<foreach collection='req.taskIds' item='taskId' index='index' separator=','>
#{taskId}
</foreach>
)
</if>
<if test="req.taskName != null and req.taskName != ''">
<bind name="searchKey2" value="'%' + req.taskName + '%'"/>
and task_name like #{searchKey2}