package com.siwei.spatial.api.domain.file;

import com.siwei.common.core.web.domain.BaseSridEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.siwei.common.core.annotation.Excel;

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

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

    /**
     * id
     */
    private String id;

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

    /**
     * shp位置
     */
    @Excel(name = "shp位置")
    private String shppath;

    /**
     * 文件类型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;

    private List<TGeomDbDetails> details;

    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;
    }

    @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();
    }
}
