fix[project]: 任务列表、数据查询学科过滤

This commit is contained in:
2026-03-19 15:01:30 +08:00
parent f32e51c12f
commit c958a4b46f
5 changed files with 46 additions and 11 deletions

View File

@@ -61,7 +61,7 @@ public interface SimulationTaskMapper extends BaseMapper<SimulationTask> {
List<SpdmTaskVo> getTaskListByDemandId(@Param("demandId") String demandId);
List<SpdmAnalysisTaskVo> getAnalysisTask(@Param("taskNodeId") String taskNodeId,@Param("ownDisciplineName") String ownDisciplineName);
List<SpdmAnalysisTaskVo> getAnalysisTask(@Param("taskNodeId") String taskNodeId,@Param("disciplineList") List<String> disciplineList);
List<SpdmTaskVo> getTaskListByIdList(@Param("taskIdList") List<String> taskIdList);

View File

@@ -151,6 +151,8 @@ public class SpdmAnalysisTaskListReq extends BaseEntity {
private String discipline;
private List<String> disciplineList;
private String ownDisciplineName;
private String reportTemplate;

View File

@@ -155,6 +155,8 @@ public class SpdmTaskListReq {
// 二次查询过滤学科
private String discipline;
private List<String> disciplineList;
private String taskId;
/**

View File

@@ -1209,7 +1209,8 @@ public class TaskServiceImpl implements ITaskService {
stopWatch.start("查所有任务");
// 二次查询过滤学科
if (StringUtils.isNotBlank(req.getDiscipline())) {
req.setFilterDiscipline(Collections.singletonList(req.getDiscipline()));
req.setFilterDiscipline(new ArrayList<>());
req.setDisciplineList(Arrays.stream(req.getDiscipline().split(",")).toList());
}
List<SpdmTaskVo> allTaskList = mapper.optimisedGtTaskList(tenantId, req);
stopWatch.stop();
@@ -2162,8 +2163,11 @@ public class TaskServiceImpl implements ITaskService {
String taskNodeId = tagReq.getTaskId();
List<SpdmAnalysisTaskVo> taskVoList;
List<SpdmAnalysisTaskVo> allTaskVoList = new ArrayList<>();
if (StringUtils.isNotBlank(req.getDiscipline())) {
req.setDisciplineList(Arrays.stream(req.getDiscipline().split(",")).toList());
}
if (StringUtils.isNotBlank(taskNodeId)) {
allTaskVoList = mapper.getAnalysisTask(taskNodeId,req.getDiscipline());
allTaskVoList = mapper.getAnalysisTask(taskNodeId,req.getDisciplineList());
} else {
taskVoList = mapper.taskListByTag(req, tenantId, new ArrayList<>(), pos, limit,userId,
tag1KeyList,tag2KeyList,tag3KeyList,tag4KeyList,tag5KeyList,tag6KeyList,tag7KeyList

View File

@@ -745,8 +745,12 @@
<select id="getAnalysisTask" resultType="com.sdm.project.model.vo.SpdmAnalysisTaskVo">
select * from simulation_task where uuid = #{taskNodeId}
<if test="ownDisciplineName != null and ownDisciplineName != ''">
and discipline = #{ownDisciplineName}
<if test="disciplineList != null and disciplineList.size > 0">
and (discipline in (
<foreach collection='disciplineList' item='disciplineId' index='index' separator=','>
#{disciplineId}
</foreach>
))
</if>
order by create_time desc
</select>
@@ -883,6 +887,14 @@
or discipline = '' or discipline is null)
</if>
<if test="req.disciplineList != null and req.disciplineList.size > 0">
and (discipline in (
<foreach collection='req.disciplineList' item='disciplineId' index='index' separator=','>
#{disciplineId}
</foreach>
))
</if>
<!-- <if test='req.sortOrder != null and req.sortOrder == "0"'>-->
<!-- order by create_time-->
<!-- </if>-->
@@ -1014,6 +1026,14 @@
or discipline = '' or discipline is null)
</if>
<if test="req.disciplineList != null and req.disciplineList.size > 0">
and (discipline in (
<foreach collection='req.disciplineList' item='disciplineId' index='index' separator=','>
#{disciplineId}
</foreach>
))
</if>
<!-- <if test='req.sortOrder != null and req.sortOrder == "0"'>-->
<!-- order by create_time-->
<!-- </if>-->
@@ -1169,9 +1189,13 @@
<if test="req.expStatus != null and req.expStatus != ''">
and st.expStatus = #{req.expStatus}
</if>
<if test="req.discipline != null and req.discipline != ''">
<bind name="searchKey17" value="'%' + req.discipline + '%'"/>
and st.discipline like #{searchKey17}
<if test="req.disciplineList != null and req.disciplineList.size > 0">
and (discipline in (
<foreach collection='req.disciplineList' item='disciplineId' index='index' separator=','>
#{disciplineId}
</foreach>
))
</if>
<if test="req.reportTemplate != null and req.reportTemplate != ''">
<bind name="searchKey18" value="'%' + req.reportTemplate + '%'"/>
@@ -1373,9 +1397,12 @@
<if test="req.expStatus != null and req.expStatus != ''">
and st.expStatus = #{req.expStatus}
</if>
<if test="req.ownDisciplineName != null and req.ownDisciplineName != ''">
<bind name="searchKey17" value="'%' + req.ownDisciplineName + '%'"/>
and st.discipline like #{searchKey17}
<if test="req.disciplineList != null and req.disciplineList.size > 0">
and (discipline in (
<foreach collection='req.disciplineList' item='disciplineId' index='index' separator=','>
#{disciplineId}
</foreach>
))
</if>
<if test="req.reportTemplate != null and req.reportTemplate != ''">
<bind name="searchKey18" value="'%' + req.reportTemplate + '%'"/>