gunshi-project-ss/src/main/java/com/gunshi/project/xyt/model/ResBriefR.java

86 lines
2.9 KiB
Java
Raw Normal View History

2025-04-25 17:01:53 +08:00
package com.gunshi.project.xyt.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.gunshi.core.dateformat.DateFormatString;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author lyf
* @since 2025-04-25
*/
@Data
@TableName("public.res_brief_r")
@Slf4j
public class ResBriefR {
@TableId(value="id", type= IdType.AUTO)
private Integer id;
@TableField
private BigDecimal drp24Sum;
@TableField
private String sumStnm;
@TableField
private BigDecimal drp24Max;
@TableField
private String maxStnm;
@TableField
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD_HH_MM_SS, timezone = "GMT+8")
private Date maxTm;
@TableField
private BigDecimal rz8;
@TableField
private BigDecimal rzYesterday8;
@TableField
private BigDecimal w;
@TableField
@JsonFormat(pattern = DateFormatString.YYYY_MM_DD, timezone = "GMT+8")
private Date date;
@TableField
//设计洪水位
private BigDecimal flLowLimLev;
@TableField(exist = false)
private String brief;
public String getBrief() {
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat sdf2 = new SimpleDateFormat("dd日HH时");
BigDecimal gap;
if (rz8 != null && rzYesterday8 != null) {
gap = rz8.subtract(rzYesterday8);
} else {
gap = null;
}
String dir;
if (gap != null && gap.compareTo(BigDecimal.ZERO) > 0) {
dir = "上涨";
} else if (gap != null && gap.compareTo(BigDecimal.ZERO) < 0) {
dir = "下跌";
} else {
dir = "上涨";
}
return String.format("%s08时过去24小时最大累计降雨量%smm(%s),最大点雨量%smm/h(%s%s)。当前水库水位%sm(汛限水位%sm),较昨日%s%sm库容达%s万m³",
date == null ? "" : sdf1.format(date),
drp24Sum == null ? "" : drp24Sum.setScale(1, RoundingMode.DOWN),
sumStnm == null ? "" : sumStnm,
drp24Max == null ? "" : drp24Max.setScale(1, RoundingMode.DOWN),
maxStnm == null ? "" : maxStnm,
maxTm == null ? "" : sdf2.format(maxTm),
rz8 == null ? "" : rz8.setScale(2, RoundingMode.DOWN),
flLowLimLev == null ? "" : flLowLimLev.setScale(0, RoundingMode.DOWN),
gap == null ? "" :dir,
gap == null ? "" : gap.setScale(2, RoundingMode.DOWN),
w == null ? "" : w.setScale(2, RoundingMode.DOWN)
);
}
}