fix[project]: 仿真策划时,支持添加报告模板
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package com.sdm.project.model.bo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.project.model.po.ProjectNodeExtraPo;
|
||||
import com.sdm.project.model.po.ProjectNodeMemberPo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -245,4 +247,15 @@ public class ProjectNode extends BaseEntity {
|
||||
private String commitmentDeadline;
|
||||
|
||||
private String discipline;
|
||||
|
||||
@Schema(description= "报告模板uuid")
|
||||
@TableField("reportTemplate")
|
||||
private String reportTemplate;
|
||||
|
||||
@Schema(description= "报告模板填充内容")
|
||||
@TableField("reportContent")
|
||||
private String reportContent;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
package com.sdm.project.model.bo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.project.model.po.ProjectNodeExtraPo;
|
||||
import com.sdm.project.model.po.TaskNodeMemberPo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -289,4 +291,12 @@ public class TaskNode extends BaseEntity {
|
||||
@JsonProperty(value = "aMemberList")
|
||||
private String aMemberList;
|
||||
|
||||
@Schema(description= "报告模板uuid")
|
||||
@TableField("reportTemplate")
|
||||
private String reportTemplate;
|
||||
|
||||
@Schema(description= "报告模板填充内容")
|
||||
@TableField("reportContent")
|
||||
private String reportContent;
|
||||
|
||||
}
|
||||
|
||||
@@ -237,4 +237,14 @@ public class NodeAllBase extends BaseEntity {
|
||||
@JsonProperty(value = "tMemberList")
|
||||
private List<CIDUserResp> tMemberList;
|
||||
|
||||
/**
|
||||
* 报表模板
|
||||
*/
|
||||
private String reportTemplate;
|
||||
|
||||
/**
|
||||
* 报表模板名称
|
||||
*/
|
||||
private String reportTemplateNames;
|
||||
|
||||
}
|
||||
|
||||
@@ -206,4 +206,15 @@ public class TaskNodePo extends NodeAllBase {
|
||||
private String discipline;
|
||||
|
||||
private Integer expStatus;
|
||||
|
||||
/**
|
||||
* 报表模板
|
||||
*/
|
||||
private String reportTemplate;
|
||||
|
||||
/**
|
||||
* 报表模板名称
|
||||
*/
|
||||
private String reportTemplateNames;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.sdm.project.model.req;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
@@ -7,6 +8,7 @@ import com.sdm.project.model.bo.ProjectMemberNode;
|
||||
import com.sdm.project.model.bo.TaskExtraNode;
|
||||
import com.sdm.project.model.bo.TaskMemberNode;
|
||||
import com.sdm.project.model.po.ProjectNodeExtraPo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
@@ -291,4 +293,12 @@ public class TaskEditNodeReq extends BaseEntity {
|
||||
|
||||
private String discipline;
|
||||
|
||||
@Schema(description= "报告模板uuid")
|
||||
@TableField("reportTemplate")
|
||||
private String reportTemplate;
|
||||
|
||||
@Schema(description= "报告模板填充内容")
|
||||
@TableField("reportContent")
|
||||
private String reportContent;
|
||||
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.sdm.common.entity.resp.project.SpdmTaskVo;
|
||||
import com.sdm.common.entity.resp.project.TaskNodeExtraPo;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.common.feign.impl.capability.SimulationFlowFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.capability.SimulationReportFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.data.DataAnalysisFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.ApproveFeignClientImpl;
|
||||
@@ -215,6 +216,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
@Autowired
|
||||
private DataClientFeignClientImpl dataFeignClient;
|
||||
|
||||
@Autowired
|
||||
private SimulationReportFeignClientImpl reportFeignClient;
|
||||
|
||||
|
||||
// @Override
|
||||
// @Transactional
|
||||
@@ -558,6 +562,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
Map<Long,String> dataMap = new HashMap<>();
|
||||
Map<String,List<TaskNodeExtraPo>> taskExtraMap = new HashMap<>();
|
||||
Map<String, FlowTemplateResp> flowTemplateRespMap = new HashMap<>();
|
||||
Map<String, String> reportTemplateRespMap = new HashMap<>();
|
||||
List<SimulationPerformanceExtra> performanceExtraList = new ArrayList<>();
|
||||
List<SpdmNodeExtraVo> nodeExtraList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(taskTreeTaskList)) {
|
||||
@@ -631,6 +636,15 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
log.error("批量查询模板库异常");
|
||||
}
|
||||
}
|
||||
|
||||
// todo 这里要调用批量查询报告模板的接口
|
||||
List<String> reportTemplateCodeList = taskTreeTaskList.stream().map(TaskNodePo::getReportTemplate).filter(StringUtils::isNotBlank).toList();
|
||||
List<String> allReportTemplateCodeList = new ArrayList<>();
|
||||
for (String reportTemplateCode : reportTemplateCodeList) {
|
||||
allReportTemplateCodeList.addAll(Arrays.stream(reportTemplateCode.split(",")).toList());
|
||||
}
|
||||
// reportFeignClient.queryReportTemplateInfo(allReportTemplateCodeList);
|
||||
reportTemplateRespMap = new HashMap<>();
|
||||
}
|
||||
|
||||
|
||||
@@ -638,7 +652,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
|
||||
for (ProjectNodePo projectNodePo : realTopProjectNodeList) {
|
||||
generateTaskTree(projectNodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap,reportTemplateRespMap);
|
||||
addedIdList.clear();
|
||||
}
|
||||
// 汇总任务进度、仿真负责人、执行人
|
||||
@@ -892,7 +906,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
|
||||
private void generateTaskTree(ProjectNodePo projectNodePo,List<String> addedIdList,List<String> currentAddedIdList,Integer queryTaskFlag,Map<String,List<SimulationTaskMember>> taskMemberMap,Map<Long,CIDUserResp> cidUserMap,Map<Long,String> dataMap,Map<String,List<TaskNodeExtraPo>> taskExtraMap,
|
||||
List<SimulationPerformanceExtra> performanceExtraList,List<SpdmNodeExtraVo> nodeExtraList,Map<String, FlowTemplateResp> flowTemplateRespMap) {
|
||||
List<SimulationPerformanceExtra> performanceExtraList,List<SpdmNodeExtraVo> nodeExtraList,Map<String, FlowTemplateResp> flowTemplateRespMap,Map<String, String> reportTemplateRespMap) {
|
||||
currentAddedIdList.add(projectNodePo.getUuid());
|
||||
String currentNodeType = projectNodePo.getNodeType();
|
||||
String currentTag = taskTreeNodeTypeTagMap.get(currentNodeType);
|
||||
@@ -1134,7 +1148,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : sameTypeNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap,reportTemplateRespMap);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(sameTypeNodeList)) {
|
||||
addedIdList.addAll(sameTypeNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
@@ -1163,7 +1177,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : childrenTypeNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap,reportTemplateRespMap);
|
||||
}
|
||||
addedIdList.addAll(childrenTypeNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
for (ProjectNodePo nodePo : childrenTypeNodeList) {
|
||||
@@ -1196,7 +1210,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
// 递归
|
||||
for (ProjectNodePo nodePo : otherChildrenNodeList) {
|
||||
generateTaskTree(nodePo,addedIdList,currentAddedIdList,queryTaskFlag,taskMemberMap,cidUserMap,
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap);
|
||||
dataMap,taskExtraMap,performanceExtraList,nodeExtraList,flowTemplateRespMap,reportTemplateRespMap);
|
||||
}
|
||||
addedIdList.addAll(otherChildrenNodeList.stream().map(ProjectNodePo::getUuid).toList());
|
||||
for (ProjectNodePo nodePo : otherChildrenNodeList) {
|
||||
@@ -1214,8 +1228,16 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
task.setNodeCode(task.getTaskCode());
|
||||
task.setSection(task.getSectionName());
|
||||
task.setGroup(task.getGroupName());
|
||||
if (StringUtils.isBlank(task.getEnglishName())) {
|
||||
task.setEnglishName("");
|
||||
task.setEnglishName(StringUtils.defaultString(task.getEnglishName()));
|
||||
if (StringUtils.isNotBlank(task.getReportTemplate())) {
|
||||
String reportTemplateNames = Arrays.stream(task.getReportTemplate().split(","))
|
||||
.map(reportTemplateRespMap::get)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.distinct() // 防止模板编码中有重复的
|
||||
.collect(Collectors.joining(","));
|
||||
if (StringUtils.isNotBlank(reportTemplateNames)) {
|
||||
task.setReportTemplateNames(reportTemplateNames);
|
||||
}
|
||||
}
|
||||
});
|
||||
children.addAll(currentNodeAssociatedTaskList);
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
<insert id="batchAddSimulationTask" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into simulation_task (uuid,task_name,task_code,task_pool_name,task_pool_version,node_id,days,standard,fold_id,status,achieve_status,begin_time,end_time,progress,exe_status,confidence,analyse_target,analyse_software,approval_status,description,difficult,tenant_id
|
||||
,creator,create_time,department,sectionName,groupName,bCapacity,flowTemplate,englishName,demand_id,tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10,imageFileId,discipline) values
|
||||
,creator,create_time,department,sectionName,groupName,bCapacity,flowTemplate,englishName,demand_id,tag1,tag2,tag3,tag4,tag5,tag6,tag7,tag8,tag9,tag10,imageFileId,discipline,reportTemplate,reportContent) values
|
||||
<foreach collection='list' item='it' index='index' separator=','>
|
||||
(#{it.uuid},#{it.taskName},#{it.taskCode},'','',#{it.nodeId},#{it.days},#{it.standard},'',1,0,
|
||||
#{it.beginTime},#{it.endTime},0,1,#{it.confidence},#{it.analyseTarget},#{it.analyseSoftware},'0',#{it.description},#{it.difficult},#{it.tenantId},
|
||||
@@ -54,7 +54,7 @@
|
||||
#{it.tag5,typeHandler=com.sdm.project.handler.ListStringTypeHandler},#{it.tag6,typeHandler=com.sdm.project.handler.ListStringTypeHandler},
|
||||
#{it.tag7,typeHandler=com.sdm.project.handler.ListStringTypeHandler},#{it.tag8,typeHandler=com.sdm.project.handler.ListStringTypeHandler},
|
||||
#{it.tag9,typeHandler=com.sdm.project.handler.ListStringTypeHandler},#{it.tag10,typeHandler=com.sdm.project.handler.ListStringTypeHandler},
|
||||
#{it.imageFileId},#{it.discipline})
|
||||
#{it.imageFileId},#{it.discipline},#{it.reportTemplate},#{it.reportContent})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
@@ -222,6 +222,12 @@
|
||||
<if test="taskNode.discipline != null and taskNode.discipline != ''">
|
||||
discipline = #{taskNode.discipline}
|
||||
</if>
|
||||
<if test="taskNode.reportTemplate != null and taskNode.reportTemplate != ''">
|
||||
reportTemplate = #{taskNode.reportTemplate}
|
||||
</if>
|
||||
<if test="taskNode.reportContent != null and taskNode.reportContent != ''">
|
||||
reportContent = #{taskNode.reportContent}
|
||||
</if>
|
||||
</trim>
|
||||
where uuid = #{taskNode.uuid}
|
||||
</update>
|
||||
|
||||
Reference in New Issue
Block a user