From b2179aa5d36f4e24b72519babdb13bf6fb1842c7 Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Sun, 22 Mar 2026 11:42:14 +0800 Subject: [PATCH] =?UTF-8?q?fix[project]:=20=E4=BB=BF=E7=9C=9F=E7=AD=96?= =?UTF-8?q?=E5=88=92=E6=97=B6=EF=BC=8C=E6=94=AF=E6=8C=81=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sdm/project/model/bo/ProjectNode.java | 13 +++++++ .../com/sdm/project/model/bo/TaskNode.java | 10 ++++++ .../com/sdm/project/model/po/NodeAllBase.java | 10 ++++++ .../com/sdm/project/model/po/TaskNodePo.java | 11 ++++++ .../project/model/req/TaskEditNodeReq.java | 10 ++++++ .../service/impl/ProjectServiceImpl.java | 36 +++++++++++++++---- .../mapper/SimulationProjectMapper.xml | 10 ++++-- .../sdm/task/model/entity/SimulationTask.java | 7 ++++ 8 files changed, 98 insertions(+), 9 deletions(-) diff --git a/project/src/main/java/com/sdm/project/model/bo/ProjectNode.java b/project/src/main/java/com/sdm/project/model/bo/ProjectNode.java index a47ca0bb..dcd81447 100644 --- a/project/src/main/java/com/sdm/project/model/bo/ProjectNode.java +++ b/project/src/main/java/com/sdm/project/model/bo/ProjectNode.java @@ -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; + + + } diff --git a/project/src/main/java/com/sdm/project/model/bo/TaskNode.java b/project/src/main/java/com/sdm/project/model/bo/TaskNode.java index 06e09075..a3a8076b 100644 --- a/project/src/main/java/com/sdm/project/model/bo/TaskNode.java +++ b/project/src/main/java/com/sdm/project/model/bo/TaskNode.java @@ -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; + } diff --git a/project/src/main/java/com/sdm/project/model/po/NodeAllBase.java b/project/src/main/java/com/sdm/project/model/po/NodeAllBase.java index 9b977126..47191f0b 100644 --- a/project/src/main/java/com/sdm/project/model/po/NodeAllBase.java +++ b/project/src/main/java/com/sdm/project/model/po/NodeAllBase.java @@ -237,4 +237,14 @@ public class NodeAllBase extends BaseEntity { @JsonProperty(value = "tMemberList") private List tMemberList; + /** + * 报表模板 + */ + private String reportTemplate; + + /** + * 报表模板名称 + */ + private String reportTemplateNames; + } diff --git a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java index c6f5e738..fa77f21a 100644 --- a/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java +++ b/project/src/main/java/com/sdm/project/model/po/TaskNodePo.java @@ -206,4 +206,15 @@ public class TaskNodePo extends NodeAllBase { private String discipline; private Integer expStatus; + + /** + * 报表模板 + */ + private String reportTemplate; + + /** + * 报表模板名称 + */ + private String reportTemplateNames; + } diff --git a/project/src/main/java/com/sdm/project/model/req/TaskEditNodeReq.java b/project/src/main/java/com/sdm/project/model/req/TaskEditNodeReq.java index d243695f..44403164 100644 --- a/project/src/main/java/com/sdm/project/model/req/TaskEditNodeReq.java +++ b/project/src/main/java/com/sdm/project/model/req/TaskEditNodeReq.java @@ -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; + } diff --git a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java index 42191abc..5004ea44 100644 --- a/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/ProjectServiceImpl.java @@ -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 dataMap = new HashMap<>(); Map> taskExtraMap = new HashMap<>(); Map flowTemplateRespMap = new HashMap<>(); + Map reportTemplateRespMap = new HashMap<>(); List performanceExtraList = new ArrayList<>(); List nodeExtraList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(taskTreeTaskList)) { @@ -631,6 +636,15 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { log.error("批量查询模板库异常"); } } + + // todo 这里要调用批量查询报告模板的接口 + List reportTemplateCodeList = taskTreeTaskList.stream().map(TaskNodePo::getReportTemplate).filter(StringUtils::isNotBlank).toList(); + List 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 addedIdList,List currentAddedIdList,Integer queryTaskFlag,Map> taskMemberMap,Map cidUserMap,Map dataMap,Map> taskExtraMap, - List performanceExtraList,List nodeExtraList,Map flowTemplateRespMap) { + List performanceExtraList,List nodeExtraList,Map flowTemplateRespMap,Map 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); diff --git a/project/src/main/resources/mapper/SimulationProjectMapper.xml b/project/src/main/resources/mapper/SimulationProjectMapper.xml index 891166ab..d414c55f 100644 --- a/project/src/main/resources/mapper/SimulationProjectMapper.xml +++ b/project/src/main/resources/mapper/SimulationProjectMapper.xml @@ -45,7 +45,7 @@ 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 (#{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}) @@ -222,6 +222,12 @@ discipline = #{taskNode.discipline} + + reportTemplate = #{taskNode.reportTemplate} + + + reportContent = #{taskNode.reportContent} + where uuid = #{taskNode.uuid} diff --git a/task/src/main/java/com/sdm/task/model/entity/SimulationTask.java b/task/src/main/java/com/sdm/task/model/entity/SimulationTask.java index f7c40827..f451d465 100644 --- a/task/src/main/java/com/sdm/task/model/entity/SimulationTask.java +++ b/task/src/main/java/com/sdm/task/model/entity/SimulationTask.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -122,4 +123,10 @@ public class SimulationTask implements Serializable { @TableField("englishName") private String englishName; + + @TableField("reportTemplate") + private String reportTemplate; + + @TableField("reportContent") + private String reportContent; }