1.仿真工况库添加附加及动画库绑定功能
2.场景库绑定附加表新增创建人信息
This commit is contained in:
@@ -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({
|
||||
"<script>",
|
||||
"INSERT INTO simulation_pool_task(uuid,nodeName,nodeCode,englishName,poolName,poolVersion,nodeId,days,standard,confidence,discipline,flowTemplate,analyseTarget,analyseSoftware,description,difficult,tenantId,imageFileId,bCapacity,department,section,`group`) VALUES ",
|
||||
"INSERT INTO simulation_pool_task(uuid,nodeName,nodeCode,englishName,poolName,poolVersion,nodeId,days,standard,confidence,discipline,flowTemplate,analyseTarget,analyseSoftware,description,difficult,tenantId,imageFileId,bCapacity,department,section,`group`,responsible) VALUES ",
|
||||
"<foreach collection ='list' item='it' index='index' separator =','>",
|
||||
"(#{it.uuid},#{it.nodeName},#{it.nodeCode},#{it.englishName},#{it.poolName},#{it.poolVersion},#{it.nodeId},#{it.days},#{it.standard},#{it.confidence},#{it.discipline},#{it.flowTemplate},#{it.analyseTarget},#{it.analyseSoftware},#{it.description},#{it.difficult},#{it.tenantId},#{it.imageFileId},#{it.bCapacity},#{it.department},#{it.section},#{it.group}) ",
|
||||
"(#{it.uuid},#{it.nodeName},#{it.nodeCode},#{it.englishName},#{it.poolName},#{it.poolVersion},#{it.nodeId},#{it.days},#{it.standard},#{it.confidence},#{it.discipline},#{it.flowTemplate},#{it.analyseTarget},#{it.analyseSoftware},#{it.description},#{it.difficult},#{it.tenantId},#{it.imageFileId},#{it.bCapacity},#{it.department},#{it.section},#{it.group},#{it.responsible}) ",
|
||||
"</foreach>",
|
||||
"</script>"
|
||||
})
|
||||
@@ -117,13 +117,13 @@ public interface SimulationPoolMapper {
|
||||
int batchAddSimulationPoolPerformanceExtra(@Param("list")List<TaskPoolPerformanceExtra> 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}")
|
||||
|
||||
@@ -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<String> versions = new ArrayList<>();
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class TaskPoolItem extends NodeBase{
|
||||
public String section;
|
||||
public String group;
|
||||
public float difficult;
|
||||
public String responsible;
|
||||
|
||||
public List<TaskPoolItemExtra> extras = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -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<String> 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<PropertyExtra> 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<TaskPoolItemExtra> 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<Long> paraseSingleLevelToken(String contents,String firstSeparator,String secondSeparator) {
|
||||
List<Long> 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<TaskPoolBrief> poolBriefs)
|
||||
{
|
||||
List<Long> fileIds = new ArrayList<>();
|
||||
Map<Integer,List<Long>> taskPoolAttachmentMap = new HashMap<>();
|
||||
Map<Integer,List<Long>> taskPoolAnimationMap = new HashMap<>();
|
||||
for(TaskPoolBrief taskPoolBrief : poolBriefs)
|
||||
{
|
||||
String attachmentIds = taskPoolBrief.attachment;
|
||||
String animationIds = taskPoolBrief.animation;
|
||||
List<Long> attachmentList = paraseSingleLevelToken(attachmentIds,",",null);
|
||||
List<Long> animationList = paraseSingleLevelToken(animationIds,";",",");
|
||||
fileIds.addAll(attachmentList);
|
||||
fileIds.addAll(animationList);
|
||||
taskPoolAttachmentMap.put(taskPoolBrief.id,attachmentList);
|
||||
taskPoolAnimationMap.put(taskPoolBrief.id,animationList);
|
||||
}
|
||||
//从Data服务通过文件ID列表获取文件名称信息
|
||||
Map<Long,String> fileIdNameMap = new HashMap<>();
|
||||
if(!fileIds.isEmpty()) {
|
||||
QueryFileReq req = new QueryFileReq();
|
||||
req.setFileIdList(fileIds);
|
||||
SdmResponse<List<FileMetadataInfoResp>> 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<Long> attachmentIds = taskPoolAttachmentMap.get(briefId);
|
||||
List<Long> 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1846,6 +1846,15 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 填充taskpool中的详细信息
|
||||
* @param poolBriefs
|
||||
*/
|
||||
public void filledTaskPoolDetail(List<TaskPoolBrief> poolBriefs)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取系统内所有的分析项库
|
||||
* @return
|
||||
@@ -1881,6 +1890,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
||||
}
|
||||
}
|
||||
}
|
||||
filledTaskPoolDetail(poolBriefs);
|
||||
response.setData(poolBriefs);
|
||||
return response;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user