package org.king.modules.ad.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.king.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 受电记录
 * @Author: king-boot
 * @Date:   2021-06-07
 * @Version: V1.0
 */
@Data
@TableName("ad_charging_record")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ad_charging_record对象", description="受电记录")
public class AdChargingRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    
    /**充电记录编号*/
    @ApiModelProperty(value = "充电记录编号")
    private String id;

    /**用电船舶名称*/
    @Excel(name = "船舶名称", width = 15)
    @ApiModelProperty(value = "用电船舶名称")
    private String shipNameCn;

    /**码头编号 关联base.sys_office 的id*/
    @Excel(name = "作业单位", width = 25, dictTable = "hhad.web_company", dicCode = "com_no", dicText = "com_name")
    @ApiModelProperty(value = "码头编号 关联base.sys_office 的id")
    @Dict(dictTable = "hhad.web_company", dicCode = "com_no", dicText = "com_name")
    private String comNo;

    /**船舶关联 base.base_ship_info 的guid*/
    @ApiModelProperty(value = "船舶关联 base.base_ship_info 的guid")
    private String shipId;

    /**泊位编号 关联base.geom_un_all 的id*/
    @Excel(name = "作业码头", width = 15, dictTable = "hhad.ent_company_geom", dicCode = "ecg_no", dicText = "area_name")
    @ApiModelProperty(value = "泊位编号 关联base.geom_un_all 的id")
    @Dict(dictTable = "hhad.ent_company_geom", dicCode = "ecg_no", dicText = "area_name")
    private String gemoId;

    /**设备编号*/
    @ApiModelProperty(value = "设备编号")
    private String adDeviceId;

    /**开始使用时间*/
    @Excel(name = "开始使用时间", width = 15, format = "yyyy-MM-dd HH:mm:ss" )
    @ApiModelProperty(value = "开始使用时间")
    private Date startTime;

    /**截止使用时间*/
    @Excel(name = "截止使用时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "截止使用时间")
    private Date endTime;

    /**船员手机号*/
    @Excel(name = "联系方式", width = 15)
    @ApiModelProperty(value = "船员手机号")
    private String phone;

    /**创建时间*/
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**用电量*/
    @Excel(name = "用电量", width = 15)
    @ApiModelProperty(value = "用电量")
    private java.math.BigDecimal consumption;

    /**更新时间*/
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    /**开始使用表读数*/
    @Excel(name = "开始使用表读数", width = 15)
    @ApiModelProperty(value = "开始使用表读数")
    private java.math.BigDecimal startPower;

    /**结束使用表读数*/
    @Excel(name = "结束使用表读数", width = 15)
    @ApiModelProperty(value = "结束使用表读数")
    private java.math.BigDecimal endPower;

    /**实际开始时间*/
    @Excel(name = "实际开始时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际开始时间")
    private Date realStartTime;

    /**实际结束时间*/
    @Excel(name = "实际结束时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际结束时间")
    private Date realEndTime;

    /**充电孔id jack.id*/
    @ApiModelProperty(value = "充电孔id jack.id")
    private String jackId;

    /**状态，对于非智能设备，需要码头人员确认用电订单。0-未确认；1-已确认；*/
    @ApiModelProperty(value = "状态，对于非智能设备，需要码头人员确认用电订单。0-未确认；1-已确认；")
    private String status;

    /**确认者id（对于非智能设备的用电订单，码头人员进行确认）*/
    @ApiModelProperty(value = "确认者id（对于非智能设备的用电订单，码头人员进行确认）")
    private Integer confirmUserId;

    /**确认时间（对于非智能设备的用电订单，码头人员进行确认）*/
    @ApiModelProperty(value = "确认时间（对于非智能设备的用电订单，码头人员进行确认）")
    private Date confirmTime;

    /**停靠时间*/
    @Excel(name = "停靠时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "停靠时间")
    private Date residenceTime;

    /**离开时间*/
    @Excel(name = "离开时间", width = 15, format = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "离开时间")
    private Date leaveTime;

    /**是否充电，0-未充电，1-在充电*/
    @Excel(name = "是否充电", width = 15, dicCode = "ad_isRecharge")
    @ApiModelProperty(value = "是否充电，0-未充电，1-在充电")
    @Dict(dicCode = "ad_isRecharge")
    private String isRecharge;

}
