fix(infusion): 修复输液记录功能中的参数传递和服务状态查询问题

- 修改前端API调用,将encounterId作为params对象传递而非直接参数
- 移除表格行样式设置功能并调整相关代码结构
- 更新服务状态默认值从10改为3(已完成状态)
- 修复后端查询逻辑,当serviceStatus为null时不添加状态过滤条件
- 调整控制器参数注解,使serviceStatus和serviceReqId参数可选
- 在门诊输液应用服务实现中优化查询条件构建逻辑
- 更新Mapper XML文件,添加输液标志过滤条件
- 优化费用管理服务中的诊断ID列表处理,过滤空值并去重
This commit is contained in:
2026-02-26 17:09:57 +08:00
parent 3e09b4cc10
commit 9edf8936ba
12 changed files with 29 additions and 374 deletions

View File

@@ -145,9 +145,9 @@ public class OutpatientInfusionAppServiceImpl implements IOutpatientInfusionAppS
*/
@Override
public R<?> getInfusionPendingRecord(Long encounterId, Integer serviceStatus, Integer pageNo, Integer pageSize) {
// 构建查询条件
// 构建查询条件 - 当 serviceStatus 为 null 时,不添加状态过滤
QueryWrapper<OutpatientInfusionRecordDto> queryWrapper = HisQueryUtils
.buildQueryWrapper(new OutpatientInfusionRecordDto().setServiceStatus(serviceStatus), null, null, null);
.buildQueryWrapper(serviceStatus != null ? new OutpatientInfusionRecordDto().setServiceStatus(serviceStatus) : new OutpatientInfusionRecordDto(), null, null, null);
// 查询门诊输液待执行记录
Page<OutpatientInfusionRecordDto> outpatientInfusionRecordPage =
outpatientInfusionAppMapper.selectInfusionPendingRecord(new Page<>(pageNo, pageSize), queryWrapper,

View File

@@ -63,7 +63,8 @@ public class OutpatientInfusionController {
* @return 门诊输液待执行记录列表
*/
@GetMapping(value = "/infusion-pending-record")
public R<?> getInfusionPendingRecord(@RequestParam Long encounterId, @RequestParam Integer serviceStatus,
public R<?> getInfusionPendingRecord(@RequestParam Long encounterId,
@RequestParam(value = "serviceStatus", required = false) Integer serviceStatus,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
return outpatientInfusionAppService.getInfusionPendingRecord(encounterId, serviceStatus, pageNo, pageSize);
@@ -78,7 +79,8 @@ public class OutpatientInfusionController {
* @return 门诊输液执行历史记录列表
*/
@GetMapping(value = "/infusion-perform-record")
public R<?> getInfusionPerformRecord(@RequestParam Long serviceReqId,
public R<?> getInfusionPerformRecord(
@RequestParam(value = "serviceReqId", required = false) Long serviceReqId,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
return outpatientInfusionAppService.getInfusionPerformRecord(serviceReqId, pageNo, pageSize);

View File

@@ -198,7 +198,7 @@ public class PaymentRecServiceImpl implements IPaymentRecService {
// 此次chargeItem的就诊诊断id集合
List<Long> diagIdList
= chargeItemList.stream().map(ChargeItem::getEncounterDiagnosisId).collect(Collectors.toList());
= chargeItemList.stream().map(ChargeItem::getEncounterDiagnosisId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
if (diagIdList.isEmpty()) {
throw new ServiceException("收费项的就诊诊断查询为空");
}

View File

@@ -130,6 +130,7 @@
LEFT JOIN med_medication_request mmr
ON mmr.group_id = wsr.group_id
AND mmr.delete_flag = '0'
AND mmr.infusion_flag = 1
LEFT JOIN med_medication_dispense dis
ON dis.med_req_id = mmr.id
AND dis.delete_flag = '0'