Commit 7d692862 authored by tianbo's avatar tianbo

feat(data-dock): 添加设备使用地址字段并优化查询逻辑

- 在数据对接服务中新增equUseAddress字段,通过流式处理拼接省市区街道地址 - 重构使用登记管理服务,整合企业信息查询优化单位地址获取逻辑 - 新增getUnitAddress方法从基础企业信息表获取准确地址信息 - 优化地址拼接逻辑,过滤空值和null字符串确保数据完整性
parent 91d1ea3e
......@@ -1996,6 +1996,9 @@ public class DataDockServiceImpl {
if (jgUseRegistrationManage != null) {
jgUseRegistrationManage.setSuperviseOrgCode(paramsDto.getOrgBranchCode());
jgUseRegistrationManage.setSuperviseOrgName(paramsDto.getOrgBranchName());
jgUseRegistrationManage.setEquUseAddress(Stream.of(paramsDto.getProvinceName(), paramsDto.getCityName(), paramsDto.getCountyName(), paramsDto.getStreetName(), paramsDto.getAddress())
.map(value -> value == null || "null".equals(value) ? "" : value)
.collect(Collectors.joining()));
jgUseRegistrationManage.setRecDate(new Date());
jgUseRegistrationManageService.updateById(jgUseRegistrationManage);
}
......@@ -2593,6 +2596,9 @@ public class DataDockServiceImpl {
.registrationType("1".equals(useReg.getRegType()) ? "1" : "0")
.superviseOrgCode(paramsDto.getOrgBranchCode())
.superviseOrgName(paramsDto.getOrgBranchName())
.equUseAddress(Stream.of(paramsDto.getProvinceName(), paramsDto.getCityName(), paramsDto.getCountyName(), paramsDto.getStreetName(), paramsDto.getAddress())
.map(value -> value == null || "null".equals(value) ? "" : value)
.collect(Collectors.joining()))
.build();
jgUseRegistrationManageService.save(registrationManage);
return registrationManage;
......
......@@ -31,15 +31,13 @@ import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgProjectContraption;
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.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgProjectContraptionMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
......@@ -166,6 +164,8 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
@Autowired
private JgCertificateChangeRecordMapper certificateChangeRecordMapper;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private CodeUtil codeUtil;
......@@ -820,7 +820,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
map.put("factoryNum", joinDeviceField(deviceList, "FACTORY_NUM"));
map.put("useInnerCode", joinDeviceFieldDistinct(deviceList, "USE_INNER_CODE"));
} else {
map.put("fullAddress", "unit".equals(manage.getManageType()) ? manage.getUseUnitAddress() : manage.getEquUseAddress());
map.put("fullAddress", "unit".equals(manage.getManageType()) ? this.getUnitAddress(manage) : manage.getEquUseAddress());
map.put("equCode", deviceList.get(0).get("EQU_CODE"));
map.put("factoryNum", deviceList.get(0).get("FACTORY_NUM"));
map.put("useInnerCode", deviceList.get(0).get("USE_INNER_CODE"));
......@@ -833,6 +833,11 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
return map;
}
private String getUnitAddress(JgUseRegistrationManage manage) {
TzBaseEnterpriseInfo tzBaseEnterpriseInfo = tzBaseEnterpriseInfoMapper.selectByUseUnitCode(manage.getUseUnitCreditCode());
return ValidationUtil.isEmpty(tzBaseEnterpriseInfo) ? manage.getUseUnitAddress() : tzBaseEnterpriseInfo.getAddress();
}
private String joinDeviceField(List<JSONObject> devices, String field) {
return devices.stream()
.map(obj -> String.valueOf(obj.get(field)))
......
......@@ -69,19 +69,20 @@
ibjtpp."WORK_TEMPERATURE" AS workTemperature,
ibjtpp."WORK_MEDIUM" AS workMedium,
ibjtpp."REMARKS" AS remarks,
(select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectOrgName,
(select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) inspectConclusion,
(select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY INSPECT_DATE DESC limit 1) nextInspectDate,
(select USC_UNIT_NAME from idx_biz_jg_construction_info jci where ibjui.RECORD = jci.RECORD ORDER BY jci."USC_DATE" DESC limit 1) as uscUnitName,
to_char((select USC_DATE from idx_biz_jg_construction_info jci where ibjui.RECORD = jci.RECORD ORDER BY jci."USC_DATE" DESC limit 1),'YYYY-MM-DD') as uscDate,
(select "INSPECT_TYPE" from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY "INSPECT_DATE" DESC limit 1) inspectType,
(select "INSPECT_ORG_NAME" from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY "INSPECT_DATE" DESC limit 1) inspectOrgName,
(select "INSPECT_CONCLUSION" from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY "INSPECT_DATE" DESC limit 1) inspectConclusion,
(select "NEXT_INSPECT_DATE" from idx_biz_jg_inspection_detection_info where "RECORD" = ibjui."RECORD" ORDER BY "INSPECT_DATE" DESC limit 1) nextInspectDate,
(select "USC_UNIT_NAME" from idx_biz_jg_construction_info jci where ibjui."RECORD" = jci."RECORD" ORDER BY jci."USC_DATE" DESC limit 1) as uscUnitName,
to_char((select "USC_DATE" from idx_biz_jg_construction_info jci where ibjui."RECORD" = jci."RECORD" ORDER BY jci."USC_DATE" DESC limit 1),'YYYY-MM-DD') as uscDate,
ibjdi."DESIGN_UNIT_NAME" AS designUnitName,
ibjui."USE_DATE" AS useDate,
ibjui."RECORD" AS record,
ibjui."EQU_STATE" as equState,
ibjui.project_contraption_id AS projectContraptionId
ibjui."PROJECT_CONTRAPTION_ID" AS projectContraptionId
FROM idx_biz_jg_use_info ibjui
LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui.RECORD = ibjtpp.RECORD
LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui.RECORD = ibjdi.RECORD
LEFT JOIN idx_biz_jg_tech_params_pipeline ibjtpp ON ibjui."RECORD" = ibjtpp."RECORD"
LEFT JOIN idx_biz_jg_design_info ibjdi ON ibjui."RECORD" = ibjdi."RECORD"
</sql>
<select id="selectEquipList" resultType="java.util.Map">
......
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