| | |
| | | @ApiModelProperty(value = "服务类型") |
| | | private List<Long> serviceType; |
| | | |
| | | @ApiModelProperty(value = "病区Code集合") |
| | | @ApiModelProperty(value = "离院病区Code集合") |
| | | private List<String> leavehospitaldistrictcodes; |
| | | |
| | | @ApiModelProperty(value = "离院科室Code集合") |
| | | private List<String> leaveldeptcodes; |
| | | |
| | | @ApiModelProperty(value = "科室Code集合") |
| | | private List<String> deptcodes; |
| | | |
| | | @ApiModelProperty(value = "病区Code集合") |
| | | private List<String> hospitaldistrictcodes; |
| | | |
| | | @ApiModelProperty(value = "在院科室Code集合") |
| | | private List<String> hospitaldeptcodes; |
| | | |
| | | @ApiModelProperty(value = "子任务Id集合") |
| | | private List<Long> subTaskIds; |
| | |
| | | private String groupKeyType; |
| | | |
| | | /** |
| | | * 实际用于“结果分组”的列名(仅服务端内部使用,不从请求传入)。 |
| | | * <p> |
| | | * 历史原因:{@link #groupKey} 既用于 getSfStatistics 的 {@code AND ${groupKey} IN (...)} 过滤, |
| | | * 又被当成分组列;但 {@code groupKey = 'deptcode'} 时,原实现是在内存里按 |
| | | * {@code leaveldeptcode} 分组的,过滤列与分组列并不相同。 |
| | | * 为了把累加下推到数据库后口径不变,这里把两件事拆开:groupKey 负责过滤,groupColumn 负责分组。 |
| | | */ |
| | | @JsonIgnore |
| | | private String groupColumn; |
| | | |
| | | /** |
| | | * 分组key |
| | | */ |
| | | @ApiModelProperty(value = "分组key") |
| | | private String groupKey; |
| | | |
| | | /** |
| | | * 病区统计(离院维度)实际使用的“有效病区”列表达式(仅服务端内部使用)。 |
| | | * <p> |
| | | * 满意度子任务(service_type 6/14/15/16)的 {@code leavehospitaldistrictcode} 约三成为空, |
| | | * 旧写法把空值当成“不限”放行({@code xxx IS NULL OR xxx IN (...)}), |
| | | * 结果选中 A 病区时会把空病区的记录全带进来,再按 |
| | | * {@code IFNULL(leavehospitaldistrictcode,'Unknown')} 归成一个组, |
| | | * 这一组的病区名又是 {@code MAX(hospitaldistrictname)} 随便挑的。 |
| | | * <p> |
| | | * 这里给出“出院病区为空则回退到在院病区”的表达式,过滤与分组都改用它, |
| | | * 空病区的记录因此回到它真正的在院病区,而不是污染用户选中的病区。 |
| | | * 为 null 时保持历史行为(兼容其它调用方)。 |
| | | */ |
| | | @JsonIgnore |
| | | private String districtColumn; |
| | | |
| | | /** |
| | | * 分页偏移量(仅服务端内部使用)。 |
| | | * <p> |
| | | * pageNum 是 1 起始的,而历史写法直接把它当 SQL 的 OFFSET 用 |
| | | * ({@code limit 20 OFFSET 1}),第一页会凭空跳掉第一条分组数据。 |
| | | */ |
| | | @JsonIgnore |
| | | public Integer getPageOffset() { |
| | | if (pageSize == null) { |
| | | return null; |
| | | } |
| | | int current = (pageNum == null || pageNum < 1) ? 1 : pageNum; |
| | | return (current - 1) * pageSize; |
| | | } |
| | | |
| | | /** |
| | | * 随访统计方式 1-默认统计方式 2-统计时算上不发送的 3-只统计已完成的 |
| | | */ |
| | | @ApiModelProperty(value = "统计方式") |