Commit 727e0380 authored by suhuiguang's avatar suhuiguang

fix(大编辑) :es顺序

1.写es移动到最后执行
parent d24de51a
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.annotation.EnableEsRollback;
import com.yeejoin.amos.boot.biz.common.annotation.ResultFieldMapping; import com.yeejoin.amos.boot.biz.common.annotation.ResultFieldMapping;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData; import com.yeejoin.amos.boot.module.jg.api.dto.RequestChangeData;
...@@ -34,6 +35,7 @@ public class BizDataChangeServiceImpl { ...@@ -34,6 +35,7 @@ public class BizDataChangeServiceImpl {
* @param selectedOrgInfo 登录人信息 * @param selectedOrgInfo 登录人信息
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@EnableEsRollback
public void save(String bizId, public void save(String bizId,
String applyNo, String applyNo,
String bizType, String bizType,
......
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData; import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -16,16 +17,16 @@ import java.util.stream.Collectors; ...@@ -16,16 +17,16 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class EsUpdateService { public class EsUpdateService {
private final List<EsUpdateStrategy<?>> strategies; private final List<EsBuildStrategy<?>> strategies;
// 类型→策略的缓存Map // 类型→策略的缓存Map
private Map<Class<?>, EsUpdateStrategy<?>> strategyMap; private Map<Class<?>, EsBuildStrategy<?>> strategyMap;
@PostConstruct @PostConstruct
public void init() { public void init() {
// 初始化策略映射 // 初始化策略映射
strategyMap = strategies.stream() strategyMap = strategies.stream()
.collect(Collectors.toMap( .collect(Collectors.toMap(
EsUpdateStrategy::getSupportType, EsBuildStrategy::getSupportType,
strategy -> strategy strategy -> strategy
)); ));
} }
...@@ -33,22 +34,19 @@ public class EsUpdateService { ...@@ -33,22 +34,19 @@ public class EsUpdateService {
/** /**
* 统一入口方法 * 统一入口方法
*/ */
public void updateEsData(String record, IBaseChangeData data) { public void buildEsData(ESEquipmentCategoryDto esEquipmentCategoryDto, IBaseChangeData data) {
if (data == null) return; if (data == null) return;
EsUpdateStrategy<?> strategy = strategyMap.get(data.getClass()); EsBuildStrategy<?> strategy = strategyMap.get(data.getClass());
if (strategy != null) { if (strategy != null) {
executeStrategy(record, data, strategy); executeStrategy(esEquipmentCategoryDto, data, strategy);
} else { } else {
log.warn("No strategy found for type: {}", data.getClass()); log.warn("No strategy found for type: {}", data.getClass());
} }
} }
public void updateEsDataBatch(String record, List<? extends IBaseChangeData> dataList) {
dataList.forEach(data -> updateEsData(record, data));
}
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private <T extends IBaseChangeData> void executeStrategy(String record, T data, EsUpdateStrategy<?> strategy) { private <T extends IBaseChangeData> void executeStrategy(ESEquipmentCategoryDto esEquipmentCategoryDto, T data, EsBuildStrategy<?> strategy) {
((EsUpdateStrategy<T>) strategy).updateEsData(record, data); ((EsBuildStrategy<T>) strategy).buildEsData(esEquipmentCategoryDto, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgDesignInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -10,7 +11,7 @@ import org.springframework.stereotype.Component; ...@@ -10,7 +11,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j @Slf4j
public class DesignEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgDesignInfo> { public class DesignEsBuildStrategy implements EsBuildStrategy<IdxBizJgDesignInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
...@@ -20,7 +21,7 @@ public class DesignEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgDesignIn ...@@ -20,7 +21,7 @@ public class DesignEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgDesignIn
} }
@Override @Override
public void updateEsData(String record, IdxBizJgDesignInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgDesignInfo data) {
log.warn("do no thing"); log.warn("do no thing");
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component; ...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class FactoryEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgFactoryInfo> { public class FactoryEsBuildStrategy implements EsBuildStrategy<IdxBizJgFactoryInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
@Override @Override
...@@ -17,7 +18,7 @@ public class FactoryEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgFactory ...@@ -17,7 +18,7 @@ public class FactoryEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgFactory
} }
@Override @Override
public void updateEsData(String record, IdxBizJgFactoryInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgFactoryInfo data) {
equipChangeDataUpdateServiceImpl.updateFactoryEsData(record, data); equipChangeDataUpdateServiceImpl.buildFactoryEsData(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component; ...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class InspectionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgInspectionDetectionInfo> { public class InspectionEsBuildStrategy implements EsBuildStrategy<IdxBizJgInspectionDetectionInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
@Override @Override
...@@ -17,7 +18,7 @@ public class InspectionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgInsp ...@@ -17,7 +18,7 @@ public class InspectionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgInsp
} }
@Override @Override
public void updateEsData(String record, IdxBizJgInspectionDetectionInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgInspectionDetectionInfo data) {
equipChangeDataUpdateServiceImpl.updateInspectInfoEs(record, data); equipChangeDataUpdateServiceImpl.buildInspectInfoEs(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class OtherInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgOtherInfo> { public class OtherInfoEsBuildStrategy implements EsBuildStrategy<IdxBizJgOtherInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
...@@ -19,7 +19,7 @@ public class OtherInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgOther ...@@ -19,7 +19,7 @@ public class OtherInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgOther
} }
@Override @Override
public void updateEsData(String record, IdxBizJgOtherInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgOtherInfo data) {
equipChangeDataUpdateServiceImpl.updateOtherInfoEsData(record, data); equipChangeDataUpdateServiceImpl.buildOtherInfoEsData(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component; ...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class RegisterEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgRegisterInfo> { public class RegisterEsBuildStrategy implements EsBuildStrategy<IdxBizJgRegisterInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
...@@ -18,7 +19,7 @@ public class RegisterEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgRegist ...@@ -18,7 +19,7 @@ public class RegisterEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgRegist
} }
@Override @Override
public void updateEsData(String record, IdxBizJgRegisterInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgRegisterInfo data) {
equipChangeDataUpdateServiceImpl.updateRegisterEsData(record, data); equipChangeDataUpdateServiceImpl.buildRegisterEsData(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgSupervisionInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgSupervisionInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component; ...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class SupervisionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgSupervisionInfo> { public class SupervisionEsBuildStrategy implements EsBuildStrategy<IdxBizJgSupervisionInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
...@@ -18,7 +19,7 @@ public class SupervisionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgSup ...@@ -18,7 +19,7 @@ public class SupervisionEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgSup
} }
@Override @Override
public void updateEsData(String record, IdxBizJgSupervisionInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgSupervisionInfo data) {
equipChangeDataUpdateServiceImpl.updateSupervisionInfoEs(record, data); equipChangeDataUpdateServiceImpl.buildSupervisionInfoEs(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.service.impl;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsUpdateStrategy; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy.EsBuildStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.EquipChangeDataUpdateServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component; ...@@ -8,7 +9,7 @@ import org.springframework.stereotype.Component;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
public class UseInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgUseInfo> { public class UseInfoEsBuildStrategy implements EsBuildStrategy<IdxBizJgUseInfo> {
private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl; private final EquipChangeDataUpdateServiceImpl equipChangeDataUpdateServiceImpl;
...@@ -18,7 +19,7 @@ public class UseInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgUseInfo ...@@ -18,7 +19,7 @@ public class UseInfoEsUpdateStrategy implements EsUpdateStrategy<IdxBizJgUseInfo
} }
@Override @Override
public void updateEsData(String record, IdxBizJgUseInfo data) { public void buildEsData(ESEquipmentCategoryDto es, IdxBizJgUseInfo data) {
equipChangeDataUpdateServiceImpl.updateUseInfoEsData(record, data); equipChangeDataUpdateServiceImpl.buildUseInfoEsData(es, data);
} }
} }
package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy; package com.yeejoin.amos.boot.module.jg.biz.edit.esUpdate.strategy;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData; import com.yeejoin.amos.boot.module.common.api.dto.IBaseChangeData;
public interface EsUpdateStrategy<T extends IBaseChangeData> { public interface EsBuildStrategy<T extends IBaseChangeData> {
Class<T> getSupportType(); Class<T> getSupportType();
void updateEsData(String record, T data); void buildEsData(ESEquipmentCategoryDto es, T data);
} }
...@@ -94,12 +94,12 @@ public class ChangeLogInsertListener { ...@@ -94,12 +94,12 @@ public class ChangeLogInsertListener {
JgBizChangeLog changeLog = saveLog(event); JgBizChangeLog changeLog = saveLog(event);
// 2.子表字段保存 // 2.子表字段保存
List<ESDataChangeLogDto> logs = saveColumnsChange2Es(fieldChangeMetas, requestContextModel, date, changeLog); List<ESDataChangeLogDto> logs = saveColumnsChange2Es(fieldChangeMetas, requestContextModel, date, changeLog);
// 3.异步记录履历日志 // 3.记录履历日志
this.insertCertLog(changeLog, event); this.insertCertLog(changeLog, event);
log.info("es 操作日志数据入库成功:{}条", logs.size()); log.info("es 操作日志数据入库成功:{}条", logs.size());
} }
@Async
protected void insertCertLog(JgBizChangeLog changeLog, BaseBizDataChangeEvent event) { protected void insertCertLog(JgBizChangeLog changeLog, BaseBizDataChangeEvent event) {
try { try {
BizRelationDataDto data = event.getBizRelationData(); BizRelationDataDto data = event.getBizRelationData();
......
...@@ -42,10 +42,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.impl.*; ...@@ -42,10 +42,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.impl.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgDesignInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgFactoryInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -148,6 +145,8 @@ public class CommonEquipDataProcessService { ...@@ -148,6 +145,8 @@ public class CommonEquipDataProcessService {
private final JgUseRegistrationManageServiceImpl jgUseRegistrationManageService; private final JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
private final SuperviseInfoMapper superviseInfoMapper;
public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\""; public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\"";
public static final String BASE_COLUMN_REC_USERID = "\"REC_USER_ID\""; public static final String BASE_COLUMN_REC_USERID = "\"REC_USER_ID\"";
...@@ -1166,7 +1165,7 @@ public class CommonEquipDataProcessService { ...@@ -1166,7 +1165,7 @@ public class CommonEquipDataProcessService {
esEquipmentCategoryDto.setIS_INTO_MANAGEMENT(true); esEquipmentCategoryDto.setIS_INTO_MANAGEMENT(true);
esEquipmentCategoryDto.setEQU_STATE(EquipmentEnum.ZAIYONG.getCode()); esEquipmentCategoryDto.setEQU_STATE(EquipmentEnum.ZAIYONG.getCode());
esEquipmentCategoryDto.setUSE_ORG_CODE(useOrgCode); esEquipmentCategoryDto.setUSE_ORG_CODE(useOrgCode);
esEquipmentCategory.save(esEquipmentCategoryDto); esEquipmentCategory.saveWithFallback(esEquipmentCategoryDto);
} }
} }
......
...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper; ...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.bouncycastle.jce.provider.JCERSACipher;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -36,6 +37,7 @@ import java.math.RoundingMode; ...@@ -36,6 +37,7 @@ import java.math.RoundingMode;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -243,6 +245,8 @@ public class PieLineDataChangeServiceImpl { ...@@ -243,6 +245,8 @@ public class PieLineDataChangeServiceImpl {
supervisionInfo.setRecord(record); supervisionInfo.setRecord(record);
supervisionInfo.setRecDate(new Date()); supervisionInfo.setRecDate(new Date());
supervisionInfo.setSequenceNbr(null); supervisionInfo.setSequenceNbr(null);
supervisionInfo.setOrgBranchCode(projectContraptionChangeDataDto.getOrgCode());
supervisionInfo.setOrgBranchName(projectContraptionChangeDataDto.getOrgName());
supervisionInfoService.save(supervisionInfo); supervisionInfoService.save(supervisionInfo);
// 其他信息 // 其他信息
...@@ -265,15 +269,12 @@ public class PieLineDataChangeServiceImpl { ...@@ -265,15 +269,12 @@ public class PieLineDataChangeServiceImpl {
newPieLine.setPipeLength(pipelineInfo.getPipeLength()); newPieLine.setPipeLength(pipelineInfo.getPipeLength());
registerInfo.setProductName(pipelineInfo.getPipeName()); registerInfo.setProductName(pipelineInfo.getPipeName());
commonEquipDataProcessService.getJgRegisterInfoService().save(registerInfo); commonEquipDataProcessService.getJgRegisterInfoService().save(registerInfo);
ESEquipmentCategoryDto esEquipmentDto = BeanUtil.copyProperties(newPieLine, ESEquipmentCategoryDto.class); ESEquipmentCategoryDto esEquipmentDto = BeanUtil.copyProperties(newPieLine, ESEquipmentCategoryDto.class);
esEquipmentDto.setDATA_SOURCE(useInfo.getDataSource()); esEquipmentDto.setDATA_SOURCE(useInfo.getDataSource());
if (inspectionDetectionInfo.getNextInspectDate() != null) {
esEquipmentDto.setNEXT_INSPECT_DATE(inspectionDetectionInfo.getNextInspectDate().getTime());
}
esEquipmentDto.setREC_DATE(new Date().getTime()); esEquipmentDto.setREC_DATE(new Date().getTime());
esEquipmentDto.setSEQUENCE_NBR(record); esEquipmentDto.setSEQUENCE_NBR(record);
esEquipmentDto.setIS_INTO_MANAGEMENT(false); esEquipmentDto.setIS_INTO_MANAGEMENT(true);
esEquipmentDto.setUSE_ORG_CODE(projectContraptionChangeDataDto.getUseRegistrationCode());
esEquipmentDto.setEQU_CATEGORY_CODE(projectContraptionChangeDataDto.getEquCategory()); esEquipmentDto.setEQU_CATEGORY_CODE(projectContraptionChangeDataDto.getEquCategory());
esEquipmentDto.setEQU_CATEGORY(projectContraptionChangeDataDto.getEquCategoryName()); esEquipmentDto.setEQU_CATEGORY(projectContraptionChangeDataDto.getEquCategoryName());
esEquipmentDto.setEQU_LIST_CODE(projectContraptionChangeDataDto.getEquList()); esEquipmentDto.setEQU_LIST_CODE(projectContraptionChangeDataDto.getEquList());
...@@ -281,18 +282,20 @@ public class PieLineDataChangeServiceImpl { ...@@ -281,18 +282,20 @@ public class PieLineDataChangeServiceImpl {
esEquipmentDto.setEQU_DEFINE_CODE(projectContraptionChangeDataDto.getEquDefine()); esEquipmentDto.setEQU_DEFINE_CODE(projectContraptionChangeDataDto.getEquDefine());
esEquipmentDto.setEQU_DEFINE(projectContraptionChangeDataDto.getEquDefineName()); esEquipmentDto.setEQU_DEFINE(projectContraptionChangeDataDto.getEquDefineName());
esEquipmentDto.setSTATUS("已认领"); esEquipmentDto.setSTATUS("已认领");
esEquipmentDto.setIS_INTO_MANAGEMENT(false);
esEquipmentDto.setUSC_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUscUnitCreditCode()); esEquipmentDto.setUSC_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUscUnitCreditCode());
esEquipmentDto.setUSC_UNIT_NAME(projectContraptionChangeDataDto.getUscUnitName()); esEquipmentDto.setUSC_UNIT_NAME(projectContraptionChangeDataDto.getUscUnitName());
esEquipmentDto.setUSE_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUseUnitCreditCode()); esEquipmentDto.setUSE_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUseUnitCreditCode());
esEquipmentDto.setUSE_UNIT_NAME(projectContraptionChangeDataDto.getUseUnitName()); esEquipmentDto.setUSE_UNIT_NAME(projectContraptionChangeDataDto.getUseUnitName());
esEquipmentDto.setPROJECT_CONTRAPTION(projectContraptionChangeDataDto.getProjectContraption()); esEquipmentDto.setPROJECT_CONTRAPTION(projectContraptionChangeDataDto.getProjectContraption());
esEquipmentDto.setPRODUCT_NAME(pipelineInfo.getPipeName()); esEquipmentDto.setPRODUCT_NAME(pipelineInfo.getPipeName());
esEquipmentDto.setORG_BRANCH_NAME(projectContraptionChangeDataDto.getOrgName());
esEquipmentDto.setOrgBranchCode(projectContraptionChangeDataDto.getOrgCode());
esEquipmentDto.setCREATE_DATE(new Date().getTime());
esEquipmentDto.setProjectContraptionId(projectContraptionChangeDataDto.getProjectContraptionId()); esEquipmentDto.setProjectContraptionId(projectContraptionChangeDataDto.getProjectContraptionId());
if (inspectionDetectionInfo.getNextInspectDate() != null) { if (inspectionDetectionInfo.getNextInspectDate() != null) {
esEquipmentDto.setNEXT_INSPECT_DATE(inspectionDetectionInfo.getNextInspectDate().getTime()); esEquipmentDto.setNEXT_INSPECT_DATE(inspectionDetectionInfo.getNextInspectDate().getTime());
} }
esEquipmentCategory.save(esEquipmentDto); esEquipmentCategory.saveWithFallback(esEquipmentDto);
} }
private void buildNewPieLineLog(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, String record, List<FieldChangeMeta> allChangeColumns, PipelineChangeItemDto newPieLine) { private void buildNewPieLineLog(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, String record, List<FieldChangeMeta> allChangeColumns, PipelineChangeItemDto newPieLine) {
...@@ -370,4 +373,24 @@ public class PieLineDataChangeServiceImpl { ...@@ -370,4 +373,24 @@ public class PieLineDataChangeServiceImpl {
return Stream.concat(newPipelines.stream(), updPipelines.stream()).filter(i -> i.getPipeLength() != null).map(e -> new BigDecimal(e.getPipeLength())).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(3, RoundingMode.HALF_UP).toPlainString(); return Stream.concat(newPipelines.stream(), updPipelines.stream()).filter(i -> i.getPipeLength() != null).map(e -> new BigDecimal(e.getPipeLength())).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(3, RoundingMode.HALF_UP).toPlainString();
} }
public void updatePieLineEs(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, PipelineChangeItemDto pipelineNew, String record) {
Optional<ESEquipmentCategoryDto> dtoOptional = esEquipmentCategory.findById(record);
if(dtoOptional.isPresent()) {
ESEquipmentCategoryDto esEquipmentDto = dtoOptional.get();
esEquipmentDto.setREC_DATE(new Date().getTime());
esEquipmentDto.setUSC_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUscUnitCreditCode());
esEquipmentDto.setUSC_UNIT_NAME(projectContraptionChangeDataDto.getUscUnitName());
esEquipmentDto.setUSE_UNIT_CREDIT_CODE(projectContraptionChangeDataDto.getUseUnitCreditCode());
esEquipmentDto.setUSE_UNIT_NAME(projectContraptionChangeDataDto.getUseUnitName());
esEquipmentDto.setPROJECT_CONTRAPTION(projectContraptionChangeDataDto.getProjectContraption());
esEquipmentDto.setPRODUCT_NAME(pipelineNew.getPipeName());
esEquipmentDto.setORG_BRANCH_NAME(projectContraptionChangeDataDto.getOrgName());
esEquipmentDto.setOrgBranchCode(projectContraptionChangeDataDto.getOrgCode());
esEquipmentDto.setUSE_ORG_CODE(projectContraptionChangeDataDto.getUseRegistrationCode());
if (pipelineNew.getNextInspectDate() != null) {
esEquipmentDto.setNEXT_INSPECT_DATE(pipelineNew.getNextInspectDate().getTime());
}
esEquipmentCategory.saveWithFallback(esEquipmentDto);
}
}
} }
...@@ -20,10 +20,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.HandleRes ...@@ -20,10 +20,7 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.HandleRes
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.PieLineLevelTypeHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.PieLineLevelTypeHandler;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgRegisterInfoServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgRegisterInfoServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
...@@ -61,11 +58,6 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -61,11 +58,6 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
JSONArray deletedPieLines = data.getJSONArray(RequestChangeData.deletedDataKey); JSONArray deletedPieLines = data.getJSONArray(RequestChangeData.deletedDataKey);
List<FieldChangeMeta> allChangeColumns = new ArrayList<>(); List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
List<PipelineChangeItemDto> items = insertOrEditPieLines.toJavaList(PipelineChangeItemDto.class); List<PipelineChangeItemDto> items = insertOrEditPieLines.toJavaList(PipelineChangeItemDto.class);
// 1.设备技术参数入库前校验,约束:同一个装置下的管道编号不能重复
// 同一工程装置下管道编号不能重复校验
// if (items.size() != items.stream().map(TechParamsPipelineChangeFieldDto::getPipelineNumber).distinct().count()) {
// throw new BadRequest("同一工程装置下管道编号不能重复!");
// }
List<PipelineChangeItemDto> newPipelines = new ArrayList<>(); List<PipelineChangeItemDto> newPipelines = new ArrayList<>();
List<PipelineChangeItemDto> updatePipelines = new ArrayList<>(); List<PipelineChangeItemDto> updatePipelines = new ArrayList<>();
List<PipelineChangeItemDto> deletePipelines = new ArrayList<>(); List<PipelineChangeItemDto> deletePipelines = new ArrayList<>();
...@@ -117,12 +109,16 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -117,12 +109,16 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
this.updateInspectInfo(pipelineNew, projectContraptionChangeDataDto, allChangeColumns); this.updateInspectInfo(pipelineNew, projectContraptionChangeDataDto, allChangeColumns);
// 设计信息更新 // 设计信息更新
pieLineDataChangeService.saveDesignForPieLine(record, allChangeColumns, pipelineNew); pieLineDataChangeService.saveDesignForPieLine(record, allChangeColumns, pipelineNew);
// 更新属地信息
this.updateSuperviseInfo(projectContraptionChangeDataDto, record);
// 技术参数入库保存 // 技术参数入库保存
TechParamsPipelineChangeFieldDto paramsPipelineChangeFieldDto = new TechParamsPipelineChangeFieldDto(); TechParamsPipelineChangeFieldDto paramsPipelineChangeFieldDto = new TechParamsPipelineChangeFieldDto();
// 手工计算求和管道长度业务使用 // 手工计算求和管道长度业务使用
pipelineNew.setPipeLength(PipLenCalUtils.cal(pipelineNew.getPipeLengthText())); pipelineNew.setPipeLength(PipLenCalUtils.cal(pipelineNew.getPipeLengthText()));
BeanUtil.copyProperties(pipelineNew, paramsPipelineChangeFieldDto, true); BeanUtil.copyProperties(pipelineNew, paramsPipelineChangeFieldDto, true);
commonEquipDataProcessService.savePieLineTechParam(record, allChangeColumns, paramsPipelineChangeFieldDto); commonEquipDataProcessService.savePieLineTechParam(record, allChangeColumns, paramsPipelineChangeFieldDto);
// 更新管道信息的es
pieLineDataChangeService.updatePieLineEs(projectContraptionChangeDataDto, pipelineNew, record);
} }
updatePipelines.add(pipelineNew); updatePipelines.add(pipelineNew);
} }
...@@ -135,6 +131,14 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -135,6 +131,14 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
return HandleResult.builder().fieldChangeMetas(allChangeColumns).pipelineChangeItemMap(pmap).build(); return HandleResult.builder().fieldChangeMetas(allChangeColumns).pipelineChangeItemMap(pmap).build();
} }
private void updateSuperviseInfo(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, String record) {
LambdaUpdateWrapper<SuperviseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(AbstractEquipBaseEntity::getRecord, record);
updateWrapper.set(SuperviseInfo::getOrgBranchCode, projectContraptionChangeDataDto.getOrgCode());
updateWrapper.set(SuperviseInfo::getOrgBranchName, projectContraptionChangeDataDto.getOrgName());
commonEquipDataProcessService.getSuperviseInfoMapper().update(null, updateWrapper);
}
private void updateRegisterInfo(String record, ProjectContraptionChangeDataDto projectContraptionChangeDataDto) { private void updateRegisterInfo(String record, ProjectContraptionChangeDataDto projectContraptionChangeDataDto) {
// 管道不记录使用信息变化,使用信息的变化已装置来体现 // 管道不记录使用信息变化,使用信息的变化已装置来体现
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new LambdaUpdateWrapper<>();
...@@ -212,7 +216,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -212,7 +216,7 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
inspectionDetectionInfoNew.setSequenceNbr(inspectionDetectionInfoOld.getSequenceNbr()); inspectionDetectionInfoNew.setSequenceNbr(inspectionDetectionInfoOld.getSequenceNbr());
List<FieldChangeMeta> inspectionFieldChangeMetas = commonEquipDataProcessService.simpleTrackAndUpdate(commonEquipDataProcessService.getJgUseRegistrationService().getInspectionDetectionInfoService().getBaseMapper(), inspectionDetectionInfoOld, inspectionDetectionInfoNew, projectContraptionChangeDataDto.getProjectContraptionId() + "/" + item.getRecord(), "SEQUENCE_NBR", inspectionDetectionInfoOld.getSequenceNbr()); List<FieldChangeMeta> inspectionFieldChangeMetas = commonEquipDataProcessService.simpleTrackAndUpdate(commonEquipDataProcessService.getJgUseRegistrationService().getInspectionDetectionInfoService().getBaseMapper(), inspectionDetectionInfoOld, inspectionDetectionInfoNew, projectContraptionChangeDataDto.getProjectContraptionId() + "/" + item.getRecord(), "SEQUENCE_NBR", inspectionDetectionInfoOld.getSequenceNbr());
allChangeColumns.addAll(inspectionFieldChangeMetas); allChangeColumns.addAll(inspectionFieldChangeMetas);
esUpdateService.updateEsData(item.getRecord(), inspectionDetectionInfoNew); esUpdateService.buildEsData(item.getRecord(), inspectionDetectionInfoNew);
} }
} }
...@@ -240,6 +244,8 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS ...@@ -240,6 +244,8 @@ public class SingleProjectEquipChangeProcess implements IEquipChangeDataProcessS
BeanUtil.copyProperties(updatePieLine, useInfoNew, true); BeanUtil.copyProperties(updatePieLine, useInfoNew, true);
useInfoNew.setUseDate(projectContraptionChangeDataDto.getUseDate()); useInfoNew.setUseDate(projectContraptionChangeDataDto.getUseDate());
useInfoNew.setSequenceNbr(useInfoOld.getSequenceNbr()); useInfoNew.setSequenceNbr(useInfoOld.getSequenceNbr());
useInfoNew.setProjectContraptionId(projectContraptionChangeDataDto.getProjectContraptionId());
useInfoNew.setProjectContraption(projectContraptionChangeDataDto.getProjectContraption());
setNewUseAddressInfo(projectContraptionChangeDataDto, useInfoNew); setNewUseAddressInfo(projectContraptionChangeDataDto, useInfoNew);
// 冗余的字典名称字段更新 // 冗余的字典名称字段更新
commonEquipDataProcessService.setNameByCode2UseInfo(useInfoNew); commonEquipDataProcessService.setNameByCode2UseInfo(useInfoNew);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment