package cn.lihu.jh.module.ecg.controller.admin.jobrecord.vo; import com.alibaba.excel.annotation.ExcelProperty; import lombok.*; import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import cn.lihu.jh.framework.common.pojo.PageParam; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import static cn.lihu.jh.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 工作记录分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class JobRecordPageReqVO extends PageParam { @Schema(description = "作业类型", example = "1") private Integer[] jobType; @Schema(description = "医生编号", example = "24197") private Long docId; @Schema(description = "医生名称", example = "赵六") private String docName; @Schema(description = "设备编号", example = "9159") private String devId; @Schema(description = "患者编号", example = "19193") private String patId; @Schema(description = "患者名称", example = "芋艿") private String patName; @Schema(description = "作业时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] jobTime; @Schema(description = "作业概要") private String summary; @Schema(description = "备注", example = "你猜") private String remark; @Schema(description = "创建时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; @Schema(description = "对应租赁编号", example = "19472") private Long rentId; /** * 检查项目过滤(**按诊室/工位隔离已完成记录**)。 * *
背景:`job_record` 表**只有 doc_id + check_type,没有 room_id**, * 而 `/ecg/job-record/doctor-page` 强制按登录医生查自己的记录。 * 若同一医生在多个诊室坐诊(例如 1号门诊 check_types=[100,1100]、 * 6号门诊 check_types=[400] 平板运动心电),已完成记录列表会把**多个诊室的记录混在一起**, * 表现为"1号门诊的叫号检查页出现了平板运动心电的记录"。 * *
解决:前端把**当前诊室的 checkTypes** 传上来,这里按 `check_type in (...)` 过滤, * 使列表只显示"本诊室开展的检查项目"下、且由自己完成的记录。 * *
为空时不加此过滤,保持既有行为(向后兼容)。 */ @Schema(description = "检查项目(按诊室隔离记录用)", example = "[100,1100]") private Integer[] checkTypes; }