Commit f64e6dee authored by suhuiguang's avatar suhuiguang

feat(大编辑):气瓶编辑

1.气瓶编辑时,公共字段变化后,相同证号的其他气瓶也进行更新
parent 1fe96c5d
...@@ -11,4 +11,6 @@ public interface BizCommonConstant { ...@@ -11,4 +11,6 @@ public interface BizCommonConstant {
* 所有平台企业数据redisKey * 所有平台企业数据redisKey
*/ */
String COMPANY_TREE_REDIS_KEY = "REGULATOR_UNIT_TREE"; String COMPANY_TREE_REDIS_KEY = "REGULATOR_UNIT_TREE";
String EQU_CATEGORY_CYLINDER = "2300";
} }
...@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,6 +4,8 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.jg.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta; import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.CylinderTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler; import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.DefaultBizDataChangeHandler;
...@@ -11,12 +13,13 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataCha ...@@ -11,12 +13,13 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.process.biz.strategy.IBizDataCha
import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy; import com.yeejoin.amos.boot.module.jg.biz.edit.process.equip.strategy.IEquipChangeDataProcessStrategy;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/** /**
* 单个维护设备-策略实现类 * 单个维护设备-策略实现类
...@@ -125,11 +128,63 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -125,11 +128,63 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
commonEquipDataProcessService.updateEsDataOfEquip(record, designInfoNew); commonEquipDataProcessService.updateEsDataOfEquip(record, designInfoNew);
commonEquipDataProcessService.updateEsDataOfEquip(record, otherInfoNew); commonEquipDataProcessService.updateEsDataOfEquip(record, otherInfoNew);
commonEquipDataProcessService.updateEsDataOfEquip(record, factoryInfoNew); commonEquipDataProcessService.updateEsDataOfEquip(record, factoryInfoNew);
// 如果是气瓶则按照证更新其他同证下的气瓶字段
this.updateOtherEquipInSameCert(useInfoNew, registerInfoNew, registerInfoOld, allChangeColumns);
// 设备技术参数入库处理 // 设备技术参数入库处理
commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns); commonEquipDataProcessService.updateTechParamInfo(registerInfoOld.getEquList(), record, changeData, allChangeColumns);
return allChangeColumns; return allChangeColumns;
} }
private void updateOtherEquipInSameCert(IdxBizJgUseInfo useInfoNew, IdxBizJgRegisterInfo registerInfoNew, IdxBizJgRegisterInfo registerInfoOld, List<FieldChangeMeta> allChangeColumns) {
// 气瓶下的相同的使用登记证编号设备更新
String useOrgCode = registerInfoOld.getUseOrgCode();
if (BizCommonConstant.EQU_CATEGORY_CYLINDER.equals(registerInfoNew.getEquCategory()) && StringUtils.isNotEmpty(useOrgCode)) {
// 查询相同的使用登记证编号的设备不包含源设备
List<IdxBizJgRegisterInfo> equipInOneCerts = commonEquipDataProcessService.getJgUseRegistrationService()
.getIdxBizJgRegisterInfoService()
.list(new LambdaQueryWrapper<IdxBizJgRegisterInfo>()
.eq(IdxBizJgRegisterInfo::getUseOrgCode, useOrgCode)
.ne(IdxBizJgRegisterInfo::getRecord, registerInfoOld.getRecord())
.select(TzsBaseEntity::getSequenceNbr, IdxBizJgRegisterInfo::getRecord));
equipInOneCerts.forEach(equip -> {
String record = equip.getRecord();
// 使用信息
IdxBizJgUseInfo useInfoOtherOld = commonEquipDataProcessService.getJgUseRegistrationService().getUseInfoMapper().selectOne(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getRecord, record));
IdxBizJgUseInfo useInfoOtherNew = BeanUtil.copyProperties(useInfoOtherOld, IdxBizJgUseInfo.class);
useInfoOtherNew.setProvince(useInfoNew.getProvince());
useInfoOtherNew.setProvinceName(useInfoNew.getProvinceName());
useInfoOtherNew.setCity(useInfoNew.getCity());
useInfoOtherNew.setCityName(useInfoNew.getCityName());
useInfoOtherNew.setCounty(useInfoNew.getCounty());
useInfoOtherNew.setCountyName(useInfoNew.getCountyName());
useInfoOtherNew.setFactoryUseSiteStreet(useInfoNew.getFactoryUseSiteStreet());
useInfoOtherNew.setStreetName(useInfoNew.getStreetName());
useInfoOtherNew.setAddress(useInfoNew.getAddress());
useInfoOtherNew.setSafetyManager(useInfoNew.getSafetyManager());
useInfoOtherNew.setPhone(useInfoNew.getPhone());
useInfoOtherNew.setIsNotXiXian(useInfoNew.getIsNotXiXian());
useInfoOtherNew.setEstateUnitCreditCode(useInfoNew.getEstateUnitCreditCode());
useInfoOtherNew.setEstateUnitName(useInfoNew.getEstateUnitName());
useInfoOtherNew.setUseDate(useInfoNew.getUseDate());
useInfoOtherNew.setUsePlace(useInfoNew.getUsePlace());
useInfoOtherNew.setLongitudeLatitude(useInfoNew.getLongitudeLatitude());
// 注册信息
IdxBizJgRegisterInfo registerInfoOtherOld = commonEquipDataProcessService.getJgUseRegistrationService().getIdxBizJgRegisterInfoService().getOne(new LambdaQueryWrapper<IdxBizJgRegisterInfo>().eq(IdxBizJgRegisterInfo::getRecord, record));
IdxBizJgRegisterInfo registerInfoOtherNew = BeanUtil.copyProperties(registerInfoOtherOld, IdxBizJgRegisterInfo.class);
registerInfoOtherNew.setUseOrgCode(registerInfoNew.getUseOrgCode());
registerInfoOtherNew.setCarNumber(registerInfoNew.getCarNumber());
List<FieldChangeMeta> useInfoFieldChangeMetas = commonEquipDataProcessService.simpleTrackAndUpdate(commonEquipDataProcessService.getJgUseRegistrationService().getUseInfoMapper(), useInfoOtherOld, useInfoOtherNew, record, "record", record);
allChangeColumns.addAll(useInfoFieldChangeMetas);
List<FieldChangeMeta> registerInfoFieldChangeMetas = commonEquipDataProcessService.simpleTrackAndUpdate(commonEquipDataProcessService.getJgUseRegistrationService().getIdxBizJgRegisterInfoService().getBaseMapper(), registerInfoOtherOld, registerInfoOtherNew, record, "record", record);
allChangeColumns.addAll(registerInfoFieldChangeMetas);
});
}
}
private void setNameByCode2SupervisionInfo(IdxBizJgSupervisionInfo idxBizJgSupervisionInfo) { private void setNameByCode2SupervisionInfo(IdxBizJgSupervisionInfo idxBizJgSupervisionInfo) {
// 按照org_code查询 // 按照org_code查询
if (StringUtils.isNotEmpty(idxBizJgSupervisionInfo.getOrgBranchCode())) { if (StringUtils.isNotEmpty(idxBizJgSupervisionInfo.getOrgBranchCode())) {
...@@ -141,7 +196,6 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy ...@@ -141,7 +196,6 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
} }
private void beforeCheckForUseOrgCode(IdxBizJgUseInfo useInfoOld, IdxBizJgRegisterInfo registerInfoNew) { private void beforeCheckForUseOrgCode(IdxBizJgUseInfo useInfoOld, IdxBizJgRegisterInfo registerInfoNew) {
// 1.使用登记证编辑时重复性校验 // 1.使用登记证编辑时重复性校验
if (!CylinderTypeEnum.CYLINDER.getCode().equals(registerInfoNew.getEquCategory())) { // 非气瓶逻辑,所有设备不能重复 if (!CylinderTypeEnum.CYLINDER.getCode().equals(registerInfoNew.getEquCategory())) { // 非气瓶逻辑,所有设备不能重复
......
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