新增:利元亨现场根据异常taskIdc查询enc异常信息

This commit is contained in:
2026-03-04 09:22:28 +08:00
parent 4c8094e24d
commit 55058a9333
8 changed files with 122 additions and 6 deletions

View File

@@ -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<List<LyricVProjectStationExcepTionToDM>> queryEncExceptionByTaskId(@RequestParam String taskId) {
return lyricInternalService.queryEncExceptionByTaskId(taskId);
}
}

View File

@@ -120,4 +120,5 @@ public interface SimulationNodeMapper extends BaseMapper<SimulationNode> {
List<SpdmNodeMemberVo> getNodeMemberListByMemberType(@Param("nodeIdList") List<String> nodeIdList,@Param("userId") Long userId,@Param("memberType") Integer memberType);
List<SimulationEncNodeVO>getEncNodeListByTaskId(@Param("taskId") String taskId);
}

View File

@@ -0,0 +1,27 @@
package com.sdm.project.model.vo;
import lombok.Data;
@Data
public class SimulationEncNodeVO {
/**
* 任务IDt1.uuid AS taskId
*/
private String taskId;
/**
* 节点UUIDt2.uuid
*/
private String uuid;
/**
* 节点编码
*/
private String nodeCode;
/**
* 节点类型
*/
private String nodeType;
}

View File

@@ -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<List<LyricVProjectStationExcepTionToDM>> queryEncExceptionByTaskId(String taskId);
}

View File

@@ -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<Long> 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<List<LyricVProjectStationExcepTionToDM>> queryEncExceptionByTaskId(String taskId) {
// taskId --> project code & station code
List<SimulationEncNodeVO> 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<LyricVProjectStationExcepTionToDM> lyricEncInfos = lyricVProjectStationExcepTionToDMMapper.queryExceptionByProjectAndStation(projectNodeCode, workspaceNodeCode);
log.info("queryEncExceptionByTaskId lyric db back:{}",lyricEncInfos.size());
return SdmResponse.success(lyricEncInfos);
}
private List<SpdmProjectNodeEditReq> httpSyncHandleNoRelatedProjectTodo(List<LyricVTodoEmulationInfoDM> noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long jobNumber) {
CompletableFuture<List<SpdmProjectNodeEditReq>> syncHandleNoRelatedProjectTodoFeature = CompletableFuture.supplyAsync(() ->
handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, jobNumber));

View File

@@ -903,5 +903,20 @@
limit #{pos},#{limit}
</select>
<select id="getEncNodeListByTaskId" resultType="com.sdm.project.model.vo.SimulationEncNodeVO">
SELECT
t1.uuid AS taskId,
t2.uuid,
t2.nodeCode,
t2.nodeType
FROM simulation_task t1
LEFT JOIN simulation_node t2
ON (t1.tag1 = t2.uuid OR t1.tag5 = t2.uuid)
WHERE
t1.uuid = #{taskId}
AND t1.tag1 IS NOT NULL
AND t1.tag5 IS NOT NULL
</select>
</mapper>