|
|
@ -1,10 +1,11 @@ |
|
|
|
package com.ccsens.carbasics.bean.vo; |
|
|
|
|
|
|
|
|
|
|
|
import io.swagger.annotations.ApiModel; |
|
|
|
import io.swagger.annotations.ApiModelProperty; |
|
|
|
import lombok.Data; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
/** |
|
|
|
* @description: |
|
|
@ -13,83 +14,23 @@ import java.math.BigDecimal; |
|
|
|
*/ |
|
|
|
public class StatisticalVo { |
|
|
|
|
|
|
|
@ApiModel("统计-返回") |
|
|
|
@Data |
|
|
|
@ApiModel("环节进度查询-响应") |
|
|
|
public static class Step{ |
|
|
|
@ApiModelProperty("环节id") |
|
|
|
private Long stepId; |
|
|
|
@ApiModelProperty("环节code") |
|
|
|
private String stepCode; |
|
|
|
@ApiModelProperty("环节名称") |
|
|
|
private String stepName; |
|
|
|
@ApiModelProperty("开始时间") |
|
|
|
private Long startTime; |
|
|
|
@ApiModelProperty("类型(0-平车,1-用户)") |
|
|
|
private Byte type; |
|
|
|
@ApiModelProperty("医生/平车名字") |
|
|
|
private String memberName; |
|
|
|
} |
|
|
|
|
|
|
|
@Data |
|
|
|
@ApiModel("月/周质控报告-响应") |
|
|
|
public static class Quality{ |
|
|
|
@ApiModelProperty("日期") |
|
|
|
private String date; |
|
|
|
@ApiModelProperty("总患者数") |
|
|
|
public static class Common{ |
|
|
|
@ApiModelProperty("总数") |
|
|
|
private Long total; |
|
|
|
@ApiModelProperty("最大") |
|
|
|
private Long max; |
|
|
|
@ApiModelProperty("最小") |
|
|
|
private Long min; |
|
|
|
@ApiModelProperty("中位数") |
|
|
|
private BigDecimal median; |
|
|
|
@ApiModelProperty("平均数") |
|
|
|
private BigDecimal avg; |
|
|
|
@ApiModelProperty("达标数") |
|
|
|
private Long passNum; |
|
|
|
@ApiModelProperty("溶栓数") |
|
|
|
private Long thrombolyticNum; |
|
|
|
@ApiModelProperty("达标比例") |
|
|
|
private BigDecimal passRatio; |
|
|
|
@ApiModelProperty("溶栓比例") |
|
|
|
private BigDecimal thrombolyticRatio; |
|
|
|
|
|
|
|
public BigDecimal getPassRatio() { |
|
|
|
if (passRatio == null && passNum != null && thrombolyticNum != null && thrombolyticNum != 0) { |
|
|
|
passRatio = new BigDecimal(passNum * 100).divide(new BigDecimal(thrombolyticNum), 2, BigDecimal.ROUND_HALF_UP); |
|
|
|
} |
|
|
|
return passRatio; |
|
|
|
} |
|
|
|
|
|
|
|
public BigDecimal getThrombolyticRatio() { |
|
|
|
if (thrombolyticRatio == null && thrombolyticNum != null && total != null && total != 0) { |
|
|
|
passRatio = new BigDecimal(thrombolyticNum * 100).divide(new BigDecimal(total), 2, BigDecimal.ROUND_HALF_UP); |
|
|
|
} |
|
|
|
return thrombolyticRatio; |
|
|
|
} |
|
|
|
|
|
|
|
public BigDecimal getMedian() { |
|
|
|
if (median != null && median.compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
median = median.setScale(2,BigDecimal.ROUND_DOWN); |
|
|
|
} |
|
|
|
return median; |
|
|
|
} |
|
|
|
@ApiModelProperty("统计列表") |
|
|
|
private List<Item> list; |
|
|
|
|
|
|
|
public BigDecimal getAvg() { |
|
|
|
if (avg != null && avg.compareTo(BigDecimal.ZERO) != 0){ |
|
|
|
avg = avg.setScale(2,BigDecimal.ROUND_DOWN); |
|
|
|
} |
|
|
|
return avg; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ApiModel("统计-每一项") |
|
|
|
@Data |
|
|
|
@ApiModel("查询每天质控报告-响应") |
|
|
|
public static class DayQuality{ |
|
|
|
@ApiModelProperty("日期") |
|
|
|
private String date; |
|
|
|
@ApiModelProperty("中位数") |
|
|
|
private BigDecimal median; |
|
|
|
public static class Item{ |
|
|
|
@ApiModelProperty("类型 横坐标等") |
|
|
|
private String name; |
|
|
|
@ApiModelProperty("对应值") |
|
|
|
private String value; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|