【丽水】随访查询页面-统计调整 * total: 患者服务总量
* wxsf: 无需随访数量 sendstate != 4
* xsf: 需随访数量 sendstate = 4
* dsf: 待随访数量 sendstate = 1L, 2L, 3L, 5L, 7L
* ywc: 已完成数量 sendstate = 6L
* yc: 异常数量 excep = '1'
* yc: 警告数量 excep = '2'
| | |
| | | * |
| | | * @param serviceSubtaskVO 查询条件 |
| | | * @return Map<String, Object> 包含各状态统计数据 |
| | | * wzx: 未执行数量 |
| | | * ysf: 已随访数量 |
| | | * fssb: 发送失败数量 |
| | | * yfs: 已发送数量 |
| | | * dsf: 待随访数量 |
| | | * blq: 不理睬数量 |
| | | * yc: 异常数量 |
| | | * total: 患者服务总量 |
| | | * wxsf: 无需随访数量 sendstate != 4 |
| | | * xsf: 需随访数量 sendstate = 4 |
| | | * dsf: 待随访数量 sendstate = 1L, 2L, 3L, 5L, 7L |
| | | * ywc: 已完成数量 sendstate = 6L |
| | | * yc: 异常数量 excep = '1' |
| | | * yc: 警告数量 excep = '2' |
| | | */ |
| | | public Map<String, Object> countByCondition(ServiceSubtaskEntity serviceSubtaskVO); |
| | | |
| | |
| | | <!-- 优化的统计查询:直接在数据库层完成聚合计算 --> |
| | | <select id="countByCondition" parameterType="com.smartor.domain.entity.ServiceSubtaskEntity" resultType="map"> |
| | | SELECT |
| | | SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS wzx, |
| | | SUM(CASE WHEN sendstate != 4 AND sendstate != 2 THEN 1 ELSE 0 END) AS ysf, |
| | | SUM(CASE WHEN sendstate = 5 THEN 1 ELSE 0 END) AS fssb, |
| | | SUM(CASE WHEN sendstate >= 3 OR sendstate = 1 THEN 1 ELSE 0 END) AS yfs, |
| | | SUM(CASE WHEN sendstate = 2 THEN 1 ELSE 0 END) AS dsf, |
| | | SUM(CASE WHEN sendstate = 1 THEN 1 ELSE 0 END) AS blq, |
| | | SUM(CASE WHEN sendstate != 4 THEN 1 ELSE 0 END) AS wxsf, |
| | | SUM(CASE WHEN sendstate = 4 THEN 1 ELSE 0 END) AS xsf, |
| | | SUM(CASE WHEN (sendstate = 1 OR sendstate = 2 OR sendstate = 3 OR sendstate = 5 OR sendstate = 7 ) THEN 1 ELSE 0 END) AS dsf, |
| | | SUM(CASE WHEN sendstate = 6 THEN 1 ELSE 0 END) AS ywc, |
| | | SUM(CASE WHEN excep IS NOT NULL AND excep = '1' THEN 1 ELSE 0 END) AS yc, |
| | | SUM(CASE WHEN excep IS NOT NULL AND excep = '2' THEN 1 ELSE 0 END) AS jg, |
| | | COUNT(1) as total |