| | |
| | | private Date endOutHospTime; |
| | | |
| | | /** |
| | | * 维度标识:{@code 1} 表示按病区过滤 |
| | | * 完成开始时间(按 finishtime 过滤,对应页面提交的 {@code startFinishTime}) |
| | | * <p> |
| | | * ⚠️ 原 SQL 用的是 {@code <if test="deptOrDistrict==1">}(与数字比较), |
| | | * 因此这里是 {@code Integer},取值语义与原来一致。 |
| | | * ⚠️ 2026-10-21 新增:原来只有 outHospTime 两个字段,而页面提交的是 |
| | | * {@code startFinishTime / endFinishTime},Controller 也没有把它们传下来, |
| | | * 于是取子任务时<b>完全没有时间条件</b> —— 既导致统计口径不对,也导致 |
| | | * {@code service_subtask} 被全量扫描、下游明细统计拿到几万个 id。 |
| | | */ |
| | | private Date startFinishTime; |
| | | |
| | | /** |
| | | * 完成结束时间(按 finishtime 过滤) |
| | | */ |
| | | private Date endFinishTime; |
| | | |
| | | /** |
| | | * 维度组合方式:病区维度与科室维度之间取 AND 还是 OR。 |
| | | * <ul> |
| | | * <li>{@code 1}:病区 AND 科室(页面默认值)</li> |
| | | * <li>{@code 2}:病区 OR 科室</li> |
| | | * <li>其它取值:沿用旧行为(只看科室)</li> |
| | | * </ul> |
| | | * 字段类型是 {@code String}(入参是 JSON 字符串),SQL 里用 {@code q.deptOrDistrict==1} |
| | | * 与数字比较 —— OGNL 会把 {@code "1"} 转成数字再比,结论与字符串比较一致, |
| | | * 这里保留原写法不动,避免改口径。 |
| | | */ |
| | | private String deptOrDistrict = "1"; |
| | | |
| | | /** |
| | | * 病区代码列表(仅在 {@code deptOrDistrict == 1} 时生效) |
| | | * 在院/当前病区代码列表 → 落到 {@code service_subtask.hospitaldistrictcode} |
| | | * <p> |
| | | * 与 {@link #leavehospitaldistrictcodes} 是「同一维度的两列」:哪个参数传进来就过滤哪一列, |
| | | * 不再一律按离院病区过滤(南华这批数据病区写在 hospitaldistrictcode, |
| | | * leavehospitaldistrictcode 基本为空,只认后者会让统计只剩几条)。 |
| | | */ |
| | | private List<String> hospitaldistrictcodes; |
| | | |
| | | /** |
| | | * 离院病区代码列表 → 落到 {@code service_subtask.leavehospitaldistrictcode} |
| | | */ |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | /** |
| | | * 科室代码列表 |
| | | * 在院/当前科室代码列表 → 落到 {@code service_subtask.deptcode} |
| | | */ |
| | | private List<String> deptcodes; |
| | | |
| | | /** |
| | | * 离院科室代码列表 → 落到 {@code service_subtask.leaveldeptcode} |
| | | */ |
| | | private List<String> leaveldeptcodes; |
| | | } |