fix:工位时间维护,设计阶段,只刷有限元(结构、……)的任务,其他类型仿真先不刷

This commit is contained in:
2026-04-13 15:13:49 +08:00
parent 9a48eddcc1
commit 6aebef13fd
3 changed files with 16 additions and 0 deletions

2
.idea/compiler.xml generated
View File

@@ -18,6 +18,7 @@
<module name="approve" />
<module name="project" />
<module name="outbridge" />
<module name="job" />
</profile>
<profile name="Annotation profile for SDM" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
@@ -47,6 +48,7 @@
<module name="flowable" options="-parameters" />
<module name="gateway" options="-parameters" />
<module name="gateway2" options="-parameters" />
<module name="job" options="-parameters" />
<module name="outbridge" options="-parameters" />
<module name="pbs" options="-parameters" />
<module name="performance" options="-parameters" />

1
.idea/encodings.xml generated
View File

@@ -9,6 +9,7 @@
<file url="file://$PROJECT_DIR$/flowable/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/gateway/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/gateway2/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/job/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/outbridge/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/pbs/src/main/java" charset="UTF-8" />
<file url="file://$PROJECT_DIR$/performance/src/main/java" charset="UTF-8" />

View File

@@ -14,6 +14,7 @@ import com.sdm.common.common.ResultCode;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.ExportExcelFormat;
import com.sdm.common.entity.bo.DataDictionary;
import com.sdm.common.entity.constants.TagConstant;
import com.sdm.common.entity.enums.*;
import com.sdm.common.entity.req.data.*;
@@ -2219,6 +2220,14 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
processWorkspaceExtras(context);
executeBatchOperations(context);
// 工位时间维护,只有设计阶段,任务学科 是 属于 dictClass = ‘有限元仿真’ 下的学科的才刷,其他类型仿真先不刷
SdmResponse<List<DataDictionary>> dictionaryData = sysConfigFeignClient.getDictionaryData("有限元仿真");
if (dictionaryData.isSuccess()) {
List<DataDictionary> dataDictionaryList = dictionaryData.getData();
Set<String> dictValueSet = dataDictionaryList.stream().map(DataDictionary::getDictValue).collect(Collectors.toSet());
context.setDictValueSet(dictValueSet);
}
// 根据 syncToTask 字段决定是否同步任务扩展属性
if (Boolean.TRUE.equals(req.getSyncToTask())) {
log.info("[batchUpdateWorkspaceExtra] 开启任务扩展属性同步功能");
@@ -2382,6 +2391,9 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
private final List<SpdmNodeExtraReq> updateList = new ArrayList<>();
private final List<SpdmNodeExtraReq> insertList = new ArrayList<>();
// task的学科符合字典值集合的才需要刷新
Set<String> dictValueSet;
public BatchUpdateContext(List<BatchUpdateWorkspaceExtraReq.WorkspaceExtraData> workspaceExtrasList,
List<String> workspaceUuids,
Map<String, Map<String, SimulationNodeExtra>> existingExtrasMap,
@@ -2422,6 +2434,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
// 1. 查询工位下的所有任务,提前返回避免空查询
List<SimulationTask> allTasks = simulationTaskService.lambdaQuery()
.in(SimulationTask::getNodeId, context.getWorkspaceUuids())
.in(CollectionUtils.isNotEmpty(context.getDictValueSet()), SimulationTask::getDiscipline, context.getDictValueSet())
.list();
if (CollectionUtils.isEmpty(allTasks)) {
log.info("[syncTaskExtras] 未找到任务,跳过同步");