Commit b828b72b authored by suhuiguang's avatar suhuiguang

1.redis缓存的流程数据在事务回滚后可能和数据库数据不一致问题处理,增加补偿机制

parent 443323dc
......@@ -25,6 +25,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.UseInfo;
......@@ -71,7 +72,7 @@ import java.util.stream.Collectors;
* @date 2023-12-25
*/
@Service
public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeRegistrationNameDto, JgChangeRegistrationName, JgChangeRegistrationNameMapper> implements IJgChangeRegistrationNameService {
public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeRegistrationNameDto, JgChangeRegistrationName, JgChangeRegistrationNameMapper> implements IJgChangeRegistrationNameService, ICompensateFlowDataOfRedis<JgChangeRegistrationName> {
@Autowired
private JgChangeRegistrationNameEqServiceImpl jgChangeRegistrationNameEqService;
......@@ -1007,6 +1008,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
Map<String, Object> map = new HashMap<>();
if (!Objects.isNull(sequenceNbr)) {
jgChangeRegistrationName = this.baseMapper.selectById(sequenceNbr);
this.doCompensate(jgChangeRegistrationName);
jgChangeRegistrationName.setReceiveOrgCode(jgChangeRegistrationName.getReceiveCompanyCode() + "_" + jgChangeRegistrationName.getReceiveOrgName());
// 页面可编辑(当前登录人是发起人)且符合这个 监管机构 false
if (!JG_COMAPNY_TYPE.equals(reginParams.getCompany().getCompanyType())) {
......@@ -1061,4 +1063,15 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
SortVo sortMap = commonService.sortFieldConversion(sort);
return this.baseMapper.getListPage(page, sortMap, dto, roleIds, companyCode, RequestContext.getExeUserId());
}
@Override
public boolean beforeCheck(JgChangeRegistrationName jgChangeRegistrationName) {
return jgChangeRegistrationName.getInstanceId() != null && !jgChangeRegistrationName.getAuditStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgChangeRegistrationName.getAuditStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgChangeRegistrationName jgChangeRegistrationName) {
commonService.saveExecuteFlowData2Redis(jgChangeRegistrationName.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationName));
}
}
......@@ -72,7 +72,7 @@ import static java.util.stream.Collectors.toList;
*/
@Service
@Slf4j
public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeRegistrationReformDto, JgChangeRegistrationReform, JgChangeRegistrationReformMapper> implements IJgChangeRegistrationReformService {
public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeRegistrationReformDto, JgChangeRegistrationReform, JgChangeRegistrationReformMapper> implements IJgChangeRegistrationReformService,ICompensateFlowDataOfRedis<JgChangeRegistrationReform> {
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
......@@ -637,6 +637,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
if (ObjectUtils.isEmpty(equipId)) {
equipId = jgChangeRegistrationReformEqMapper.selectEquipId(currentDocumentId);
}
this.doCompensate(jgChangeRegistrationReform);
Map<String, Object> detail = new HashMap<>();
Map<String, Object> originalData = new HashMap<>();
Map<String, Object> originalDataOther = new HashMap<>();
......@@ -1339,4 +1340,14 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
return idxBizJgRegisterInfo.getEquList();
}
@Override
public boolean beforeCheck(JgChangeRegistrationReform jgChangeRegistrationReform) {
return jgChangeRegistrationReform.getInstanceId() != null && !jgChangeRegistrationReform.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgChangeRegistrationReform.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgChangeRegistrationReform jgChangeRegistrationReform) {
commonServiceImpl.saveExecuteFlowData2Redis(jgChangeRegistrationReform.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationReform));
}
}
\ No newline at end of file
......@@ -30,10 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgOtherInfoService;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
......@@ -79,7 +76,7 @@ import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistration
* @date 2023-12-20
*/
@Service
public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChangeRegistrationTransferDto, JgChangeRegistrationTransfer, JgChangeRegistrationTransferMapper> implements IJgChangeRegistrationTransferService {
public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChangeRegistrationTransferDto, JgChangeRegistrationTransfer, JgChangeRegistrationTransferMapper> implements IJgChangeRegistrationTransferService, ICompensateFlowDataOfRedis<JgChangeRegistrationTransfer> {
private static final String PROCESS_DEFINITION_KEY = "changeRegistrationTransfer";
private static final String TABLE_PAGE_ID = "changeRegistrationTransfer";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
......@@ -605,6 +602,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
Map<String, Object> resultDataMap = new HashMap<>();
//移装变更详情
JgChangeRegistrationTransfer transfer = this.getById(sequenceNbr);
this.doCompensate(transfer);
//查询设备详情
JgRegistrationHistory historyData = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>()
.eq(JgRegistrationHistory::getCurrentDocumentId, transfer.getApplyNo()));
......@@ -1554,4 +1552,14 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
result.put("transferUseInfo", result.get("estateUnitCreditCode") + "_" + result.get("estateUnitName"));
return result;
}
@Override
public boolean beforeCheck(JgChangeRegistrationTransfer jgChangeRegistrationTransfer) {
return jgChangeRegistrationTransfer.getInstanceId() != null && !jgChangeRegistrationTransfer.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgChangeRegistrationTransfer.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgChangeRegistrationTransfer jgChangeRegistrationTransfer) {
commonService.saveExecuteFlowData2Redis(jgChangeRegistrationTransfer.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationTransfer));
}
}
\ No newline at end of file
......@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
......@@ -64,7 +65,7 @@ import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistration
* @date 2023-12-22
*/
@Service
public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeRegistrationUnitDto, JgChangeRegistrationUnit, JgChangeRegistrationUnitMapper> implements IJgChangeRegistrationUnitService {
public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeRegistrationUnitDto, JgChangeRegistrationUnit, JgChangeRegistrationUnitMapper> implements IJgChangeRegistrationUnitService, ICompensateFlowDataOfRedis<JgChangeRegistrationUnit> {
private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "unitChange";
private static final String TABLE_PAGE_ID = "1734141426742095873";
......@@ -171,6 +172,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if (Objects.isNull(notice)) {
return null;
}
this.doCompensate(notice);
Map<String, Object> changeInfo = BeanUtil.beanToMap(notice, false, true);
//组装下拉数据
......@@ -1318,4 +1320,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
private Integer getTaskStatusByName(String auditStatus) {
return commonServiceImpl.getDictionaryCodeByName(auditStatus);
}
@Override
public boolean beforeCheck(JgChangeRegistrationUnit jgChangeRegistrationUnit) {
return jgChangeRegistrationUnit.getInstanceId() != null && !jgChangeRegistrationUnit.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgChangeRegistrationUnit.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgChangeRegistrationUnit jgChangeRegistrationUnit) {
commonServiceImpl.saveExecuteFlowData2Redis(jgChangeRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationUnit));
}
}
\ No newline at end of file
......@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -67,7 +68,7 @@ import static com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum.XI_XI
* @date 2024-07-10
*/
@Service
public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgChangeVehicleRegistrationUnitDto, JgChangeVehicleRegistrationUnit, JgChangeVehicleRegistrationUnitMapper> implements IJgChangeVehicleRegistrationUnitService {
public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgChangeVehicleRegistrationUnitDto, JgChangeVehicleRegistrationUnit, JgChangeVehicleRegistrationUnitMapper> implements IJgChangeVehicleRegistrationUnitService, ICompensateFlowDataOfRedis<JgChangeVehicleRegistrationUnit> {
private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "vehicleGasCylinderChange";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废", "已完成");
......@@ -768,6 +769,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
public Map<String, Object> getDetails(String sequenceNbr) {
JgChangeVehicleRegistrationUnit registrationUnit = this.getById(sequenceNbr);
this.doCompensate(registrationUnit);
JgRegistrationHistory history = jgRegistrationHistoryService.lambdaQuery().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr).eq(JgRegistrationHistory::getRegistrationClass, BUSINESS_NAME).one();
if (!ObjectUtils.isEmpty(history) && !ObjectUtils.isEmpty(history.getChangeData())) {
JSONObject object = JSONObject.parseObject(history.getChangeData());
......@@ -850,4 +852,14 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
}
}
}
@Override
public boolean beforeCheck(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) {
return jgChangeVehicleRegistrationUnit.getInstanceId() != null && !jgChangeVehicleRegistrationUnit.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgChangeVehicleRegistrationUnit.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit) {
commonService.saveExecuteFlowData2Redis(jgChangeVehicleRegistrationUnit.getInstanceId(), this.buildInstanceRuntimeData(jgChangeVehicleRegistrationUnit));
}
}
\ No newline at end of file
......@@ -24,6 +24,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
......@@ -62,7 +63,7 @@ import java.util.stream.Collectors;
* @date 2023-12-25
*/
@Service
public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, JgEnableDisable, JgEnableDisableMapper> implements IJgEnableDisableService {
public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto, JgEnableDisable, JgEnableDisableMapper> implements IJgEnableDisableService, ICompensateFlowDataOfRedis<JgEnableDisable> {
@Autowired
WorkFlowFeignService workFlowFeginService;
......@@ -781,6 +782,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
public Map<String, Object> getDetail(Long sequenceNbr) {
Map<String, Object> resultMap = new HashMap<>();
JgEnableDisable enableDisable = this.getById(sequenceNbr);
this.doCompensate(enableDisable);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new LambdaQueryWrapper<JgRegistrationHistory>().eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr));
if (jgRegistrationHistory != null) {
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
......@@ -793,4 +795,14 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
return resultMap;
}
@Override
public boolean beforeCheck(JgEnableDisable jgEnableDisable) {
return jgEnableDisable.getInstanceId() != null && !jgEnableDisable.getAuditStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgEnableDisable.getAuditStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgEnableDisable jgEnableDisable) {
commonService.saveExecuteFlowData2Redis(jgEnableDisable.getInstanceId(), this.buildInstanceRuntimeData(jgEnableDisable));
}
}
\ No newline at end of file
......@@ -27,6 +27,7 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.api.vo.tableDataExportVo.EquipTransferVo;
import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.ymt.api.common.BaseException;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -69,7 +70,7 @@ import java.util.stream.Stream;
@Slf4j
@Service
@RequiredArgsConstructor(onConstructor_ = @Autowired)
public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService {
public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto, JgEquipTransfer, JgEquipTransferMapper> implements IJgEquipTransferService, ICompensateFlowDataOfRedis<JgEquipTransfer> {
private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("6610", "6614", "6615", "6617", "6616");
......@@ -628,6 +629,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
if (Objects.isNull(equipTransfer)) {
return null;
}
this.doCompensate(equipTransfer);
Map<String, Object> equipTransferInfo = createEquipTransferInfo(equipTransfer);
if (FlowStatusEnum.TO_BE_FINISHED.getCode() == Integer.parseInt(equipTransfer.getApplyStatus())) {
// 已完成状态显示历史数据
......@@ -817,4 +819,15 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
}
return Boolean.TRUE;
}
@Override
public boolean beforeCheck(JgEquipTransfer jgEquipTransfer) {
return jgEquipTransfer.getInstanceId() != null && !jgEquipTransfer.getApplyStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())) &&!jgEquipTransfer.getApplyStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
}
@Override
public void compensate(JgEquipTransfer jgEquipTransfer) {
commonService.saveExecuteFlowData2Redis(jgEquipTransfer.getInstanceId(), this.buildInstanceRuntimeData(jgEquipTransfer));
}
}
\ No newline at end of file
......@@ -34,6 +34,7 @@ import com.yeejoin.amos.boot.module.jg.biz.event.CancellationEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
......@@ -75,7 +76,7 @@ import java.util.stream.Collectors;
* @date 2023-12-12
*/
@Service
public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto, JgMaintainNotice, JgMaintainNoticeMapper> implements IJgMaintainNoticeService {
public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto, JgMaintainNotice, JgMaintainNoticeMapper> implements IJgMaintainNoticeService, ICompensateFlowDataOfRedis<JgMaintainNotice> {
private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "maintainNotice";
......@@ -164,6 +165,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
if (Objects.isNull(notice)) {
return null;
}
this.doCompensate(notice);
Map<String, Object> maintainInfo = BeanUtil.beanToMap(notice, false, true);
maintainInfo.put("powerOfAttorneyList", JSON.parse(notice.getPowerOfAttorney()));
maintainInfo.put("constructionContractList", JSON.parse(notice.getConstructionContract()));
......@@ -1180,4 +1182,15 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
taskMap.put("model", taskMessageDto);
commonService.updateTaskModel(taskMap);
}
@Override
public boolean beforeCheck(JgMaintainNotice jgMaintainNotice) {
return jgMaintainNotice.getInstanceId() != null && !jgMaintainNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())) &&!jgMaintainNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
}
@Override
public void compensate(JgMaintainNotice jgMaintainNotice) {
commonService.saveExecuteFlowData2Redis(jgMaintainNotice.getInstanceId(), this.buildInstanceRuntimeData(jgMaintainNotice));
}
}
\ No newline at end of file
......@@ -31,6 +31,7 @@ import com.yeejoin.amos.boot.module.jg.biz.event.CancellationEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgUseInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -73,7 +74,7 @@ import java.util.stream.Collectors;
* @date 2023-12-12
*/
@Service
public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceContractDto, JgMaintenanceContract, JgMaintenanceContractMapper> implements IJgMaintenanceContractService {
public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceContractDto, JgMaintenanceContract, JgMaintenanceContractMapper> implements IJgMaintenanceContractService, ICompensateFlowDataOfRedis<JgMaintenanceContractDto> {
public static final String SUBMIT_DATA = "0";
public static final String SUBMIT_TYPE_FLOW = "1";
......@@ -164,6 +165,7 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
JgMaintenanceContractDto dto = maintenanceContractMapper.queryBySequenceNbr(sequenceNbr);
JgMaintenanceContractVo vo = new JgMaintenanceContractVo();
BeanUtils.copyProperties(dto, vo);
this.doCompensate(dto);
vo.setMaintenanceContract(ObjectUtils.isEmpty(dto.getMaintenanceContract()) ? null : JSON.parseArray(dto.getMaintenanceContract()));
vo.setOtherAccessories(ObjectUtils.isEmpty(dto.getOtherAccessories()) ? null : JSON.parseArray(dto.getOtherAccessories()));
// 非已完成状态数据显示最新的设备信息
......@@ -270,6 +272,14 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
.build();
}
public InstanceRuntimeData buildInstanceRuntimeData(JgMaintenanceContractDto jgMaintenanceContract) {
return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgMaintenanceContract.getNextExecuteUserIds())
.promoter(jgMaintenanceContract.getPromoter())
.nextTaskId(jgMaintenanceContract.getNextTaskId())
.build();
}
public String getNextUserOrgCode(String operate, JgMaintenanceContract contract) {
String code = null;
if ("0".equals(operate)) {
......@@ -892,4 +902,16 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
List<JgMaintenanceContractEq> equipmentLists = maintenanceContractEqMapper.selectList(queryWrapper);
commonService.saveOrUpdateHistory(BusinessTypeEnum.JG_MAINTENANCE_RECORD.getName(), JSON.parseArray(JSON.toJSONString(equipmentLists)), null, maintenanceContract.getSequenceNbr().toString());
}
@Override
public boolean beforeCheck(JgMaintenanceContractDto jgMaintenanceContract) {
return jgMaintenanceContract.getInstanceId() != null && !jgMaintenanceContract.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgMaintenanceContract.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgMaintenanceContractDto jgMaintenanceContract) {
commonService.saveExecuteFlowData2Redis(jgMaintenanceContract.getInstanceId(), this.buildInstanceRuntimeData(jgMaintenanceContract));
}
}
\ No newline at end of file
......@@ -34,6 +34,7 @@ import com.yeejoin.amos.boot.module.jg.biz.event.CancellationEvent;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
......@@ -82,7 +83,7 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, JgReformNotice, JgReformNoticeMapper> implements IJgReformNoticeService {
public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, JgReformNotice, JgReformNoticeMapper> implements IJgReformNoticeService, ICompensateFlowDataOfRedis<JgReformNotice> {
private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "renovationNoticeNew";
......@@ -143,6 +144,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
// 改造告知信息
JgReformNotice notice = jgReformNoticeMapper.selectById(sequenceNbr);
this.doCompensate(notice);
Map<String, Object> reformNoticeMap = BeanUtil.beanToMap(notice, false, true);
reformNoticeMap.put("province", notice.getProvince() + "_" + notice.getProvinceName());
reformNoticeMap.put("city", notice.getCity() + "_" + notice.getCityName());
......@@ -1008,4 +1010,15 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
jsonObject.put("deviceList", deviceList);
this.saveHisDataBeforeUpdate(String.valueOf(reformNotice.getSequenceNbr()), jsonObject);
}
@Override
public boolean beforeCheck(JgReformNotice jgReformNotice) {
return jgReformNotice.getInstanceId() != null && !jgReformNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())) &&!jgReformNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
}
@Override
public void compensate(JgReformNotice jgReformNotice) {
commonService.saveExecuteFlowData2Redis(jgReformNotice.getInstanceId(), this.buildInstanceRuntimeData(jgReformNotice));
}
}
\ No newline at end of file
......@@ -30,6 +30,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.EquipUsedCheckStrategyContext
import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService;
import com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -70,7 +71,7 @@ import java.util.stream.Collectors;
* @date 2023-12-20
*/
@Service
public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgScrapCancel, JgScrapCancelMapper> implements IJgScrapCancelService {
public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgScrapCancel, JgScrapCancelMapper> implements IJgScrapCancelService, ICompensateFlowDataOfRedis<JgScrapCancel> {
private static final String SUBMIT_TYPE_FLOW = "1";
......@@ -769,6 +770,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
public Map<String, Object> queryBySequenceNbr(Long sequenceNbr) {
Map<String, Object> resultMap = new HashMap<>();
JgScrapCancel scrapCancel = this.baseMapper.selectById(sequenceNbr);
this.doCompensate(scrapCancel);
Map<String, Object> beanMap = BeanUtil.beanToMap(scrapCancel, false, true);
beanMap.put("cancelCertificateList", JSON.parse(scrapCancel.getCancelCertificate()));
beanMap.put("otherAccessories", JSON.parse(scrapCancel.getOtherAccessories()));
......@@ -1095,4 +1097,15 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgCertificateChangeRecordEqServiceImpl.saveBatch(changeRecordEqList);
}
}
@Override
public boolean beforeCheck(JgScrapCancel jgScrapCancel) {
return jgScrapCancel.getInstanceId() != null && !jgScrapCancel.getAuditStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgScrapCancel.getAuditStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgScrapCancel jgScrapCancel) {
commonService.saveExecuteFlowData2Redis(jgScrapCancel.getInstanceId(), this.buildInstanceRuntimeData(jgScrapCancel));
}
}
\ No newline at end of file
......@@ -33,6 +33,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.dao.ESElavtorRepository;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
......@@ -72,7 +73,7 @@ import java.util.stream.Collectors;
* @date 2023-12-19
*/
@Service
public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto, JgTransferNotice, JgTransferNoticeMapper> implements IJgTransferNoticeService {
public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto, JgTransferNotice, JgTransferNoticeMapper> implements IJgTransferNoticeService, ICompensateFlowDataOfRedis<JgTransferNotice> {
private static final String SUBMIT_TYPE_FLOW = "1";
private static final String PROCESS_DEFINITION_KEY = "transferNotice";
......@@ -133,6 +134,7 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
if (Objects.isNull(notice)) {
return null;
}
this.doCompensate(notice);
Map<String, Object> transferNotice = BeanUtil.beanToMap(notice, false, true);
transferNotice.put("province", notice.getProvince() + "_" + notice.getProvinceName());
transferNotice.put("city", notice.getCity() + "_" + notice.getCityName());
......@@ -1055,4 +1057,14 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
return workflowResultDto;
}
@Override
public boolean beforeCheck(JgTransferNotice jgTransferNotice) {
return jgTransferNotice.getInstanceId() != null && !jgTransferNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())) &&!jgTransferNotice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
}
@Override
public void compensate(JgTransferNotice jgTransferNotice) {
commonService.saveExecuteFlowData2Redis(jgTransferNotice.getInstanceId(), this.buildInstanceRuntimeData(jgTransferNotice));
}
}
\ No newline at end of file
......@@ -36,6 +36,7 @@ import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.feign.WorkFlowFeignService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
......@@ -98,7 +99,7 @@ import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistration
*/
@Service
@Slf4j
public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInformationDto, JgVehicleInformation, JgVehicleInformationMapper> implements IJgVehicleInformationService {
public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInformationDto, JgVehicleInformation, JgVehicleInformationMapper> implements IJgVehicleInformationService, ICompensateFlowDataOfRedis<JgVehicleInformationDto> {
public static final String SUBMIT_DATA = "0";
public static final String SUBMIT_TYPE_FLOW = "1";
private static final String DEFINITION_KEY = "vehicleInformation";
......@@ -546,6 +547,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
.build();
}
public InstanceRuntimeData buildInstanceRuntimeData(JgVehicleInformationDto jgVehicleInformation) {
return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgVehicleInformation.getNextExecuteUserIds())
.promoter(jgVehicleInformation.getPromoter())
.nextTaskId(jgVehicleInformation.getNextTaskId())
.build();
}
private Integer getTaskCodeByName(String auditStatus) {
return commonService.getDictionaryCodeByName(auditStatus);
}
......@@ -568,12 +577,12 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
*/
public JgVehicleInformationVo queryBySequenceNbr(Long sequenceNbr) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
JgVehicleInformationVo vo = new JgVehicleInformationVo();
JgVehicleInformationDto dto = this.baseMapper.queryBySequenceNbr(sequenceNbr);
if (Objects.isNull(dto)) {
return null;
}
this.doCompensate(dto);
BeanUtils.copyProperties(dto, vo);
//接收机构
if (!ValidationUtil.isEmpty(dto.getReceiveOrgCode()) && !ValidationUtil.isEmpty(dto.getReceiveOrgName())) {
......@@ -2232,4 +2241,15 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
objMap.put(equId, param);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
}
@Override
public boolean beforeCheck(JgVehicleInformationDto jgVehicleInformation) {
return jgVehicleInformation.getInstanceId() != null && !jgVehicleInformation.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName()) &&!jgVehicleInformation.getStatus().equals(FlowStatusEnum.TO_BE_DISCARD.getName());
}
@Override
public void compensate(JgVehicleInformationDto jgVehicleInformation) {
commonService.saveExecuteFlowData2Redis(jgVehicleInformation.getInstanceId(), this.buildInstanceRuntimeData(jgVehicleInformation));
}
}
\ No newline at end of file
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