package com.mortals.xhx.module.matter.model;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.math.BigDecimal;
import cn.hutool.core.date.DateUtil;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.matter.model.vo.MatterVo;
import lombok.Data;
/**
 * 基础事项实体对象
 *
 * @author zxfei
 * @date 2025-03-15
 */
@Data
public class MatterEntity extends MatterVo {
    private static final long serialVersionUID = 1L;

    /**
     * 站点ID
     */
    private Long siteId;
    /**
     * 从政务系统来的事项id
     */
    private String tid;
    /**
     * 从政务系统来的事项code
     */
    private String tcode;
    /**
     * 从政务系统来的事项name
     */
    private String tname;
    /**
     * 事项名称
     */
    private String matterName;
    /**
     * 英语事项名
     */
    private String englishName;
    /**
     * 事项编号
     */
    private String matterNo;
    /**
     * 区域编码
     */
    private String areaCode;
    /**
     * 部门编号
     */
    private String deptCode;
    /**
     * 行政权力编号
     */
    private String powerCode;
    /**
     * 主题编号
     */
    private String themeCode;
    /**
     * 服务类型编号
     */
    private String usertypeCode;
    /**
     * 事项组名
     */
    private String groupName;
    /**
     * 事项详情链接
     */
    private String url;
    /**
     * 是否获取事项详情
     */
    private String haveGetMatterInfo;
    /**
     * 所属部门
     */
    private String belongDept;
    /**
     * 服务对象 （事业法人.事业法人，社会组织法人.社会组织法人，非法人企业.非法人企业，企业法人.企业法人，自然人.自然人，其他组织.其他组织）
     */
    private String appoveObjectShow;
    /**
     * 通办范围 （无.无，全国.全国，全市.全市，全县.全县，全镇[乡 街道].全镇[乡 街道]，跨村[社区].跨村[社区]）
     */
    private String operatScopeShow;
    /**
     * 办件类型（网络办件.网络办件，行政审批一般件.行政审批一般件，综合窗口件.综合窗口件）
     */
    private String appoveTimeLimitShow;
    /**
     * 办理形式（窗口办理.窗口办理，网上办理.网上办理）
     */
    private String handleType;
    /**
     * 法定办结时限
     */
    private String legalTimeLimitShow;
    /**
     * 法定时限办结说明
     */
    private String legalEndExplain;
    /**
     * 承诺办结时限
     */
    private String promiseTimeLimitShow;
    /**
     * 承诺时限办结说明
     */
    private String promiseEndExplain;
    /**
     * 是否收费（否.否，是.是）
     */
    private String isChargesShow;
    /**
     * 认证等级需求（实名认证.实名认证，单次面签.单次面签，每次面签.每次面签）
     */
    private String certificationLevelsShow;
    /**
     * 计划生效日期
     */
    private Date planTakeTime;
    /**
     * 承诺生效日期
     */
    private Date promiseTakeTime;
    /**
     * 特别程序
     */
    private String specialProcedure;
    /**
     * 窗口到现场次数
     */
    private Integer windowToTheSceneNum;
    /**
     * 是否网上预约,窗口办理选（否.否，是.是）
     */
    private String isOnlineSubscribeShow;
    /**
     * 物流快递,窗口办理选（否.否，是.是）
     */
    private String isExpressTakeShow;
    /**
     * 是否支持全省范围就近取件（否.否，是.是）
     */
    private String isProvinceAcquisitionShow;
    /**
     * 是否支持全省范围就近办理（否.否，是.是）
     */
    private String isApplyProvinceShow;
    /**
     * 必须到现场原因
     */
    private String mustSceneExplain;
    /**
     * 网办类型（原件预审.原件预审，原件核验.原件核验，全程网办.全程网办）
     */
    private String onlineType;
    /**
     * 网办到现场次数
     */
    private Integer onlineToTheSceneNum;
    /**
     * 网络办理深度（互联网咨询.互联网咨询，互联网收件.互联网收件，互联网预审.互联网预审，互联网受理.互联网受理，互联网办理.互联网办理，互联网办理结果信息反馈.互联网办理结果信息反馈，其他.其他）
     */
    private String onlineOperatDeep;
    /**
     * 物流快递，网上办理选（否.否，是.是）
     */
    private String isExpressTakeOnlineShow;
    /**
     * 是否支持上门收取申请（否.否，是.是）
     */
    private String isDoorTakeShow;
    /**
     * 网上必须到现场原因
     */
    private String onlineMustSceneExplain;
    /**
     * 实施主体
     */
    private String performDeptType;
    /**
     * 事项版本
     */
    private String matterEdition;
    /**
     * 事项类型名称（行政许可.行政许可，行政处罚.行政处罚，行政强制.行政强制，行政征收.行政征收，行政给付.行政给付，行政检查.行政检查，行政确认.行政确认，行政奖励.行政奖励，行政裁决.行政裁决，其他行政权力.其他行政权力，主动服务.主动服务，依申请服务.依申请服务，咨询查询.咨询查询，未归类事项.未归类事项）
     */
    private String eventTypeShow;
    /**
     * 行使层级名称（省级.省级，市级.市级，县级.县级，镇[乡 街道].镇[乡 街道]，村[社区]级.村[社区]级）
     */
    private String performHierarchyShow;
    /**
     * 权力来源（法定本级行使.法定本级行使，上级下放.上级下放，上级授权.上级授权，同级授权.同级授权，上级委托.上级委托，同级委托.同级委托）
     */
    private String powerSourceShow;
    /**
     * 实施主体性质（法定机关.法定机关，授权组织.授权组织，受委托组织.受委托组织）
     */
    private String performDeptTypeShow;
    /**
     * 是否进驻中心（否.否，是.是）
     */
    private String goveServiceCenterShow;
    /**
     * 是否纳入便民服务中心（否.否，是.是）
     */
    private String isConvenientCenterShow;
    /**
     * 自助终端办理 （否.否，是.是）
     */
    private String terminalHandle;
    /**
     * 是否网办 （否.否，是.是）
     */
    private String isOnline;
    /**
     * 支持网上支付（否.否，是.是）
     */
    private String isOnlinePayShow;
    /**
     * 委托部门（否.否，是.是）
     */
    private String entrustmentDepartmen;
    /**
     * 联办机构
     */
    private String jointInfoShow;
    /**
     * 事项状态（停用.停用，在用.在用）
     */
    private String matterStatus;
    /**
     * 数量限制
     */
    private Long numberLimit;
    /**
     * 主题类型
     */
    private String type;
    /**
     * 基本编码
     */
    private String baseCode;
    /**
     * 实施编码
     */
    private String implementCode;
    /**
     * 实施主体编码
     */
    private String implementBodyCode;
    /**
     * 办理项编码
     */
    private String operateItemCode;
    /**
     * 乡镇街道名称
     */
    private String townshipName;
    /**
     * 乡镇街道代码
     */
    private String townshipCode;
    /**
     * 村居社区名称
     */
    private String villageName;
    /**
     * 村居社区代码
     */
    private String villageCode;
    /**
     * 办理时间
     */
    private String operateTime;
    /**
     * 办理地点
     */
    private String operateSite;
    /**
     * 咨询方式
     */
    private String cousultingShow;
    /**
     * 咨询电话
     */
    private String cousultingTelephoneShow;
    /**
     * 监督投诉方式
     */
    private String superviseShow;
    /**
     * 排序
     */
    private Integer sort;
    /**
     * 事项来源(0.政务网，1.自定义)
     */
    private Integer source;
    /**
     * 部门名称
     */
    private String deptName;
    /**
     * 评价地址
     */
    private String evaluationUrl;
    /**
     * 申请地址
     */
    private String netApplyUrl;
    /**
     * 区域名称
     */
    private String areaName;
    /**
     * 区域等级(1.省，2.地市州，3.区县，4.街道，5.社区)
     */
    private Integer areaLevel;
    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }
    @Override
    public boolean equals(Object obj) {
        if (obj == null) return false;
        if (obj instanceof MatterEntity) {
            MatterEntity tmp = (MatterEntity) obj;
            if (this.getId() == tmp.getId()) {
                return true;
            }
        }
        return false;
    }

    public void initAttrValue(){
        this.siteId = null;
        this.tid = "";
        this.tcode = "";
        this.tname = "";
        this.matterName = "";
        this.englishName = "";
        this.matterNo = "";
        this.areaCode = "";
        this.deptCode = "";
        this.powerCode = "";
        this.themeCode = "";
        this.usertypeCode = "";
        this.groupName = "";
        this.url = "";
        this.haveGetMatterInfo = "";
        this.belongDept = "";
        this.appoveObjectShow = "事业法人";
        this.operatScopeShow = "无";
        this.appoveTimeLimitShow = "网络办件";
        this.handleType = "窗口办理";
        this.legalTimeLimitShow = "";
        this.legalEndExplain = "";
        this.promiseTimeLimitShow = "";
        this.promiseEndExplain = "";
        this.isChargesShow = "否";
        this.certificationLevelsShow = "实名认证";
        this.planTakeTime = null;
        this.promiseTakeTime = null;
        this.specialProcedure = "";
        this.windowToTheSceneNum = 0;
        this.isOnlineSubscribeShow = "否";
        this.isExpressTakeShow = "否";
        this.isProvinceAcquisitionShow = "否";
        this.isApplyProvinceShow = "否";
        this.mustSceneExplain = "";
        this.onlineType = "原件预审";
        this.onlineToTheSceneNum = 0;
        this.onlineOperatDeep = "互联网咨询";
        this.isExpressTakeOnlineShow = "";
        this.isDoorTakeShow = "否";
        this.onlineMustSceneExplain = "";
        this.performDeptType = "";
        this.matterEdition = "";
        this.eventTypeShow = "行政许可";
        this.performHierarchyShow = "";
        this.powerSourceShow = "";
        this.performDeptTypeShow = "";
        this.goveServiceCenterShow = "否";
        this.isConvenientCenterShow = "否";
        this.terminalHandle = "是";
        this.isOnline = "是";
        this.isOnlinePayShow = "是";
        this.entrustmentDepartmen = "是";
        this.jointInfoShow = "";
        this.matterStatus = "在用";
        this.numberLimit = null;
        this.type = "";
        this.baseCode = "";
        this.implementCode = "";
        this.implementBodyCode = "";
        this.operateItemCode = "";
        this.townshipName = "";
        this.townshipCode = "";
        this.villageName = "";
        this.villageCode = "";
        this.operateTime = "";
        this.operateSite = "";
        this.cousultingShow = "";
        this.cousultingTelephoneShow = "";
        this.superviseShow = "";
        this.sort = 0;
        this.source = 1;
        this.deptName = "";
        this.evaluationUrl = "";
        this.netApplyUrl = "";
        this.areaName = "";
        this.areaLevel = 0;
    }
}