package com.fastbee.rechargecard.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.fastbee.common.annotation.Excel;
import com.fastbee.common.core.domain.BaseEntity;

/**
 * 灌溉记录对象 user_irrigation_record
 *
 * @author kerwincui
 * @date 2024-12-18
 */
@ApiModel(value = "UserIrrigationRecord",description = "灌溉记录 user_irrigation_record")
@Data
@EqualsAndHashCode(callSuper = true)
public class UserIrrigationRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 用户id,关联用户 */
    @Excel(name = "用户id,关联用户")
    @ApiModelProperty("用户id,关联用户")
    private Long userId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    @ApiModelProperty("设备编码")
    private String deviceNumber;

    /** 所属项目id */
    @Excel(name = "所属项目id")
    @ApiModelProperty("所属项目id")
    private Long projectId;

    /** 所属机构 */
    @Excel(name = "所属机构")
    @ApiModelProperty("所属机构")
    private Long deptId;

    /** 购水卡号 */
    @Excel(name = "购水卡号")
    @ApiModelProperty("购水卡号")
    private String cardNumber;

    /** 区域号 */
    @Excel(name = "区域号")
    @ApiModelProperty("区域号")
    private String areaCode;

    /** 本次用水量，以立方米为单位 */
    @Excel(name = "本次用水量，以立方米为单位")
    @ApiModelProperty("本次用水量，以立方米为单位")
    private BigDecimal curFlow;

    /** 本次用电量 */
    @Excel(name = "本次用电量")
    @ApiModelProperty("本次用电量")
    private BigDecimal curEle;

    /** 卡内余额 */
    @Excel(name = "卡内余额")
    @ApiModelProperty("卡内余额")
    private BigDecimal balance;

    /** 开泵时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开泵时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("开泵时间")
    private Date startTime;

    /** 关泵时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "关泵时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("关泵时间")
    private Date endTime;

    /** 灌溉持续时间 */
    @Excel(name = "灌溉持续时间")
    @ApiModelProperty("灌溉持续时间")
    private BigDecimal duration;

    /** 灌溉时间单位，0=小时、1=天、2=周、3=月、4=季度、5=年 */
    @Excel(name = "灌溉时间单位，0=小时、1=天、2=周、3=月、4=季度、5=年")
    @ApiModelProperty("灌溉时间单位，0=小时、1=天、2=周、3=月、4=季度、5=年")
    private Integer unit;

    /** 灌溉上报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "灌溉上报时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("灌溉上报时间")
    private Date lastTime;

    /** 灌溉状态，1=开始灌溉，2=结束灌溉 */
    @Excel(name = "灌溉状态，1=开始灌溉，2=结束灌溉")
    @ApiModelProperty("灌溉状态，1=开始灌溉，2=结束灌溉")
    private Integer status;

    /** 关于灌溉记录的额外信息或备注 */
    @Excel(name = "关于灌溉记录的额外信息或备注")
    @ApiModelProperty("关于灌溉记录的额外信息或备注")
    private String remarks;

}
