feat(organization): 优化科室分类查询功能

- 修改 getOrganizationTree 方法参数,将 classEnum 字符串改为 classEnumList 列表
- 实现多选科室分类的精确匹配查询逻辑
- 添加分页查询时只显示未删除记录的过滤条件
- 更新控制器中对逗号分隔参数的解析逻辑
- 修复查询条件构造中的逻辑错误
- 配置 Lombok 注解处理器路径
- 重命名诊断服务方法名以提高可读性
- 修复医保模块中诊断查询方法调用
- 修复集合初始化语法错误
This commit is contained in:
2026-01-28 14:36:25 +08:00
parent b8d7e3cdf1
commit fa5394cc35
13 changed files with 89 additions and 39 deletions

View File

@@ -23,6 +23,14 @@
<configuration>
<source>17</source>
<target>17</target>
<encoding>UTF-8</encoding>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>

View File

@@ -3,6 +3,7 @@ package com.openhis.administration.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.openhis.administration.domain.Organization;
import com.openhis.administration.dto.OrgDataDto;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -24,4 +25,5 @@ public interface OrganizationMapper extends BaseMapper<Organization> {
**/
List<OrgDataDto> searchOrgDataByHealth();
}

View File

@@ -45,13 +45,13 @@ public interface IEncounterDiagnosisService extends IService<EncounterDiagnosis>
List<EncounterDiagnosis> getDiagnosisList(Long encounterId);
/**
* 查询 EncounterDiagnosis
*
* 查询特定类型的诊断
*
* @param encounterId 就诊id
* @param ybIptDiseTypeCode 诊断类型
* @return 诊断集合
*/
List<EncounterDiagnosis> getDiagnosisList(Long encounterId, YbIptDiseTypeCode ybIptDiseTypeCode);
List<EncounterDiagnosis> getDiagnosisListByType(Long encounterId, YbIptDiseTypeCode ybIptDiseTypeCode);
/**
* 查询 EncounterDiagnosis

View File

@@ -55,4 +55,5 @@ public interface IOrganizationService extends IService<Organization> {
* @return List<OrgDataDto>
**/
List<OrgDataDto> searchOrgDataByHealth();
}

View File

@@ -95,14 +95,14 @@ public class EncounterDiagnosisServiceImpl extends ServiceImpl<EncounterDiagnosi
}
/**
* 查询 EncounterDiagnosis
* 查询特定类型的诊断
*
* @param encounterId 就诊id
* @param ybIptDiseTypeCode 诊断类型
* @return 诊断集合
*/
@Override
public List<EncounterDiagnosis> getDiagnosisList(Long encounterId, YbIptDiseTypeCode ybIptDiseTypeCode) {
public List<EncounterDiagnosis> getDiagnosisListByType(Long encounterId, YbIptDiseTypeCode ybIptDiseTypeCode) {
LambdaQueryWrapper<EncounterDiagnosis> queryWrapper =
new LambdaQueryWrapper<EncounterDiagnosis>().eq(EncounterDiagnosis::getEncounterId, encounterId);
if (ybIptDiseTypeCode != null) {

View File

@@ -101,4 +101,5 @@ public class OrganizationServiceImpl extends ServiceImpl<OrganizationMapper, Org
public List<OrgDataDto> searchOrgDataByHealth() {
return this.organizationMapper.searchOrgDataByHealth();
}
}

View File

@@ -2032,7 +2032,7 @@ public class YbDao {
}
}
Yb2301InputFeeDetail yb2301InputFeeDetail;
List<Yb2301InputFeeDetail> yb2301InputFeeDetailList = new ArrayList();
List<Yb2301InputFeeDetail> yb2301InputFeeDetailList = new ArrayList<>();
// int i = 1;
for (ChargeItemBaseInfoDto chargeItemBaseInfoDto : chargeItemBaseInfoDtosList) {
yb2301InputFeeDetail = new Yb2301InputFeeDetail();
@@ -2378,7 +2378,7 @@ public class YbDao {
// throw new ServiceException("未查询到患者的医保信息");
// }
List<EncounterDiagnosis> diagnosisList
= iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS);
= iEncounterDiagnosisService.getDiagnosisListByType(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS);
if (diagnosisList.isEmpty()) {
throw new ServiceException("未查询到出院诊断信息");
}
@@ -2558,7 +2558,7 @@ public class YbDao {
// throw new ServiceException("未查询到患者的医保信息");
// }
List<EncounterDiagnosis> diagnosisList
= iEncounterDiagnosisService.getDiagnosisList(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS);
= iEncounterDiagnosisService.getDiagnosisListByType(encounterId, YbIptDiseTypeCode.DISCHARGE_DIAGNOSIS);
if (diagnosisList.isEmpty()) {
throw new ServiceException("未查询到出院诊断信息");
}

View File

@@ -920,7 +920,7 @@ public class YbManager {
}
Yb2301InputFeeDetail yb2301InputFeeDetail;
List<Yb2301InputFeeDetail> yb2301InputFeeDetailList = new ArrayList();
List<Yb2301InputFeeDetail> yb2301InputFeeDetailList = new ArrayList<>();
BigDecimal quantity = BigDecimal.ZERO;
// 分组分类
Map<String, List<ChargeItemBaseInfoDto>> groupByTable

View File

@@ -14,4 +14,5 @@
GROUP BY heal.offered_org_id)
</select>
</mapper>