Commit 0b0af80a authored by suhuiguang's avatar suhuiguang

1.维保备案作废及删除后未清除redis的流程中的设备导致不能再次发起维备案bug

2.维保备案,设备列表过滤未使用缓存的设备进行设备的过滤筛选,导致在流程的设备,再次发起申请时还可选
parent fcbcf251
......@@ -1417,10 +1417,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
map.put(PROJECT_CONTRAPTION, String.valueOf(map.get("projectContraption")));
}
} else if (ValidationUtil.equals(queryType, "WB")) {// 维保
// // 查询 维保备案【可绑定设备列表】【(EQU_STATE=== null || "")】
// BoolQueryBuilder wbBuilder = QueryBuilders.boolQuery();
// wbBuilder.mustNot(QueryBuilders.existsQuery("EQU_STATE"));
// boolMust.must(wbBuilder);
this.setRepeatUsedCheckFilterParam(boolMust, companyCode, JgMaintenanceContractServiceImpl.WB_PROCESS_DEFINITION_KEY);
} else if (ValidationUtil.equals(queryType, "SY")) {// 使用
// 查询 使用登记【可选设备列表】【(EQU_STATUS=== null || "" ) && (USE_ORG_CODE(使用登记证编号) ==="" || null)】
BoolQueryBuilder syBuilder = QueryBuilders.boolQuery();
......
......@@ -239,6 +239,16 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
}
}
private void delRepeatUseEquipData(Long id, String companyCode) {
List<JgMaintenanceContractEq> list = jgMaintenanceContractEqService.lambdaQuery().eq(JgMaintenanceContractEq::getEquipTransferId, id).list();
// 获取单位变更设备列表
if (CollectionUtils.isEmpty(list)) {
return;
}
List<String> records = list.stream().map(JgMaintenanceContractEq::getEquId).collect(Collectors.toList());
EquipUsedCheckStrategyContext.getUsedStrategy(WB_PROCESS_DEFINITION_KEY).delDataForCheckEquipRepeatUsed(records, companyCode);
}
public InstanceRuntimeData buildInstanceRuntimeData(JgMaintenanceContract jgMaintenanceContract) {
return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgMaintenanceContract.getNextExecuteUserIds())
......@@ -278,6 +288,8 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
commonService.deleteTaskModel(String.valueOf(jgMaintenanceContract.getSequenceNbr()), jgMaintenanceContract.getInstanceId());
// 删除业务单
this.baseMapper.deleteById(seq);
// 删除流程中的设备维保
this.delRepeatUseEquipData(jgMaintenanceContract.getSequenceNbr(), jgMaintenanceContract.getUseUnitCode());
// 删除对应eq
jgMaintenanceContractEqService.getBaseMapper().delete(new LambdaQueryWrapper<JgMaintenanceContractEq>()
.eq(JgMaintenanceContractEq::getEquipTransferId, seq));
......@@ -783,30 +795,19 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
maintenanceContract.setNextExecuteUserIds(null);
maintenanceContract.setPromoter(null);
this.updateById(maintenanceContract);
this.processElseDataByStatus(Objects.requireNonNull(this.confirmBusinessPhase(oldNoticeStatus)), maintenanceContract);
this.processElseDataByStatus(this.confirmBusinessPhase(oldNoticeStatus), maintenanceContract);
return maintenanceContract;
}
private FlowStatusEnum confirmBusinessPhase(String status) {
Set<String> toBeSubmittedSet = new HashSet<>(Arrays.asList(
WorkFlowStatusEnum.MAIN_SUBMIT.getPass(),
WorkFlowStatusEnum.MAIN_SUBMIT.getReject(),
WorkFlowStatusEnum.MAIN_SUBMIT.getRollBack(),
WorkFlowStatusEnum.MAIN_RECEIVE.getPass(),
WorkFlowStatusEnum.MAIN_RECEIVE.getReject(),
WorkFlowStatusEnum.MAIN_RECEIVE.getRollBack(),
WorkFlowStatusEnum.MAIN_PRELIMINARY.getPass()
));
if (toBeSubmittedSet.contains(status)) {
if ( WorkFlowStatusEnum.MAIN_SUBMIT.getPass().contains(status)) {
return FlowStatusEnum.TO_BE_SUBMITTED;
}
if (FlowStatusEnum.TO_BE_FINISHED.getName().equals(status)) {
if ( WorkFlowStatusEnum.MAIN_PRELIMINARY.getPass().contains(status)) {
return FlowStatusEnum.TO_BE_FINISHED;
}
return null;
return FlowStatusEnum.TO_BE_PROCESSED;
}
private void processElseDataByStatus(FlowStatusEnum oldNoticeStatus, JgMaintenanceContract contract) {
......
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