package cn.ibizlab.humanresource.hrapi.dto;

import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.math.BigInteger;
import java.util.Map;
import java.util.HashMap;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import cn.ibizlab.humanresource.util.domain.DTOBase;
import cn.ibizlab.humanresource.util.domain.DTOClient;
import lombok.Data;

/**
 * 服务DTO对象[HRContractDTO]
 */
@Data
public class HRContractDTO extends DTOBase implements Serializable {

	private static final long serialVersionUID = 1L;

    /**
     * 属性 [CREATEMAN]
     *
     */
    @JSONField(name = "createman")
    @JsonProperty("createman")
    private String createman;

    /**
     * 属性 [HRCONTRACTID]
     *
     */
    @JSONField(name = "hrcontractid")
    @JsonProperty("hrcontractid")
    private String hrcontractid;

    /**
     * 属性 [HRCONTRACTNAME]
     *
     */
    @JSONField(name = "hrcontractname")
    @JsonProperty("hrcontractname")
    private String hrcontractname;

    /**
     * 属性 [CREATEDATE]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "createdate" , format="yyyy-MM-dd HH:mm:ss")
    @JsonProperty("createdate")
    private Timestamp createdate;

    /**
     * 属性 [UPDATEDATE]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "updatedate" , format="yyyy-MM-dd HH:mm:ss")
    @JsonProperty("updatedate")
    private Timestamp updatedate;

    /**
     * 属性 [UPDATEMAN]
     *
     */
    @JSONField(name = "updateman")
    @JsonProperty("updateman")
    private String updateman;

    /**
     * 属性 [HREMPLOYEEID]
     *
     */
    @JSONField(name = "hremployeeid")
    @JsonProperty("hremployeeid")
    private String hremployeeid;

    /**
     * 属性 [HREMPLOYEENAME]
     *
     */
    @JSONField(name = "hremployeename")
    @JsonProperty("hremployeename")
    private String hremployeename;

    /**
     * 属性 [CONTRACTCODE]
     *
     */
    @JSONField(name = "contractcode")
    @JsonProperty("contractcode")
    private String contractcode;

    /**
     * 属性 [CONTRACTMODE]
     *
     */
    @JSONField(name = "contractmode")
    @JsonProperty("contractmode")
    private String contractmode;

    /**
     * 属性 [CONTRACTTYPE]
     *
     */
    @JSONField(name = "contracttype")
    @JsonProperty("contracttype")
    private String contracttype;

    /**
     * 属性 [BEGINTIME]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "begintime" , format="yyyy-MM-dd")
    @JsonProperty("begintime")
    private Timestamp begintime;

    /**
     * 属性 [ENDTIME]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "endtime" , format="yyyy-MM-dd")
    @JsonProperty("endtime")
    private Timestamp endtime;

    /**
     * 属性 [CONTRACTSTATE]
     *
     */
    @JSONField(name = "contractstate")
    @JsonProperty("contractstate")
    private String contractstate;

    /**
     * 属性 [MGRORGANIZATIONID]
     *
     */
    @JSONField(name = "mgrorganizationid")
    @JsonProperty("mgrorganizationid")
    private String mgrorganizationid;

    /**
     * 属性 [MGRORGANIZATIONNAME]
     *
     */
    @JSONField(name = "mgrorganizationname")
    @JsonProperty("mgrorganizationname")
    private String mgrorganizationname;

    /**
     * 属性 [SIGNORGANIZATIONID]
     *
     */
    @JSONField(name = "signorganizationid")
    @JsonProperty("signorganizationid")
    private String signorganizationid;

    /**
     * 属性 [SIGNORGANIZATIONNAME]
     *
     */
    @JSONField(name = "signorganizationname")
    @JsonProperty("signorganizationname")
    private String signorganizationname;

    /**
     * 属性 [PROBATIONTIME]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "probationtime" , format="yyyy-MM-dd")
    @JsonProperty("probationtime")
    private Timestamp probationtime;

    /**
     * 属性 [CONTRACTSIGNTYPE]
     *
     */
    @JSONField(name = "contractsigntype")
    @JsonProperty("contractsigntype")
    private String contractsigntype;

    /**
     * 属性 [MEMO]
     *
     */
    @JSONField(name = "memo")
    @JsonProperty("memo")
    private String memo;

    /**
     * 属性 [CONTRACTSIGNNUM]
     *
     */
    @JSONField(name = "contractsignnum")
    @JsonProperty("contractsignnum")
    private BigInteger contractsignnum;

    /**
     * 属性 [ATTACHMENT]
     *
     */
    @JSONField(name = "attachment")
    @JsonProperty("attachment")
    private String attachment;

    /**
     * 属性 [ORGANIZATIONNAME]
     *
     */
    @JSONField(name = "organizationname")
    @JsonProperty("organizationname")
    private String organizationname;

    /**
     * 属性 [EMPSTATE]
     *
     */
    @JSONField(name = "empstate")
    @JsonProperty("empstate")
    private String empstate;

    /**
     * 属性 [STARTORGTIME]
     *
     */
    @JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
    @JSONField(name = "startorgtime" , format="yyyy-MM-dd")
    @JsonProperty("startorgtime")
    private Timestamp startorgtime;

    /**
     * 属性 [EMPLOYEECODE]
     *
     */
    @JSONField(name = "employeecode")
    @JsonProperty("employeecode")
    private String employeecode;

    /**
     * 属性 [WORKCONTENT]
     *
     */
    @JSONField(name = "workcontent")
    @JsonProperty("workcontent")
    private String workcontent;


    /**
     * 设置 [HRCONTRACTNAME]
     */
    public void setHrcontractname(String  hrcontractname){
        this.hrcontractname = hrcontractname ;
        this.modify("hrcontractname",hrcontractname);
    }

    /**
     * 设置 [HREMPLOYEEID]
     */
    public void setHremployeeid(String  hremployeeid){
        this.hremployeeid = hremployeeid ;
        this.modify("hremployeeid",hremployeeid);
    }

    /**
     * 设置 [CONTRACTCODE]
     */
    public void setContractcode(String  contractcode){
        this.contractcode = contractcode ;
        this.modify("contractcode",contractcode);
    }

    /**
     * 设置 [CONTRACTMODE]
     */
    public void setContractmode(String  contractmode){
        this.contractmode = contractmode ;
        this.modify("contractmode",contractmode);
    }

    /**
     * 设置 [CONTRACTTYPE]
     */
    public void setContracttype(String  contracttype){
        this.contracttype = contracttype ;
        this.modify("contracttype",contracttype);
    }

    /**
     * 设置 [BEGINTIME]
     */
    public void setBegintime(Timestamp  begintime){
        this.begintime = begintime ;
        this.modify("begintime",begintime);
    }

    /**
     * 设置 [ENDTIME]
     */
    public void setEndtime(Timestamp  endtime){
        this.endtime = endtime ;
        this.modify("endtime",endtime);
    }

    /**
     * 设置 [CONTRACTSTATE]
     */
    public void setContractstate(String  contractstate){
        this.contractstate = contractstate ;
        this.modify("contractstate",contractstate);
    }

    /**
     * 设置 [MGRORGANIZATIONID]
     */
    public void setMgrorganizationid(String  mgrorganizationid){
        this.mgrorganizationid = mgrorganizationid ;
        this.modify("mgrorganizationid",mgrorganizationid);
    }

    /**
     * 设置 [SIGNORGANIZATIONID]
     */
    public void setSignorganizationid(String  signorganizationid){
        this.signorganizationid = signorganizationid ;
        this.modify("signorganizationid",signorganizationid);
    }

    /**
     * 设置 [PROBATIONTIME]
     */
    public void setProbationtime(Timestamp  probationtime){
        this.probationtime = probationtime ;
        this.modify("probationtime",probationtime);
    }

    /**
     * 设置 [CONTRACTSIGNTYPE]
     */
    public void setContractsigntype(String  contractsigntype){
        this.contractsigntype = contractsigntype ;
        this.modify("contractsigntype",contractsigntype);
    }

    /**
     * 设置 [MEMO]
     */
    public void setMemo(String  memo){
        this.memo = memo ;
        this.modify("memo",memo);
    }

    /**
     * 设置 [CONTRACTSIGNNUM]
     */
    public void setContractsignnum(BigInteger  contractsignnum){
        this.contractsignnum = contractsignnum ;
        this.modify("contractsignnum",contractsignnum);
    }

    /**
     * 设置 [ATTACHMENT]
     */
    public void setAttachment(String  attachment){
        this.attachment = attachment ;
        this.modify("attachment",attachment);
    }

    /**
     * 设置 [WORKCONTENT]
     */
    public void setWorkcontent(String  workcontent){
        this.workcontent = workcontent ;
        this.modify("workcontent",workcontent);
    }


}

