Commit 1934648a authored by tianyiming's avatar tianyiming

使用登记报错添加es回滚

parent e650e776
......@@ -1203,7 +1203,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
useInfo.setIsIntoManagement(Boolean.TRUE);
useInfoMapper.updateById(useInfo);
// 更新es
updateEsData(usePlace, mapData, otherInfo, jgUseRegistration, jsonObject);
updateEsData(usePlace, mapData, otherInfo, jgUseRegistration, jsonObject, Boolean.FALSE);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder()
.applyNo(jgUseRegistration.getApplyNo())
.businessType(BusinessTypeEnum.JG_USAGE_REGISTRATION.getName())
......@@ -1272,28 +1272,35 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return codeUtil.generateEquipmentCode(codeGenerateDto);
}
public void updateEsData(String usePlace, JSONObject dataMap, IdxBizJgOtherInfo otherInfo, JgUseRegistration jgUseRegistration,JSONObject jsonObject) {
// 属地监管部门拆分
String orgBranch = (String) dataMap.getOrDefault("orgBranchCode", "_");
String[] split = orgBranch.split("_");
public void updateEsData(String usePlace, JSONObject dataMap, IdxBizJgOtherInfo otherInfo,
JgUseRegistration jgUseRegistration,JSONObject jsonObject, Boolean rollBake) {
// 更新es
HashMap<String, Map<String, Object>> objMap = new HashMap<>();
HashMap<String, Object> param = new HashMap<>();
param.put("SUPERVISORY_CODE", otherInfo.getSupervisoryCode());
param.put("CODE96333", otherInfo.getCode96333());
param.put("USE_UNIT_CREDIT_CODE", dataMap.get("useUnitCreditCode"));
param.put("USE_UNIT_NAME", dataMap.get("useUnitName"));
param.put("ADDRESS", dataMap.getOrDefault("address", ""));
param.put("USE_PLACE", usePlace);
param.put("STATUS", "已认领");
param.put("EQU_STATE", 1);
param.put("IS_INTO_MANAGEMENT", true);
param.put("USE_SITE_CODE", jsonObject.get("province") + "#" + jsonObject.get("city") + "#" + jsonObject.get("county") + "#" + jsonObject.get("factoryUseSiteStreet"));
param.put("USE_PLACE_CODE", String.valueOf(jsonObject.get("usePlace")));
param.put("ORG_BRANCH_CODE", split[0]);
param.put("ORG_BRANCH_NAME", split[1]);
param.put("EQU_CODE", dataMap.get("equCode"));
param.put("USE_ORG_CODE", jgUseRegistration.getUseRegistrationCode());
if (rollBake) {
param.put("EQU_STATE", EquimentEnum.WEIDENGJI.getCode());
param.put("IS_INTO_MANAGEMENT", Boolean.FALSE);
param.put("USE_ORG_CODE", null);
} else {
// 属地监管部门拆分
String orgBranch = (String) dataMap.getOrDefault("orgBranchCode", "_");
String[] split = orgBranch.split("_");
param.put("SUPERVISORY_CODE", otherInfo.getSupervisoryCode());
param.put("CODE96333", otherInfo.getCode96333());
param.put("USE_UNIT_CREDIT_CODE", dataMap.get("useUnitCreditCode"));
param.put("USE_UNIT_NAME", dataMap.get("useUnitName"));
param.put("ADDRESS", dataMap.getOrDefault("address", ""));
param.put("USE_PLACE", usePlace);
param.put("STATUS", "已认领");
param.put("EQU_STATE", 1);
param.put("IS_INTO_MANAGEMENT", true);
param.put("USE_SITE_CODE", jsonObject.get("province") + "#" + jsonObject.get("city") + "#" + jsonObject.get("county") + "#" + jsonObject.get("factoryUseSiteStreet"));
param.put("USE_PLACE_CODE", String.valueOf(jsonObject.get("usePlace")));
param.put("ORG_BRANCH_CODE", split[0]);
param.put("ORG_BRANCH_NAME", split[1]);
param.put("EQU_CODE", dataMap.get("equCode"));
param.put("USE_ORG_CODE", jgUseRegistration.getUseRegistrationCode());
}
objMap.put((String) dataMap.get("equipId"), param);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
}
......@@ -1352,6 +1359,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId, JSONObject jsonObject) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
JSONObject recordJsonObject = new JSONObject();
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
......@@ -1362,12 +1370,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
commonService.checkForExecuteFlow(nextTaskId, instanceId);
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(id);
LambdaQueryWrapper<JgUseRegistrationEq> eq = new QueryWrapper<JgUseRegistrationEq>().lambda()
.eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr());
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(eq);
recordJsonObject.put("equipId", jgUseRegistrationEq.getEquId());
if (!ObjectUtils.isEmpty(carNumber)) {
// 更新安全追溯-场内车辆中的“车牌号字段” 保证唯一性
LambdaQueryWrapper<JgUseRegistrationEq> eq = new QueryWrapper<JgUseRegistrationEq>().lambda()
.eq(JgUseRegistrationEq::getEquipTransferId, jgUseRegistration.getSequenceNbr());
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(eq);
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(IdxBizJgRegisterInfo::getCarNumber, carNumber);
wrapper.ne(!ObjectUtils.isEmpty(jgUseRegistrationEq.getEquId()), IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId());
......@@ -1375,7 +1383,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (count > 0) {
throw new BadRequest("车牌号已存在,请重新输入!");
}
LambdaUpdateWrapper<IdxBizJgRegisterInfo> updateWrapper = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda()
.eq(IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId());
IdxBizJgRegisterInfo idxBizJgRegisterInfo = new IdxBizJgRegisterInfo();
......@@ -1415,6 +1422,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
this.clearDataForCheckEquipRepeatUsed(jgUseRegistration);
} catch (InterruptedException e) {
updateEsData(null, recordJsonObject, null, null, null, Boolean.TRUE);
e.printStackTrace();
} finally {
if (lock.isHeldByCurrentThread()) {
......
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