diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/controller/TriageQueueController.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/controller/TriageQueueController.java index f9313d42a..d220f6309 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/controller/TriageQueueController.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/controller/TriageQueueController.java @@ -1,16 +1,13 @@ package com.openhis.web.triage.controller; import com.openhis.web.triage.service.TriageQueueService; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDate; import java.util.List; import java.util.Map; -/** - * 智能分诊队列接口控制器 - */ @RestController @RequestMapping("/api/triage/queue") public class TriageQueueController { @@ -23,14 +20,18 @@ public class TriageQueueController { /** * 获取排队队列列表 - * @param deptId 科室ID - * @param startDate 查询开始日期 (可选) - * @param endDate 查询结束日期 (可选) + * 修复 Bug #544:支持按状态筛选(含完诊),支持按日期范围查询历史队列,默认查询当天 */ @GetMapping - public List> getQueueList(@RequestParam Long deptId, - @RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { - return triageQueueService.getQueueList(deptId, startDate, endDate); + public List> getQueueList( + @RequestParam(required = false) String status, + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate startDate, + @RequestParam(required = false) @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate endDate) { + + // 默认查询当天数据 + if (startDate == null) startDate = LocalDate.now(); + if (endDate == null) endDate = LocalDate.now(); + + return triageQueueService.queryQueueList(status, startDate, endDate); } } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/mapper/TriageQueueMapper.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/mapper/TriageQueueMapper.java index 150780519..34007a6b5 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/mapper/TriageQueueMapper.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/mapper/TriageQueueMapper.java @@ -2,33 +2,17 @@ package com.openhis.web.triage.mapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; + +import java.time.LocalDate; import java.util.List; import java.util.Map; -/** - * 智能分诊队列数据访问层 - * 修复 Bug #544:移除原 SQL 中对“完诊”状态的过滤,新增日期范围动态查询支持。 - */ @Mapper public interface TriageQueueMapper { - /** - * 查询分诊队列列表(含历史数据) - * @param deptId 科室ID - * @param startDate 开始日期 (YYYY-MM-DD) - * @param endDate 结束日期 (YYYY-MM-DD) - * @return 队列记录列表 + * 动态查询排队队列 */ - @Select("") - List> selectQueueList(@Param("deptId") Long deptId, - @Param("startDate") String startDate, - @Param("endDate") String endDate); + List> selectQueueList(@Param("status") String status, + @Param("startDate") LocalDate startDate, + @Param("endDate") LocalDate endDate); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/TriageQueueService.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/TriageQueueService.java index eeae23e65..d204aa967 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/TriageQueueService.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/TriageQueueService.java @@ -1,26 +1,16 @@ package com.openhis.web.triage.service; -import com.openhis.web.triage.mapper.TriageQueueMapper; -import org.springframework.stereotype.Service; +import java.time.LocalDate; import java.util.List; import java.util.Map; -/** - * 智能分诊队列业务逻辑层 - */ -@Service -public class TriageQueueService { - - private final TriageQueueMapper triageQueueMapper; - - public TriageQueueService(TriageQueueMapper triageQueueMapper) { - this.triageQueueMapper = triageQueueMapper; - } - +public interface TriageQueueService { /** - * 获取队列列表(支持按日期范围检索,默认返回全量状态) + * 查询排队队列列表 + * @param status 排队状态(可选,传空则查全部) + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return 队列数据列表 */ - public List> getQueueList(Long deptId, String startDate, String endDate) { - return triageQueueMapper.selectQueueList(deptId, startDate, endDate); - } + List> queryQueueList(String status, LocalDate startDate, LocalDate endDate); } diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/impl/TriageQueueServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/impl/TriageQueueServiceImpl.java new file mode 100644 index 000000000..4487a42fe --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/triage/service/impl/TriageQueueServiceImpl.java @@ -0,0 +1,25 @@ +package com.openhis.web.triage.service.impl; + +import com.openhis.web.triage.mapper.TriageQueueMapper; +import com.openhis.web.triage.service.TriageQueueService; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.util.List; +import java.util.Map; + +@Service +public class TriageQueueServiceImpl implements TriageQueueService { + + private final TriageQueueMapper triageQueueMapper; + + public TriageQueueServiceImpl(TriageQueueMapper triageQueueMapper) { + this.triageQueueMapper = triageQueueMapper; + } + + @Override + public List> queryQueueList(String status, LocalDate startDate, LocalDate endDate) { + // 修复 Bug #544:移除原逻辑中对“完诊”状态的隐式过滤,交由 SQL 动态条件处理 + return triageQueueMapper.selectQueueList(status, startDate, endDate); + } +} diff --git a/openhis-server-new/openhis-application/src/main/resources/mapper/triage/TriageQueueMapper.xml b/openhis-server-new/openhis-application/src/main/resources/mapper/triage/TriageQueueMapper.xml new file mode 100644 index 000000000..3bd6b5c22 --- /dev/null +++ b/openhis-server-new/openhis-application/src/main/resources/mapper/triage/TriageQueueMapper.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/openhis-ui-vue3/src/views/triage/TriageQueue.vue b/openhis-ui-vue3/src/views/triage/TriageQueue.vue index 5257f51b4..4923d685a 100644 --- a/openhis-ui-vue3/src/views/triage/TriageQueue.vue +++ b/openhis-ui-vue3/src/views/triage/TriageQueue.vue @@ -1,35 +1,46 @@