1、同步项目时,保存部分数据作为项目拓展字段信息进行保存
This commit is contained in:
@@ -103,6 +103,16 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
private static final String DATE_FORMAT_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||
private static final int UUID_LENGTH = 32;
|
||||
private static final String PROJECT_STAGE = "PROJECT_STAGE";
|
||||
private static final String SELF_DEVELOP = "self_develop";
|
||||
private static final String DOMAIN = "domain";
|
||||
private static final String CLIENT_NAME = "clientName";
|
||||
private static final String DIFFICULT_TYPE = "difficultType";
|
||||
private static final String PROGRAM_MANAGER = "programManager";
|
||||
private static final String PROCESS_SECTION = "processSection";
|
||||
private static final String PRODUCE_LINE = "produceLine";
|
||||
private static final String PROGRAM_TEAM = "programTeam";
|
||||
private static final String REFERENCE_ITEM = "referenceItem";
|
||||
private static final String PROJECT_UNDERTAKER = "projectUndertaker";
|
||||
// 同步待办锁
|
||||
private final ReentrantLock syncTodoInfoLock = new ReentrantLock();
|
||||
|
||||
@@ -2127,7 +2137,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
// 查询原始待办数据
|
||||
// TODO 这里要确认是不是只拉取有限元仿真
|
||||
List<LyricVTodoEmulationInfoDM> todoInfoList = lyricVTodoInfoService.lambdaQuery()
|
||||
.in(LyricVTodoEmulationInfoDM::getRelevanceTask, Arrays.asList(DemandTypeEnum.FINITE_ELEMENT_SIMULATION.getName()))
|
||||
.eq(LyricVTodoEmulationInfoDM::getRelevanceTask, DemandTypeEnum.FINITE_ELEMENT_SIMULATION.getName())
|
||||
.ge(LyricVTodoEmulationInfoDM::getCreateTime, startTime)
|
||||
.le(LyricVTodoEmulationInfoDM::getCreateTime, endTime)
|
||||
.list();
|
||||
@@ -2136,6 +2146,12 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<LyricVTodoEmulationInfoDM> expTodoInfoList = todoInfoList.stream().filter(todoInfo -> DemandTypeEnum.FINITE_ELEMENT_SIMULATION.getName().equals(todoInfo.getRelevanceTask()))
|
||||
.toList();
|
||||
if (CollectionUtils.isNotEmpty(expTodoInfoList)) {
|
||||
log.error("同步到了异常类型的待办,id为:{}",expTodoInfoList.stream().map(LyricVTodoEmulationInfoDM::getId).toList());
|
||||
}
|
||||
|
||||
// 过滤已同步的待办
|
||||
Set<String> existDemandCodeSet = demandMapper.getAllCodeList();
|
||||
if (CollectionUtils.isEmpty(existDemandCodeSet)) {
|
||||
@@ -2570,7 +2586,7 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
spdmProjectNodeEditReq.setTenantId(tenantId);
|
||||
spdmProjectNodeEditReq.setProjectSource(SYNC_PROJECT_SOURCE);
|
||||
spdmProjectNodeEditReq.setProjectId(Math.toIntExact(lyricVProjectToDM.getId()));
|
||||
spdmProjectNodeEditReq.setNodeSubType("self_develop");
|
||||
spdmProjectNodeEditReq.setNodeSubType(SELF_DEVELOP);
|
||||
addNodeList.add(spdmProjectNodeEditReq);
|
||||
// 根据projectId查询项目机台工位信息的视图
|
||||
List<LyricVProjectStationToDM> projectStationList = new ArrayList<>();
|
||||
@@ -2721,6 +2737,122 @@ public class LyricInternalServiceImpl implements ILyricInternalService {
|
||||
return ;
|
||||
}
|
||||
|
||||
// 保存拓展字段
|
||||
List<SpdmNodeExtraReq> nodeExtraReqList = new ArrayList<>();
|
||||
|
||||
// 项目领域
|
||||
String domain = lyricVProjectToDM.getDomain();
|
||||
if (StringUtils.isNotBlank(domain)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(DOMAIN);
|
||||
spdmNodeExtraReq.setPropertyValue(domain);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 客户名称
|
||||
String clientName = lyricVProjectToDM.getClientName();
|
||||
if (StringUtils.isNotBlank(clientName)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(CLIENT_NAME);
|
||||
spdmNodeExtraReq.setPropertyValue(clientName);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 难度类型
|
||||
String difficultyType = lyricVProjectToDM.getDifficultyType();
|
||||
if (StringUtils.isNotBlank(difficultyType)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(DIFFICULT_TYPE);
|
||||
spdmNodeExtraReq.setPropertyValue(difficultyType);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 方案管理人
|
||||
String programManager = lyricVProjectToDM.getProgramManager();
|
||||
if (StringUtils.isNotBlank(programManager)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(PROGRAM_MANAGER);
|
||||
spdmNodeExtraReq.setPropertyValue(programManager);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 产品组
|
||||
String processSection = lyricVProjectToDM.getProcessSection();
|
||||
if (StringUtils.isNotBlank(processSection)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(PROCESS_SECTION);
|
||||
spdmNodeExtraReq.setPropertyValue(processSection);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 产品线
|
||||
String produceLine = lyricVProjectToDM.getProduceLine();
|
||||
if (StringUtils.isNotBlank(produceLine)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(PRODUCE_LINE);
|
||||
spdmNodeExtraReq.setPropertyValue(produceLine);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 方案制作部门
|
||||
String programTeam = lyricVProjectToDM.getProgramTeam();
|
||||
if (StringUtils.isNotBlank(domain)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(PROGRAM_TEAM);
|
||||
spdmNodeExtraReq.setPropertyValue(programTeam);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 参考项目
|
||||
String referenceItem = lyricVProjectToDM.getReferenceItem();
|
||||
if (StringUtils.isNotBlank(domain)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(REFERENCE_ITEM);
|
||||
spdmNodeExtraReq.setPropertyValue(referenceItem);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 项目承接主体
|
||||
String projectUndertaker = lyricVProjectToDM.getProjectUndertaker();
|
||||
if (StringUtils.isNotBlank(projectUndertaker)) {
|
||||
SpdmNodeExtraReq spdmNodeExtraReq = new SpdmNodeExtraReq();
|
||||
spdmNodeExtraReq.setNodeId(spdmProjectNodeEditReq.getUuid());
|
||||
spdmNodeExtraReq.setPropertyName(PROJECT_UNDERTAKER);
|
||||
spdmNodeExtraReq.setPropertyValue(projectUndertaker);
|
||||
spdmNodeExtraReq.setCreator(jobNumber);
|
||||
spdmNodeExtraReq.setCreateTime(curDateStr);
|
||||
nodeExtraReqList.add(spdmNodeExtraReq);
|
||||
}
|
||||
|
||||
// 保存项目拓展信息
|
||||
if (CollectionUtils.isNotEmpty(nodeExtraReqList)) {
|
||||
nodeMapper.addNodeExtraBatch(nodeExtraReqList);
|
||||
}
|
||||
|
||||
// 批量创建文件夹
|
||||
batchCreateNodeDir(addNodeList);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user