Commit 64d0f0b7 authored by tianbo's avatar tianbo

fix(jg): 优化设备使用登记模块的数据处理和查询逻辑

- 在使用登记管理查询中添加按日期降序排列并限制返回一条记录 - 将产权单位名称查询从CompanyBo改为统一的单位信息查询服务 - 统一使用MapUtil工具类安全获取Map中的字符串值 - 替换字符串转换操作为更安全的对象比较方法 - 优化JSON序列化操作使用Optional包装避免空指针异常 - 修复区域名称查询中的字符串比较逻辑 - 更新单位代码和名称的分割赋值方式 - 优化各种日期解析操作的安全性
parent 6c180ad6
......@@ -382,5 +382,7 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
List<String> querySupervisionCompanyCode();
Map<String, String> queryUseRegistrationByRecord(String record);
String queryTcmUnitNameByCreditCode(@Param("unitCreditCode") String unitCreditCode, @Param("unitType") String unitType);
}
......@@ -4600,4 +4600,15 @@
where eq.equ_id = #{record}
limit 1
</select>
<select id="queryTcmUnitNameByCreditCode" resultType="java.lang.String">
select unit_name from tzs_tcm_unit_info where unit_code = #{unitCreditCode}
<if test="unitType != null and unitType != ''">
and unit_type in
<foreach item="item" index="index" collection="unitType.split(',')" open="(" separator="," close=")">
#{item}
</foreach>
</if>
limit 1
</select>
</mapper>
......@@ -54,8 +54,8 @@ public class StringColumnDiffHandler implements ColumnDiff {
fieldChangeMeta.setColumnOldValue(Boolean.toString((Boolean) oldVal));
fieldChangeMeta.setColumnNewValue(Boolean.toString((Boolean) newVal));
} else {
fieldChangeMeta.setColumnOldValue(Objects.toString(oldVal, null));
fieldChangeMeta.setColumnNewValue(Objects.toString(newVal, null));
fieldChangeMeta.setColumnOldValue(Objects.isNull(oldVal) ? null : Objects.toString(oldVal));
fieldChangeMeta.setColumnNewValue(Objects.isNull(newVal) ? null : Objects.toString(newVal));
}
fieldChangeMeta.setDisplayOldValue(formatService.format(displayDefine, fieldChangeMeta.getColumnOldValue()));
fieldChangeMeta.setDisplayNewValue(formatService.format(displayDefine, fieldChangeMeta.getColumnNewValue()));
......
......@@ -17,9 +17,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine;
import com.yeejoin.amos.boot.biz.common.annotation.Group;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
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.enums.TcmUnitTypeEnum;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
......@@ -40,8 +40,8 @@ import com.yeejoin.amos.boot.module.jg.biz.edit.utils.DiffUtils;
import com.yeejoin.amos.boot.module.jg.biz.service.*;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.*;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
......@@ -75,7 +75,6 @@ import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static com.yeejoin.amos.boot.module.jg.api.enums.CertificateStatusEnum.YIDENGJI;
import static com.yeejoin.amos.boot.module.jg.biz.edit.core.SubClassFinder.getAllSubClasses;
import static com.yeejoin.amos.boot.module.jg.biz.edit.utils.ReflectiveFieldAccessor.getAllFields;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImplService.PROJECT_CONTRAPTION;
......@@ -828,7 +827,8 @@ public class CommonEquipDataProcessService {
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode())
.eq(JgUseRegistrationManage::getIsDelete, 0)
.eq(JgUseRegistrationManage::getCertificateStatus,YIDENGJI.getName())
.orderByDesc(JgUseRegistrationManage::getRecDate)
.last("limit 1")
.select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode, JgUseRegistrationManage::getRegDate).one();
if (!ValidationUtil.isEmpty(jgUseRegistrationManage)) {
result.put("receiveCompanyCode", jgUseRegistrationManage.getReceiveCompanyCode());
......@@ -1138,8 +1138,8 @@ public class CommonEquipDataProcessService {
// 2.产权单位名称冗余
// 产权单位信息
if (StringUtils.isNotEmpty(useInfoNew.getEstateUnitCreditCode())) {
CompanyBo companyBo = this.getCommonMapper().queryCompanyByCode(useInfoNew.getEstateUnitCreditCode());
Optional.ofNullable(companyBo).ifPresent(item -> useInfoNew.setEstateUnitName(companyBo.getCompanyName()));
String propertyUnitName = commonService.queryTcmUnitNameByCreditCode(useInfoNew.getEstateUnitCreditCode(), TcmUnitTypeEnum.CQ.getCode());
useInfoNew.setEstateUnitName(propertyUnitName);
}
}
......
......@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Maps;
import com.yeejoin.amos.boot.biz.common.annotation.EnableEsRollback;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
......@@ -30,8 +29,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*;
import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.jg.api.enums.CertificateStatusEnum.YIDENGJI;
/**
* 单个维护设备-策略实现类
*/
......@@ -73,7 +70,9 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
JgUseRegistrationManage jgUseRegistrationManage = commonEquipDataProcessService.getJgUseRegistrationManageService().lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfoOld.getUseOrgCode())
.eq(JgUseRegistrationManage::getIsDelete, 0)
.eq(JgUseRegistrationManage::getCertificateStatus, YIDENGJI.getName())
// .eq(JgUseRegistrationManage::getCertificateStatus, YIDENGJI.getName())
.orderByDesc(JgUseRegistrationManage::getRecDate)
.last("limit 1")
.select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one();
useInfoOld.setReceiveCompanyCode(jgUseRegistrationManage.getReceiveCompanyCode());
}
......
......@@ -3337,7 +3337,7 @@ public class CommonServiceImpl implements ICommonService {
* @return 单位信用代码_单位名称
*/
public String queryTcmUnitCreditCodeBySeq(String unitSeq, String unitType) {
Map<String, String> map = commonMapper.queryTcmUnitInfoBySeq(unitSeq, unitType);
Map<String, String> map = this.queryTcmUnitInfoBySeq(unitSeq, unitType);
return MapUtil.getStr(map, "unitCode");
}
......@@ -3515,4 +3515,12 @@ public class CommonServiceImpl implements ICommonService {
.build())
.collect(Collectors.toList()));
}
public String queryTcmUnitNameByCreditCode(String unitCreditCode, String unitType) {
if (!ValidationUtil.isEmpty(unitCreditCode)) {
String unitName = commonMapper.queryTcmUnitNameByCreditCode(unitCreditCode, unitType);
return ValidationUtil.isEmpty(unitName) ? unitCreditCode : unitName;
}
return null;
}
}
\ No newline at end of file
......@@ -64,7 +64,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData {
*
*/
@TableField("\"ESTATE_UNIT_CREDIT_CODE\"")
@FieldDisplayDefine(value = "产权单位统一信用代码", typeHandler = "estateUnitTypeHandler")
@FieldDisplayDefine(value = "产权单位统一信用代码", isRepeatColumn = true)
private String estateUnitCreditCode;
/**
......
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