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

import com.mortals.xhx.module.matter.model.vo.MatterDatumVo;

import java.util.ArrayList;
import java.util.List;
/**
 * 事项申请材料实体对象
 *
 * @author zxfei
 * @date 2022-11-16
 */

public class MatterDatumEntity extends MatterDatumVo {
    private static final long serialVersionUID = 1L;

    /**
     * 事项id
     */
    private Long matterId;
    /**
     * 事项编码
     */
    private String matterCode;
    /**
     * 事项名称
     */
    private String matterName;
    /**
     * 材料名
     */
    private String materialName;
    /**
     * 必交性（非必要.非必要，必要.必要，必要|容缺后补.必要|容缺后补，非必要|容缺后补.非必要|容缺后补）
     */
    private String isMust;
    /**
     * 材料类型（无.无，原件.原件，复印件.复印件，原件和复印件.原件和复印件)
     */
    private String materialType;
    /**
     * 材料形式（纸质.纸质，电子.电子，纸质|电子.纸质|电子）
     */
    private String materialProperty;
    /**
     * 电子材料格式（无.无，不限.不限，jpg.jpg，jpeg.jpeg，pdf.pdf，word.word，pdf|jpg|jpeg.pdf|jpg|jpeg，pdf|jpg.pdf|jpg）
     */
    private String electronicgs;
    /**
     * 材料来源渠道（无.无，申请人自备.申请人自备，政府部门核发.政府部门核发，其他.其他）
     */
    private String materialSource;
    /**
     * 纸质材料份数
     */
    private Integer paperNum;
    /**
     * 纸质材料规格
     */
    private String paperGg;
    /**
     * 减免模式（无.无，减.减，免.免）
     */
    private String jianmMs;
    /**
     * 盖章方式
     */
    private String sealWay;
    /**
     * 是否减免（否.否，是.是）
     */
    private String isjianm;
    /**
     * 材料是否容缺（必要.必要，非必要.非必要）
     */
    private String isLack;
    /**
     * 材料地址
     */
    private String ybUrl;
    /**
     * 来源渠道说明
     */
    private String materialSourceSm;
    /**
     * 填报须知
     */
    private String remarkSub;
    /**
     * 要求提供材料的依据
     */
    private String clauseContent;
    /**
     * 受理标准
     */
    private String summary;
    /**
     * 备注
     */
    private String remark;
    /**
     * 事项来源(0.政务网，1.自定义)
     */
    private Integer source;

    /**
     * 材料附件信息
     */
    private List<MatterDatumFileEntity> matterDatumFileList=new ArrayList<>();;


    public MatterDatumEntity(){}
    /**
     * 获取 事项id
     * @return Long
     */
    public Long getMatterId(){
        return matterId;
    }
    /**
     * 设置 事项id
     * @param matterId
     */
    public void setMatterId(Long matterId){
        this.matterId = matterId;
    }
    /**
     * 获取 事项编码
     * @return String
     */
    public String getMatterCode(){
        return matterCode;
    }
    /**
     * 设置 事项编码
     * @param matterCode
     */
    public void setMatterCode(String matterCode){
        this.matterCode = matterCode;
    }
    /**
     * 获取 事项名称
     * @return String
     */
    public String getMatterName(){
        return matterName;
    }
    /**
     * 设置 事项名称
     * @param matterName
     */
    public void setMatterName(String matterName){
        this.matterName = matterName;
    }
    /**
     * 获取 材料名
     * @return String
     */
    public String getMaterialName(){
        return materialName;
    }
    /**
     * 设置 材料名
     * @param materialName
     */
    public void setMaterialName(String materialName){
        this.materialName = materialName;
    }
    /**
     * 获取 必交性（非必要.非必要，必要.必要，必要|容缺后补.必要|容缺后补，非必要|容缺后补.非必要|容缺后补）
     * @return String
     */
    public String getIsMust(){
        return isMust;
    }
    /**
     * 设置 必交性（非必要.非必要，必要.必要，必要|容缺后补.必要|容缺后补，非必要|容缺后补.非必要|容缺后补）
     * @param isMust
     */
    public void setIsMust(String isMust){
        this.isMust = isMust;
    }
    /**
     * 获取 材料类型（无.无，原件.原件，复印件.复印件，原件和复印件.原件和复印件)
     * @return String
     */
    public String getMaterialType(){
        return materialType;
    }
    /**
     * 设置 材料类型（无.无，原件.原件，复印件.复印件，原件和复印件.原件和复印件)
     * @param materialType
     */
    public void setMaterialType(String materialType){
        this.materialType = materialType;
    }
    /**
     * 获取 材料形式（纸质.纸质，电子.电子，纸质|电子.纸质|电子）
     * @return String
     */
    public String getMaterialProperty(){
        return materialProperty;
    }
    /**
     * 设置 材料形式（纸质.纸质，电子.电子，纸质|电子.纸质|电子）
     * @param materialProperty
     */
    public void setMaterialProperty(String materialProperty){
        this.materialProperty = materialProperty;
    }
    /**
     * 获取 电子材料格式（无.无，不限.不限，jpg.jpg，jpeg.jpeg，pdf.pdf，word.word，pdf|jpg|jpeg.pdf|jpg|jpeg，pdf|jpg.pdf|jpg）
     * @return String
     */
    public String getElectronicgs(){
        return electronicgs;
    }
    /**
     * 设置 电子材料格式（无.无，不限.不限，jpg.jpg，jpeg.jpeg，pdf.pdf，word.word，pdf|jpg|jpeg.pdf|jpg|jpeg，pdf|jpg.pdf|jpg）
     * @param electronicgs
     */
    public void setElectronicgs(String electronicgs){
        this.electronicgs = electronicgs;
    }
    /**
     * 获取 材料来源渠道（无.无，申请人自备.申请人自备，政府部门核发.政府部门核发，其他.其他）
     * @return String
     */
    public String getMaterialSource(){
        return materialSource;
    }
    /**
     * 设置 材料来源渠道（无.无，申请人自备.申请人自备，政府部门核发.政府部门核发，其他.其他）
     * @param materialSource
     */
    public void setMaterialSource(String materialSource){
        this.materialSource = materialSource;
    }
    /**
     * 获取 纸质材料份数
     * @return Integer
     */
    public Integer getPaperNum(){
        return paperNum;
    }
    /**
     * 设置 纸质材料份数
     * @param paperNum
     */
    public void setPaperNum(Integer paperNum){
        this.paperNum = paperNum;
    }
    /**
     * 获取 纸质材料规格
     * @return String
     */
    public String getPaperGg(){
        return paperGg;
    }
    /**
     * 设置 纸质材料规格
     * @param paperGg
     */
    public void setPaperGg(String paperGg){
        this.paperGg = paperGg;
    }
    /**
     * 获取 减免模式（无.无，减.减，免.免）
     * @return String
     */
    public String getJianmMs(){
        return jianmMs;
    }
    /**
     * 设置 减免模式（无.无，减.减，免.免）
     * @param jianmMs
     */
    public void setJianmMs(String jianmMs){
        this.jianmMs = jianmMs;
    }
    /**
     * 获取 盖章方式
     * @return String
     */
    public String getSealWay(){
        return sealWay;
    }
    /**
     * 设置 盖章方式
     * @param sealWay
     */
    public void setSealWay(String sealWay){
        this.sealWay = sealWay;
    }
    /**
     * 获取 是否减免（否.否，是.是）
     * @return String
     */
    public String getIsjianm(){
        return isjianm;
    }
    /**
     * 设置 是否减免（否.否，是.是）
     * @param isjianm
     */
    public void setIsjianm(String isjianm){
        this.isjianm = isjianm;
    }
    /**
     * 获取 材料是否容缺（必要.必要，非必要.非必要）
     * @return String
     */
    public String getIsLack(){
        return isLack;
    }
    /**
     * 设置 材料是否容缺（必要.必要，非必要.非必要）
     * @param isLack
     */
    public void setIsLack(String isLack){
        this.isLack = isLack;
    }
    /**
     * 获取 材料地址
     * @return String
     */
    public String getYbUrl(){
        return ybUrl;
    }
    /**
     * 设置 材料地址
     * @param ybUrl
     */
    public void setYbUrl(String ybUrl){
        this.ybUrl = ybUrl;
    }
    /**
     * 获取 来源渠道说明
     * @return String
     */
    public String getMaterialSourceSm(){
        return materialSourceSm;
    }
    /**
     * 设置 来源渠道说明
     * @param materialSourceSm
     */
    public void setMaterialSourceSm(String materialSourceSm){
        this.materialSourceSm = materialSourceSm;
    }
    /**
     * 获取 填报须知
     * @return String
     */
    public String getRemarkSub(){
        return remarkSub;
    }
    /**
     * 设置 填报须知
     * @param remarkSub
     */
    public void setRemarkSub(String remarkSub){
        this.remarkSub = remarkSub;
    }
    /**
     * 获取 要求提供材料的依据
     * @return String
     */
    public String getClauseContent(){
        return clauseContent;
    }
    /**
     * 设置 要求提供材料的依据
     * @param clauseContent
     */
    public void setClauseContent(String clauseContent){
        this.clauseContent = clauseContent;
    }
    /**
     * 获取 受理标准
     * @return String
     */
    public String getSummary(){
        return summary;
    }
    /**
     * 设置 受理标准
     * @param summary
     */
    public void setSummary(String summary){
        this.summary = summary;
    }
    /**
     * 获取 备注
     * @return String
     */
    public String getRemark(){
        return remark;
    }
    /**
     * 设置 备注
     * @param remark
     */
    public void setRemark(String remark){
        this.remark = remark;
    }
    /**
     * 获取 事项来源(0.政务网，1.自定义)
     * @return Integer
     */
    public Integer getSource(){
        return source;
    }
    /**
     * 设置 事项来源(0.政务网，1.自定义)
     * @param source
     */
    public void setSource(Integer source){
        this.source = source;
    }


    public List<MatterDatumFileEntity> getMatterDatumFileList(){
        return matterDatumFileList;
    }

    public void setMatterDatumFileList(List<MatterDatumFileEntity> matterDatumFileList){
        this.matterDatumFileList = matterDatumFileList;
    }


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

    public String toString(){
        StringBuilder sb = new StringBuilder("");
        sb.append(",matterId:").append(getMatterId());
        sb.append(",matterCode:").append(getMatterCode());
        sb.append(",matterName:").append(getMatterName());
        sb.append(",materialName:").append(getMaterialName());
        sb.append(",isMust:").append(getIsMust());
        sb.append(",materialType:").append(getMaterialType());
        sb.append(",materialProperty:").append(getMaterialProperty());
        sb.append(",electronicgs:").append(getElectronicgs());
        sb.append(",materialSource:").append(getMaterialSource());
        sb.append(",paperNum:").append(getPaperNum());
        sb.append(",paperGg:").append(getPaperGg());
        sb.append(",jianmMs:").append(getJianmMs());
        sb.append(",sealWay:").append(getSealWay());
        sb.append(",isjianm:").append(getIsjianm());
        sb.append(",isLack:").append(getIsLack());
        sb.append(",ybUrl:").append(getYbUrl());
        sb.append(",materialSourceSm:").append(getMaterialSourceSm());
        sb.append(",remarkSub:").append(getRemarkSub());
        sb.append(",clauseContent:").append(getClauseContent());
        sb.append(",summary:").append(getSummary());
        sb.append(",remark:").append(getRemark());
        sb.append(",source:").append(getSource());
        return sb.toString();
    }

    public void initAttrValue(){

        this.matterId = null;

        this.matterCode =  "";

        this.matterName =  "";

        this.materialName = "";

        this.isMust = "非必要";

        this.materialType = "无";

        this.materialProperty = "纸质";

        this.electronicgs = "无";

        this.materialSource = "无";

        this.paperNum = 1;

        this.paperGg =  "";

        this.jianmMs = "无";

        this.sealWay =  "";

        this.isjianm = "是";

        this.isLack = "必要";

        this.ybUrl = "";

        this.materialSourceSm = "";

        this.remarkSub =  "";

        this.clauseContent =  "";

        this.summary =  "";

        this.remark = "";

        this.source = 1;
    }
}