Commit 00ee2949 authored by suhuiguang's avatar suhuiguang

feat(大编辑):管道增减功能开发

1.使用登记管道编辑时在流程中时 使用json数据 监管和使用单位可以编辑一份数据
parent b4eb682d
...@@ -35,7 +35,7 @@ public class PipelineChangeItemDto extends TechParamsPipelineChangeFieldDto { ...@@ -35,7 +35,7 @@ public class PipelineChangeItemDto extends TechParamsPipelineChangeFieldDto {
private String uscUnitName; private String uscUnitName;
@FieldDisplayDefine(value = "安装日期") @FieldDisplayDefine(value = "安装日期")
private Date uscDate; private String uscDate;
@FieldDisplayDefine(value ="检验类型", dictCode = "JYJC") @FieldDisplayDefine(value ="检验类型", dictCode = "JYJC")
private String inspectType; private String inspectType;
...@@ -64,4 +64,7 @@ public class PipelineChangeItemDto extends TechParamsPipelineChangeFieldDto { ...@@ -64,4 +64,7 @@ public class PipelineChangeItemDto extends TechParamsPipelineChangeFieldDto {
@FieldDisplayDefine(value ="检验报告编号") @FieldDisplayDefine(value ="检验报告编号")
private String inspectReportNo; private String inspectReportNo;
@FieldDisplayDefine(value = "主键", isExist = false)
private String projectContraptionId;
} }
...@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.impl.*; ...@@ -10,6 +10,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.mapper.SuperviseInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.SuperviseInfoMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
...@@ -18,6 +19,7 @@ import java.util.stream.Collectors; ...@@ -18,6 +19,7 @@ import java.util.stream.Collectors;
@Component @Component
@RequiredArgsConstructor @RequiredArgsConstructor
@Slf4j
public class EquipBackupHandler { public class EquipBackupHandler {
private final IdxBizJgPipelineOperationHistServiceImpl pipelineDeleteHistoryService; private final IdxBizJgPipelineOperationHistServiceImpl pipelineDeleteHistoryService;
...@@ -155,6 +157,8 @@ public class EquipBackupHandler { ...@@ -155,6 +157,8 @@ public class EquipBackupHandler {
if (!insertIds.isEmpty()) { if (!insertIds.isEmpty()) {
superviseInfoMapper.deleteDataAll(insertIds); superviseInfoMapper.deleteDataAll(insertIds);
} }
} else {
log.warn("暂无编辑历史无法恢复数据:{},{}", bizType, bizId);
} }
return !opHisList.isEmpty(); return !opHisList.isEmpty();
} }
......
package com.yeejoin.amos.boot.module.jg.biz.edit.constant;
public class EditConstant {
/**
* 管道的编辑维护key
*/
public static final String NEW_PIPELINES = "newPipelines";
public static final String UPDATE_PIPELINES = "updatePipelines";
public static final String DELETE_PIPELINES = "deletePipelines";
}
...@@ -13,20 +13,24 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.core.IEventPublisher; ...@@ -13,20 +13,24 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.core.IEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.CommonEquipDataProcessService;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.HandleResult;
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.service.impl.JgBizChangeLogServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgBizChangeLogServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.HashSet; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j
public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEvent> implements IBizDataChangeHandleStrategy { public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEvent> implements IBizDataChangeHandleStrategy {
public static String IS_REQUIRES_TEMPORARY_SAVE = "isRequiresTemporarySave";
public static String TEMPORARY_PIPELINES_DATA = "temporaryPipelinesData";
private final IEventPublisher<BaseBizDataChangeEvent> eventPublisher; private final IEventPublisher<BaseBizDataChangeEvent> eventPublisher;
private final ApplicationContext applicationContext; private final ApplicationContext applicationContext;
...@@ -45,16 +49,36 @@ public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEve ...@@ -45,16 +49,36 @@ public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEve
// 删除原始提交的变更说明及附件放置后续存放到json // 删除原始提交的变更说明及附件放置后续存放到json
changeData.remove("changeReason"); changeData.remove("changeReason");
changeData.remove("changeAttachment"); changeData.remove("changeAttachment");
changeData.put(IS_REQUIRES_TEMPORARY_SAVE, requiresTemporarySave(applyNo));
changeData.put(TEMPORARY_PIPELINES_DATA, getsTemporaryData(applyNo));
IEquipChangeDataProcessStrategy dataProcessor = EquipDataProcessStrategyContext.getStrategy(model); IEquipChangeDataProcessStrategy dataProcessor = EquipDataProcessStrategyContext.getStrategy(model);
List<FieldChangeMeta> allChangeColumns = dataProcessor.handle(changeData, bizId, this::callBack); HandleResult handleResult = dataProcessor.handle(changeData, bizId);
List<FieldChangeMeta> bizEditColumns = postSave(bizId, applyNo, model, changeData, allChangeColumns); List<FieldChangeMeta> allChangeColumns = handleResult.getFieldChangeMetas() == null ? new ArrayList<>() : handleResult.getFieldChangeMetas();
List<FieldChangeMeta> bizEditColumns = postSave(bizId, applyNo, model, changeData, allChangeColumns, handleResult.getPipelineChangeItemMap());
allChangeColumns.addAll(bizEditColumns); allChangeColumns.addAll(bizEditColumns);
// 发送数据变更消息 // 发送数据变更消息
publish2OtherBiz(allChangeColumns, applyNo, oData, selectedOrgInfo); publish2OtherBiz(allChangeColumns, applyNo, oData, selectedOrgInfo);
} }
} }
private void callBack(Map<String, List<PipelineChangeItemDto>> stringListMap) { /**
* 是否需要暂存数据-暂存保存数据到json--管道专用
*
* @param applyNo 单据号
* @return yes-存json;no-实时存库
*/
protected Boolean requiresTemporarySave(String applyNo) {
return !bizIsFinished(applyNo);
}
/**
* 各业务暂存的管道数据--管道专用
*
* @param applyNo 申请单号
* @return 管道信息
*/
protected List<PipelineChangeItemDto> getsTemporaryData(String applyNo) {
return new ArrayList<>();
} }
public abstract void preSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData); public abstract void preSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData);
...@@ -98,7 +122,7 @@ public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEve ...@@ -98,7 +122,7 @@ public abstract class DefaultBizDataChangeHandler<U extends BaseBizDataChangeEve
case equip: case equip:
return service.getEquipDetailByRecord(bizId); return service.getEquipDetailByRecord(bizId);
case project: case project:
return service.getProjectContraptionBySeq(bizId, getEqs(applyNo)); return service.getProjectDetailBySeq(bizId, getEqs(applyNo), requiresTemporarySave(applyNo), getsTemporaryData(applyNo));
default: default:
throw new BadRequest("unknown type for getSubDetail"); throw new BadRequest("unknown type for getSubDetail");
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationR ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationR
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationReform; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationReform;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -61,7 +62,7 @@ public class ChangeRegistrationReformDataChangeHandler extends DefaultBizDataCha ...@@ -61,7 +62,7 @@ public class ChangeRegistrationReformDataChangeHandler extends DefaultBizDataCha
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
List<FieldChangeMeta> bizEditColumns = new ArrayList<>(); List<FieldChangeMeta> bizEditColumns = new ArrayList<>();
// 更新eq表、管道纳管状态、使用登记证;改更新本次新增、编辑的管道record集合到流水表 // 更新eq表、管道纳管状态、使用登记证;改更新本次新增、编辑的管道record集合到流水表
changeRegistrationReformEditUpdateService.updateBizInfo(allChangeColumns, applyNo, model); changeRegistrationReformEditUpdateService.updateBizInfo(allChangeColumns, applyNo, model);
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationT ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationT
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationTransfer;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class ChangeRegistrationTransferDataChangeHandler extends DefaultBizDataC ...@@ -36,7 +37,7 @@ public class ChangeRegistrationTransferDataChangeHandler extends DefaultBizDataC
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationU ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeRegistrationU
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class ChangeRegistrationUnitDataChangeHandler extends DefaultBizDataChang ...@@ -36,7 +37,7 @@ public class ChangeRegistrationUnitDataChangeHandler extends DefaultBizDataChang
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeVehicleRegist ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.changeVehicleRegist
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit; import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeVehicleRegistrationUnit;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class ChangeVehicleRegistrationUnitDataChangeHandler extends DefaultBizDa ...@@ -36,7 +37,7 @@ public class ChangeVehicleRegistrationUnitDataChangeHandler extends DefaultBizDa
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.enableDisable; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.enableDisable;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class EnableDisableDataChangeHandler extends DefaultBizDataChangeHandler< ...@@ -36,7 +37,7 @@ public class EnableDisableDataChangeHandler extends DefaultBizDataChangeHandler<
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.equipTransfer; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.equipTransfer;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer; import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipTransfer;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class EquipTransferDataChangeHandler extends DefaultBizDataChangeHandler< ...@@ -36,7 +37,7 @@ public class EquipTransferDataChangeHandler extends DefaultBizDataChangeHandler<
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.installNotice; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.installNotice;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -33,7 +34,7 @@ public class InstallNoticeDataChangeHandler extends DefaultBizDataChangeHandler< ...@@ -33,7 +34,7 @@ public class InstallNoticeDataChangeHandler extends DefaultBizDataChangeHandler<
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.maintainNotice; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.maintainNotice;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintainNotice;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class MaintainNoticeDataChangeHandler extends DefaultBizDataChangeHandler ...@@ -36,7 +37,7 @@ public class MaintainNoticeDataChangeHandler extends DefaultBizDataChangeHandler
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.maintenanceContract ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.maintenanceContract
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract; import com.yeejoin.amos.boot.module.jg.api.entity.JgMaintenanceContract;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class MaintenanceContractDataChangeHandler extends DefaultBizDataChangeHa ...@@ -36,7 +37,7 @@ public class MaintenanceContractDataChangeHandler extends DefaultBizDataChangeHa
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newEquip; package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newEquip;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
...@@ -29,7 +30,7 @@ public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseB ...@@ -29,7 +30,7 @@ public class NewEquipDataChangeHandler extends DefaultBizDataChangeHandler<BaseB
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newProject; package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.newProject;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent; import com.yeejoin.amos.boot.module.jg.biz.edit.event.BaseBizDataChangeEvent;
...@@ -29,7 +30,7 @@ public class NewProjectDataChangeHandler extends DefaultBizDataChangeHandler<Bas ...@@ -29,7 +30,7 @@ public class NewProjectDataChangeHandler extends DefaultBizDataChangeHandler<Bas
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
List<FieldChangeMeta> bizEditColumns = new ArrayList<>(); List<FieldChangeMeta> bizEditColumns = new ArrayList<>();
// 更新管道纳管状态、使用登记证编号业务信息 // 更新管道纳管状态、使用登记证编号业务信息
newProjectEditUpdateService.updateBizInfo(bizId); newProjectEditUpdateService.updateBizInfo(bizId);
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.reformNotice; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.reformNotice;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgReformNotice;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -33,7 +34,7 @@ public class ReformNoticeDataChangeHandler extends DefaultBizDataChangeHandler<B ...@@ -33,7 +34,7 @@ public class ReformNoticeDataChangeHandler extends DefaultBizDataChangeHandler<B
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.scrapCancel; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.scrapCancel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel; import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class ScrapCancelDataChangeHandler extends DefaultBizDataChangeHandler<Ba ...@@ -36,7 +37,7 @@ public class ScrapCancelDataChangeHandler extends DefaultBizDataChangeHandler<Ba
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
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.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.biz.controller.BizDataChangeController; import com.yeejoin.amos.boot.module.jg.biz.controller.BizDataChangeController;
import java.util.List; import java.util.List;
...@@ -42,13 +43,14 @@ public interface IBizDataChangeHandleStrategy { ...@@ -42,13 +43,14 @@ public interface IBizDataChangeHandleStrategy {
/** /**
* 保存 * 保存
* *
* @param bizId 设备record或者装置id * @param bizId 设备record或者装置id
* @param applyNo 单据编号 * @param applyNo 单据编号
* @param model @see ModelType * @param model @see ModelType
* @param changeData 变更数据 * @param changeData 变更数据
* @param allChangeColumns 变化的字段 * @param allChangeColumns 变化的字段
* @param pipelineChangeItemMap 变化的管道信息汇总
*/ */
List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns); List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap);
/** /**
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.transferNotice; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.transferNotice;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice; import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class TransferNoticeDataChangeHandler extends DefaultBizDataChangeHandler ...@@ -36,7 +37,7 @@ public class TransferNoticeDataChangeHandler extends DefaultBizDataChangeHandler
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.useRegister; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.useRegister;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
...@@ -64,20 +65,44 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba ...@@ -64,20 +65,44 @@ public class UseRegisterDataChangeHandler extends DefaultBizDataChangeHandler<Ba
useRegisterUpdateService.backupOPipelineData(applyNo, model); useRegisterUpdateService.backupOPipelineData(applyNo, model);
} }
/**
* 管道专用
* @param applyNo 单据号
* 判断数据是实时落库,还是先存到json
* @return 是否需要临时存储
*/
@Override
public Boolean requiresTemporarySave(String applyNo) {
return !bizIsFinished(applyNo);
}
/**
* 管道专用
* 临时存储的json 管道
*
* @param applyNo 申请单号
* @return 暂存的管道列表
*/
@Override
public List<PipelineChangeItemDto> getsTemporaryData(String applyNo) {
return useRegisterUpdateService.getsTemporaryData(applyNo);
}
/** /**
* 保存 * 保存
* *
* @param applyNo 单据编号 * @param applyNo 单据编号
* @param model @see IBizDataChangeHandleStrategy.ModelType * @param model @see IBizDataChangeHandleStrategy.ModelType
* @param changeData 前端不支持分组-目前为平铺数据结构 * @param changeData 前端不支持分组-目前为平铺数据结构
* @param allChangeColumns 变化的字段集合 * @param allChangeColumns 变化的字段集合
* @param pipelineChangeItemMap 变化的管道
*/ */
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
List<FieldChangeMeta> bizEditColumns = new ArrayList<>(); List<FieldChangeMeta> bizEditColumns = new ArrayList<>();
// 流程中时-更新单据-业务冗余的字段、eq表、管道状态,记录本次新增、编辑的管道record集合 // 流程中时-更新单据-业务冗余的字段、eq表、管道状态,记录本次新增、编辑的管道record集合
useRegisterUpdateService.updateBizInfo(allChangeColumns, bizId, applyNo, model); useRegisterUpdateService.updateBizInfo(allChangeColumns, bizId, applyNo, model, pipelineChangeItemMap);
return bizEditColumns; return bizEditColumns;
} }
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.vehicleInformation; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.vehicleInformation;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation; import com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher; import com.yeejoin.amos.boot.module.jg.biz.edit.core.RouterEventPublisher;
...@@ -36,7 +37,7 @@ public class VehicleInformationDataChangeHandler extends DefaultBizDataChangeHan ...@@ -36,7 +37,7 @@ public class VehicleInformationDataChangeHandler extends DefaultBizDataChangeHan
} }
@Override @Override
public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns) { public List<FieldChangeMeta> postSave(String bizId, String applyNo, ModelType model, Map<String, Object> changeData, List<FieldChangeMeta> allChangeColumns, Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap) {
return Collections.emptyList(); return Collections.emptyList();
} }
......
...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum; ...@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.api.enums.EquipSourceEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper; import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import com.yeejoin.amos.boot.module.jg.biz.edit.backup.DefaultEquipBackupManager; import com.yeejoin.amos.boot.module.jg.biz.edit.backup.DefaultEquipBackupManager;
import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.FormatService; import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.FormatService;
import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.PieLineLevelTypeHandler;
import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.RegionCodeTypeHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.typeHandler.RegionCodeTypeHandler;
import com.yeejoin.amos.boot.module.jg.biz.edit.utils.JsonDiffUtil; import com.yeejoin.amos.boot.module.jg.biz.edit.utils.JsonDiffUtil;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
...@@ -127,6 +128,8 @@ public class CommonEquipDataProcessService { ...@@ -127,6 +128,8 @@ public class CommonEquipDataProcessService {
private final RegionCodeTypeHandler regionCodeTypeHandler; private final RegionCodeTypeHandler regionCodeTypeHandler;
private final PieLineLevelTypeHandler pieLineLevelTypeHandler;
private final IdxBizJgRegisterInfoServiceImpl jgRegisterInfoService; private final IdxBizJgRegisterInfoServiceImpl jgRegisterInfoService;
public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\""; public static final String BASE_COLUMN_REC_DATE = "\"REC_DATE\"";
...@@ -767,6 +770,93 @@ public class CommonEquipDataProcessService { ...@@ -767,6 +770,93 @@ public class CommonEquipDataProcessService {
return changeData; return changeData;
} }
/**
* 简化版字段对比更新工具
* 要求:对象字段名与数据库列名一致(驼峰转下划线自动处理)
* @param oldObj 旧对象(必须有id字段)
* @param newObj 新对象(必须与旧对象同一类型)
*/
public <T> List<FieldChangeMeta> simpleTrackDiff(T oldObj, T newObj, String changeId) {
List<FieldChangeMeta> changeData = new ArrayList<>();
// 基础校验
if (oldObj == null || newObj == null) {
throw new IllegalArgumentException("新旧对象不能为空");
}
if (!oldObj.getClass().equals(newObj.getClass())) {
throw new IllegalArgumentException("对象类型不一致");
}
Group group = newObj.getClass().getAnnotation(Group.class);
Class<?> clazz = oldObj.getClass();
// 遍历所有字段(包含父类)
for (Field field : getAllFields(clazz)) {
try {
field.setAccessible(true);
Object oldVal = field.get(oldObj);
Object newVal = field.get(newObj);
FieldDisplayDefine displayDefine = field.getAnnotation(FieldDisplayDefine.class);
// 业务字段对比处理逻辑
if (displayDefine != null && displayDefine.isExist()) {
// json 比较逻辑
if (displayDefine.type().equals(JSON.class)) {
if (!JsonDiffUtil.jsonEqualsIgnoreType((String) oldVal, (String) newVal)) {
String fieldName = displayDefine.value();
FieldChangeMeta fieldChangeMeta = new FieldChangeMeta();
fieldChangeMeta.setColumnKey(field.getName());
fieldChangeMeta.setColumnFamily(group.value());
fieldChangeMeta.setColumnLabel(fieldName);
fieldChangeMeta.setChangeId(changeId);
fieldChangeMeta.setIsRepeatColumn(displayDefine.isRepeatColumn());
// 字段类型前端渲染时使用
fieldChangeMeta.setColumnType(displayDefine.type().getSimpleName());
fieldChangeMeta.setColumnOldValue(Objects.toString(oldVal, null));
fieldChangeMeta.setColumnNewValue(Objects.toString(newVal, null));
fieldChangeMeta.setDisplayOldValue(formatService.format(displayDefine, fieldChangeMeta.getColumnOldValue()));
fieldChangeMeta.setDisplayNewValue(formatService.format(displayDefine, fieldChangeMeta.getColumnNewValue()));
changeData.add(fieldChangeMeta);
}
continue;
}
// 其他比较逻辑
if (!Objects.equals(oldVal, newVal)) {
String fieldName = displayDefine.value();
FieldChangeMeta fieldChangeMeta = new FieldChangeMeta();
fieldChangeMeta.setColumnKey(field.getName());
fieldChangeMeta.setColumnFamily(group.value());
fieldChangeMeta.setColumnLabel(fieldName);
fieldChangeMeta.setChangeId(changeId);
fieldChangeMeta.setIsRepeatColumn(displayDefine.isRepeatColumn());
// 字段类型前端渲染时使用
fieldChangeMeta.setColumnType(displayDefine.type().getSimpleName());
if (newVal instanceof String) {
fieldChangeMeta.setColumnOldValue((String) oldVal);
fieldChangeMeta.setColumnNewValue((String) newVal);
} else if (newVal instanceof Number) {
fieldChangeMeta.setColumnOldValue(String.valueOf(oldVal));
fieldChangeMeta.setColumnNewValue(String.valueOf(newVal));
} else if (newVal instanceof Date) {
fieldChangeMeta.setColumnOldValue(DateUtil.formatDate((Date) oldVal));
fieldChangeMeta.setColumnNewValue(DateUtil.formatDate((Date) newVal));
} else if (newVal instanceof Boolean) {
fieldChangeMeta.setColumnOldValue(Boolean.toString((Boolean) oldVal));
fieldChangeMeta.setColumnNewValue(Boolean.toString((Boolean) newVal));
} else {
fieldChangeMeta.setColumnOldValue(Objects.toString(oldVal, null));
fieldChangeMeta.setColumnNewValue(Objects.toString(newVal, null));
}
fieldChangeMeta.setDisplayOldValue(formatService.format(displayDefine, fieldChangeMeta.getColumnOldValue()));
fieldChangeMeta.setDisplayNewValue(formatService.format(displayDefine, fieldChangeMeta.getColumnNewValue()));
changeData.add(fieldChangeMeta);
}
}
} catch (IllegalAccessException e) {
System.err.println("字段访问失败: " + field.getName());
}
}
return changeData;
}
public Map<String, Object> getEquipDetailByRecord(String record) { public Map<String, Object> getEquipDetailByRecord(String record) {
Map<String, Object> re = new HashMap<>(); Map<String, Object> re = new HashMap<>();
...@@ -927,15 +1017,37 @@ public class CommonEquipDataProcessService { ...@@ -927,15 +1017,37 @@ public class CommonEquipDataProcessService {
return result; return result;
} }
public Map<String, Object> getProjectContraptionBySeq(String projectContraptionId, Set<String> records) { /**
* 重新装置详情
* @param projectContraptionId 装置id
* @param records 装置下的管道
* @param aBoolean 是否需要json数据
* @param oldJsonData json数据
* @return 装置详情
*/
public Map<String, Object> getProjectDetailBySeq(String projectContraptionId, Set<String> records, Boolean aBoolean, List<PipelineChangeItemDto> oldJsonData) {
IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(projectContraptionId); IdxBizJgProjectContraption projectContraption = idxBizJgProjectContraptionServiceImpl.getById(projectContraptionId);
Map<String, Object> re = BeanUtil.beanToMap(projectContraption); Map<String, Object> re = BeanUtil.beanToMap(projectContraption);
this.convertStringToJsonObject(re, IdxBizJgProjectContraptionServiceImpl.getJsonFieldsCamel()); this.convertStringToJsonObject(re, IdxBizJgProjectContraptionServiceImpl.getJsonFieldsCamel());
List<Map<String, Object>> equList = jgUseRegistrationService.getBaseMapper().queryForUnitPipelineEquipmentForEdit(new ArrayList<>(records)); if(!aBoolean){ // 实时查询逻辑
// 检验报告数据格式化 转json List<Map<String, Object>> equList = jgUseRegistrationService.getBaseMapper().queryForUnitPipelineEquipmentForEdit(new ArrayList<>(records));
equList.stream().filter(e -> e.get("inspectReport") != null).forEach(item -> item.put("inspectReport", JSON.parse(item.get("inspectReport").toString()))); // 检验报告数据格式化 转json
equList.stream().filter(e -> e.get("inspectReport") != null).forEach(item -> item.put("inspectReport", JSON.parse(item.get("inspectReport").toString())));
re.put("tableData", equList);
} else { // 使用json的暂存数据逻辑
// 直接使用json暂存的管道数据 + todo isEdit调整
re.put("tableData", oldJsonData.stream().map(r->{
Map<String, Object> item = BeanUtil.beanToMap(r);
// 检验报告数据格式化 转json
item.put("inspectReport", JSON.parse(r.getInspectReport()));
// 兼容存量数据
// 1.管道级别 原业务存的name,编辑存的code,进行转换
item.put("deviceLevel", pieLineLevelTypeHandler.getCodeByName(r.getDeviceLevel()));
item.put("isEdit", true);
return item;
}).collect(Collectors.toList()));
}
re.put("projectContraptionId", projectContraption.getSequenceNbr()); re.put("projectContraptionId", projectContraption.getSequenceNbr());
re.put("tableData", equList);
re.put("dataSourceClassify", this.genDataSource(projectContraption.getDataSource())); re.put("dataSourceClassify", this.genDataSource(projectContraption.getDataSource()));
return re; return re;
} }
......
...@@ -136,6 +136,8 @@ public class PieLineDataChangeServiceImpl { ...@@ -136,6 +136,8 @@ public class PieLineDataChangeServiceImpl {
void newPieLine(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, PipelineChangeItemDto newPieLine, List<FieldChangeMeta> allChangeColumns) { void newPieLine(ProjectContraptionChangeDataDto projectContraptionChangeDataDto, PipelineChangeItemDto newPieLine, List<FieldChangeMeta> allChangeColumns) {
String record = idUtil.nextId().toString(); String record = idUtil.nextId().toString();
newPieLine.setRecord(record);
newPieLine.setProjectContraptionId(projectContraptionChangeDataDto.getProjectContraptionId());
this.buildNewPieLineLog(projectContraptionChangeDataDto, record, allChangeColumns); this.buildNewPieLineLog(projectContraptionChangeDataDto, record, allChangeColumns);
// 检验信息 // 检验信息
IdxBizJgInspectionDetectionInfo inspectionDetectionInfo = BeanUtil.copyProperties(newPieLine, IdxBizJgInspectionDetectionInfo.class); IdxBizJgInspectionDetectionInfo inspectionDetectionInfo = BeanUtil.copyProperties(newPieLine, IdxBizJgInspectionDetectionInfo.class);
...@@ -178,6 +180,7 @@ public class PieLineDataChangeServiceImpl { ...@@ -178,6 +180,7 @@ public class PieLineDataChangeServiceImpl {
commonEquipDataProcessService.getJgFactoryInfoMapper().insert(factoryInfo); commonEquipDataProcessService.getJgFactoryInfoMapper().insert(factoryInfo);
// 施工信息 // 施工信息
newPieLine.setUscDate(newPieLine.getUscDate() != null ? DateUtil.parse(newPieLine.getUscDate(), DatePattern.NORM_MONTH_FORMAT).toDateStr() : null);
IdxBizJgConstructionInfo constructionInfo = BeanUtil.copyProperties(newPieLine, IdxBizJgConstructionInfo.class); IdxBizJgConstructionInfo constructionInfo = BeanUtil.copyProperties(newPieLine, IdxBizJgConstructionInfo.class);
constructionInfo.setRecord(record); constructionInfo.setRecord(record);
constructionInfo.setRecDate(new Date()); constructionInfo.setRecDate(new Date());
......
...@@ -7,11 +7,10 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; ...@@ -7,11 +7,10 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity; import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.jg.api.common.BizCommonConstant; import com.yeejoin.amos.boot.module.jg.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PieLineDesignChangeDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataChangeHandleStrategy;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.HandleResult;
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.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -22,7 +21,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -22,7 +21,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.function.Consumer;
/** /**
* 单个维护设备-策略实现类 * 单个维护设备-策略实现类
...@@ -35,7 +33,7 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -35,7 +33,7 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
private final CommonEquipDataProcessService commonEquipDataProcessService; private final CommonEquipDataProcessService commonEquipDataProcessService;
@Override @Override
public List<FieldChangeMeta> handle(Map<String, Object> changeData, String record, Consumer<Map<String, List<PipelineChangeItemDto>>> callBack) { public HandleResult handle(Map<String, Object> changeData, String record) {
JSONObject changeJson = new JSONObject(changeData); JSONObject changeJson = new JSONObject(changeData);
List<FieldChangeMeta> allChangeColumns = new ArrayList<>(); List<FieldChangeMeta> allChangeColumns = new ArrayList<>();
...@@ -137,7 +135,7 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -137,7 +135,7 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
this.updateOtherEquipInSameCert(useInfoNew, registerInfoNew, registerInfoOld, allChangeColumns); this.updateOtherEquipInSameCert(useInfoNew, registerInfoNew, registerInfoOld, allChangeColumns);
// 设备技术参数入库处理 // 设备技术参数入库处理
commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns); commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns);
return allChangeColumns; return HandleResult.builder().fieldChangeMetas(allChangeColumns).build();
} }
private void updateOtherEquipInSameCert(IdxBizJgUseInfo useInfoNew, IdxBizJgRegisterInfo registerInfoNew, IdxBizJgRegisterInfo registerInfoOld, List<FieldChangeMeta> allChangeColumns) { private void updateOtherEquipInSameCert(IdxBizJgUseInfo useInfoNew, IdxBizJgRegisterInfo registerInfoNew, IdxBizJgRegisterInfo registerInfoOld, List<FieldChangeMeta> allChangeColumns) {
......
package com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.dto.PipelineChangeItemDto;
import lombok.Builder;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
@Builder
public class HandleResult {
private List<FieldChangeMeta> fieldChangeMetas;
private Map<String, List<PipelineChangeItemDto>> pipelineChangeItemMap;
}
...@@ -23,6 +23,6 @@ public interface IEquipChangeDataProcessStrategy { ...@@ -23,6 +23,6 @@ public interface IEquipChangeDataProcessStrategy {
/** /**
* 处理 * 处理
*/ */
List<FieldChangeMeta> handle(Map<String, Object> changeData, String defaultChangeId, Consumer<Map<String, List<PipelineChangeItemDto>>> callBack); HandleResult handle(Map<String, Object> changeData, String defaultChangeId);
} }
...@@ -22,6 +22,8 @@ public class PieLineLevelTypeHandler implements TypeHandler<String> { ...@@ -22,6 +22,8 @@ public class PieLineLevelTypeHandler implements TypeHandler<String> {
private Map<String, String> cache; private Map<String, String> cache;
private Map<String, String> nameCodeMapCache;
protected PieLineLevelTypeHandler(DataDictionaryServiceImpl dataDictionaryService) { protected PieLineLevelTypeHandler(DataDictionaryServiceImpl dataDictionaryService) {
this.dataDictionaryService = dataDictionaryService; this.dataDictionaryService = dataDictionaryService;
} }
...@@ -30,11 +32,16 @@ public class PieLineLevelTypeHandler implements TypeHandler<String> { ...@@ -30,11 +32,16 @@ public class PieLineLevelTypeHandler implements TypeHandler<String> {
private void init() { private void init() {
List<DataDictionary> dataDictionary = dataDictionaryService.getDataDictionaryMapper().selectList(new LambdaQueryWrapper<DataDictionary>().in(DataDictionary::getType, Arrays.asList("8200", "8100", "8300"))); List<DataDictionary> dataDictionary = dataDictionaryService.getDataDictionaryMapper().selectList(new LambdaQueryWrapper<DataDictionary>().in(DataDictionary::getType, Arrays.asList("8200", "8100", "8300")));
cache = dataDictionary.stream().collect(Collectors.toMap(DataDictionary::getCode, DataDictionary::getName)); cache = dataDictionary.stream().collect(Collectors.toMap(DataDictionary::getCode, DataDictionary::getName));
nameCodeMapCache = dataDictionary.stream().collect(Collectors.toMap(DataDictionary::getName, DataDictionary::getCode));
} }
@Override @Override
public String handle(String value) { public String handle(String value) {
return cache.get(value); return cache.getOrDefault(value, value);
}
public String getCodeByName(String name) {
return nameCodeMapCache.getOrDefault(name, name);
} }
} }
...@@ -2228,13 +2228,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2228,13 +2228,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}); });
jsonObject.put("equipmentLists", result); jsonObject.put("equipmentLists", result);
} }
// else {
// 查询管道设备详情
// jsonObject.put("equipmentLists", jgUseRegistrationMapper.queryForUnitPipelineEquipment(records));
//}
} else {
this.setPieLineInspectInfo(jgUseRegistration.getProjectContraptionId(), jsonObject);
this.setConstructionInfo(jgUseRegistration.getProjectContraptionId(), jsonObject);
} }
} }
jsonObject.put("useRegistrationCode", jgUseRegistration.getUseRegistrationCode()); jsonObject.put("useRegistrationCode", jgUseRegistration.getUseRegistrationCode());
......
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