Commit 48e60d9b authored by suhuiguang's avatar suhuiguang

1.变更按钮增加约束,做过后续业务移转变更、改造变更、更名变更、单位变更【使用单位未提交、已作废不包括统计内】后,不可编辑设备信息

parent a84b32b9
......@@ -195,5 +195,13 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
*/
List<String> findEquipInUseService(@Param("record") String record);
/**
* 查询指定设备,使用登记后,后续业务的数据
* @param record 设备标识
* @return 后续业务数量
*/
Integer countBizNumAfterUseReg(@Param("record") String record);
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
public class BaseUseRegisterResultData {
public static final String HAPPEN_AFTER_BIZ = "happenAfterBiz";
private final JSONObject data;
public BaseUseRegisterResultData(JSONObject data) {
this.data = data;
}
public JSONObject getData() {
return data;
}
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
/**
* 默认处理器
*/
@Slf4j
public class DefaultUseRegisterResult extends BaseUseRegisterResultData {
public DefaultUseRegisterResult(JSONObject data) {
super(data);
}
@Override
public JSONObject getData() {
JSONObject data = super.getData();
fillingEditPermission(data);
return data;
}
/**
* 新增时默认不可编辑
* @param jsonObject 原始数据
*/
private void fillingEditPermission(JSONObject jsonObject) {
jsonObject.put(HAPPEN_AFTER_BIZ, true);
}
}
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationEq;
import com.yeejoin.amos.boot.module.jg.api.mapper.CommonMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import java.util.List;
@Slf4j
public class FillingUseRegisterResult extends BaseUseRegisterResultData {
private final ApplicationContext applicationContext;
/**
* 使用登记主键
*/
private final Long userRegisterId;
public FillingUseRegisterResult(Long sequenceNbr, JSONObject data, ApplicationContext applicationContext) {
super(data);
this.applicationContext = applicationContext;
this.userRegisterId = sequenceNbr;
}
@Override
public JSONObject getData() {
JSONObject data = super.getData();
fillingEditPermission(data);
return data;
}
/**
* 判断设备在做过后续业务:移转变更、改造变更、更名变更、单位变更【使用单位未提交、已作废不包括统计内】
*
* @param jsonObject 返回的数据
*/
private void fillingEditPermission(JSONObject jsonObject) {
jsonObject.put(HAPPEN_AFTER_BIZ, false);
List<JgUseRegistrationEq> useRegistrationEqs = getJgUseRegistrationEqService().list(new LambdaQueryWrapper<JgUseRegistrationEq>()
.eq(JgUseRegistrationEq::getEquipTransferId, userRegisterId)
.select(JgUseRegistrationEq::getEquId, BaseEntity::getSequenceNbr));
for (JgUseRegistrationEq useRegistrationEq : useRegistrationEqs) {
Integer useTimes = getCommonMapper().countBizNumAfterUseReg(useRegistrationEq.getEquId());
if (useTimes > 0) {
log.warn("设备:{}做过后续业务, 此使用登记:{}不可再变更设备信息", useRegistrationEq.getEquId(), userRegisterId);
jsonObject.put(HAPPEN_AFTER_BIZ, true);
break;
}
}
}
private JgUseRegistrationEqServiceImpl getJgUseRegistrationEqService() {
return applicationContext.getBean(JgUseRegistrationEqServiceImpl.class);
}
private CommonMapper getCommonMapper() {
return applicationContext.getBean(CommonMapper.class);
}
}
......@@ -64,7 +64,10 @@ import org.apache.commons.io.IOUtils;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -107,10 +110,12 @@ import static java.util.stream.Collectors.toList;
*/
@Service
@Slf4j
public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationDto, JgUseRegistration, JgUseRegistrationMapper> implements IJgUseRegistrationService, ICompensateFlowDataOfRedis<JgUseRegistration> {
public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationDto, JgUseRegistration, JgUseRegistrationMapper> implements IJgUseRegistrationService, ICompensateFlowDataOfRedis<JgUseRegistration>, ApplicationContextAware {
private static final String DEFINITION_KEY = "useRegistration";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("使用单位待提交", "一级受理已驳回", "使用单位已撤回", "已作废");
private ApplicationContext applicationContext;
@Autowired
RedisUtils redisUtils;
@Autowired
......@@ -124,8 +129,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
IdxBizJgDesignInfoServiceImpl idxBizJgDesignInfoService;
@Autowired
TzsUserInfoMapper userInfoMapper;
@Autowired
ICommonService commonService;
@Autowired
CommonServiceImpl commonServiceImpl;
......@@ -136,8 +139,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
EquipTechParamPipelineMapper equipTechParamPipelineMapper;
@Autowired
EventPublisher eventPublisher;
@Autowired
......@@ -209,6 +210,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
/**
* @param auditPassDate 通过时间
* @param exportParamsMap 参数map
......@@ -1757,7 +1760,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
jsonObject.put("useRegistrationCode", jgUseRegistration.getUseRegistrationCode());
// 转化 附件 字段
commonServiceImpl.convertStringToJsonobject(jsonObject, jsonFields);
return jsonObject;
// 结果增强,填充单据是否可变更设备状态,用来控制前端按钮的显示隐藏。
return new FillingUseRegisterResult(sequenceNbr, jsonObject, applicationContext).getData();
}
// 基本信息 + 制造信息
Map<String, Object> detail = this.baseMapper.getDetail(record);
......@@ -1802,9 +1806,15 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 附件解析
commonServiceImpl.convertStringToJsonobject(detail, jsonFields);
detail.put("province", "610000");
return detail;
JSONObject result = new JSONObject();
result.putAll(detail);
// 结果增强,填充单据是否可变更设备状态
return new DefaultUseRegisterResult(result).getData();
}
public Map<String, Object> getDetailByIdx(String record) {
// 基本信息 + 制造信息
Map<String, Object> detail = this.baseMapper.getDetail(record);
......@@ -3506,4 +3516,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
public void compensate(JgUseRegistration jgUseRegistration) {
commonService.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
}
\ 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