From fd8444e954584a4089547beb382b8820fbfcf23b Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Thu, 2 Apr 2026 11:04:00 +0800 Subject: [PATCH] =?UTF-8?q?fix[project]:=20=E7=AD=96=E5=88=92=E5=87=BA?= =?UTF-8?q?=E7=9A=84=E5=BE=85=E5=8A=9E=E5=8A=A0=E4=B8=8A=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=89=BF=E6=8E=A5=E4=B8=BB=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ProjectServiceImpl.java | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) 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 70f0e5aa..735d8836 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 @@ -44,6 +44,8 @@ import com.sdm.common.utils.PageUtils; import com.sdm.common.utils.RandomUtil; import com.sdm.common.utils.SystemOperate; import com.sdm.common.utils.excel.ExcelUtil; +import com.sdm.outbridge.entity.LyricVProjectToDM; +import com.sdm.outbridge.service.lyric.LyricVProjectToDmService; import com.sdm.project.bo.ExportOperate; import com.sdm.project.common.*; import com.sdm.project.dao.SimulationDemandMapper; @@ -219,6 +221,9 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { @Autowired private SimulationReportFeignClientImpl reportFeignClient; + @Autowired + private LyricVProjectToDmService lyricVProjectToDmService; + // @Override // @Transactional @@ -2554,12 +2559,20 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { // 查询项目的拓展属性 List tag1Id = taskNodeList.get(0).getTag1(); List nodeExtraList = new ArrayList<>(); + String projectCode = ""; + log.info("tag1Id为:{}",tag1Id); if (CollectionUtils.isNotEmpty(tag1Id)) { nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(tag1Id); + SpdmNodeVo projectNode = nodeMapper.getNodeById(tag1Id.get(0)); + log.info("projectNode为:{}",projectNode); + if (ObjectUtils.isNotEmpty(projectNode)) { + projectCode = projectNode.getNodeCode(); + } } + log.info("projectCode为:{}",projectCode); // 20260320 新增任务时,同步新增一个需求 try { - addDemandByTask(taskNodeList,nodeExtraList); + addDemandByTask(taskNodeList,nodeExtraList,projectCode); }catch (Exception ex) { log.error("新增任务时,同步新增需求时异常:{}",ex.getMessage()); } @@ -2639,7 +2652,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { return response; } - public void addDemandByTask(List taskNodeList,List nodeExtraList) { + public void addDemandByTask(List taskNodeList,List nodeExtraList,String projectCode) { Long tenantId = ThreadLocalContext.getTenantId(); Long jobNumber = ThreadLocalContext.getUserId(); String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); @@ -2682,7 +2695,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { } long demandId = req.getId(); List demandExtraList = new ArrayList<>(); - // 项目承接主题 + log.info("addDemandByTask的nodeExtraList为:{}",nodeExtraList); + // 项目承接主体 SpdmNodeExtraVo projectUndertakerExtraVo = nodeExtraList.stream().filter(nodeExtra -> PROJECT_UNDERTAKER.equals(nodeExtra.getPropertyName())).findFirst().orElse(null); if (projectUndertakerExtraVo != null) { SpdmDemandExtraReq demandExtraReq = new SpdmDemandExtraReq(); @@ -2693,6 +2707,24 @@ public class ProjectServiceImpl extends BaseService implements IProjectService { demandExtraReq.setCreator(jobNumber); demandExtraReq.setCreateTime(curDateStr); demandExtraList.add(demandExtraReq); + }else { + if (lyricFlag == 1) { + List lyricVProjectToDMList = lyricVProjectToDmService.lambdaQuery().in(LyricVProjectToDM::getProjectNum, Collections.singletonList(projectCode)).list(); + log.info("lyricVProjectToDMList为:{}",lyricVProjectToDMList); + if (CollectionUtils.isNotEmpty(lyricVProjectToDMList)) { + String projectUndertaker = lyricVProjectToDMList.get(0).getProjectUndertaker(); + log.info("projectUndertaker为:{}",projectUndertaker); + if (StringUtils.isNotBlank(projectUndertaker)) { + SpdmDemandExtraReq demandExtraReq = new SpdmDemandExtraReq(); + demandExtraReq.setDemandId(req.getUuid()); + demandExtraReq.setPropertyName(PROJECT_UNDERTAKER); + demandExtraReq.setPropertyValue(projectUndertaker); + demandExtraReq.setCreator(jobNumber); + demandExtraReq.setCreateTime(curDateStr); + demandExtraList.add(demandExtraReq); + } + } + } } // 产品线