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> { ...@@ -382,5 +382,7 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
List<String> querySupervisionCompanyCode(); List<String> querySupervisionCompanyCode();
Map<String, String> queryUseRegistrationByRecord(String record); Map<String, String> queryUseRegistrationByRecord(String record);
String queryTcmUnitNameByCreditCode(@Param("unitCreditCode") String unitCreditCode, @Param("unitType") String unitType);
} }
...@@ -4600,4 +4600,15 @@ ...@@ -4600,4 +4600,15 @@
where eq.equ_id = #{record} where eq.equ_id = #{record}
limit 1 limit 1
</select> </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> </mapper>
...@@ -54,8 +54,8 @@ public class StringColumnDiffHandler implements ColumnDiff { ...@@ -54,8 +54,8 @@ public class StringColumnDiffHandler implements ColumnDiff {
fieldChangeMeta.setColumnOldValue(Boolean.toString((Boolean) oldVal)); fieldChangeMeta.setColumnOldValue(Boolean.toString((Boolean) oldVal));
fieldChangeMeta.setColumnNewValue(Boolean.toString((Boolean) newVal)); fieldChangeMeta.setColumnNewValue(Boolean.toString((Boolean) newVal));
} else { } else {
fieldChangeMeta.setColumnOldValue(Objects.toString(oldVal, null)); fieldChangeMeta.setColumnOldValue(Objects.isNull(oldVal) ? null : Objects.toString(oldVal));
fieldChangeMeta.setColumnNewValue(Objects.toString(newVal, null)); fieldChangeMeta.setColumnNewValue(Objects.isNull(newVal) ? null : Objects.toString(newVal));
} }
fieldChangeMeta.setDisplayOldValue(formatService.format(displayDefine, fieldChangeMeta.getColumnOldValue())); fieldChangeMeta.setDisplayOldValue(formatService.format(displayDefine, fieldChangeMeta.getColumnOldValue()));
fieldChangeMeta.setDisplayNewValue(formatService.format(displayDefine, fieldChangeMeta.getColumnNewValue())); fieldChangeMeta.setDisplayNewValue(formatService.format(displayDefine, fieldChangeMeta.getColumnNewValue()));
......
...@@ -17,9 +17,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -17,9 +17,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.annotation.FieldDisplayDefine; 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.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.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity; 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.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory; import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; 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; ...@@ -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.*;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.*; 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.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.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*; import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -75,7 +75,6 @@ import java.util.function.Function; ...@@ -75,7 +75,6 @@ import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; 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.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.edit.utils.ReflectiveFieldAccessor.getAllFields;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImplService.PROJECT_CONTRAPTION; import static com.yeejoin.amos.boot.module.jg.biz.service.impl.IdxBizJgProjectContraptionServiceImplService.PROJECT_CONTRAPTION;
...@@ -828,7 +827,8 @@ public class CommonEquipDataProcessService { ...@@ -828,7 +827,8 @@ public class CommonEquipDataProcessService {
JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery() JgUseRegistrationManage jgUseRegistrationManage = jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode()) .eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfo.getUseOrgCode())
.eq(JgUseRegistrationManage::getIsDelete, 0) .eq(JgUseRegistrationManage::getIsDelete, 0)
.eq(JgUseRegistrationManage::getCertificateStatus,YIDENGJI.getName()) .orderByDesc(JgUseRegistrationManage::getRecDate)
.last("limit 1")
.select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode, JgUseRegistrationManage::getRegDate).one(); .select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode, JgUseRegistrationManage::getRegDate).one();
if (!ValidationUtil.isEmpty(jgUseRegistrationManage)) { if (!ValidationUtil.isEmpty(jgUseRegistrationManage)) {
result.put("receiveCompanyCode", jgUseRegistrationManage.getReceiveCompanyCode()); result.put("receiveCompanyCode", jgUseRegistrationManage.getReceiveCompanyCode());
...@@ -1138,8 +1138,8 @@ public class CommonEquipDataProcessService { ...@@ -1138,8 +1138,8 @@ public class CommonEquipDataProcessService {
// 2.产权单位名称冗余 // 2.产权单位名称冗余
// 产权单位信息 // 产权单位信息
if (StringUtils.isNotEmpty(useInfoNew.getEstateUnitCreditCode())) { if (StringUtils.isNotEmpty(useInfoNew.getEstateUnitCreditCode())) {
CompanyBo companyBo = this.getCommonMapper().queryCompanyByCode(useInfoNew.getEstateUnitCreditCode()); String propertyUnitName = commonService.queryTcmUnitNameByCreditCode(useInfoNew.getEstateUnitCreditCode(), TcmUnitTypeEnum.CQ.getCode());
Optional.ofNullable(companyBo).ifPresent(item -> useInfoNew.setEstateUnitName(companyBo.getCompanyName())); useInfoNew.setEstateUnitName(propertyUnitName);
} }
} }
......
...@@ -4,7 +4,6 @@ import cn.hutool.core.bean.BeanUtil; ...@@ -4,7 +4,6 @@ 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.google.common.collect.Maps; 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.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity; import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto; import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
...@@ -30,8 +29,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -30,8 +29,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; 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 ...@@ -73,7 +70,9 @@ public class SingleEquipChangeProcess implements IEquipChangeDataProcessStrategy
JgUseRegistrationManage jgUseRegistrationManage = commonEquipDataProcessService.getJgUseRegistrationManageService().lambdaQuery() JgUseRegistrationManage jgUseRegistrationManage = commonEquipDataProcessService.getJgUseRegistrationManageService().lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfoOld.getUseOrgCode()) .eq(JgUseRegistrationManage::getUseRegistrationCode, registerInfoOld.getUseOrgCode())
.eq(JgUseRegistrationManage::getIsDelete, 0) .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(); .select(JgUseRegistrationManage::getSequenceNbr, JgUseRegistrationManage::getReceiveCompanyCode).one();
useInfoOld.setReceiveCompanyCode(jgUseRegistrationManage.getReceiveCompanyCode()); useInfoOld.setReceiveCompanyCode(jgUseRegistrationManage.getReceiveCompanyCode());
} }
......
...@@ -3337,7 +3337,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -3337,7 +3337,7 @@ public class CommonServiceImpl implements ICommonService {
* @return 单位信用代码_单位名称 * @return 单位信用代码_单位名称
*/ */
public String queryTcmUnitCreditCodeBySeq(String unitSeq, String unitType) { 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"); return MapUtil.getStr(map, "unitCode");
} }
...@@ -3515,4 +3515,12 @@ public class CommonServiceImpl implements ICommonService { ...@@ -3515,4 +3515,12 @@ public class CommonServiceImpl implements ICommonService {
.build()) .build())
.collect(Collectors.toList())); .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 { ...@@ -64,7 +64,7 @@ public class IdxBizJgUseInfo extends TzsBaseEntity implements IBaseChangeData {
* *
*/ */
@TableField("\"ESTATE_UNIT_CREDIT_CODE\"") @TableField("\"ESTATE_UNIT_CREDIT_CODE\"")
@FieldDisplayDefine(value = "产权单位统一信用代码", typeHandler = "estateUnitTypeHandler") @FieldDisplayDefine(value = "产权单位统一信用代码", isRepeatColumn = true)
private String estateUnitCreditCode; 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