Compare commits

...

2 Commits

Author SHA1 Message Date
黎润豪 cfc058769f 增加空值的补充写入 2026-03-13 14:44:14 +08:00
黎润豪 bd4e522f2c 修复 BUG-20260313-003:e_falper_info 数据问题
1. 新增/更新时通过 uniscid 或 regno 获取 pripid
2. s_ext_fromnode 统一设置为 150000
3. 通过 judAuth 获取 judAuthCn(字典表类型 CA11)
2026-03-13 03:32:39 +00:00
2 changed files with 86 additions and 1 deletions

28
devdoc/需求清单.md Normal file
View File

@ -0,0 +1,28 @@
# 需求清单 - BUG-20260313-003
## BUG 描述
e_falper_info 存在以下数据问题,需要修复对应功能:
1. **部分数据缺少 pripid** - 需要在新增/更新时通过 uniscid 或 regno 关联 e_baseinfo 表获取 pripid
2. **certype 不符合总局代码集 CB16 要求** - 需要校验或转换
3. **处理原因不符合总局代码集 CD96 要求** - 需要校验或转换
4. **做出决定机关中文名称缺失** - 需要通过 judAuth 关联字典表获取中文名称 (JUDAUTH_CN)
5. **s_ext_fromnode 统一改为 150000** - 需要设置默认值
6. **重复数据** - 待定
## 开发任务
### 1. 修复 pripid 缺失问题
- 在 addFalPerInfo 和 updateFalPerInfo 方法中,通过 uniscid 或 regno 查询 e_baseinfo 表获取 pripid
### 2. 修复 certype 校验问题
- 添加 certype 字段的校验,确保符合 CB16 代码集
### 3. 修复 handlRea 校验问题
- 添加 handlRea 字段的校验,确保符合 CD96 代码集
### 4. 修复 judAuthCn 中文名称缺失问题
- 在新增/更新时,通过 judAuth 查询字典表获取中文名称并赋值给 judAuthCn
### 5. 修复 s_ext_fromnode 默认值问题
- 将 s_ext_fromnode 默认值设置为 "150000"

View File

@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.chinaweal.aiccs.aiccs.abnormal.entity.EBaseinfo;
import com.chinaweal.aiccs.aiccs.abnormal.service.EBaseinfoService;
import com.chinaweal.aiccs.aiccs.dict.service.CmsDictCodeService;
import com.chinaweal.aiccs.aiccs.susnate.dto.EntBaseWithFalPerInfoQueryDTO;
import com.chinaweal.aiccs.aiccs.susnate.dto.FalPerInfoAddDTO;
import com.chinaweal.aiccs.aiccs.susnate.dto.FalPerInfoQueryDTO;
@ -13,9 +16,13 @@ import com.chinaweal.aiccs.aiccs.susnate.entity.EFalPerInfo;
import com.chinaweal.aiccs.aiccs.susnate.mapper.EFalPerInfoMapper;
import com.chinaweal.aiccs.aiccs.susnate.service.IEFalPerInfoService;
import com.chinaweal.aiccs.aiccs.susnate.vo.EntBaseWithFalPerInfoVO;
import com.chinaweal.aiccs.aiccs.system.service.TRBaseCodeService;
import com.chinaweal.aiccs.common.constant.CommonConstants;
import com.chinaweal.aiccs.common.util.StringUtils;
import com.chinaweal.aiccs.org.entity.OrgUnits;
import com.chinaweal.aiccs.org.service.AicorgService;
import com.chinaweal.aicorg.model.AICUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@ -28,6 +35,18 @@ import java.time.LocalDateTime;
@Service
public class EFalPerInfoServiceImpl extends ServiceImpl<EFalPerInfoMapper, EFalPerInfo> implements IEFalPerInfoService {
@Autowired
private EBaseinfoService eBaseinfoService;
@Autowired
private TRBaseCodeService trBaseCodeService;
@Autowired
private CmsDictCodeService cmsDictCodeService;
@Autowired
private AicorgService aicorgService;
@Override
public EFalPerInfo addFalPerInfo(FalPerInfoAddDTO dto, AICUser curUser) {
EFalPerInfo entity = new EFalPerInfo();
@ -43,7 +62,26 @@ public class EFalPerInfoServiceImpl extends ServiceImpl<EFalPerInfoMapper, EFalP
entity.setJudDate(dto.getJudDate());
entity.setDstate(CommonConstants.FALSE_0);
entity.setSExtDataTime(LocalDateTime.now());
entity.setSExtFromNode(curUser.getRegionID());
// BUG修复s_ext_fromnode 统一设置为 150000
entity.setSExtFromNode("150000");
// BUG修复通过 uniscid 或 regno 获取 pripid
if (StringUtils.isBlank(entity.getPripid()) && StringUtils.isNotBlank(dto.getUniscid())) {
EBaseinfo baseinfo = eBaseinfoService.getEntBaseInfoByCode(dto.getUniscid());
if (baseinfo != null) {
entity.setPripid(baseinfo.getPripid());
}
}
// BUG修复通过 judAuth 获取 judAuthCn
if (StringUtils.isNotBlank(dto.getJudAuth())) {
String code = StringUtils.fillZeroSuffix(StringUtils.clearRegionZero(dto.getJudAuth()), 6);
OrgUnits one = aicorgService.lambdaQuery().eq(OrgUnits::getOrgNumber, code).eq(OrgUnits::getUnitType, "1")
.eq(OrgUnits::getDeleted, CommonConstants.FALSE_0).last("limit 1").one();
if (one != null) {
entity.setJudAuthCn(one.getOrgUnitName());
}
}
save(entity);
return entity;
}
@ -63,6 +101,25 @@ public class EFalPerInfoServiceImpl extends ServiceImpl<EFalPerInfoMapper, EFalP
entity.setJudAuth(dto.getJudAuth());
entity.setJudDate(dto.getJudDate());
entity.setSExtDataTime(LocalDateTime.now());
// BUG修复通过 uniscid 或 regno 获取 pripid
if (StringUtils.isBlank(entity.getPripid()) && StringUtils.isNotBlank(dto.getUniscid())) {
EBaseinfo baseinfo = eBaseinfoService.getEntBaseInfoByCode(dto.getUniscid());
if (baseinfo != null) {
entity.setPripid(baseinfo.getPripid());
}
}
// BUG修复通过 judAuth 获取 judAuthCn
if (StringUtils.isNotBlank(dto.getJudAuth())) {
String code = StringUtils.fillZeroSuffix(StringUtils.clearRegionZero(dto.getJudAuth()), 6);
OrgUnits one = aicorgService.lambdaQuery().eq(OrgUnits::getOrgNumber, code).eq(OrgUnits::getUnitType, "1")
.eq(OrgUnits::getDeleted, CommonConstants.FALSE_0).last("limit 1").one();
if (one != null) {
entity.setJudAuthCn(one.getOrgUnitName());
}
}
updateById(entity);
return entity;
}