Commit 785ca6df authored by suhuiguang's avatar suhuiguang

1.按照宝鸡特检院

parent 0d6186af
......@@ -17,7 +17,7 @@
</dependency>
<dependency>
<groupId>com.amosframework.boot</groupId>
<artifactId>amos-boot-module-ymt-api</artifactId>
<artifactId>amos-boot-module-jg-api</artifactId>
<version>${amos-boot-biz.version}</version>
<scope>compile</scope>
</dependency>
......
......@@ -13,6 +13,9 @@ import java.util.Map;
@ApiModel(value = "检验检测申请信息推送数据-设备信息")
public class InspectionEquipData {
@ApiModelProperty(value = "设备物理标识")
private String equipId;
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
......@@ -31,15 +34,24 @@ public class InspectionEquipData {
@ApiModelProperty(value = "注册代码")
private String equCode;
@ApiModelProperty(value = "使用/施工地址")
@ApiModelProperty(value = "使用地址")
private String address;
@ApiModelProperty(value = "使用/施工单位信用代码")
@ApiModelProperty(value = "使用单位信用代码")
private String unitCreditCode;
@ApiModelProperty(value = "使用/施工单位名称")
@ApiModelProperty(value = "使用单位名称")
private String unitCreditName;
@ApiModelProperty(value = "施工单位信用代码")
private String uscUnitCreditCode;
@ApiModelProperty(value = "施工单位名称")
private String uscUnitName;
@ApiModelProperty(value = "施工地址")
private String uscAddress;
@ApiModelProperty(value = "告知书编号")
private String informCode;
......@@ -52,6 +64,36 @@ public class InspectionEquipData {
@ApiModelProperty(value = "使用登记证附件相对路径")
private String useCertFilePath;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = " 制造日期")
private String produceDate;
@ApiModelProperty(value = "登记机关")
private String regUnitName;
@ApiModelProperty(value = "维保单位统一社会信用代码")
private String meUnitCreditCode;
@ApiModelProperty(value = "维保单位名称")
private String meUnitName;
@ApiModelProperty(value = "设备型号")
private String equType;
@ApiModelProperty(value = "单位内编号")
private String useInnerCode;
@ApiModelProperty(value = "制造单位名称")
private String produceUnitName;
@ApiModelProperty(value = "制造单位统一社会信用代码")
private String produceUnitCreditCode;
@ApiModelProperty(value = "设计使用年限")
private String designUseDate;
@ApiModelProperty(value = "技术参数")
private Map<String, Object> techParams;
......
package com.yeejoin.amos.boot.module.jyjc.biz.event.listener;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
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.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationManageMapper;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationPushLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.EquipCategoryEnum;
......@@ -18,10 +22,7 @@ import com.yeejoin.amos.boot.module.jyjc.biz.kafka.KafkaProducer;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationEquipServiceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.JyjcInspectionApplicationPushLogServiceImpl;
import com.yeejoin.amos.boot.module.jyjc.biz.util.JyjcConstant;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgConstructionInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -97,6 +98,16 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
@Autowired
SnowflakeIdUtil sequence;
@Autowired
IdxBizJgFactoryInfoMapper factoryInfoMapper;
@Autowired
MaintenanceInfoMapper maintenanceInfoMapper;
@Autowired
JgUseRegistrationManageMapper jgUseRegistrationManageMapper;
/**
* 报检推送主题, 第一位为接收单位标识
......@@ -190,7 +201,15 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
return jyjcInspectionApplicationEquips.stream().map(e -> {
InspectionEquipData equipData = new InspectionEquipData();
BeanUtil.copyProperties(e, equipData);
equipData.setAddress(this.getAddressByRecord(e.getEquipUnicode()));
equipData.setEquipId(e.getEquipUnicode());
// 使用信息
this.setUseInfo(equipData, e.getEquipUnicode());
// 注册信息
this.setRegisterInfo(equipData, e.getEquipUnicode());
// 制造信息
this.setProductData(equipData,e.getEquipUnicode());
// 维保单位信息
this.setMaintenanceInfo(equipData,e.getEquipUnicode());
// 单个查询执行,原因数据量较大 in 慢
this.setOtherInfo(equipData, e.getEquipUnicode(), applicationModel.getInspectionType());
// 单个查询执行,原因数据量较大 in 慢
......@@ -199,6 +218,68 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
}).collect(Collectors.toList());
}
private void setMaintenanceInfo(InspectionEquipData equipData, String equipUnicode) {
MaintenanceInfo maintenanceInfo = maintenanceInfoMapper.selectOne(new LambdaQueryWrapper<MaintenanceInfo>()
.eq(AbstractEquipBaseEntity::getRecord, equipUnicode)
.select(MaintenanceInfo::getRecord,MaintenanceInfo::getMeUnitCreditCode,MaintenanceInfo::getMeUnitName));
if(maintenanceInfo != null){
equipData.setMeUnitCreditCode(maintenanceInfo.getMeUnitCreditCode());
equipData.setMeUnitName(maintenanceInfo.getMeUnitName());
}
}
private void setUseInfo(InspectionEquipData equipData, String equipUnicode) {
IdxBizJgUseInfo idxBizJgUseInfo = useInfoMapper.selectOne(
new LambdaQueryWrapper<IdxBizJgUseInfo>()
.eq(IdxBizJgUseInfo::getRecord, equipUnicode)
);
equipData.setUseInnerCode(idxBizJgUseInfo.getUseInnerCode());
equipData.setAddress(getAddressByRecord(idxBizJgUseInfo));
equipData.setUnitCreditCode(idxBizJgUseInfo.getUseUnitCreditCode());
equipData.setUnitCreditName(idxBizJgUseInfo.getUseUnitName());
}
private String getAddressByRecord(IdxBizJgUseInfo idxBizJgUseInfo) {
return null2Blank(idxBizJgUseInfo.getProvinceName()) + null2Blank(idxBizJgUseInfo.getCityName()) + null2Blank(idxBizJgUseInfo.getCountyName()) + null2Blank(idxBizJgUseInfo.getAddress());
}
private void setRegisterInfo(InspectionEquipData equipData, String equipUnicode) {
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.select(IdxBizJgRegisterInfo::getEquType,IdxBizJgRegisterInfo::getRecord);
wrapper.eq(IdxBizJgRegisterInfo::getRecord, equipUnicode);
wrapper.select(IdxBizJgRegisterInfo::getRecord,
IdxBizJgRegisterInfo::getEquType,
IdxBizJgRegisterInfo::getUseOrgCode,
IdxBizJgRegisterInfo::getLastUseCertFilePath);
// 使用证信息
IdxBizJgRegisterInfo jgRegisterInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
if (jgRegisterInfo != null) {
equipData.setEquType(jgRegisterInfo.getEquType());
equipData.setUseRegistrationCode(jgRegisterInfo.getUseOrgCode());
equipData.setUseCertFilePath(jgRegisterInfo.getLastUseCertFilePath());
}
// 登记机关
if(equipData.getUseRegistrationCode() != null){
LambdaQueryWrapper<JgUseRegistrationManage> queryWrapper = new LambdaQueryWrapper<JgUseRegistrationManage>()
.eq(JgUseRegistrationManage::getUseRegistrationCode, equipData.getUseRegistrationCode())
.eq(JgUseRegistrationManage::getIsDelete, 0).select(JgUseRegistrationManage::getRegUnitName,BaseEntity::getSequenceNbr);
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageMapper.selectOne(queryWrapper);
if(jgUseRegistrationManage != null){
equipData.setRegUnitName(jgUseRegistrationManage.getRegUnitName());
}
}
}
private void setProductData(InspectionEquipData equipData, String record) {
IdxBizJgFactoryInfo idxBizJgFactoryInfo = factoryInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgFactoryInfo>().eq(IdxBizJgFactoryInfo::getRecord,record));
if(idxBizJgFactoryInfo != null) {
equipData.setFactoryNum(idxBizJgFactoryInfo.getFactoryNum());
equipData.setProduceUnitCreditCode(idxBizJgFactoryInfo.getProduceUnitCreditCode());
equipData.setProduceUnitName(idxBizJgFactoryInfo.getProduceUnitName());
equipData.setProduceDate(DateUtil.formatDate(idxBizJgFactoryInfo.getProduceDate()));
}
}
private void setTechParams(InspectionEquipData equipData, String equipUnicode) {
// 按照设备类型查询不同的技术参数表
equipData.setTechParams(this.populateEquipInfoWithTechParams(equipData.getEquList(), equipUnicode));
......@@ -257,10 +338,6 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
}
}
private String getAddressByRecord(String equipUnicode) {
IdxBizJgUseInfo idxBizJgUseInfo = useInfoMapper.selectOne(new LambdaQueryWrapper<IdxBizJgUseInfo>().eq(IdxBizJgUseInfo::getRecord, equipUnicode));
return null2Blank(idxBizJgUseInfo.getProvinceName()) + null2Blank(idxBizJgUseInfo.getCityName()) + null2Blank(idxBizJgUseInfo.getCountyName()) + null2Blank(idxBizJgUseInfo.getAddress());
}
private String null2Blank(String str) {
return StrUtil.isNotEmpty(str) ? str : "";
......@@ -271,14 +348,6 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
if (JDJY_ARRAY.contains(inspectionType)) {
setConstructionInfo(equipData, equipUnicode);
}
// 定首检送使用单位信息
if (DSJ_ARRAY.contains(inspectionType)) {
// 填充单位信息
this.setUnitInfo(equipData, equipUnicode);
// 填充使用登记证编号、登记证路径
this.setUseCodeAndCertPath(equipData, equipUnicode);
}
}
private void setConstructionInfo(InspectionEquipData equipData, String equipUnicode) {
......@@ -292,8 +361,10 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
wrapper.last("limit 1");
IdxBizJgConstructionInfo jgConstructionInfo = constructionInfoMapper.selectOne(wrapper);
if (jgConstructionInfo != null) {
equipData.setUnitCreditCode(jgConstructionInfo.getUscUnitCreditCode());
equipData.setUnitCreditName(jgConstructionInfo.getUscUnitName());
equipData.setUscUnitCreditCode(jgConstructionInfo.getUscUnitCreditCode());
equipData.setUscUnitName(jgConstructionInfo.getUscUnitName());
// 施工告知后地址信息会写入到使用信息表,使用信息上个方法已经设置
equipData.setUscAddress(equipData.getAddress());
equipData.setInformCode(jgConstructionInfo.getInformCode());
equipData.setInformFilePath(jgConstructionInfo.getInformFilePath());
}
......@@ -311,16 +382,6 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
}
}
private void setUnitInfo(InspectionEquipData equipData, String equipUnicode) {
LambdaQueryWrapper<IdxBizJgUseInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.select(IdxBizJgUseInfo::getUseUnitCreditCode, IdxBizJgUseInfo::getUseUnitName);
wrapper.eq(IdxBizJgUseInfo::getRecord, equipUnicode);
IdxBizJgUseInfo idxBizJgUseInfo = useInfoMapper.selectOne(wrapper);
if (idxBizJgUseInfo != null) {
equipData.setUnitCreditCode(idxBizJgUseInfo.getUseUnitCreditCode());
equipData.setUnitCreditName(idxBizJgUseInfo.getUseUnitName());
}
}
private String getSuperviseNameByCode(String applicationUnitCode) {
//查询监管单位名称
......
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