Commit 43b1b65e authored by 刘林's avatar 刘林

fix(jg):【现场问题】监管业务-更名变更,电梯设备三级审批报错

parent e1edb19f
......@@ -2596,10 +2596,18 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
// 是否撬装式压力容器
if ("2100".equals(map.getString(EQU_CATEGORY_CODE))){
if (!ObjectUtils.isEmpty(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL));
pBuilder.must(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, test));
boolMust.must(pBuilder);
if ("1".equals(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL))){
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL));
pBuilder.must(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, test));
boolMust.must(pBuilder);
}else{
BoolQueryBuilder orBuilder = QueryBuilders.boolQuery();
orBuilder.should(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, "0"));
orBuilder.should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL)));
orBuilder.minimumShouldMatch(1);
boolMust.must(orBuilder);
}
}
}
// 设备代码模糊查询
......
......@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
......@@ -687,7 +688,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
}
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 6000000)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
......@@ -881,43 +882,57 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
regUnitInfoMapper.update(regUnitInfo, updateWrapper);
// 修改本次更名登记选择的使用登记证下的设备信息
List<JgChangeRegistrationNameEq> list = jgChangeRegistrationNameEqService.lambdaQuery().eq(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr()).list();
ArrayList<String> equipIds = new ArrayList<>();
list.forEach(item -> {
if (!ObjectUtils.isEmpty(item.getEquipInfo())) {
JSONArray objects = JSONObject.parseArray(item.getEquipInfo());
objects.forEach(info -> {
JSONObject jsonObject = JSONObject.parseObject(info.toString());
if (jsonObject.containsKey("SEQUENCE_NBR")) {
equipIds.add(jsonObject.get("SEQUENCE_NBR").toString());
}
});
}
});
if (!ObjectUtils.isEmpty(equipIds)) {
LambdaQueryWrapper<UseInfo> lambda = new QueryWrapper<UseInfo>().lambda();
lambda.eq(UseInfo::getUseUnitCreditCode, jgChangeRegistrationName.getUseUnitCreditCode());
lambda.in(UseInfo::getRecord, equipIds);
UseInfo useInfo = new UseInfo();
useInfo.setUseUnitName(jgChangeRegistrationName.getNewUseUnitName());
useInfoMapper.update(useInfo, lambda);
// 修改es中设备信息
updateEsData(equipIds, jgChangeRegistrationName);
}
// 修改证管理信息
List<String> collect = list.stream().map(JgChangeRegistrationNameEq::getCertificateSeq).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect)) {
LambdaQueryWrapper<JgUseRegistrationManage> lambda = new QueryWrapper<JgUseRegistrationManage>().lambda();
lambda.in(JgUseRegistrationManage::getSequenceNbr, collect);
List<JgUseRegistrationManage> manages = jgUseRegistrationManageService.list(lambda);
manages.forEach(jgUseRegistrationManage -> {
jgUseRegistrationManage.setUseUnitName(jgChangeRegistrationName.getNewUseUnitName());
jgUseRegistrationManage.setAuditPassDate(new Date());
jgUseRegistrationManage.setVersion(jgUseRegistrationManage.getVersion() + 1);
jgUseRegistrationManage.setChangeReason(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName());
List<JgChangeRegistrationNameEq> list = jgChangeRegistrationNameEqService.lambdaQuery()
.eq(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr())
.list();
if (!CollectionUtils.isEmpty(list)) {
Set<String> equipIds = new HashSet<>();
Set<String> certificateSeqList = new HashSet<>();
list.forEach(item -> {
Optional.ofNullable(item.getEquipInfo())
.map(JSONObject::parseArray)
.orElseGet(JSONArray::new)
.forEach(info -> {
JSONObject json = JSONObject.parseObject(info.toString());
if (json.containsKey("SEQUENCE_NBR")) {
equipIds.add(json.getString("SEQUENCE_NBR"));
}
});
if (item.getCertificateSeq() != null) {
certificateSeqList.add(item.getCertificateSeq());
}
});
jgUseRegistrationManageService.updateBatchById(manages);
if (!CollectionUtils.isEmpty(equipIds)) {
useInfoMapper.update(
new UseInfo().setUseUnitName(jgChangeRegistrationName.getNewUseUnitName()),
Wrappers.<UseInfo>lambdaQuery()
.eq(UseInfo::getUseUnitCreditCode, jgChangeRegistrationName.getUseUnitCreditCode())
.in(UseInfo::getRecord, equipIds)
);
updateEsData(new ArrayList<>(equipIds), jgChangeRegistrationName);
}
if (!CollectionUtils.isEmpty(certificateSeqList)) {
List<JgUseRegistrationManage> manages = jgUseRegistrationManageService.list(
Wrappers.<JgUseRegistrationManage>lambdaQuery()
.in(JgUseRegistrationManage::getSequenceNbr, certificateSeqList)
);
if (!CollectionUtils.isEmpty(manages)) {
Date now = new Date();
manages.forEach(manage -> manage
.setUseUnitName(jgChangeRegistrationName.getNewUseUnitName())
.setAuditPassDate(now)
.setVersion(manage.getVersion() + 1)
.setChangeReason(BusinessTypeEnum.JG_NAME_CHANGE_REGISTRATION.getName()));
jgUseRegistrationManageService.updateBatchById(manages);
}
}
}
// 业务流水生成
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.lambdaQuery()
.eq(JgRegistrationHistory::getCurrentDocumentId, jgChangeRegistrationName.getSequenceNbr())
......
......@@ -2266,10 +2266,18 @@ public class JGDPStatisticsServiceImpl {
// 是否撬装式压力容器
if ("2100".equals(map.getString(EQU_CATEGORY_CODE))){
if (!ObjectUtils.isEmpty(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL));
pBuilder.must(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, test));
boolMust.must(pBuilder);
if ("1".equals(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL))){
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String test = QueryParser.escape(map.getString(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL));
pBuilder.must(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, test));
boolMust.must(pBuilder);
}else{
BoolQueryBuilder orBuilder = QueryBuilders.boolQuery();
orBuilder.should(QueryBuilders.termQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, "0"));
orBuilder.should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery(WHETHER_SKID_MOUNTED_PRESSURE_VESSEL)));
orBuilder.minimumShouldMatch(1);
boolMust.must(orBuilder);
}
}
}
// 设备代码模糊查询
......
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