| | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.ruoyi.task.domain.TaskSendTimeVO; |
| | | |
| | | /** |
| | |
| | | private String managementDoctor; |
| | | |
| | | /** |
| | | * 重要性标记编码(2026-11 新增,<b>查询条件</b>):精确匹配。 |
| | | * <p> |
| | | * 对应 {@code service_subtask.importance_flag_code}:建任务时从 |
| | | * {@code pat_med_inhosp.importance_flag_code} 原样同步。 |
| | | * 枚举见 {@code com.ruoyi.common.enums.ImportFlagEnum} |
| | | * ({@code FH0165.01} 日间手术、{@code FH0165.02} 日间诊疗…); |
| | | * 现场库也可能存中文描述。 |
| | | */ |
| | | @ApiModelProperty(value = "重要性标记编码(精确匹配,如 FH0165.01 / 日间手术)") |
| | | private String importanceFlagCode; |
| | | |
| | | /** |
| | | * 重要性标记编码集合(查询条件):{@code IN} 匹配,用于「日间」这类 |
| | | * 「要同时命中多个取值」的场景。 |
| | | * <p> |
| | | * 例:只看日间 → {@code ["日间手术","日间诊疗"]}(中文描述口径)或 |
| | | * {@code ["FH0165.01","FH0165.02"]}(枚举编码口径)。 |
| | | * <p> |
| | | * ⚠️ 等值/IN 都匹配不到逗号多值(如 {@code 无,日间手术});这类数据极少, |
| | | * 需要时请用 {@code find_in_set} 单独写 SQL,别把语义塞进这个字段。 |
| | | */ |
| | | @ApiModelProperty(value = "重要性标记编码集合(IN 匹配,用于一次筛多个标记)") |
| | | private List<String> importanceFlagCodes; |
| | | |
| | | /** |
| | | * 点位编码(2026-11 新增,对应 {@code service_subtask.point_location})。 |
| | | * <p> |
| | | * ⚠️ <b>前端不传这个字段</b>(只传 {@link #pointLocations} 数组)。这里保留它有两个原因: |
| | | * <ol> |
| | | * <li>它是 {@code service_subtask} 的列语义载体,与其它单值查询字段保持对称;</li> |
| | | * <li>兜底:直接调 {@code /countByCondition} 之类接口的老调用方,若仍传单值 |
| | | * (或 {@code "P001,P002"} 逗号串),{@link #getPointLocations()} 会把它拆成集合, |
| | | * 统一走 {@code IN},不会被静默忽略。</li> |
| | | * </ol> |
| | | */ |
| | | @ApiModelProperty(value = "点位编码(前端不传;仅兼容单值入参的兜底)") |
| | | private String pointLocation; |
| | | |
| | | /** |
| | | * 点位编码集合(2026-11 新增,<b>点位查询条件的唯一入参</b>):{@code IN} 匹配。 |
| | | * <p> |
| | | * 前端单选也传数组:{@code ["P001"]} / 多选 {@code ["P001","P002"]};不筛则传 {@code []} 或不传。 |
| | | */ |
| | | @ApiModelProperty(value = "点位编码集合(IN 匹配;单选也传数组)") |
| | | private List<String> pointLocations; |
| | | |
| | | /** |
| | | * 点位查询条件的<b>唯一入口</b>:SQL 里只有一条 {@code point_location IN (...)}, |
| | | * 单选/多选都在这里归一,避免出现「只传 pointLocation 时筛选被静默忽略」。 |
| | | * <p> |
| | | * 手写这个 getter({@code @Data} 不会重复生成)是为了让 MyBatis 的 OGNL |
| | | * ({@code pointLocations.size() > 0} 与 {@code foreach collection="pointLocations"}) |
| | | * 取到合并后的集合。 |
| | | */ |
| | | public List<String> getPointLocations() { |
| | | if (pointLocations != null && !pointLocations.isEmpty()) { |
| | | return pointLocations; |
| | | } |
| | | if (pointLocation != null && !pointLocation.trim().isEmpty()) { |
| | | // 兼容本仓库「多选=逗号串」的老口径:前端若把多选塞进单值字段(P001,P002)也能命中 |
| | | List<String> split = new java.util.ArrayList<>(); |
| | | for (String item : pointLocation.split(",")) { |
| | | if (!item.trim().isEmpty()) { |
| | | split.add(item.trim()); |
| | | } |
| | | } |
| | | return split.isEmpty() ? null : split; |
| | | } |
| | | return pointLocations; |
| | | } |
| | | |
| | | /** |
| | | * 开始出院日期 |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |