| | |
| | | package com.ruoyi.task.domain; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.fasterxml.jackson.annotation.JsonAlias; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.fasterxml.jackson.annotation.JsonIgnore; |
| | | import io.swagger.annotations.ApiModel; |
| | |
| | | @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; |
| | | |
| | | @ApiModelProperty(value = "科室病区:1,病区统计 2,科室统计 3. 病种统计") |
| | | @ApiModelProperty(value = "统计维度:1-按病区(leavehospitaldistrictcode) 2-按科室(deptcode) 3-按taskid") |
| | | @JsonAlias("statisticalType") |
| | | private Integer statisticaltype; |
| | | |
| | | private String visitDeptCode; |
| | |
| | | private String scriptids; |
| | | |
| | | /** |
| | | /** |
| | | * 把 scriptids(逗号分隔的问题ID字符串)严格解析为 Long 集合,仅供 SQL 的 foreach 预编译使用。 |
| | | * <p> |
| | | * 只保留纯数字项,其余内容一律丢弃,返回 null 表示“不过滤”。 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 问题ID(题目明细行返回的 scriptid),用于选项数字下钻 |
| | | */ |
| | | @ApiModelProperty(value = "问题ID") |
| | | @JsonAlias("scriptId") |
| | | private Long scriptid; |
| | | |
| | | /** |
| | | * 问题内容。传入后按题目内容匹配,兼容同一道题被复制到多个任务模板的场景 |
| | | */ |
| | | @ApiModelProperty(value = "问题内容") |
| | | private String scriptContent; |
| | | |
| | | /** |
| | | * 选项文本(题目明细行返回的 optionText) |
| | | */ |
| | | @ApiModelProperty(value = "选项文本") |
| | | @JsonAlias({"optiontext", "option", "optionContent"}) |
| | | private String optionText; |
| | | |
| | | /** |
| | | * 题目明细中的任务类型(subtaskType),用于下钻时区分语音/问卷 |
| | | */ |
| | | @ApiModelProperty(value = "任务类型(题目明细中的 subtaskType)") |
| | | @JsonAlias("subTaskType") |
| | | private String subtaskType; |
| | | |
| | | /** |
| | | * 分组类型 drCode, deptCode, leaveHospitalDistrictCode |
| | | */ |
| | | @ApiModelProperty(value = "分组类型") |
| | | 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 = "异常标识:0绿色;1红色;2黄色") |
| | | private String excep; |
| | | |
| | | /** |
| | | * 处理意见编码 - 超链接统计 |
| | | */ |
| | | @ApiModelProperty(value = "处理意见编码") |
| | | private String suggest; |
| | | |
| | | /** |
| | | * 完成时状态 - 超链接统计(1-正常完成 2-延期完成 3-超时完成) |
| | | */ |
| | | @ApiModelProperty(value = "完成时状态:1正常完成 2延期完成 3超时完成") |
| | | private Long finishState; |
| | | |
| | | /** |
| | | * 当前发送方式 - 超链接统计 |
| | |
| | | private String hyperLinkInfoType; |
| | | |
| | | @ApiModelProperty(value = "任务ID", required = true) |
| | | @JsonAlias("taskid") |
| | | private Long taskId; |
| | | |
| | | @ApiModelProperty(value = "taskIds集合") |
| | |
| | | private String hospType; |
| | | |
| | | /** |
| | | * 人工电话标记 |
| | | */ |
| | | @ApiModelProperty(value = "是否人工打过电话 0-没打过 1-打过") |
| | | private Long isManuallyCalled; |
| | | |
| | | /** |
| | | * pageNum |
| | | */ |
| | | @ApiModelProperty("pageNum") |