package com.mortals.xhx.module.site.model;

import com.mortals.xhx.module.site.model.vo.SiteVo;

import java.util.Date;
/**
 * 站点实体对象
 *
 * @author zxfei
 * @date 2022-07-14
 */

public class SiteEntity extends SiteVo {
    private static final long serialVersionUID = 1L;

    /**
     * 站点名称
     */
    private String siteName;
    /**
     * 站点编号
     */
    private String siteCode;
    /**
     * 区域Id
     */
    private String areaID;
    /**
     * 区域编号
     */
    private String areaCode;
    /**
     * 区域名称
     */
    private String areaName;
    /**
     * 省编码
     */
    private String proCode;
    /**
     * 市编码
     */
    private String cityCode;
    /**
     * 区编码
     */
    private String districtCode;
    /**
     * 站点服务器ip
     */
    private String siteIp;
    /**
     * 站点服务器端口
     */
    private String sitePort;
    /**
     * 经度
     */
    private String longitude;
    /**
     * 纬度
     */
    private String latitude;
    /**
     * 中心联系电话
     */
    private String siteTel;
    /**
     * 中心详细地址
     */
    private String detailAddress;
    /**
     * 中心介绍
     */
    private String siteRemark;
    /**
     * 上午上班开始时间
     */
    private Date amWorkStartTime;
    /**
     * 上午上班结束时间
     */
    private Date amWorkEndTime;
    /**
     * 下午上班开始时间
     */
    private Date pmWorkStartTime;
    /**
     * 下午上班结束时间
     */
    private Date pmWorkEndTime;
    /**
     * 周一 (1.上班，0.不上)
     */
    private Integer workday1;
    /**
     * 周二 (1.上班，0.不上)
     */
    private Integer workday2;
    /**
     * 周三 (1.上班，0.不上)
     */
    private Integer workday3;
    /**
     * 周四 (1.上班，0.不上)
     */
    private Integer workday4;
    /**
     * 周五 (1.上班，0.不上)
     */
    private Integer workday5;
    /**
     * 周六 (1.上班，0.不上)
     */
    private Integer workday6;
    /**
     * 周日 (1.上班，0.不上)
     */
    private Integer workday7;
    /**
     * 楼层
     */
    private Integer level;
    /**
     * 楼栋
     */
    private Integer building;
    /**
     * logo图片地址
     */
    private String logoPath;
    /**
     * 英文名称
     */
    private String englishName;
    /**
     * 负责人
     */
    private String leadingOfficial;
    /**
     * 联系电话
     */
    private String leadingOfficialTelephone;
    /**
     * 部署模块，逗号分隔
     */
    private String modelIds;



    public SiteEntity(){}
    /**
     * 获取 站点名称
     * @return String
     */
    public String getSiteName(){
        return siteName;
    }
    /**
     * 设置 站点名称
     * @param siteName
     */
    public void setSiteName(String siteName){
        this.siteName = siteName;
    }
    /**
     * 获取 站点编号
     * @return String
     */
    public String getSiteCode(){
        return siteCode;
    }
    /**
     * 设置 站点编号
     * @param siteCode
     */
    public void setSiteCode(String siteCode){
        this.siteCode = siteCode;
    }
    /**
     * 获取 区域Id
     * @return String
     */
    public String getAreaID(){
        return areaID;
    }
    /**
     * 设置 区域Id
     * @param areaID
     */
    public void setAreaID(String areaID){
        this.areaID = areaID;
    }
    /**
     * 获取 区域编号
     * @return String
     */
    public String getAreaCode(){
        return areaCode;
    }
    /**
     * 设置 区域编号
     * @param areaCode
     */
    public void setAreaCode(String areaCode){
        this.areaCode = areaCode;
    }
    /**
     * 获取 区域名称
     * @return String
     */
    public String getAreaName(){
        return areaName;
    }
    /**
     * 设置 区域名称
     * @param areaName
     */
    public void setAreaName(String areaName){
        this.areaName = areaName;
    }
    /**
     * 获取 省编码
     * @return String
     */
    public String getProCode(){
        return proCode;
    }
    /**
     * 设置 省编码
     * @param proCode
     */
    public void setProCode(String proCode){
        this.proCode = proCode;
    }
    /**
     * 获取 市编码
     * @return String
     */
    public String getCityCode(){
        return cityCode;
    }
    /**
     * 设置 市编码
     * @param cityCode
     */
    public void setCityCode(String cityCode){
        this.cityCode = cityCode;
    }
    /**
     * 获取 区编码
     * @return String
     */
    public String getDistrictCode(){
        return districtCode;
    }
    /**
     * 设置 区编码
     * @param districtCode
     */
    public void setDistrictCode(String districtCode){
        this.districtCode = districtCode;
    }
    /**
     * 获取 站点服务器ip
     * @return String
     */
    public String getSiteIp(){
        return siteIp;
    }
    /**
     * 设置 站点服务器ip
     * @param siteIp
     */
    public void setSiteIp(String siteIp){
        this.siteIp = siteIp;
    }
    /**
     * 获取 站点服务器端口
     * @return String
     */
    public String getSitePort(){
        return sitePort;
    }
    /**
     * 设置 站点服务器端口
     * @param sitePort
     */
    public void setSitePort(String sitePort){
        this.sitePort = sitePort;
    }
    /**
     * 获取 经度
     * @return String
     */
    public String getLongitude(){
        return longitude;
    }
    /**
     * 设置 经度
     * @param longitude
     */
    public void setLongitude(String longitude){
        this.longitude = longitude;
    }
    /**
     * 获取 纬度
     * @return String
     */
    public String getLatitude(){
        return latitude;
    }
    /**
     * 设置 纬度
     * @param latitude
     */
    public void setLatitude(String latitude){
        this.latitude = latitude;
    }
    /**
     * 获取 中心联系电话
     * @return String
     */
    public String getSiteTel(){
        return siteTel;
    }
    /**
     * 设置 中心联系电话
     * @param siteTel
     */
    public void setSiteTel(String siteTel){
        this.siteTel = siteTel;
    }
    /**
     * 获取 中心详细地址
     * @return String
     */
    public String getDetailAddress(){
        return detailAddress;
    }
    /**
     * 设置 中心详细地址
     * @param detailAddress
     */
    public void setDetailAddress(String detailAddress){
        this.detailAddress = detailAddress;
    }
    /**
     * 获取 中心介绍
     * @return String
     */
    public String getSiteRemark(){
        return siteRemark;
    }
    /**
     * 设置 中心介绍
     * @param siteRemark
     */
    public void setSiteRemark(String siteRemark){
        this.siteRemark = siteRemark;
    }
    /**
     * 获取 上午上班开始时间
     * @return Date
     */
    public Date getAmWorkStartTime(){
        return amWorkStartTime;
    }
    /**
     * 设置 上午上班开始时间
     * @param amWorkStartTime
     */
    public void setAmWorkStartTime(Date amWorkStartTime){
        this.amWorkStartTime = amWorkStartTime;
    }
    /**
     * 获取 上午上班结束时间
     * @return Date
     */
    public Date getAmWorkEndTime(){
        return amWorkEndTime;
    }
    /**
     * 设置 上午上班结束时间
     * @param amWorkEndTime
     */
    public void setAmWorkEndTime(Date amWorkEndTime){
        this.amWorkEndTime = amWorkEndTime;
    }
    /**
     * 获取 下午上班开始时间
     * @return Date
     */
    public Date getPmWorkStartTime(){
        return pmWorkStartTime;
    }
    /**
     * 设置 下午上班开始时间
     * @param pmWorkStartTime
     */
    public void setPmWorkStartTime(Date pmWorkStartTime){
        this.pmWorkStartTime = pmWorkStartTime;
    }
    /**
     * 获取 下午上班结束时间
     * @return Date
     */
    public Date getPmWorkEndTime(){
        return pmWorkEndTime;
    }
    /**
     * 设置 下午上班结束时间
     * @param pmWorkEndTime
     */
    public void setPmWorkEndTime(Date pmWorkEndTime){
        this.pmWorkEndTime = pmWorkEndTime;
    }
    /**
     * 获取 周一 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday1(){
        return workday1;
    }
    /**
     * 设置 周一 (1.上班，0.不上)
     * @param workday1
     */
    public void setWorkday1(Integer workday1){
        this.workday1 = workday1;
    }
    /**
     * 获取 周二 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday2(){
        return workday2;
    }
    /**
     * 设置 周二 (1.上班，0.不上)
     * @param workday2
     */
    public void setWorkday2(Integer workday2){
        this.workday2 = workday2;
    }
    /**
     * 获取 周三 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday3(){
        return workday3;
    }
    /**
     * 设置 周三 (1.上班，0.不上)
     * @param workday3
     */
    public void setWorkday3(Integer workday3){
        this.workday3 = workday3;
    }
    /**
     * 获取 周四 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday4(){
        return workday4;
    }
    /**
     * 设置 周四 (1.上班，0.不上)
     * @param workday4
     */
    public void setWorkday4(Integer workday4){
        this.workday4 = workday4;
    }
    /**
     * 获取 周五 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday5(){
        return workday5;
    }
    /**
     * 设置 周五 (1.上班，0.不上)
     * @param workday5
     */
    public void setWorkday5(Integer workday5){
        this.workday5 = workday5;
    }
    /**
     * 获取 周六 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday6(){
        return workday6;
    }
    /**
     * 设置 周六 (1.上班，0.不上)
     * @param workday6
     */
    public void setWorkday6(Integer workday6){
        this.workday6 = workday6;
    }
    /**
     * 获取 周日 (1.上班，0.不上)
     * @return Integer
     */
    public Integer getWorkday7(){
        return workday7;
    }
    /**
     * 设置 周日 (1.上班，0.不上)
     * @param workday7
     */
    public void setWorkday7(Integer workday7){
        this.workday7 = workday7;
    }
    /**
     * 获取 楼层
     * @return Integer
     */
    public Integer getLevel(){
        return level;
    }
    /**
     * 设置 楼层
     * @param level
     */
    public void setLevel(Integer level){
        this.level = level;
    }
    /**
     * 获取 楼栋
     * @return Integer
     */
    public Integer getBuilding(){
        return building;
    }
    /**
     * 设置 楼栋
     * @param building
     */
    public void setBuilding(Integer building){
        this.building = building;
    }
    /**
     * 获取 logo图片地址
     * @return String
     */
    public String getLogoPath(){
        return logoPath;
    }
    /**
     * 设置 logo图片地址
     * @param logoPath
     */
    public void setLogoPath(String logoPath){
        this.logoPath = logoPath;
    }
    /**
     * 获取 英文名称
     * @return String
     */
    public String getEnglishName(){
        return englishName;
    }
    /**
     * 设置 英文名称
     * @param englishName
     */
    public void setEnglishName(String englishName){
        this.englishName = englishName;
    }
    /**
     * 获取 负责人
     * @return String
     */
    public String getLeadingOfficial(){
        return leadingOfficial;
    }
    /**
     * 设置 负责人
     * @param leadingOfficial
     */
    public void setLeadingOfficial(String leadingOfficial){
        this.leadingOfficial = leadingOfficial;
    }
    /**
     * 获取 联系电话
     * @return String
     */
    public String getLeadingOfficialTelephone(){
        return leadingOfficialTelephone;
    }
    /**
     * 设置 联系电话
     * @param leadingOfficialTelephone
     */
    public void setLeadingOfficialTelephone(String leadingOfficialTelephone){
        this.leadingOfficialTelephone = leadingOfficialTelephone;
    }
    /**
     * 获取 部署模块，逗号分隔
     * @return String
     */
    public String getModelIds(){
        return modelIds;
    }
    /**
     * 设置 部署模块，逗号分隔
     * @param modelIds
     */
    public void setModelIds(String modelIds){
        this.modelIds = modelIds;
    }

    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof SiteEntity) {
            SiteEntity tmp = (SiteEntity) obj;
            if (this.getId() == tmp.getId()) {
                return true;
            }
        }
        return false;
    }

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",siteName:").append(getSiteName());
        sb.append(",siteCode:").append(getSiteCode());
        sb.append(",areaID:").append(getAreaID());
        sb.append(",areaCode:").append(getAreaCode());
        sb.append(",areaName:").append(getAreaName());
        sb.append(",proCode:").append(getProCode());
        sb.append(",cityCode:").append(getCityCode());
        sb.append(",districtCode:").append(getDistrictCode());
        sb.append(",siteIp:").append(getSiteIp());
        sb.append(",sitePort:").append(getSitePort());
        sb.append(",longitude:").append(getLongitude());
        sb.append(",latitude:").append(getLatitude());
        sb.append(",siteTel:").append(getSiteTel());
        sb.append(",detailAddress:").append(getDetailAddress());
        sb.append(",siteRemark:").append(getSiteRemark());
        sb.append(",amWorkStartTime:").append(getAmWorkStartTime());
        sb.append(",amWorkEndTime:").append(getAmWorkEndTime());
        sb.append(",pmWorkStartTime:").append(getPmWorkStartTime());
        sb.append(",pmWorkEndTime:").append(getPmWorkEndTime());
        sb.append(",workday1:").append(getWorkday1());
        sb.append(",workday2:").append(getWorkday2());
        sb.append(",workday3:").append(getWorkday3());
        sb.append(",workday4:").append(getWorkday4());
        sb.append(",workday5:").append(getWorkday5());
        sb.append(",workday6:").append(getWorkday6());
        sb.append(",workday7:").append(getWorkday7());
        sb.append(",level:").append(getLevel());
        sb.append(",building:").append(getBuilding());
        sb.append(",logoPath:").append(getLogoPath());
        sb.append(",englishName:").append(getEnglishName());
        sb.append(",leadingOfficial:").append(getLeadingOfficial());
        sb.append(",leadingOfficialTelephone:").append(getLeadingOfficialTelephone());
        sb.append(",modelIds:").append(getModelIds());
        return sb.toString();
    }

    public void initAttrValue(){

        this.siteName = null;

        this.siteCode = null;

        this.areaID = null;

        this.areaCode = null;

        this.areaName = null;

        this.proCode = null;

        this.cityCode = null;

        this.districtCode = null;

        this.siteIp = null;

        this.sitePort = null;

        this.longitude = null;

        this.latitude = null;

        this.siteTel = null;

        this.detailAddress = null;

        this.siteRemark = null;

        this.amWorkStartTime = null;

        this.amWorkEndTime = null;

        this.pmWorkStartTime = null;

        this.pmWorkEndTime = null;

        this.workday1 = 1;

        this.workday2 = 1;

        this.workday3 = 1;

        this.workday4 = 1;

        this.workday5 = 1;

        this.workday6 = 0;

        this.workday7 = 0;

        this.level = 1;

        this.building = 1;

        this.logoPath = "";

        this.englishName = "";

        this.leadingOfficial = "";

        this.leadingOfficialTelephone = "";

        this.modelIds = "";
    }
}