diff --git a/capability/src/main/java/com/sdm/capability/controller/FlowController.java b/capability/src/main/java/com/sdm/capability/controller/FlowController.java index 143ea0e9..962f6343 100644 --- a/capability/src/main/java/com/sdm/capability/controller/FlowController.java +++ b/capability/src/main/java/com/sdm/capability/controller/FlowController.java @@ -8,6 +8,7 @@ import com.sdm.capability.service.ISimulationFlowNodeService; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.capability.FlowNodeDto; import com.sdm.common.entity.req.system.LaunchApproveReq; +import com.sdm.common.entity.resp.capability.FlowTemplateResp; import com.sdm.common.feign.inter.capability.ISimulationFlowFeignClient; import com.sdm.common.log.annotation.SysLog; import org.springframework.validation.annotation.Validated; @@ -141,4 +142,9 @@ public class FlowController implements ISimulationFlowFeignClient { return simulationFlowNodeService.querySimulationFlowNode(req); } + @GetMapping("/queryFlowTemplateInfoByTemplateCode") + public SdmResponse queryFlowTemplateInfoByTemplateCode(String templateCode) { + return IFlowService.queryFlowTemplateInfoByTemplateCode(templateCode); + } + } diff --git a/capability/src/main/java/com/sdm/capability/service/IFlowService.java b/capability/src/main/java/com/sdm/capability/service/IFlowService.java index aeb41516..98a06fc6 100644 --- a/capability/src/main/java/com/sdm/capability/service/IFlowService.java +++ b/capability/src/main/java/com/sdm/capability/service/IFlowService.java @@ -3,6 +3,7 @@ package com.sdm.capability.service; import com.sdm.capability.model.entity.SimulationFlowTemplate; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.system.LaunchApproveReq; +import com.sdm.common.entity.resp.capability.FlowTemplateResp; import org.springframework.stereotype.Service; import java.util.List; @@ -86,4 +87,12 @@ public interface IFlowService { * @param req */ SdmResponse handleApproveResult(LaunchApproveReq req); + + /** + * 根据模板编码获取流程模版详情 + * @param templateCode + * @return + */ + SdmResponse queryFlowTemplateInfoByTemplateCode(String templateCode); + } diff --git a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java index 09eb2ee0..b6f5c560 100644 --- a/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java +++ b/capability/src/main/java/com/sdm/capability/service/impl/FlowServiceImpl.java @@ -509,4 +509,38 @@ public class FlowServiceImpl extends BaseService implements IFlowService { } return response; } + + /** + * 通过模板编码获取流程模版详情 + * @param templateCode + * @return + */ + private SimulationFlowTemplate getFlowTemplateInfoByTemplateCode(String templateCode) + { + String condition = " templateCode='"+templateCode+"'"; + List templates = flowMapper.queryFlowTemplateByCondition(condition); + if(templates.isEmpty()) { + return null; + } + else { + return templates.get(0); + } + } + + @Override + public SdmResponse queryFlowTemplateInfoByTemplateCode(String templateCode) { + SdmResponse response = SdmResponse.success(); + SimulationFlowTemplate flowTemplate = getFlowTemplateInfoByTemplateCode(templateCode); + if(flowTemplate == null) + { + response = SdmResponse.failed("流程模版不存在"); + } + else + { + FlowTemplateResp flowTemplateResp = new FlowTemplateResp(); + BeanUtils.copyProperties(flowTemplate,flowTemplateResp); + response.setData(flowTemplateResp); + } + return response; + } } diff --git a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java index f651f446..adb12673 100644 --- a/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java +++ b/common/src/main/java/com/sdm/common/feign/impl/capability/SimulationFlowFeignClientImpl.java @@ -108,4 +108,19 @@ public class SimulationFlowFeignClientImpl implements ISimulationFlowFeignClient return SdmResponse.failed("查询流程节点信息失败异常"); } } + + @Override + public SdmResponse queryFlowTemplateInfoByTemplateCode(String templateCode) { + SdmResponse response; + try { + response = flowFeignClient.queryFlowTemplateInfoByTemplateCode(templateCode); + if (!response.isSuccess()) { + return SdmResponse.failed("查询流程模板信息失败"); + } + return response; + } catch (Exception e) { + log.error("查询流程模板信息失败异常", e); + return SdmResponse.failed("查询流程模板信息失败异常"); + } + } } diff --git a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java index 48971200..81180645 100644 --- a/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java +++ b/common/src/main/java/com/sdm/common/feign/inter/capability/ISimulationFlowFeignClient.java @@ -33,4 +33,7 @@ public interface ISimulationFlowFeignClient { @PostMapping("/flow/node/querySimulationFlowNode") SdmResponse querySimulationFlowNode(@RequestBody FlowNodeDto req); + @GetMapping("/flow/queryFlowTemplateInfoByTemplateCode") + SdmResponse queryFlowTemplateInfoByTemplateCode(@RequestParam("templateCode") String templateCode); + } diff --git a/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java b/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java index 5f874506..b4de7b22 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java @@ -113,8 +113,8 @@ public class SimulationLyricNodeController { */ @GetMapping("/queryProjectInfo") @Operation(summary = "查询项目信息", description = "查询项目信息") - public SdmResponse queryProjectInfo(@RequestParam String projectId,@RequestParam Integer current,@RequestParam Integer size) { - return lyricInternalService.queryProjectInfo(projectId,current,size); + public SdmResponse queryProjectInfo(@RequestParam String projectId) { + return lyricInternalService.queryProjectInfo(projectId); } diff --git a/project/src/main/java/com/sdm/project/model/po/PerformanceNodePo.java b/project/src/main/java/com/sdm/project/model/po/PerformanceNodePo.java index 57271d49..b61d84bc 100644 --- a/project/src/main/java/com/sdm/project/model/po/PerformanceNodePo.java +++ b/project/src/main/java/com/sdm/project/model/po/PerformanceNodePo.java @@ -102,5 +102,6 @@ public class PerformanceNodePo extends NodeAllBase { private String department = ""; private String section = ""; private String group = ""; + private String runId; } diff --git a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java index d4082165..ad19abd7 100644 --- a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java +++ b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java @@ -23,5 +23,5 @@ public interface ILyricInternalService { SdmResponse queryProjectBatch(String projectId,Integer current,Integer size); - SdmResponse queryProjectInfo(String projectId,Integer current,Integer size); + SdmResponse queryProjectInfo(String projectId); } diff --git a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java index e88bea34..1e9d9b83 100644 --- a/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/LyricInternalServiceImpl.java @@ -590,6 +590,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return SdmResponse.success(jsonObject); } List list = lyricVPdtDmService.lambdaQuery().eq(LyricVPdtToDM::getProjectId, projectId).list(); + log.info("根据projectId:{},查询到的项目pdt信息为:{}",projectId,list); if (CollectionUtils.isEmpty(list)) { return SdmResponse.success(jsonObject); } @@ -612,6 +613,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return SdmResponse.success(jsonObject); } List list = lyricVMainPlanDMService.lambdaQuery().eq(LyricVMainPlanDM::getProjectId, projectId).list(); + log.info("根据projectId:{},查询到的主计划信息为:{}",projectId,list); if (CollectionUtils.isEmpty(list)) { return SdmResponse.success(jsonObject); } @@ -631,6 +633,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { JSONObject jsonObject = new JSONObject(); jsonObject.put("data", new ArrayList<>()); List list = lyricVProductionLineToDmService.lambdaQuery().eq(LyricVProductionLineToDM::getProjectNum, projectNum).list(); + log.info("根据projectNum:{},查询到的产线信息为:{}",projectNum,list); if (CollectionUtils.isEmpty(list)) { return SdmResponse.success(jsonObject); } @@ -653,6 +656,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return SdmResponse.success(jsonObject); } List list = lyricVProjectBatchToDmService.lambdaQuery().eq(LyricVProjectBatchToDM::getProject_id, projectId).list(); + log.info("根据projectId:{},查询到的批次信息为:{}",projectId,list); if (CollectionUtils.isEmpty(list)) { return SdmResponse.success(jsonObject); } @@ -668,27 +672,13 @@ public class LyricInternalServiceImpl implements ILyricInternalService { } @Override - public SdmResponse queryProjectInfo(String projectId,Integer current,Integer size) { - JSONObject jsonObject = new JSONObject(); - jsonObject.put("data", new ArrayList<>()); + public SdmResponse queryProjectInfo(String projectId) { if (!isConvertibleToInt(projectId)) { - return SdmResponse.success(jsonObject); + return SdmResponse.success(); } - List list = lyricVProjectToDmService.lambdaQuery().eq(LyricVProjectToDM::getId, projectId).list(); - if (CollectionUtils.isEmpty(list)) { - return SdmResponse.success(jsonObject); - } - list = list.stream().skip((long) (current - 1) * size).limit(size).toList(); - if (CollectionUtils.isEmpty(list)) { - return SdmResponse.success(jsonObject); - } - jsonObject.put("currentPage", current); - jsonObject.put("pageSize", size); - jsonObject.put("total", list.size()); - jsonObject.put("data", list); - return SdmResponse.success(jsonObject); - - + LyricVProjectToDM projectNode = lyricVProjectToDmService.lambdaQuery().eq(LyricVProjectToDM::getId, projectId).one(); + log.info("根据projectId:{},查询到的项目信息为:{}",projectId,projectNode); + return SdmResponse.success(projectNode); } @Override 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 95d734eb..98545322 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 @@ -531,7 +531,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { )); if (CollectionUtils.isNotEmpty(taskTreePerformanceList)) { List eachPerformanceNodeList; - List currentTaskAssociatedPerformanceList = taskTreePerformanceList.stream().filter(performance -> ObjectUtils.isNotEmpty(taskMap.get(performance.getTaskId()))).toList(); + List currentTaskAssociatedPerformanceList = taskTreePerformanceList.stream().filter(performance -> ObjectUtils.isNotEmpty(taskMap.get(performance.getTaskId())) && performance.getRunId() == null).toList(); if (CollectionUtils.isNotEmpty(currentTaskAssociatedPerformanceList)) { Map> performanceMap = currentTaskAssociatedPerformanceList.stream().collect(Collectors.groupingBy(PerformanceNodePo::getTaskId)); for (TaskNodePo taskNodePo : currentNodeAssociatedTaskList) { diff --git a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java index ba3f23b1..31392ccb 100644 --- a/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/TaskServiceImpl.java @@ -19,8 +19,10 @@ import com.sdm.common.entity.req.task.TaskExportExcelFormat; import com.sdm.common.entity.req.task.TaskExportExcelParam; import com.sdm.common.entity.req.task.TaskTreeExportExcelFormat; import com.sdm.common.entity.req.task.TaskTreeExportExcelParam; +import com.sdm.common.entity.resp.capability.FlowTemplateResp; import com.sdm.common.entity.resp.data.FileMetadataInfoResp; import com.sdm.common.entity.resp.system.CIDUserResp; +import com.sdm.common.feign.impl.capability.SimulationFlowFeignClientImpl; import com.sdm.common.feign.impl.data.DataClientFeignClientImpl; import com.sdm.common.feign.impl.system.SysUserFeignClientImpl; import com.sdm.common.utils.excel.ExcelUtil; @@ -105,6 +107,9 @@ public class TaskServiceImpl implements ITaskService { @Resource private INodeService nodeService; + @Autowired + private SimulationFlowFeignClientImpl flowFeignClient; + private static final String NODE_NAME_KEY = "nodeName"; private static final String NODE_CODE_KEY = "nodeCode"; @@ -2153,7 +2158,10 @@ public class TaskServiceImpl implements ITaskService { List performanceList = projectMapper.getPerformanceListByNodeIdList(taskIdList); Map> performanceMap = Map.of(); if (CollectionUtils.isNotEmpty(performanceList)) { - performanceMap = performanceList.stream().collect(Collectors.groupingBy(PerformanceNodePo::getTaskId)); + performanceList = performanceList.stream().filter(performance -> performance.getRunId() == null).toList(); + if (CollectionUtils.isNotEmpty(performanceList)) { + performanceMap = performanceList.stream().collect(Collectors.groupingBy(PerformanceNodePo::getTaskId)); + } } if (CollectionUtils.isNotEmpty(allNodeIdList)) { List nodeList = nodeMapper.getNodeListByIds(allNodeIdList.stream().distinct().toList()); @@ -2323,6 +2331,20 @@ public class TaskServiceImpl implements ITaskService { } spdmExportNewTaskVo.setStandard(String.join(",", fileNameList)); } + if (StringUtils.isNotBlank(spdmExportNewTaskVo.getFlowTemplate())) { + List flowTemplateNameList = new ArrayList<>(); + String[] flowTemplateArr = spdmExportNewTaskVo.getFlowTemplate().split(";"); + for (String flowTemplate : flowTemplateArr) { + SdmResponse flowTemplateResp = flowFeignClient.queryFlowTemplateInfoByTemplateCode(flowTemplate); + if (flowTemplateResp.getData() == null) { + continue; + } + flowTemplateNameList.add(flowTemplateResp.getData().getTemplateName()); + } + if (CollectionUtils.isNotEmpty(flowTemplateNameList)) { + spdmExportNewTaskVo.setFlowTemplate(flowTemplateNameList.stream().collect(Collectors.joining(","))); + } + } } ExcelUtil.exportExcelOneDimensional(JSONArray.from(allExportNewTaskVoList), exportExcelFormats, httpServletResponse,paramList);