diff --git a/outbridge/src/main/java/com/sdm/outbridge/thirdDao/LyricVProjectStationExcepTionToDMMapper.java b/outbridge/src/main/java/com/sdm/outbridge/thirdDao/LyricVProjectStationExcepTionToDMMapper.java index a08f8e5c..3607618c 100644 --- a/outbridge/src/main/java/com/sdm/outbridge/thirdDao/LyricVProjectStationExcepTionToDMMapper.java +++ b/outbridge/src/main/java/com/sdm/outbridge/thirdDao/LyricVProjectStationExcepTionToDMMapper.java @@ -8,5 +8,9 @@ import org.apache.ibatis.annotations.Param; import java.util.List; public interface LyricVProjectStationExcepTionToDMMapper extends BaseMapper { + List queryExceptionsByProjectAndStation(@Param("list") List list); + + List queryExceptionByProjectAndStation(@Param("projectNodeCode") String projectNodeCode,@Param("stationCode")String stationCode); + } diff --git a/outbridge/src/main/resources/thirdDaoMapper/LyricVProjectStationExcepTionToDMMapper.xml b/outbridge/src/main/resources/thirdDaoMapper/LyricVProjectStationExcepTionToDMMapper.xml index 7c83a100..981d6fd3 100644 --- a/outbridge/src/main/resources/thirdDaoMapper/LyricVProjectStationExcepTionToDMMapper.xml +++ b/outbridge/src/main/resources/thirdDaoMapper/LyricVProjectStationExcepTionToDMMapper.xml @@ -24,4 +24,20 @@ ) + + 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 7742c6dd..27d47150 100644 --- a/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java +++ b/project/src/main/java/com/sdm/project/controller/SimulationLyricNodeController.java @@ -2,11 +2,10 @@ package com.sdm.project.controller; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.project.SpdmNodeListReq; -import com.sdm.common.log.annotation.SysLog; +import com.sdm.outbridge.entity.LyricVProjectStationExcepTionToDM; import com.sdm.outbridge.mode.GetProcessDataReq; import com.sdm.outbridge.service.lyric.LyricIntegrateService; import com.sdm.project.model.req.PushReportReq; -import com.sdm.project.model.req.SpdmAddDemandReq; import com.sdm.project.model.req.ep.EpProjectQueryReq; import com.sdm.project.model.req.ep.EpSyncPhaseReq; import com.sdm.project.service.IDemandService; @@ -21,6 +20,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @RestController @RequestMapping(value = "/node") @@ -201,5 +201,17 @@ public class SimulationLyricNodeController { return lyricInternalService.listNoPermission(req); } + /** + * 根据taskId查询enc异常信息 + * + * @param taskId 任务ID + * @return 异常信息结果 + */ + @GetMapping("/queryEncExceptionByTaskId") + @Operation(summary = "根据taskId查询enc异常信息", description = "根据taskId查询enc异常信息") + public SdmResponse> queryEncExceptionByTaskId(@RequestParam String taskId) { + return lyricInternalService.queryEncExceptionByTaskId(taskId); + } + } diff --git a/project/src/main/java/com/sdm/project/dao/SimulationNodeMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationNodeMapper.java index b5ebcb37..066e5764 100644 --- a/project/src/main/java/com/sdm/project/dao/SimulationNodeMapper.java +++ b/project/src/main/java/com/sdm/project/dao/SimulationNodeMapper.java @@ -120,4 +120,5 @@ public interface SimulationNodeMapper extends BaseMapper { List getNodeMemberListByMemberType(@Param("nodeIdList") List nodeIdList,@Param("userId") Long userId,@Param("memberType") Integer memberType); + ListgetEncNodeListByTaskId(@Param("taskId") String taskId); } diff --git a/project/src/main/java/com/sdm/project/model/vo/SimulationEncNodeVO.java b/project/src/main/java/com/sdm/project/model/vo/SimulationEncNodeVO.java new file mode 100644 index 00000000..47624513 --- /dev/null +++ b/project/src/main/java/com/sdm/project/model/vo/SimulationEncNodeVO.java @@ -0,0 +1,27 @@ +package com.sdm.project.model.vo; + +import lombok.Data; + +@Data +public class SimulationEncNodeVO { + /** + * 任务ID(t1.uuid AS taskId) + */ + private String taskId; + + /** + * 节点UUID(t2.uuid) + */ + private String uuid; + + /** + * 节点编码 + */ + private String nodeCode; + + /** + * 节点类型 + */ + private String nodeType; + +} 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 6fb91c14..7501276f 100644 --- a/project/src/main/java/com/sdm/project/service/ILyricInternalService.java +++ b/project/src/main/java/com/sdm/project/service/ILyricInternalService.java @@ -2,11 +2,14 @@ package com.sdm.project.service; import com.sdm.common.common.SdmResponse; import com.sdm.common.entity.req.project.SpdmNodeListReq; +import com.sdm.outbridge.entity.LyricVProjectStationExcepTionToDM; import com.sdm.outbridge.mode.GetProcessDataReq; import com.sdm.project.model.req.PushReportReq; import com.sdm.project.model.req.ep.EpProjectQueryReq; import com.sdm.project.model.req.ep.EpSyncPhaseReq; +import java.util.List; + public interface ILyricInternalService { SdmResponse getProcessData(GetProcessDataReq req); @@ -53,4 +56,7 @@ public interface ILyricInternalService { SdmResponse listNoPermission(SpdmNodeListReq req); SdmResponse optimisedGetTodoList(String http); + + SdmResponse> queryEncExceptionByTaskId(String taskId); + } 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 a82b756d..05a33386 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 @@ -30,6 +30,7 @@ import com.sdm.outbridge.mode.HkUploadFileReq; import com.sdm.outbridge.mode.LyricExceptionModel; import com.sdm.outbridge.mode.SimulationTaskSyncExBo; import com.sdm.outbridge.service.lyric.*; +import com.sdm.outbridge.thirdDao.LyricVProjectStationExcepTionToDMMapper; import com.sdm.project.common.ApprovalStatusEnum; import com.sdm.project.common.DemandTypeEnum; import com.sdm.project.common.MemberTypeEnum; @@ -44,10 +45,7 @@ import com.sdm.project.model.entity.SimulationNode; import com.sdm.project.model.req.*; import com.sdm.project.model.req.ep.EpProjectQueryReq; import com.sdm.project.model.req.ep.EpSyncPhaseReq; -import com.sdm.project.model.vo.SpdmDemandVo; -import com.sdm.project.model.vo.SpdmNodeExtraVo; -import com.sdm.project.model.vo.SpdmNodeMemberVo; -import com.sdm.project.model.vo.SpdmNodeVo; +import com.sdm.project.model.vo.*; import com.sdm.project.service.ILyricInternalService; import com.sdm.project.service.INodeService; import com.sdm.project.service.ISimulationTaskService; @@ -199,6 +197,9 @@ public class LyricInternalServiceImpl implements ILyricInternalService { @Value("${lyricTodoInterval:90}") private int lyricTodoInterval; + @Autowired + private LyricVProjectStationExcepTionToDMMapper lyricVProjectStationExcepTionToDMMapper; + // 拉取的EP项目,设置项目经理权限时,暂时写死为仿真组的19个用户 List epFixManagerUserIdList = Arrays.asList(2003641538857771009L,2003641499053826049L,2000891541365284865L, 2003641270736887809L,2000891541367895412L,2000891541367892039L,2017165368993247238L,2017165370440282114L, @@ -2270,6 +2271,40 @@ public class LyricInternalServiceImpl implements ILyricInternalService { return response; } + @Override + public SdmResponse> queryEncExceptionByTaskId(String taskId) { + // taskId --> project code & station code + List encNodeSpdmList = nodeMapper.getEncNodeListByTaskId(taskId); + log.info("queryEncExceptionByTaskId spdm db back:{}",JSONObject.toJSONString(encNodeSpdmList)); + String projectNodeCode=""; + String workspaceNodeCode=""; + if (CollectionUtils.isNotEmpty(encNodeSpdmList)) { + // 从集合中提取 nodeType = project 的 nodeCode + projectNodeCode = encNodeSpdmList.stream() + .filter(vo -> "project".equals(vo.getNodeType())) + .map(SimulationEncNodeVO::getNodeCode) + .findFirst() + .orElse(""); + + // 从集合中提取 nodeType = workspace 的 nodeCode + workspaceNodeCode = encNodeSpdmList.stream() + .filter(vo -> "workspace".equals(vo.getNodeType())) + .map(SimulationEncNodeVO::getNodeCode) + .findFirst() + .orElse(""); + } + if(StringUtils.isBlank(projectNodeCode)||StringUtils.isBlank(workspaceNodeCode)){ + log.warn("queryEncExceptionByTaskId projectNodeCode or workspaceNodeCode is null"); + return SdmResponse.success(); + } + // enc 视图查询 + log.info("queryEncExceptionByTaskId send lyric db projectNodeCode:{},workspaceNodeCode:{}",projectNodeCode,workspaceNodeCode); + List lyricEncInfos = lyricVProjectStationExcepTionToDMMapper.queryExceptionByProjectAndStation(projectNodeCode, workspaceNodeCode); + log.info("queryEncExceptionByTaskId lyric db back:{}",lyricEncInfos.size()); + return SdmResponse.success(lyricEncInfos); + } + + private List httpSyncHandleNoRelatedProjectTodo(List noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long jobNumber) { CompletableFuture> syncHandleNoRelatedProjectTodoFeature = CompletableFuture.supplyAsync(() -> handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, jobNumber)); diff --git a/project/src/main/resources/mapper/SimulationNodeMapper.xml b/project/src/main/resources/mapper/SimulationNodeMapper.xml index ddfd9088..9f821f8a 100644 --- a/project/src/main/resources/mapper/SimulationNodeMapper.xml +++ b/project/src/main/resources/mapper/SimulationNodeMapper.xml @@ -903,5 +903,20 @@ limit #{pos},#{limit} + + \ No newline at end of file