package com.phlx.anchorcollect.entity;

import android.os.Parcel;
import android.os.Parcelable;

import androidx.databinding.BaseObservable;

import org.greenrobot.greendao.annotation.Entity;
import org.greenrobot.greendao.annotation.Id;
import org.greenrobot.greendao.annotation.Generated;


/**
 * 基础信息对象 zxgl_cattleresume
 * 
 * @author phlx
 * @date 2022-01-10
 */
@Entity
public class CattleResumeEntity extends BaseObservable implements Parcelable {

    /** unid主键 */
    @Id(autoincrement = false)
    private Long unid;

    /** 电子耳标 */
    private String registrationNo;

    /** 可视耳标 */
    private String individualNo;

    /** 圈舍号 */
    private String circleNo;

    /** 饲养类型;（牛，羊，马） */
    private String raiseType;

    /** 饲养品种;（利木赞，西门塔尔等） */
    private String raiseVarieties;

    /** 出生日期 */
    private String birthdate;

    /** 出生重量 */
    private Double birthHeavy;

    /** 性别 */
    private String sex;

    /** 出生难易度 */
    private String birthDifficulty;

    /** 是否双胎 */
    private String isTwins;

    /** 母本胎次 */
    private String childTime;

    /** 等级 */
    private String grade;

    /** 父登记号 */
    private String fatherReg;

    /** 母登记号 */
    private String motherReg;
    
    /** 祖父号 */
    private String ffNum;

    /** 祖母号 */
    private String fmNum;

    /** 外祖父号 */
    private String mfNum;

    /** 外祖母号 */
    private String mmNum;

    /** 曾祖父 */
    private String fffNum;

    /** 曾祖母 */
    private String ffmNum;

    /** 曾外祖父 */
    private String fmfNum;

    /** 曾外祖母 */
    private String fmmNum;


    /** 外曾祖父 */
    private String mffNum;

    /** 外曾祖母 */
    private String mfmNum;

    /** 外曾外祖父 */
    private String mmfNum;

    /** 外曾外祖母 */
    private String mmmNum;

    /** 离乳重 */
    private Double fromMilkHeavy;

    /** 健康状态 */
    private String health;

    /** 6月龄重 */
    private String junHeavy;

    /** 12月外貌评分 */
    private String decAppScore;

    /** 照片路径;(可以多图片“，”分割) */
    private String photo;

    /** 照片路径, 手持机用*/
    private String photoPath;

    /** 状态（育种，育成，成年;淘汰，出售） */
    private String status;

    /** 是否淘汰;0,在用，1淘汰 */
    private Long isOut;

    /**
     * 母牛年龄
     */
    private Integer age;

    /** 犊牛毛色 */
    private String colour;

    /** 时间戳 */
    private String inputTime;

    /** 部门id */
    private Long deptId;

    /** 所属种蓄站*/
    private Long deptName;

    /** 是否上传 0未上传，1已上传 */
    private String uploadStatus;

    /** 更新时间 */
    private String uploadTime;


    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    private String createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    private String updateTime;

    /** 备注 */
    private String remark;

    public CattleResumeEntity() {
    }

    protected CattleResumeEntity(Parcel in) {
        if (in.readByte() == 0) {
            unid = null;
        } else {
            unid = in.readLong();
        }
        registrationNo = in.readString();
        individualNo = in.readString();
        circleNo = in.readString();
        raiseType = in.readString();
        raiseVarieties = in.readString();
        birthdate = in.readString();
        if (in.readByte() == 0) {
            birthHeavy = null;
        } else {
            birthHeavy = in.readDouble();
        }
        sex = in.readString();
        birthDifficulty = in.readString();
        isTwins = in.readString();
        childTime = in.readString();
        grade = in.readString();
        fatherReg = in.readString();
        motherReg = in.readString();
        ffNum = in.readString();
        fmNum = in.readString();
        mfNum = in.readString();
        mmNum = in.readString();
        fffNum = in.readString();
        ffmNum = in.readString();
        fmfNum = in.readString();
        fmmNum = in.readString();
        mffNum = in.readString();
        mfmNum = in.readString();
        mmfNum = in.readString();
        mmmNum = in.readString();
        if (in.readByte() == 0) {
            fromMilkHeavy = null;
        } else {
            fromMilkHeavy = in.readDouble();
        }
        health = in.readString();
        junHeavy = in.readString();
        decAppScore = in.readString();
        photo = in.readString();
        photoPath = in.readString();
        status = in.readString();
        if (in.readByte() == 0) {
            isOut = null;
        } else {
            isOut = in.readLong();
        }
        if (in.readByte() == 0) {
            age = null;
        } else {
            age = in.readInt();
        }
        colour = in.readString();
        inputTime = in.readString();
        if (in.readByte() == 0) {
            deptId = null;
        } else {
            deptId = in.readLong();
        }
        if (in.readByte() == 0) {
            deptName = null;
        } else {
            deptName = in.readLong();
        }
        uploadStatus = in.readString();
        uploadTime = in.readString();
        createBy = in.readString();
        createTime = in.readString();
        updateBy = in.readString();
        updateTime = in.readString();
        remark = in.readString();
    }

    @Generated(hash = 952388002)
    public CattleResumeEntity(Long unid, String registrationNo, String individualNo, String circleNo,
            String raiseType, String raiseVarieties, String birthdate, Double birthHeavy, String sex,
            String birthDifficulty, String isTwins, String childTime, String grade, String fatherReg,
            String motherReg, String ffNum, String fmNum, String mfNum, String mmNum, String fffNum,
            String ffmNum, String fmfNum, String fmmNum, String mffNum, String mfmNum, String mmfNum,
            String mmmNum, Double fromMilkHeavy, String health, String junHeavy, String decAppScore,
            String photo, String photoPath, String status, Long isOut, Integer age, String colour,
            String inputTime, Long deptId, Long deptName, String uploadStatus, String uploadTime,
            String createBy, String createTime, String updateBy, String updateTime, String remark) {
        this.unid = unid;
        this.registrationNo = registrationNo;
        this.individualNo = individualNo;
        this.circleNo = circleNo;
        this.raiseType = raiseType;
        this.raiseVarieties = raiseVarieties;
        this.birthdate = birthdate;
        this.birthHeavy = birthHeavy;
        this.sex = sex;
        this.birthDifficulty = birthDifficulty;
        this.isTwins = isTwins;
        this.childTime = childTime;
        this.grade = grade;
        this.fatherReg = fatherReg;
        this.motherReg = motherReg;
        this.ffNum = ffNum;
        this.fmNum = fmNum;
        this.mfNum = mfNum;
        this.mmNum = mmNum;
        this.fffNum = fffNum;
        this.ffmNum = ffmNum;
        this.fmfNum = fmfNum;
        this.fmmNum = fmmNum;
        this.mffNum = mffNum;
        this.mfmNum = mfmNum;
        this.mmfNum = mmfNum;
        this.mmmNum = mmmNum;
        this.fromMilkHeavy = fromMilkHeavy;
        this.health = health;
        this.junHeavy = junHeavy;
        this.decAppScore = decAppScore;
        this.photo = photo;
        this.photoPath = photoPath;
        this.status = status;
        this.isOut = isOut;
        this.age = age;
        this.colour = colour;
        this.inputTime = inputTime;
        this.deptId = deptId;
        this.deptName = deptName;
        this.uploadStatus = uploadStatus;
        this.uploadTime = uploadTime;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.remark = remark;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        if (unid == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeLong(unid);
        }
        dest.writeString(registrationNo);
        dest.writeString(individualNo);
        dest.writeString(circleNo);
        dest.writeString(raiseType);
        dest.writeString(raiseVarieties);
        dest.writeString(birthdate);
        if (birthHeavy == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeDouble(birthHeavy);
        }
        dest.writeString(sex);
        dest.writeString(birthDifficulty);
        dest.writeString(isTwins);
        dest.writeString(childTime);
        dest.writeString(grade);
        dest.writeString(fatherReg);
        dest.writeString(motherReg);
        dest.writeString(ffNum);
        dest.writeString(fmNum);
        dest.writeString(mfNum);
        dest.writeString(mmNum);
        dest.writeString(fffNum);
        dest.writeString(ffmNum);
        dest.writeString(fmfNum);
        dest.writeString(fmmNum);
        dest.writeString(mffNum);
        dest.writeString(mfmNum);
        dest.writeString(mmfNum);
        dest.writeString(mmmNum);
        if (fromMilkHeavy == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeDouble(fromMilkHeavy);
        }
        dest.writeString(health);
        dest.writeString(junHeavy);
        dest.writeString(decAppScore);
        dest.writeString(photo);
        dest.writeString(photoPath);
        dest.writeString(status);
        if (isOut == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeLong(isOut);
        }
        if (age == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeInt(age);
        }
        dest.writeString(colour);
        dest.writeString(inputTime);
        if (deptId == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeLong(deptId);
        }
        if (deptName == null) {
            dest.writeByte((byte) 0);
        } else {
            dest.writeByte((byte) 1);
            dest.writeLong(deptName);
        }
        dest.writeString(uploadStatus);
        dest.writeString(uploadTime);
        dest.writeString(createBy);
        dest.writeString(createTime);
        dest.writeString(updateBy);
        dest.writeString(updateTime);
        dest.writeString(remark);
    }

    @Override
    public int describeContents() {
        return 0;
    }

    public static final Creator<CattleResumeEntity> CREATOR = new Creator<CattleResumeEntity>() {
        @Override
        public CattleResumeEntity createFromParcel(Parcel in) {
            return new CattleResumeEntity(in);
        }

        @Override
        public CattleResumeEntity[] newArray(int size) {
            return new CattleResumeEntity[size];
        }
    };

    public Long getUnid() {
        return unid;
    }

    public void setUnid(Long unid) {
        this.unid = unid;
    }

    public String getRegistrationNo() {
        return registrationNo;
    }

    public void setRegistrationNo(String registrationNo) {
        this.registrationNo = registrationNo;
    }

    public String getIndividualNo() {
        return individualNo;
    }

    public void setIndividualNo(String individualNo) {
        this.individualNo = individualNo;
    }

    public String getCircleNo() {
        return circleNo;
    }

    public void setCircleNo(String circleNo) {
        this.circleNo = circleNo;
    }

    public String getRaiseType() {
        return raiseType;
    }

    public void setRaiseType(String raiseType) {
        this.raiseType = raiseType;
    }

    public String getRaiseVarieties() {
        return raiseVarieties;
    }

    public void setRaiseVarieties(String raiseVarieties) {
        this.raiseVarieties = raiseVarieties;
    }

    public String getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(String birthdate) {
        this.birthdate = birthdate;
    }

    public Double getBirthHeavy() {
        return birthHeavy;
    }

    public void setBirthHeavy(Double birthHeavy) {
        this.birthHeavy = birthHeavy;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getBirthDifficulty() {
        return birthDifficulty;
    }

    public void setBirthDifficulty(String birthDifficulty) {
        this.birthDifficulty = birthDifficulty;
    }

    public String getIsTwins() {
        return isTwins;
    }

    public void setIsTwins(String isTwins) {
        this.isTwins = isTwins;
    }

    public String getChildTime() {
        return childTime;
    }

    public void setChildTime(String childTime) {
        this.childTime = childTime;
    }

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public String getFatherReg() {
        return fatherReg;
    }

    public void setFatherReg(String fatherReg) {
        this.fatherReg = fatherReg;
    }

    public String getMotherReg() {
        return motherReg;
    }

    public void setMotherReg(String motherReg) {
        this.motherReg = motherReg;
    }

    public String getFfNum() {
        return ffNum;
    }

    public void setFfNum(String ffNum) {
        this.ffNum = ffNum;
    }

    public String getFmNum() {
        return fmNum;
    }

    public void setFmNum(String fmNum) {
        this.fmNum = fmNum;
    }

    public String getMfNum() {
        return mfNum;
    }

    public void setMfNum(String mfNum) {
        this.mfNum = mfNum;
    }

    public String getMmNum() {
        return mmNum;
    }

    public void setMmNum(String mmNum) {
        this.mmNum = mmNum;
    }

    public String getFffNum() {
        return fffNum;
    }

    public void setFffNum(String fffNum) {
        this.fffNum = fffNum;
    }

    public String getFfmNum() {
        return ffmNum;
    }

    public void setFfmNum(String ffmNum) {
        this.ffmNum = ffmNum;
    }

    public String getFmfNum() {
        return fmfNum;
    }

    public void setFmfNum(String fmfNum) {
        this.fmfNum = fmfNum;
    }

    public String getFmmNum() {
        return fmmNum;
    }

    public void setFmmNum(String fmmNum) {
        this.fmmNum = fmmNum;
    }

    public String getMffNum() {
        return mffNum;
    }

    public void setMffNum(String mffNum) {
        this.mffNum = mffNum;
    }

    public String getMfmNum() {
        return mfmNum;
    }

    public void setMfmNum(String mfmNum) {
        this.mfmNum = mfmNum;
    }

    public String getMmfNum() {
        return mmfNum;
    }

    public void setMmfNum(String mmfNum) {
        this.mmfNum = mmfNum;
    }

    public String getMmmNum() {
        return mmmNum;
    }

    public void setMmmNum(String mmmNum) {
        this.mmmNum = mmmNum;
    }

    public Double getFromMilkHeavy() {
        return fromMilkHeavy;
    }

    public void setFromMilkHeavy(Double fromMilkHeavy) {
        this.fromMilkHeavy = fromMilkHeavy;
    }

    public String getHealth() {
        return health;
    }

    public void setHealth(String health) {
        this.health = health;
    }

    public String getJunHeavy() {
        return junHeavy;
    }

    public void setJunHeavy(String junHeavy) {
        this.junHeavy = junHeavy;
    }

    public String getDecAppScore() {
        return decAppScore;
    }

    public void setDecAppScore(String decAppScore) {
        this.decAppScore = decAppScore;
    }

    public String getPhoto() {
        return photo;
    }

    public void setPhoto(String photo) {
        this.photo = photo;
    }

    public String getPhotoPath() {
        return photoPath;
    }

    public void setPhotoPath(String photoPath) {
        this.photoPath = photoPath;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Long getIsOut() {
        return isOut;
    }

    public void setIsOut(Long isOut) {
        this.isOut = isOut;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getColour() {
        return colour;
    }

    public void setColour(String colour) {
        this.colour = colour;
    }

    public String getInputTime() {
        return inputTime;
    }

    public void setInputTime(String inputTime) {
        this.inputTime = inputTime;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptName() {
        return deptName;
    }

    public void setDeptName(Long deptName) {
        this.deptName = deptName;
    }

    public String getUploadStatus() {
        return uploadStatus;
    }

    public void setUploadStatus(String uploadStatus) {
        this.uploadStatus = uploadStatus;
    }

    public String getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(String uploadTime) {
        this.uploadTime = uploadTime;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public String getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void copyEntity(CattleResumeEntity cre) {

        this.unid= cre.getUnid();
        this.registrationNo= cre.getRegistrationNo();
        this.individualNo= cre.getIndividualNo();
        this.circleNo= cre.getCircleNo();
        this.raiseType= cre.getRaiseType();
        this.raiseVarieties= cre.getRaiseVarieties();
        this.birthdate= cre.getBirthdate();
        this.birthHeavy= cre.getBirthHeavy();
        this.sex= cre.getSex();
        this.birthDifficulty= cre.getBirthDifficulty();
        this.isTwins= cre.getIsTwins();
        this.childTime= cre.getChildTime();
        this.grade= cre.getGrade();
        this.fatherReg= cre.getFatherReg();
        this.motherReg= cre.getMotherReg();
        this.ffNum= cre.getFfNum();
        this.fmNum= cre.getFmNum();
        this.mfNum= cre.getMfNum();
        this.mmNum= cre.getMmNum();
        this.fffNum= cre.getFffNum();
        this.ffmNum= cre.getFfmNum();
        this.fmfNum= cre.getFmfNum();
        this.fmmNum= cre.getFmmNum();
        this.mffNum= cre.getMffNum();
        this.mfmNum= cre.getMfmNum();
        this.mmfNum= cre.getMmfNum();
        this.mmmNum= cre.getMmmNum();
        this.fromMilkHeavy= cre.getFromMilkHeavy();
        this.health= cre.getHealth();
        this.junHeavy= cre.getJunHeavy();
        this.decAppScore= cre.getDecAppScore();
        this.photo= cre.getPhoto();
        this.photoPath= cre.getPhotoPath();
        this.status= cre.getStatus();
        this.isOut= cre.getIsOut();
        this.age= cre.getAge();
        this.colour= cre.getColour();
        this.inputTime= cre.getInputTime();
        this.deptId= cre.getDeptId();
        this.uploadStatus= cre.getUploadStatus();
        this.uploadTime= cre.getUploadTime();
        this.createBy= cre.getCreateBy();
        this.createTime= cre.getCreateTime();
        this.updateBy= cre.getUpdateBy();
        this.updateTime= cre.getUpdateTime();
        this.remark= cre.getRemark();

    }
}
