Commit b19eeb71 authored by suhuiguang's avatar suhuiguang

fix(jyjc): 报检规则4.0开发

1.推送消息缺少字段信息,applicationUnitAddress 报检单位地址 、 equName 设备名称、 equCode 设备代码、 produceDate 制造日期
parent 4e4ad398
......@@ -23,6 +23,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.InspectionEquipData;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionApplicationPushEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.kafka.KafkaProducer;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.CommonServiceImpl;
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.service.impl.JyjcInspectionApplicationServiceImpl;
......@@ -132,6 +133,12 @@ public class InspectionApplicationPushEventListener {
@javax.annotation.Resource
private JyjcInspectionApplicationServiceImpl inspectionApplicationService;
@javax.annotation.Resource
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@javax.annotation.Resource
private CommonServiceImpl commonService;
/**
* 报检推送主题, 第一位为接收单位标识
......@@ -231,6 +238,7 @@ public class InspectionApplicationPushEventListener {
private String buildData(long traceId, JyjcInspectionApplicationModel applicationModel) {
String applicationUnitAddress = getAppUnitAddress(applicationModel);
String jsonStr = "";
EquipmentClassifityEnum classifyEnum = EquipmentClassifityEnum.getOne(applicationModel.getEquipClassify());
if (classifyEnum == EquipmentClassifityEnum.YLGD) {
......@@ -242,6 +250,7 @@ public class InspectionApplicationPushEventListener {
pushDataPipeline.setInspectionEquips(this.getPipelines(applicationModel));
pushDataPipeline.setTotalLength(calTotalLength(pushDataPipeline.getInspectionEquips()));
pushDataPipeline.setTraceId(traceId + "");
pushDataPipeline.setApplicationUnitAddress(applicationUnitAddress);
jsonStr = JSONObject.toJSONString(pushDataPipeline);
} else {
InspectionApplicationPushData pushData = new InspectionApplicationPushData();
......@@ -251,11 +260,28 @@ public class InspectionApplicationPushEventListener {
// 报检的设备信息
pushData.setInspectionEquips(this.buildInspectionEquipInfo(applicationModel));
pushData.setTraceId(traceId + "");
pushData.setApplicationUnitAddress(applicationUnitAddress);
jsonStr = JSONObject.toJSONString(pushData);
}
return jsonStr;
}
private String getAppUnitAddress(JyjcInspectionApplicationModel applicationModel) {
LambdaQueryWrapper<TzBaseEnterpriseInfo> enterpriseInfoQueryWrapper = new LambdaQueryWrapper<>();
// todo 注意useUnitCode不带证件类型, useCode带证件类型
enterpriseInfoQueryWrapper.eq(TzBaseEnterpriseInfo::getUseUnitCode, applicationModel.getApplicationUnitCode()).select(
BaseEntity::getSequenceNbr,
TzBaseEnterpriseInfo::getProvince,
TzBaseEnterpriseInfo::getCity,
TzBaseEnterpriseInfo::getDistrict,
TzBaseEnterpriseInfo::getCommunity,
TzBaseEnterpriseInfo::getStreet,
TzBaseEnterpriseInfo::getAddress
);
TzBaseEnterpriseInfo baseEnterpriseInfo = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper);
return commonService.buildFullAddress(baseEnterpriseInfo);
}
private List<PipelinePushItemDto> getPipelines(JyjcInspectionApplicationModel applicationModel) {
List<Map<String, Object>> pipelines = inspectionApplicationService.getPipelines(applicationModel);
return pipelines.stream().map(p -> {
......@@ -478,23 +504,9 @@ public class InspectionApplicationPushEventListener {
}
private void setUseCodeAndCertPath(InspectionEquipData equipData, String equipUnicode) {
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.select(IdxBizJgRegisterInfo::getUseOrgCode, IdxBizJgRegisterInfo::getLastUseCertFilePath);
wrapper.eq(IdxBizJgRegisterInfo::getRecord, equipUnicode);
IdxBizJgRegisterInfo jgRegisterInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
if (jgRegisterInfo != null) {
equipData.setUseRegistrationCode(jgRegisterInfo.getUseOrgCode());
equipData.setUseCertFilePath(jgRegisterInfo.getLastUseCertFilePath());
}
}
private String getSuperviseNameByCode(String applicationUnitCode) {
//查询监管单位名称
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = baseEnterpriseInfoMapper.selectOne(new LambdaQueryWrapper<TzBaseEnterpriseInfo>().eq(TzBaseEnterpriseInfo::getUseCode, applicationUnitCode));
return Optional.ofNullable(tzBaseEnterpriseInfo).map(TzBaseEnterpriseInfo::getSuperviseOrgName).orElse(null);
}
}
......@@ -37,7 +37,7 @@ public class InspectAppDocCmService {
baseInfo.put("equList", this.equCategoryCode2Name(inspectionApplication.getEquipClassify()));
baseInfo.put("equCategory", this.equCategoryCode2Name(inspectionApplication.getEquCategory()));
baseInfo.put("equDefine", this.equCategoryCode2Name(inspectionApplication.getEquDefine()));
baseInfo.put("remark", inspectionApplication.getRemark());
baseInfo.put("remark", inspectionApplication.getProcessDescription());
baseInfo.put("inspectionUnitName", inspectionApplication.getInspectionUnitName());
baseInfo.put("acceptDate", DateUtil.formatDate(inspectionApplication.getAcceptDate()));
baseInfo.put("processDescription", inspectionApplication.getProcessDescription());
......
......@@ -481,4 +481,18 @@ public class CommonServiceImpl {
unitCode = unitCode.contains("_") ? unitCode.substring(unitCode.indexOf("_") + 1) : unitCode;
return unitCode;
}
private String trimNull(String str) {
return str == null ? "" : str.trim();
}
public String buildFullAddress(TzBaseEnterpriseInfo baseEnterpriseInfo) {
if (StringUtils.isEmpty(baseEnterpriseInfo.getAddress())) {
return trimNull(baseEnterpriseInfo.getProvince()) + trimNull(baseEnterpriseInfo.getCity()) + trimNull(baseEnterpriseInfo.getDistrict()) + trimNull(baseEnterpriseInfo.getStreet()) + trimNull(baseEnterpriseInfo.getCommunity());
}
if (baseEnterpriseInfo.getAddress().contains("省") || baseEnterpriseInfo.getAddress().contains("市") || baseEnterpriseInfo.getAddress().contains("自治区")) {
return baseEnterpriseInfo.getAddress();
}
return trimNull(baseEnterpriseInfo.getProvince()) + trimNull(baseEnterpriseInfo.getCity()) + trimNull(baseEnterpriseInfo.getDistrict()) + trimNull(baseEnterpriseInfo.getStreet()) + trimNull(baseEnterpriseInfo.getCommunity()) + trimNull(baseEnterpriseInfo.getAddress());
}
}
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