fix[project]: 同步待办兼容项目下无机台工位的情况
This commit is contained in:
@@ -412,7 +412,6 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
SdmResponse<PageDataResp<List<CIDUserResp>>> pageDataRespSdmResponse = sysUserFeignClient.listUser(userListReq);
|
||||
if (pageDataRespSdmResponse.isSuccess() && pageDataRespSdmResponse.getData().getData() != null) {
|
||||
List<CIDUserResp> userList = pageDataRespSdmResponse.getData().getData();
|
||||
log.info("userList为:{}",userList);
|
||||
usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId));
|
||||
}
|
||||
|
||||
@@ -438,7 +437,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
// 2. 构建权限更新参数
|
||||
buildPermissionReqList(demandUuid, userId, todo, updatePermissionList, usernameToUserIdMap);
|
||||
// 3. 构建需求文件夹节点
|
||||
demandDirNodeList.add(buildDemandDirNode(demandUuid, projectNode,demandReq));
|
||||
demandDirNodeList.add(buildDemandDirNode(demandUuid, projectNode, demandReq));
|
||||
// 4. 异步保存需求数据
|
||||
asyncSaveDemandData(demandReq, memberList, tenantId, userId, usernameToUserIdMap, demandExtraList);
|
||||
|
||||
@@ -593,7 +592,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
}
|
||||
} else {
|
||||
// 阶段不存在,同步阶段机台工位
|
||||
syncTodoPhase(todo.getCreateTime(), Long.valueOf(projectNode.getProjectId()), todo.getProjectStage(), projectNode.getUuid(), req,todo.getStationNum(), projectNode);
|
||||
syncTodoPhase(todo.getCreateTime(), Long.valueOf(projectNode.getProjectId()), todo.getProjectStage(), projectNode.getUuid(), req, todo.getStationNum(), projectNode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -636,7 +635,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
if (MemberTypeEnum.PRINCIPAL.getCode().equals(type) || MemberTypeEnum.ATTENTION.getCode().equals(type) ||
|
||||
MemberTypeEnum.EXECUTOR.getCode().equals(type)) {
|
||||
userIdStr = memberStr.split(",");
|
||||
}else {
|
||||
} else {
|
||||
userIdStr = memberStr.split("-");
|
||||
}
|
||||
if (ObjectUtils.isEmpty(userIdStr)) {
|
||||
@@ -693,7 +692,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
addPermissionReq(usernameToUserIdMap.get(fUserId), demandUuid, permissionList, MemberTypeEnum.EXECUTOR.getCode());
|
||||
}
|
||||
}
|
||||
log.info("待办:{},permissionList为:{}",todo.getTodoId(),permissionList);
|
||||
log.info("待办:{},permissionList为:{}", todo.getTodoId(), permissionList);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1632,10 +1631,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
if (pushType == 1) {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.FINITE_ELEMENT_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.FINITE_ELEMENT_COLUMN_NAME);
|
||||
}else if (pushType == 2) {
|
||||
} else if (pushType == 2) {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.ROBOT_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.ROBOT_COLUMN_NAME);
|
||||
}else {
|
||||
} else {
|
||||
uploadFileReq.setComponentInstId(LyricParamConstants.TOLERANCE_COMPONENT_INST_ID);
|
||||
uploadFileReq.setColumnName(LyricParamConstants.TOLERANCE_COLUMN_NAME);
|
||||
}
|
||||
@@ -2520,7 +2519,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
usernameToUserIdMap = userList.stream().collect(Collectors.toMap(CIDUserResp::getUsername, CIDUserResp::getUserId));
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(noRelatedProjectVTodoEmulationInfoDMList)) {
|
||||
List<SpdmProjectNodeEditReq> spdmProjectNodeEditReqList = httpSyncHandleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName,usernameToUserIdMap);
|
||||
List<SpdmProjectNodeEditReq> spdmProjectNodeEditReqList = httpSyncHandleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName, usernameToUserIdMap);
|
||||
log.info("httpSyncHandleNoRelatedProjectTodo响应值为:{}", spdmProjectNodeEditReqList);
|
||||
for (SpdmProjectNodeEditReq spdmProjectNodeEditReq : spdmProjectNodeEditReqList) {
|
||||
SimulationNode simulationNode = new SimulationNode();
|
||||
@@ -2573,9 +2572,9 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
}
|
||||
|
||||
|
||||
private List<SpdmProjectNodeEditReq> httpSyncHandleNoRelatedProjectTodo(List<LyricVTodoEmulationInfoDM> noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName,Map<String, Long> usernameToUserIdMap) {
|
||||
private List<SpdmProjectNodeEditReq> httpSyncHandleNoRelatedProjectTodo(List<LyricVTodoEmulationInfoDM> noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName, Map<String, Long> usernameToUserIdMap) {
|
||||
CompletableFuture<List<SpdmProjectNodeEditReq>> syncHandleNoRelatedProjectTodoFeature = CompletableFuture.supplyAsync(() ->
|
||||
handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName,usernameToUserIdMap));
|
||||
handleNoRelatedProjectTodo(noRelatedProjectVTodoEmulationInfoDMList, tenantId, userId, jobNumber, userName, usernameToUserIdMap));
|
||||
try {
|
||||
List<SpdmProjectNodeEditReq> spdmProjectNodeEditReqList = syncHandleNoRelatedProjectTodoFeature.get(syncProjectDataWaitSeconds, TimeUnit.SECONDS);
|
||||
return spdmProjectNodeEditReqList;
|
||||
@@ -2594,7 +2593,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
}
|
||||
}
|
||||
|
||||
private List<SpdmProjectNodeEditReq> handleNoRelatedProjectTodo(List<LyricVTodoEmulationInfoDM> noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName,Map<String, Long> usernameToUserIdMap) {
|
||||
private List<SpdmProjectNodeEditReq> handleNoRelatedProjectTodo(List<LyricVTodoEmulationInfoDM> noRelatedProjectVTodoEmulationInfoDMList, Long tenantId, Long userId, String jobNumber, String userName, Map<String, Long> usernameToUserIdMap) {
|
||||
// 尝试获取锁(立即返回,不等待)
|
||||
if (!syncTodoInfoProjectLock.tryLock()) {
|
||||
return new ArrayList<>();
|
||||
@@ -2631,12 +2630,12 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
List<SpdmNodeRelateMemberReq> allNodeManagerList = new ArrayList<>();
|
||||
List<LyricVPdtToDM> eachPdtToDMList;
|
||||
for (LyricVProjectToDM lyricVProjectToDM : lyricVProjectToDMList) {
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId,pdtMap,usernameToUserIdMap);
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId, pdtMap, usernameToUserIdMap);
|
||||
if (spdmProjectNodeEditReq != null) {
|
||||
eachPdtToDMList = pdtMap.get(spdmProjectNodeEditReq.getNodeCode());
|
||||
spdmProjectNodeEditReqList.add(spdmProjectNodeEditReq);
|
||||
if (CollectionUtils.isEmpty(eachPdtToDMList)) {
|
||||
log.info("项目:{},没有仿真代表",spdmProjectNodeEditReq.getNodeName());
|
||||
log.info("项目:{},没有仿真代表", spdmProjectNodeEditReq.getNodeName());
|
||||
continue;
|
||||
}
|
||||
for (LyricVPdtToDM lyricVPdtToDM : eachPdtToDMList) {
|
||||
@@ -2713,7 +2712,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
/**
|
||||
* 通用方法:构建单个DirNodeInfo
|
||||
*/
|
||||
private DirNodeInfo buildDirNodeInfo(String uuid, String parentUuid, String nodeType, String dirName,TagReq tagReq) {
|
||||
private DirNodeInfo buildDirNodeInfo(String uuid, String parentUuid, String nodeType, String dirName, TagReq tagReq) {
|
||||
DirNodeInfo dirNodeInfo = new DirNodeInfo();
|
||||
dirNodeInfo.setUuId(uuid);
|
||||
dirNodeInfo.setParentUuId(parentUuid);
|
||||
@@ -2733,8 +2732,8 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
List<DirNodeInfo> dirNodeInfoList = new ArrayList<>();
|
||||
for (SpdmProjectNodeEditReq node : nodeList) {
|
||||
TagReq tagReq = new TagReq();
|
||||
BeanUtils.copyProperties(node,tagReq);
|
||||
dirNodeInfoList.add(buildDirNodeInfo(node.getUuid(), parentUuid, nodeType, node.getNodeName(),tagReq));
|
||||
BeanUtils.copyProperties(node, tagReq);
|
||||
dirNodeInfoList.add(buildDirNodeInfo(node.getUuid(), parentUuid, nodeType, node.getNodeName(), tagReq));
|
||||
}
|
||||
return dirNodeInfoList;
|
||||
}
|
||||
@@ -2747,10 +2746,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
List<SpdmProjectNodeEditReq> phaseNodes = filterResult.getAddPhaseNodeList();
|
||||
BatchCreateDirItem projectCreateDirItem = new BatchCreateDirItem();
|
||||
TagReq tagReq = new TagReq();
|
||||
BeanUtils.copyProperties(projectNode,tagReq);
|
||||
BeanUtils.copyProperties(projectNode, tagReq);
|
||||
DirNodeInfo projectDirNodeInfo = buildDirNodeInfo(
|
||||
projectNode.getUuid(), null,
|
||||
NodeTypeEnum.PROJECT.getValue(), projectNode.getNodeName(),tagReq
|
||||
NodeTypeEnum.PROJECT.getValue(), projectNode.getNodeName(), tagReq
|
||||
);
|
||||
projectCreateDirItem.setParentDirNodeInfo(projectDirNodeInfo);
|
||||
// 构建项目下的阶段子节点
|
||||
@@ -2767,10 +2766,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
private BatchCreateDirItem buildPhaseDirItem(SpdmProjectNodeEditReq phaseNode, String projectUuid, List<SpdmProjectNodeEditReq> machineNodes) {
|
||||
BatchCreateDirItem phaseCreateDirItem = new BatchCreateDirItem();
|
||||
TagReq tagReq = new TagReq();
|
||||
BeanUtils.copyProperties(phaseNode,tagReq);
|
||||
BeanUtils.copyProperties(phaseNode, tagReq);
|
||||
DirNodeInfo phaseDirNodeInfo = buildDirNodeInfo(
|
||||
phaseNode.getUuid(), projectUuid,
|
||||
NodeTypeEnum.PHASE.getValue(), phaseNode.getNodeName(),tagReq
|
||||
NodeTypeEnum.PHASE.getValue(), phaseNode.getNodeName(), tagReq
|
||||
);
|
||||
phaseCreateDirItem.setParentDirNodeInfo(phaseDirNodeInfo);
|
||||
// 若无机台节点,子节点为空
|
||||
@@ -2794,10 +2793,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
List<SpdmProjectNodeEditReq> workspaceNodes) {
|
||||
BatchCreateDirItem machineCreateDirItem = new BatchCreateDirItem();
|
||||
TagReq tagReq = new TagReq();
|
||||
BeanUtils.copyProperties(machineNode,tagReq);
|
||||
BeanUtils.copyProperties(machineNode, tagReq);
|
||||
DirNodeInfo machineDirNodeInfo = buildDirNodeInfo(
|
||||
machineNode.getUuid(), phaseUuid,
|
||||
NodeTypeEnum.MACHINE.getValue(), machineNode.getNodeName(),tagReq
|
||||
NodeTypeEnum.MACHINE.getValue(), machineNode.getNodeName(), tagReq
|
||||
);
|
||||
machineCreateDirItem.setParentDirNodeInfo(machineDirNodeInfo);
|
||||
|
||||
@@ -2825,10 +2824,10 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
for (SpdmProjectNodeEditReq workspaceNode : currentWorkspaceNodes) {
|
||||
BatchCreateDirItem workspaceCreateDirItem = new BatchCreateDirItem();
|
||||
TagReq tagReq = new TagReq();
|
||||
BeanUtils.copyProperties(workspaceNode,tagReq);
|
||||
BeanUtils.copyProperties(workspaceNode, tagReq);
|
||||
DirNodeInfo workspaceDirNodeInfo = buildDirNodeInfo(
|
||||
workspaceNode.getUuid(), machineNode.getUuid(),
|
||||
NodeTypeEnum.WORKSPACE.getValue(), workspaceNode.getNodeName(),tagReq
|
||||
NodeTypeEnum.WORKSPACE.getValue(), workspaceNode.getNodeName(), tagReq
|
||||
);
|
||||
workspaceCreateDirItem.setParentDirNodeInfo(workspaceDirNodeInfo);
|
||||
workspaceCreateDirItem.setChildDirNodeInfos(new ArrayList<>());
|
||||
@@ -2950,7 +2949,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
log.info("创建节点时,调用批量创建文件夹的返回值为:{}", response);
|
||||
}
|
||||
|
||||
private SpdmProjectNodeEditReq buildProjectForTodoInfo(LyricVProjectToDM lyricVProjectToDM, Long tenantId, Long jobNumber,Map<String, List<LyricVPdtToDM>> pdtMap,Map<String, Long> usernameToUserIdMap) {
|
||||
private SpdmProjectNodeEditReq buildProjectForTodoInfo(LyricVProjectToDM lyricVProjectToDM, Long tenantId, Long jobNumber, Map<String, List<LyricVPdtToDM>> pdtMap, Map<String, Long> usernameToUserIdMap) {
|
||||
String curDateStr;
|
||||
Date createTime = lyricVProjectToDM.getCreateTime();
|
||||
if (ObjectUtils.isNotEmpty(createTime)) {
|
||||
@@ -2985,77 +2984,64 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}",
|
||||
spdmProjectNodeEditReq.getProjectId(), ex.getMessage());
|
||||
}
|
||||
LyricVProjectToDM lyricVProject = lyricVProjectToDM;
|
||||
String currentPhase = lyricVProject.getStage();
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(spdmProjectNodeEditReq.getUuid());
|
||||
addNodeList.add(phaseNode);
|
||||
if (CollectionUtils.isNotEmpty(projectStationList)) {
|
||||
// 同步EP中的节点、机台、工位到DM
|
||||
// 查询当前阶段
|
||||
LyricVProjectToDM lyricVProject = null;
|
||||
try {
|
||||
lyricVProject = lyricVProjectToDmService.lambdaQuery()
|
||||
.eq(LyricVProjectToDM::getProjectNum, spdmProjectNodeEditReq.getNodeCode())
|
||||
.one();
|
||||
} catch (MyBatisSystemException ex) {
|
||||
// 查询发生异常,记录异常日志(可能是测试环境预期异常)
|
||||
log.warn("查询当前阶段时发生异常(可能是测试环境预期异常),项目编码:{},异常信息:{}",
|
||||
spdmProjectNodeEditReq.getProjectId(), ex.getMessage());
|
||||
}
|
||||
|
||||
if (ObjectUtils.isNotEmpty(lyricVProject)) {
|
||||
// 当前阶段
|
||||
String currentPhase = lyricVProject.getStage();
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(spdmProjectNodeEditReq.getUuid());
|
||||
addNodeList.add(phaseNode);
|
||||
// 机台、工位
|
||||
Map<String, List<LyricVProjectStationToDM>> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber));
|
||||
for (Map.Entry<String, List<LyricVProjectStationToDM>> machineEntry : machineMap.entrySet()) {
|
||||
String machineNumber = machineEntry.getKey();
|
||||
List<LyricVProjectStationToDM> projectStationByMachineNumberList = machineEntry.getValue();
|
||||
SpdmProjectNodeEditReq machineNode = new SpdmProjectNodeEditReq();
|
||||
machineNode.setUuid(RandomUtil.generateString(32));
|
||||
machineNode.setNodeCode(machineNumber);
|
||||
machineNode.setNodeName(projectStationByMachineNumberList.get(0).getMachineName());
|
||||
machineNode.setNodeType(NodeTypeEnum.MACHINE.getValue());
|
||||
machineNode.setCreateTime(curDateStr);
|
||||
machineNode.setCreator(jobNumber);
|
||||
machineNode.setTenantId(tenantId);
|
||||
machineNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
machineNode.setPid(phaseNode.getUuid());
|
||||
addNodeList.add(machineNode);
|
||||
// 从EP拉取机台时,创建一个工位,一个机台建一个工位,用机台的编号加上M,例如01机台,工位名称和工位号都叫 01-M
|
||||
SpdmProjectNodeEditReq fixedWorkspaceNode = new SpdmProjectNodeEditReq();
|
||||
fixedWorkspaceNode.setUuid(RandomUtil.generateString(32));
|
||||
fixedWorkspaceNode.setNodeCode(machineNumber + "-M");
|
||||
fixedWorkspaceNode.setNodeName(machineNumber + "-M");
|
||||
fixedWorkspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue());
|
||||
fixedWorkspaceNode.setCreateTime(curDateStr);
|
||||
fixedWorkspaceNode.setCreator(jobNumber);
|
||||
fixedWorkspaceNode.setTenantId(tenantId);
|
||||
fixedWorkspaceNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
fixedWorkspaceNode.setPid(machineNode.getUuid());
|
||||
addNodeList.add(fixedWorkspaceNode);
|
||||
for (LyricVProjectStationToDM lyricVProjectStationToDM : projectStationByMachineNumberList) {
|
||||
SpdmProjectNodeEditReq workspaceNode = new SpdmProjectNodeEditReq();
|
||||
workspaceNode.setUuid(RandomUtil.generateString(32));
|
||||
workspaceNode.setNodeCode(lyricVProjectStationToDM.getStationNum());
|
||||
workspaceNode.setNodeName(lyricVProjectStationToDM.getStationName());
|
||||
workspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue());
|
||||
workspaceNode.setCreateTime(curDateStr);
|
||||
workspaceNode.setCreator(jobNumber);
|
||||
workspaceNode.setTenantId(tenantId);
|
||||
workspaceNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
workspaceNode.setPid(machineNode.getUuid());
|
||||
addNodeList.add(workspaceNode);
|
||||
}
|
||||
// 机台、工位
|
||||
Map<String, List<LyricVProjectStationToDM>> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber));
|
||||
for (Map.Entry<String, List<LyricVProjectStationToDM>> machineEntry : machineMap.entrySet()) {
|
||||
String machineNumber = machineEntry.getKey();
|
||||
List<LyricVProjectStationToDM> projectStationByMachineNumberList = machineEntry.getValue();
|
||||
SpdmProjectNodeEditReq machineNode = new SpdmProjectNodeEditReq();
|
||||
machineNode.setUuid(RandomUtil.generateString(32));
|
||||
machineNode.setNodeCode(machineNumber);
|
||||
machineNode.setNodeName(projectStationByMachineNumberList.get(0).getMachineName());
|
||||
machineNode.setNodeType(NodeTypeEnum.MACHINE.getValue());
|
||||
machineNode.setCreateTime(curDateStr);
|
||||
machineNode.setCreator(jobNumber);
|
||||
machineNode.setTenantId(tenantId);
|
||||
machineNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
machineNode.setPid(phaseNode.getUuid());
|
||||
addNodeList.add(machineNode);
|
||||
// 从EP拉取机台时,创建一个工位,一个机台建一个工位,用机台的编号加上M,例如01机台,工位名称和工位号都叫 01-M
|
||||
SpdmProjectNodeEditReq fixedWorkspaceNode = new SpdmProjectNodeEditReq();
|
||||
fixedWorkspaceNode.setUuid(RandomUtil.generateString(32));
|
||||
fixedWorkspaceNode.setNodeCode(machineNumber + "-M");
|
||||
fixedWorkspaceNode.setNodeName(machineNumber + "-M");
|
||||
fixedWorkspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue());
|
||||
fixedWorkspaceNode.setCreateTime(curDateStr);
|
||||
fixedWorkspaceNode.setCreator(jobNumber);
|
||||
fixedWorkspaceNode.setTenantId(tenantId);
|
||||
fixedWorkspaceNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
fixedWorkspaceNode.setPid(machineNode.getUuid());
|
||||
addNodeList.add(fixedWorkspaceNode);
|
||||
for (LyricVProjectStationToDM lyricVProjectStationToDM : projectStationByMachineNumberList) {
|
||||
SpdmProjectNodeEditReq workspaceNode = new SpdmProjectNodeEditReq();
|
||||
workspaceNode.setUuid(RandomUtil.generateString(32));
|
||||
workspaceNode.setNodeCode(lyricVProjectStationToDM.getStationNum());
|
||||
workspaceNode.setNodeName(lyricVProjectStationToDM.getStationName());
|
||||
workspaceNode.setNodeType(NodeTypeEnum.WORKSPACE.getValue());
|
||||
workspaceNode.setCreateTime(curDateStr);
|
||||
workspaceNode.setCreator(jobNumber);
|
||||
workspaceNode.setTenantId(tenantId);
|
||||
workspaceNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
workspaceNode.setPid(machineNode.getUuid());
|
||||
addNodeList.add(workspaceNode);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
List<TaskNodeTag> tagMap = new ArrayList<>();
|
||||
@@ -3499,7 +3485,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
return resultList;
|
||||
}
|
||||
|
||||
private void syncTodoPhase(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req,String stationNum,SimulationNode projectNode) {
|
||||
private void syncTodoPhase(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String stationNum, SimulationNode projectNode) {
|
||||
Long tenantId = req.getTenantId();
|
||||
Long jobNumber = req.getCreator();
|
||||
List<SpdmProjectNodeEditReq> currentNodeList;
|
||||
@@ -3516,21 +3502,21 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}",
|
||||
projectId, ex.getMessage());
|
||||
}
|
||||
// 同步EP中的节点、机台、工位到DM
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setTag1(projectNodeId);
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(projectNodeId);
|
||||
addNodeList.add(phaseNode);
|
||||
req.setPhaseId(phaseNode.getUuid());
|
||||
if (CollectionUtils.isNotEmpty(projectStationList)) {
|
||||
// 同步EP中的节点、机台、工位到DM
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setTag1(projectNodeId);
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(projectNodeId);
|
||||
addNodeList.add(phaseNode);
|
||||
req.setPhaseId(phaseNode.getUuid());
|
||||
// 机台、工位
|
||||
Map<String, List<LyricVProjectStationToDM>> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber));
|
||||
for (Map.Entry<String, List<LyricVProjectStationToDM>> machineEntry : machineMap.entrySet()) {
|
||||
@@ -3655,23 +3641,26 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
}
|
||||
}
|
||||
|
||||
if (nodeMapper.addNodeBatch(addNodeList) <= 0) {
|
||||
return;
|
||||
if (CollectionUtils.isNotEmpty(addNodeList)) {
|
||||
if (nodeMapper.addNodeBatch(addNodeList) <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 批量创建文件夹
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
|
||||
BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq);
|
||||
NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList()));
|
||||
BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult);
|
||||
callBatchCreateDirApi(batchCreateDirReq);
|
||||
}
|
||||
|
||||
// 批量创建文件夹
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
|
||||
BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq);
|
||||
NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList()));
|
||||
BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult);
|
||||
callBatchCreateDirApi(batchCreateDirReq);
|
||||
|
||||
}
|
||||
|
||||
private void syncTodoPhaseForMes(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String machineNum, String stationNum,SimulationNode projectNode) {
|
||||
private void syncTodoPhaseForMes(String curDateStr, Long projectId, String currentPhase, String projectNodeId, SpdmAddDemandReq req, String machineNum, String stationNum, SimulationNode projectNode) {
|
||||
Long tenantId = req.getTenantId();
|
||||
Long jobNumber = req.getCreator();
|
||||
List<SpdmProjectNodeEditReq> currentNodeList;
|
||||
@@ -3688,22 +3677,22 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
log.warn("查询项目机台工位信息的视图时发生异常(可能是测试环境预期异常),项目id:{},异常信息:{}",
|
||||
projectId, ex.getMessage());
|
||||
}
|
||||
// 同步EP中的节点、机台、工位到DM
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setTag1(projectNodeId);
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(projectNodeId);
|
||||
addNodeList.add(phaseNode);
|
||||
req.setProjectId(projectNodeId);
|
||||
req.setPhaseId(phaseNode.getUuid());
|
||||
if (CollectionUtils.isNotEmpty(projectStationList)) {
|
||||
// 同步EP中的节点、机台、工位到DM
|
||||
SpdmProjectNodeEditReq phaseNode = new SpdmProjectNodeEditReq();
|
||||
phaseNode.setUuid(RandomUtil.generateString(32));
|
||||
phaseNode.setTag1(projectNodeId);
|
||||
phaseNode.setNodeCode(currentPhase);
|
||||
phaseNode.setNodeName(currentPhase);
|
||||
phaseNode.setNodeType(NodeTypeEnum.PHASE.getValue());
|
||||
phaseNode.setCreateTime(curDateStr);
|
||||
phaseNode.setCreator(jobNumber);
|
||||
phaseNode.setTenantId(tenantId);
|
||||
phaseNode.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
phaseNode.setPid(projectNodeId);
|
||||
addNodeList.add(phaseNode);
|
||||
req.setProjectId(projectNodeId);
|
||||
req.setPhaseId(phaseNode.getUuid());
|
||||
// 机台、工位
|
||||
Map<String, List<LyricVProjectStationToDM>> machineMap = projectStationList.stream().collect(Collectors.groupingBy(LyricVProjectStationToDM::getMachineNumber));
|
||||
for (Map.Entry<String, List<LyricVProjectStationToDM>> machineEntry : machineMap.entrySet()) {
|
||||
@@ -3830,19 +3819,21 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
}
|
||||
}
|
||||
|
||||
if (nodeMapper.addNodeBatch(addNodeList) <= 0) {
|
||||
return;
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(addNodeList)) {
|
||||
if (nodeMapper.addNodeBatch(addNodeList) <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// 批量创建文件夹
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
|
||||
BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq);
|
||||
NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList()));
|
||||
BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult);
|
||||
callBatchCreateDirApi(batchCreateDirReq);
|
||||
// 批量创建文件夹
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = new SpdmProjectNodeEditReq();
|
||||
BeanUtils.copyProperties(projectNode, spdmProjectNodeEditReq);
|
||||
NodeServiceImpl.NodeTypeFilterResult filterResult = new NodeServiceImpl.NodeTypeFilterResult(spdmProjectNodeEditReq
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.MACHINE.getValue().equals(node.getNodeType())).collect(Collectors.toList())
|
||||
, addNodeList.stream().filter(node -> NodeTypeEnum.WORKSPACE.getValue().equals(node.getNodeType())).collect(Collectors.toList()));
|
||||
BatchCreateDirReq batchCreateDirReq = buildBatchCreateDirReq(filterResult);
|
||||
callBatchCreateDirApi(batchCreateDirReq);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -4149,7 +4140,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
req.setDeptName(deptName);
|
||||
req.setCurrent(1);
|
||||
req.setSize(1);
|
||||
log.info("listDept params:{}",req);
|
||||
log.info("listDept params:{}", req);
|
||||
SdmResponse<PageDataResp<List<SysDeptUserResp>>> pageDataRespSdmResponse = sysDeptFeignClient.listDept(req);
|
||||
SysDeptUserResp sysDeptUserResp = null;
|
||||
if (pageDataRespSdmResponse.isSuccess()) {
|
||||
@@ -4181,7 +4172,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
if (CollectionUtils.isNotEmpty(pdtToDMList)) {
|
||||
pdtMap = pdtToDMList.stream().collect(Collectors.groupingBy(LyricVPdtToDM::getProjectNum));
|
||||
}
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId,pdtMap,usernameToUserIdMap);
|
||||
SpdmProjectNodeEditReq spdmProjectNodeEditReq = buildProjectForTodoInfo(lyricVProjectToDM, tenantId, userId, pdtMap, usernameToUserIdMap);
|
||||
if (spdmProjectNodeEditReq != null) {
|
||||
spdmProjectNodeEditReqList.add(spdmProjectNodeEditReq);
|
||||
if (CollectionUtils.isNotEmpty(pdtToDMList)) {
|
||||
|
||||
@@ -365,9 +365,10 @@ public class SimulationTaskServiceImpl extends ServiceImpl<SimulationTaskMapper,
|
||||
}
|
||||
|
||||
// 如果没有workspace信息,抛出异常
|
||||
log.error("任务缺少workspace信息,任务UUID:{},需求UUID:{},tagMap:{}",
|
||||
task.getUuid(), task.getDemandId(), tagMap);
|
||||
throw new RuntimeException("任务缺少workspace信息,无法创建任务目录,任务UUID:" + task.getUuid());
|
||||
// log.error("任务缺少workspace信息,任务UUID:{},需求UUID:{},tagMap:{}",
|
||||
// task.getUuid(), task.getDemandId(), tagMap);
|
||||
// throw new RuntimeException("任务缺少workspace信息,无法创建任务目录,任务UUID:" + task.getUuid());
|
||||
return "";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user