package com.siwei.rsmonitoring.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.siwei.common.core.annotation.Excel;
import com.siwei.common.core.web.domain.BaseSridEntity;
import com.siwei.spatial.api.domain.file.TGeomDbDetails;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 空间入库存储对象 t_dk_geom_db
 *
 * @author siwei
 * @date 2025-02-05
 */
public class TDkGeomDb extends BaseSridEntity {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private String id;

    /**
     * 名称
     */
    @Excel(name = "名称")
    private String name;

    /**
     * shp位置
     */
    @Excel(name = "shp位置")
    private String shppath;
    /**
     * 数据类型
     * 1监测图斑数据 2业务研判数据
     */
    private String dataType;
    /**
     * 文件类型0 geom 2file
     */
    @Excel(name = "文件类型0 geom 2file")
    private String filetype;

    /**
     * shp的空间范围
     */
    @Excel(name = "shp的空间范围")
    private String geom;

    /**
     * 图斑数量
     */
    @Excel(name = "图斑数量")
    private Long geomNumber;

    /**
     * 图斑面积
     */
    @Excel(name = "图斑面积")
    private BigDecimal geomArea;

    /**
     * 路由地址，区分业务来源
     */
    @Excel(name = "路由地址，区分业务来源")
    private String fromroute;

    /**
     * 状态 0成功 1处理中 2处理失败 3以下发
     */
    private String status;

    private String message;

    private Long updateNumberCheckSuccess;
    private Long updateNumberCheckFull;
    private Long updateNumberSuccess;
    private Long updateNumberFull;

    private String updateMessage;

    private List<TGeomDbDetails> details;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    public void setId(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setShppath(String shppath) {
        this.shppath = shppath;
    }

    public String getShppath() {
        return shppath;
    }

    public void setFiletype(String filetype) {
        this.filetype = filetype;
    }

    public String getFiletype() {
        return filetype;
    }

    public void setGeom(String geom) {
        this.geom = geom;
    }

    public String getGeom() {
        return geom;
    }

    public void setGeomNumber(Long geomNumber) {
        this.geomNumber = geomNumber;
    }

    public Long getGeomNumber() {
        return geomNumber;
    }

    public BigDecimal getGeomArea() {
        return geomArea;
    }

    public void setGeomArea(BigDecimal geomArea) {
        this.geomArea = geomArea;
    }

    public void setFromroute(String fromroute) {
        this.fromroute = fromroute;
    }

    public String getFromroute() {
        return fromroute;
    }

    public List<TGeomDbDetails> getDetails() {
        return details;
    }

    public void setDetails(List<TGeomDbDetails> details) {
        this.details = details;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getUpdateNumberCheckSuccess() {
        return updateNumberCheckSuccess;
    }

    public void setUpdateNumberCheckSuccess(Long updateNumberCheckSuccess) {
        this.updateNumberCheckSuccess = updateNumberCheckSuccess;
    }

    public Long getUpdateNumberFull() {
        return updateNumberFull;
    }

    public void setUpdateNumberFull(Long updateNumberFull) {
        this.updateNumberFull = updateNumberFull;
    }

    public Long getUpdateNumberSuccess() {
        return updateNumberSuccess;
    }

    public void setUpdateNumberSuccess(Long updateNumberSuccess) {
        this.updateNumberSuccess = updateNumberSuccess;
    }

    public Long getUpdateNumberCheckFull() {
        return updateNumberCheckFull;
    }

    public void setUpdateNumberCheckFull(Long updateNumberCheckFull) {
        this.updateNumberCheckFull = updateNumberCheckFull;
    }

    public String getUpdateMessage() {
        return updateMessage;
    }

    public void setUpdateMessage(String updateMessage) {
        this.updateMessage = updateMessage;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("shppath", getShppath())
                .append("filetype", getFiletype())
                .append("geom", getGeom())
                .append("geomNumber", getGeomNumber())
                .append("fromroute", getFromroute())
                .toString();
    }
}
