From 545d81740c17826cfce958d41423ee76754b65f2 Mon Sep 17 00:00:00 2001 From: daiqy88 Date: Tue, 14 Apr 2026 11:16:54 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BB=BF=E7=9C=9F=E5=B7=A5=E5=86=B5=E5=BA=93?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=99=84=E5=8A=A0=E5=8F=8A=E5=8A=A8=E7=94=BB?= =?UTF-8?q?=E5=BA=93=E7=BB=91=E5=AE=9A=E5=8A=9F=E8=83=BD=202.=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E5=BA=93=E7=BB=91=E5=AE=9A=E9=99=84=E5=8A=A0=E8=A1=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=9B=E5=BB=BA=E4=BA=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sdm/task/dao/SimulationPoolMapper.java | 10 +- .../sdm/task/model/entity/TaskPoolBrief.java | 4 + .../sdm/task/model/entity/TaskPoolItem.java | 1 + ...SimulationTaskPoolServiceForLyricImpl.java | 116 +++++++++++++++++- .../impl/SimulationTaskPoolServiceImpl.java | 10 ++ 5 files changed, 130 insertions(+), 11 deletions(-) diff --git a/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java b/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java index 77ecbef0..cbf603cd 100644 --- a/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java +++ b/task/src/main/java/com/sdm/task/dao/SimulationPoolMapper.java @@ -13,7 +13,7 @@ public interface SimulationPoolMapper { int addNewNamespace(@Param("entity") Namespace entity);*/ - @Insert("INSERT INTO simulation_pool(poolName,comment,currentVersion,parentVersion,iconFile,creator,tenantId) VALUES(#{brief.poolName},#{brief.comment},#{brief.currentVersion},#{brief.parentVersion},#{brief.iconFile},#{brief.creator},#{brief.tenantId})") + @Insert("INSERT INTO simulation_pool(poolName,comment,currentVersion,parentVersion,iconFile,attachment,animation,creator,tenantId) VALUES(#{brief.poolName},#{brief.comment},#{brief.currentVersion},#{brief.parentVersion},#{brief.iconFile},#{brief.attachment},#{brief.animation},#{brief.creator},#{brief.tenantId})") @Options(useGeneratedKeys=true,keyProperty="id") int addTaskPoolBreif(@Param("brief") TaskPoolBrief brief); @@ -77,9 +77,9 @@ public interface SimulationPoolMapper { @Insert({ "" }) @@ -117,13 +117,13 @@ public interface SimulationPoolMapper { int batchAddSimulationPoolPerformanceExtra(@Param("list")List list); //@Update("UPDATE simulation_pool SET currentVersion=#{brief.currentVersion},parentVersion=#{brief.parentVersion},comment=#{brief.comment},iconFile=#{brief.iconFile} WHERE poolName=#{brief.poolName}") - @Update("UPDATE simulation_pool SET comment=#{brief.comment},iconFile=#{brief.iconFile} WHERE poolName=#{brief.poolName}") + @Update("UPDATE simulation_pool SET comment=#{brief.comment},iconFile=#{brief.iconFile},attachment=#{brief.attachment},animation=#{brief.animation} WHERE poolName=#{brief.poolName}") int updateTaskPoolBrief(@Param("brief")TaskPoolBrief brief); @Update("UPDATE simulation_pool_node SET nodeName=#{node.nodeName},nodeCode=#{node.nodeCode},englishName=#{node.englishName},nodeType=#{node.nodeType},nodeSubType=#{node.nodeSubType},nodeOrder=#{node.nodeOrder},description=#{node.description} WHERE uuid=#{node.uuid}") int updateTaskPoolNode(@Param("node")TaskPoolNode node); - @Update("UPDATE simulation_pool_task SET nodeName=#{task.nodeName},nodeCode=#{task.nodeCode},englishName=#{task.englishName},discipline=#{task.discipline}, days=#{task.days},standard=#{task.standard},flowTemplate=#{task.flowTemplate},analyseTarget=#{task.analyseTarget},analyseSoftware=#{task.analyseSoftware},confidence=#{task.confidence},difficult=#{task.difficult},description=#{task.description},imageFileId=#{task.imageFileId},bCapacity=#{task.bCapacity},department=#{task.department},section=#{task.section},`group`=#{task.group} WHERE uuid = #{task.uuid}") + @Update("UPDATE simulation_pool_task SET nodeName=#{task.nodeName},nodeCode=#{task.nodeCode},englishName=#{task.englishName},discipline=#{task.discipline}, days=#{task.days},standard=#{task.standard},flowTemplate=#{task.flowTemplate},analyseTarget=#{task.analyseTarget},analyseSoftware=#{task.analyseSoftware},confidence=#{task.confidence},difficult=#{task.difficult},description=#{task.description},imageFileId=#{task.imageFileId},bCapacity=#{task.bCapacity},department=#{task.department},section=#{task.section},`group`=#{task.group},responsible=#{task.responsible} WHERE uuid = #{task.uuid}") int updateTaskPoolItem(@Param("task")TaskPoolItem task); @Update("UPDATE simulation_pool_performance SET nodeName=#{performance.nodeName},nodeCode=#{performance.nodeCode},englishName=#{performance.englishName},performanceType=#{performance.performanceType},unit=#{performance.unit},lowValue=#{performance.lowValue},highValue=#{performance.highValue},method=#{performance.method},description=#{performance.description} WHERE uuid=#{performance.uuid}") diff --git a/task/src/main/java/com/sdm/task/model/entity/TaskPoolBrief.java b/task/src/main/java/com/sdm/task/model/entity/TaskPoolBrief.java index 99dd52a7..71bd6e2b 100644 --- a/task/src/main/java/com/sdm/task/model/entity/TaskPoolBrief.java +++ b/task/src/main/java/com/sdm/task/model/entity/TaskPoolBrief.java @@ -19,10 +19,14 @@ public class TaskPoolBrief extends BaseBean public String parentVersion; public String currentVersion; public String iconFile; + public String attachment; + public String animation; public long tenantId; public long creator; public String creatorName; public String createTime; + public String attachmentName; + public String animationName; //附加属性 public List versions = new ArrayList<>(); } diff --git a/task/src/main/java/com/sdm/task/model/entity/TaskPoolItem.java b/task/src/main/java/com/sdm/task/model/entity/TaskPoolItem.java index 619b4469..d0462193 100644 --- a/task/src/main/java/com/sdm/task/model/entity/TaskPoolItem.java +++ b/task/src/main/java/com/sdm/task/model/entity/TaskPoolItem.java @@ -29,6 +29,7 @@ public class TaskPoolItem extends NodeBase{ public String section; public String group; public float difficult; + public String responsible; public List extras = new ArrayList<>(); diff --git a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceForLyricImpl.java b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceForLyricImpl.java index 77e31eb3..2ab53ff4 100644 --- a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceForLyricImpl.java +++ b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceForLyricImpl.java @@ -3,20 +3,22 @@ package com.sdm.task.service.impl; import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONObject; import com.sdm.common.common.SdmResponse; +import com.sdm.common.common.ThreadLocalContext; +import com.sdm.common.entity.req.data.QueryFileReq; +import com.sdm.common.entity.resp.data.FileMetadataInfoResp; +import com.sdm.common.feign.inter.data.IDataFeignClient; import com.sdm.task.model.entity.*; import com.sdm.task.model.req.AddTaskPoolExtraTableReq; import com.sdm.task.model.req.QueryTaskPoolConfidenceReq; import jakarta.servlet.http.HttpServletResponse; import org.jetbrains.annotations.NotNull; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestParam; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; @Service @ConditionalOnProperty(name = "simulationPool.chose", havingValue = "lyric") @@ -27,6 +29,9 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer private final String LOG_TABLE = "Log"; private final String EXCEPT_TABLE = "Except"; private final String ATTACHMENT_TABLE = "Attachment"; + + @Autowired + private IDataFeignClient dateClient; @Override public List getSimulationPoolNodeNames(String poolName, String nodeType) { @@ -377,7 +382,6 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer */ private int insertTaskExtraTable(JSONObject obj,String poolName,String taskId,String nodeId,String propertyClass) { - Class cla = obj.getClass(); List propertyExtraList = new ArrayList<>(); int result = 0; try @@ -393,12 +397,16 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer propertyExtra.propertyValue = fieldValue; propertyExtraList.add(propertyExtra); } + Long creatorId = ThreadLocalContext.getUserId(); + PropertyExtra propertyExtra = new PropertyExtra(); + propertyExtra.propertyName = "creator"; + propertyExtra.propertyValue = String.valueOf(creatorId); + propertyExtraList.add(propertyExtra); result = insertTaskExtraAsLine(taskId,nodeId,poolName,propertyClass,propertyExtraList); } catch(Exception ex){ ex.printStackTrace(); } - return result; } @@ -430,6 +438,7 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer List taskPoolItemExtraList = lineMap.get(lineKey); JSONObject extraTable = getTaskExtraLine( taskPoolItemExtraList); extraTable.put("lineCode",lineKey); + extraTable.put("creatorName",""); taskExtraTable.add(extraTable); } @@ -557,5 +566,100 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer } + /** + * 解析单层分隔符分隔的字符串内容 + * @param contents + * @param firstSeparator + * @param secondSeparator + * @return + */ + private List paraseSingleLevelToken(String contents,String firstSeparator,String secondSeparator) { + List list = new ArrayList<>(); + if (contents == null || contents.isEmpty()) + return list; + String[] tokens = contents.split(firstSeparator); + if(secondSeparator == null) { + for(String token : tokens) { + list.add(Long.parseLong(token)); + } + } + else { + for(String token : tokens) { + String[] tokenArray = token.split(secondSeparator); + int len = tokenArray.length; + list.add(Long.valueOf(tokenArray[len-1])); + } + } + return list; + } + + + @Override + public void filledTaskPoolDetail(List poolBriefs) + { + List fileIds = new ArrayList<>(); + Map> taskPoolAttachmentMap = new HashMap<>(); + Map> taskPoolAnimationMap = new HashMap<>(); + for(TaskPoolBrief taskPoolBrief : poolBriefs) + { + String attachmentIds = taskPoolBrief.attachment; + String animationIds = taskPoolBrief.animation; + List attachmentList = paraseSingleLevelToken(attachmentIds,",",null); + List animationList = paraseSingleLevelToken(animationIds,";",","); + fileIds.addAll(attachmentList); + fileIds.addAll(animationList); + taskPoolAttachmentMap.put(taskPoolBrief.id,attachmentList); + taskPoolAnimationMap.put(taskPoolBrief.id,animationList); + } + //从Data服务通过文件ID列表获取文件名称信息 + Map fileIdNameMap = new HashMap<>(); + if(!fileIds.isEmpty()) { + QueryFileReq req = new QueryFileReq(); + req.setFileIdList(fileIds); + SdmResponse> fileMetaResp = dateClient.queryFileListByIdList(req); + for (FileMetadataInfoResp fileMetadataInfoResp : fileMetaResp.getData()) { + long fileId = fileMetadataInfoResp.getId(); + String fileName = fileMetadataInfoResp.getOriginalName(); + fileIdNameMap.put(fileId, fileName); + } + } + for(TaskPoolBrief taskPoolBrief : poolBriefs) + { + int briefId = taskPoolBrief.id; + List attachmentIds = taskPoolAttachmentMap.get(briefId); + List animationIds = taskPoolAnimationMap.get(briefId); + if(attachmentIds != null) { + for (Long attachmentId : attachmentIds) { + String fileName = fileIdNameMap.get(attachmentId); + if (fileName != null) { + if (taskPoolBrief.attachmentName.isEmpty()) { + taskPoolBrief.attachmentName += fileName; + } else { + taskPoolBrief.attachmentName += "," + fileName; + } + } + } + } + if(animationIds != null) + { + for(Long animationId : animationIds) + { + String fileName = fileIdNameMap.get(animationId); + if(fileName != null) + { + if(taskPoolBrief.animationName.isEmpty()) + { + taskPoolBrief.animationName +=fileName; + }else + { + taskPoolBrief.animationName += ";"+fileName; + } + } + } + } + } + } + + } diff --git a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java index b057de51..4f9610e2 100644 --- a/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java +++ b/task/src/main/java/com/sdm/task/service/impl/SimulationTaskPoolServiceImpl.java @@ -1846,6 +1846,15 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul return response; } + /** + * 填充taskpool中的详细信息 + * @param poolBriefs + */ + public void filledTaskPoolDetail(List poolBriefs) + { + return; + } + /** * 获取系统内所有的分析项库 * @return @@ -1881,6 +1890,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul } } } + filledTaskPoolDetail(poolBriefs); response.setData(poolBriefs); return response; }