package com.ruoyi.satisfaction.domain.row;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* 满意度统计取「子任务」时的查询条件。
*
* 对应原实现 {@code ServiceSubtaskServiceImpl.getServiceSubtasks(ServiceSubtaskEntity)}
* 里 {@code sltdMydTotalByScore} 实际用到的条件。原方法还支持近百个其它字段,
* 但满意度只用到下面这些,故收敛为本查询对象。
*
* 每个字段与原来的 SQL 条件逐字对应(见 {@code SatisfactionMapper.xml}):
*
* - {@code orgid}:{@code and orgid = #{orgid}}(非空才拼)
* - {@code campusid}:{@code and campusid = #{campusid}}(非空才拼)
* - {@code serviceType}:{@code and service_type = #{serviceType}}(非空才拼;调用方逐个 serviceType 查询再合并)
* - {@code startOutHospTime} / {@code endOutHospTime}:按 {@code endtime} 的 yymmdd 比较
* - {@code deptOrDistrict} 为 {@code 1} 时,按 {@code leavehospitaldistrictcodes} 过滤病区
* - {@code leaveldeptcodes}:按 {@code deptcode} 过滤科室
*
*/
@Data
public class SatisfactionSubtaskQuery {
/**
* 机构 id
*/
private String orgid;
/**
* 院区 id
*/
private String campusid;
/**
* 服务类型(满意度为 6 住院 / 14 门诊)
*/
private String serviceType;
/**
* 出院开始时间(按 endtime 过滤)
*/
private Date startOutHospTime;
/**
* 出院结束时间(按 endtime 过滤)
*/
private Date endOutHospTime;
/**
* 维度标识:{@code 1} 表示按病区过滤
*
* ⚠️ 原 SQL 用的是 {@code }(与数字比较),
* 因此这里是 {@code Integer},取值语义与原来一致。
*/
private String deptOrDistrict = "1";
/**
* 病区代码列表(仅在 {@code deptOrDistrict == 1} 时生效)
*/
private List leavehospitaldistrictcodes;
/**
* 科室代码列表
*/
private List leaveldeptcodes;
}