1.仿真工况库添加附加及动画库绑定功能
2.场景库绑定附加表新增创建人信息
This commit is contained in:
@@ -13,7 +13,7 @@ public interface SimulationPoolMapper {
|
|||||||
int addNewNamespace(@Param("entity") Namespace entity);*/
|
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")
|
@Options(useGeneratedKeys=true,keyProperty="id")
|
||||||
int addTaskPoolBreif(@Param("brief") TaskPoolBrief brief);
|
int addTaskPoolBreif(@Param("brief") TaskPoolBrief brief);
|
||||||
|
|
||||||
@@ -77,9 +77,9 @@ public interface SimulationPoolMapper {
|
|||||||
|
|
||||||
@Insert({
|
@Insert({
|
||||||
"<script>",
|
"<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 =','>",
|
"<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>",
|
"</foreach>",
|
||||||
"</script>"
|
"</script>"
|
||||||
})
|
})
|
||||||
@@ -117,13 +117,13 @@ public interface SimulationPoolMapper {
|
|||||||
int batchAddSimulationPoolPerformanceExtra(@Param("list")List<TaskPoolPerformanceExtra> list);
|
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 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);
|
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}")
|
@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);
|
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);
|
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}")
|
@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 parentVersion;
|
||||||
public String currentVersion;
|
public String currentVersion;
|
||||||
public String iconFile;
|
public String iconFile;
|
||||||
|
public String attachment;
|
||||||
|
public String animation;
|
||||||
public long tenantId;
|
public long tenantId;
|
||||||
public long creator;
|
public long creator;
|
||||||
public String creatorName;
|
public String creatorName;
|
||||||
public String createTime;
|
public String createTime;
|
||||||
|
public String attachmentName;
|
||||||
|
public String animationName;
|
||||||
//附加属性
|
//附加属性
|
||||||
public List<String> versions = new ArrayList<>();
|
public List<String> versions = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ public class TaskPoolItem extends NodeBase{
|
|||||||
public String section;
|
public String section;
|
||||||
public String group;
|
public String group;
|
||||||
public float difficult;
|
public float difficult;
|
||||||
|
public String responsible;
|
||||||
|
|
||||||
public List<TaskPoolItemExtra> extras = new ArrayList<>();
|
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.JSONArray;
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.sdm.common.common.SdmResponse;
|
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.entity.*;
|
||||||
import com.sdm.task.model.req.AddTaskPoolExtraTableReq;
|
import com.sdm.task.model.req.AddTaskPoolExtraTableReq;
|
||||||
import com.sdm.task.model.req.QueryTaskPoolConfidenceReq;
|
import com.sdm.task.model.req.QueryTaskPoolConfidenceReq;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@ConditionalOnProperty(name = "simulationPool.chose", havingValue = "lyric")
|
@ConditionalOnProperty(name = "simulationPool.chose", havingValue = "lyric")
|
||||||
@@ -27,6 +29,9 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer
|
|||||||
private final String LOG_TABLE = "Log";
|
private final String LOG_TABLE = "Log";
|
||||||
private final String EXCEPT_TABLE = "Except";
|
private final String EXCEPT_TABLE = "Except";
|
||||||
private final String ATTACHMENT_TABLE = "Attachment";
|
private final String ATTACHMENT_TABLE = "Attachment";
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IDataFeignClient dateClient;
|
||||||
@Override
|
@Override
|
||||||
public List<String> getSimulationPoolNodeNames(String poolName, String nodeType)
|
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)
|
private int insertTaskExtraTable(JSONObject obj,String poolName,String taskId,String nodeId,String propertyClass)
|
||||||
{
|
{
|
||||||
Class cla = obj.getClass();
|
|
||||||
List<PropertyExtra> propertyExtraList = new ArrayList<>();
|
List<PropertyExtra> propertyExtraList = new ArrayList<>();
|
||||||
int result = 0;
|
int result = 0;
|
||||||
try
|
try
|
||||||
@@ -393,12 +397,16 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer
|
|||||||
propertyExtra.propertyValue = fieldValue;
|
propertyExtra.propertyValue = fieldValue;
|
||||||
propertyExtraList.add(propertyExtra);
|
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);
|
result = insertTaskExtraAsLine(taskId,nodeId,poolName,propertyClass,propertyExtraList);
|
||||||
}
|
}
|
||||||
catch(Exception ex){
|
catch(Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -430,6 +438,7 @@ public class SimulationTaskPoolServiceForLyricImpl extends SimulationTaskPoolSer
|
|||||||
List<TaskPoolItemExtra> taskPoolItemExtraList = lineMap.get(lineKey);
|
List<TaskPoolItemExtra> taskPoolItemExtraList = lineMap.get(lineKey);
|
||||||
JSONObject extraTable = getTaskExtraLine( taskPoolItemExtraList);
|
JSONObject extraTable = getTaskExtraLine( taskPoolItemExtraList);
|
||||||
extraTable.put("lineCode",lineKey);
|
extraTable.put("lineCode",lineKey);
|
||||||
|
extraTable.put("creatorName","");
|
||||||
taskExtraTable.add(extraTable);
|
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;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 填充taskpool中的详细信息
|
||||||
|
* @param poolBriefs
|
||||||
|
*/
|
||||||
|
public void filledTaskPoolDetail(List<TaskPoolBrief> poolBriefs)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取系统内所有的分析项库
|
* 获取系统内所有的分析项库
|
||||||
* @return
|
* @return
|
||||||
@@ -1881,6 +1890,7 @@ public class SimulationTaskPoolServiceImpl extends BaseService implements ISimul
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
filledTaskPoolDetail(poolBriefs);
|
||||||
response.setData(poolBriefs);
|
response.setData(poolBriefs);
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user