package com.ym.mec.biz.dal.entity;

import com.ym.mec.biz.dal.enums.KitGroupPurchaseTypeEnum;
import com.ym.mec.biz.dal.enums.SubjectChangeStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@ApiModel(value = "com-ym-SubjectChange")
public class SubjectChange {
    @ApiModelProperty(value = "")
    private Integer id;

    @ApiModelProperty(value = "原始订单id")
    private Integer originalOrderId;

    @ApiModelProperty(value = "合作单位id")
    private Integer cooperationOrganId;

    @ApiModelProperty(value = "合作单位名称")
    private String cooperationOrganName;

    @ApiModelProperty(value = "教务id")
    private Integer eduTeacherId;

    @ApiModelProperty(value = "教务老师")
    private String eduTeacher;

    @ApiModelProperty(value = "学生id")
    private Integer studentId;

    private String studentName;

    @ApiModelProperty(value = "分部id")
    private Integer organId;

    @ApiModelProperty(value = "分部名称")
    private String organName;

    @ApiModelProperty(value = "原始声部id")
    private Integer originalSubjectId;

    @ApiModelProperty(value = "乐团id")
    private String musicGroupId;

    @ApiModelProperty(value = "乐团名称")
    private String musicGroupName;

    /**
     * 原始课程费用
     */
    @ApiModelProperty(value = "原始课程费用")
    private BigDecimal originalCourseFee = BigDecimal.ZERO;



    @ApiModelProperty(value = "原始乐器购买方式")
    private KitGroupPurchaseTypeEnum originalKitGroupPurchaseType;

    /**
     * 原始乐器编号
     */
    @ApiModelProperty(value = "原始乐器编号")
    private Integer originalMusical;

    private Goods originalMusicalGoods;

    /**
     * 原始乐器价格
     */
    @ApiModelProperty(value = "原始乐器价格")
    private BigDecimal originalMusicalPrice = BigDecimal.ZERO;

    /**
     * 辅件ids
     */
    @ApiModelProperty(value = "辅件ids")
    private String originalAccessories;

    private List<Goods> originalAccessoriesGoods;

    /**
     * 辅件价格
     */
    @ApiModelProperty(value = "辅件价格")
    private BigDecimal originalAccessoriesPrice = BigDecimal.ZERO;

    @ApiModelProperty(value = "替换声部id")
    private Integer changeSubjectId;

    /**
     * 替换课程价格
     */
    @ApiModelProperty(value = "替换课程价格")
    private BigDecimal changeCourseFee = BigDecimal.ZERO;

    /**
     * 替换乐器
     */
    @ApiModelProperty(value = "替换乐器")
    private Integer changeMusical;

    private Goods changeMusicalGoods;


    @ApiModelProperty(value = "替换后乐器购买方式")
    private KitGroupPurchaseTypeEnum kitGroupPurchaseType;

    /**
     * 替换乐器价格
     */
    @ApiModelProperty(value = "替换乐器价格")
    private BigDecimal changeMusicalPrice = BigDecimal.ZERO;

    /**
     * 替换辅件
     */
    @ApiModelProperty(value = "替换辅件")
    private String changeAccessories;
    private List<Goods> changeAccessoriesGoods;


    /**
     * 替换辅件价格
     */
    @ApiModelProperty(value = "替换辅件价格")
    private BigDecimal changeAccessoriesPrice = BigDecimal.ZERO;

    /**
     * 乐器辅件差额
     */
    @ApiModelProperty(value = "乐器辅件差额")
    private BigDecimal goodsMargin;

    /**
     * 课程差额
     */
    @ApiModelProperty(value = "课程差额")
    private BigDecimal courseMargin;

    /**
     * 成本差额
     */
    @ApiModelProperty(value = "成本差额")
    private BigDecimal costMargin;


    /**
     * 销售金额（计入销售的金额）
     */
    private BigDecimal sellAmount;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private SubjectChangeStatusEnum status;

    /**
     * 订单id
     */
    private Integer orderId;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 订单流水号
     */
    private String transNo;

    /**
     * 交易方式
     */
    @ApiModelProperty(value = "交易方式")
    private String paymentChannel;

    /**
     * 收款账户
     */
    @ApiModelProperty(value = "收款账户")
    private String merNo;

    /**
     * 销售时间
     */
    @ApiModelProperty(value = "销售时间")
    private Date sellTime;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    private Integer version;

    @ApiModelProperty(value = "原始成本")
    private BigDecimal originalCost = BigDecimal.ZERO;

    @ApiModelProperty(value = "更改后成本")
    private BigDecimal changeCost = BigDecimal.ZERO;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public BigDecimal getOriginalCourseFee() {
        return originalCourseFee;
    }

    public void setOriginalCourseFee(BigDecimal originalCourseFee) {
        this.originalCourseFee = originalCourseFee;
    }

    public Integer getOriginalMusical() {
        return originalMusical;
    }

    public void setOriginalMusical(Integer originalMusical) {
        this.originalMusical = originalMusical;
    }

    public BigDecimal getOriginalMusicalPrice() {
        return originalMusicalPrice;
    }

    public void setOriginalMusicalPrice(BigDecimal originalMusicalPrice) {
        this.originalMusicalPrice = originalMusicalPrice;
    }

    public String getOriginalAccessories() {
        return originalAccessories;
    }

    public void setOriginalAccessories(String originalAccessories) {
        this.originalAccessories = originalAccessories;
    }

    public BigDecimal getOriginalAccessoriesPrice() {
        return originalAccessoriesPrice;
    }

    public void setOriginalAccessoriesPrice(BigDecimal originalAccessoriesPrice) {
        this.originalAccessoriesPrice = originalAccessoriesPrice;
    }

    public BigDecimal getChangeCourseFee() {
        return changeCourseFee;
    }

    public void setChangeCourseFee(BigDecimal changeCourseFee) {
        this.changeCourseFee = changeCourseFee;
    }

    public Integer getChangeMusical() {
        return changeMusical;
    }

    public void setChangeMusical(Integer changeMusical) {
        this.changeMusical = changeMusical;
    }

    public BigDecimal getChangeMusicalPrice() {
        return changeMusicalPrice;
    }

    public void setChangeMusicalPrice(BigDecimal changeMusicalPrice) {
        this.changeMusicalPrice = changeMusicalPrice;
    }

    public String getChangeAccessories() {
        return changeAccessories;
    }

    public void setChangeAccessories(String changeAccessories) {
        this.changeAccessories = changeAccessories;
    }

    public BigDecimal getChangeAccessoriesPrice() {
        return changeAccessoriesPrice;
    }

    public void setChangeAccessoriesPrice(BigDecimal changeAccessoriesPrice) {
        this.changeAccessoriesPrice = changeAccessoriesPrice;
    }

    public BigDecimal getGoodsMargin() {
        return goodsMargin;
    }

    public void setGoodsMargin(BigDecimal goodsMargin) {
        this.goodsMargin = goodsMargin;
    }

    public BigDecimal getCourseMargin() {
        return courseMargin;
    }

    public void setCourseMargin(BigDecimal courseMargin) {
        this.courseMargin = courseMargin;
    }

    public SubjectChangeStatusEnum getStatus() {
        return status;
    }

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

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public Integer getStudentId() {
        return studentId;
    }

    public void setStudentId(Integer studentId) {
        this.studentId = studentId;
    }

    public String getMusicGroupId() {
        return musicGroupId;
    }

    public void setMusicGroupId(String musicGroupId) {
        this.musicGroupId = musicGroupId;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getStudentName() {
        return studentName;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public Goods getOriginalMusicalGoods() {
        return originalMusicalGoods;
    }

    public void setOriginalMusicalGoods(Goods originalMusicalGoods) {
        this.originalMusicalGoods = originalMusicalGoods;
    }

    public List<Goods> getOriginalAccessoriesGoods() {
        return originalAccessoriesGoods;
    }

    public void setOriginalAccessoriesGoods(List<Goods> originalAccessoriesGoods) {
        this.originalAccessoriesGoods = originalAccessoriesGoods;
    }

    public Goods getChangeMusicalGoods() {
        return changeMusicalGoods;
    }

    public void setChangeMusicalGoods(Goods changeMusicalGoods) {
        this.changeMusicalGoods = changeMusicalGoods;
    }

    public List<Goods> getChangeAccessoriesGoods() {
        return changeAccessoriesGoods;
    }

    public void setChangeAccessoriesGoods(List<Goods> changeAccessoriesGoods) {
        this.changeAccessoriesGoods = changeAccessoriesGoods;
    }

    public Integer getOrganId() {
        return organId;
    }

    public void setOrganId(Integer organId) {
        this.organId = organId;
    }

    public Integer getCooperationOrganId() {
        return cooperationOrganId;
    }

    public void setCooperationOrganId(Integer cooperationOrganId) {
        this.cooperationOrganId = cooperationOrganId;
    }

    public BigDecimal getCostMargin() {
        return costMargin;
    }

    public void setCostMargin(BigDecimal costMargin) {
        this.costMargin = costMargin;
    }

    public BigDecimal getSellAmount() {
        return sellAmount;
    }

    public void setSellAmount(BigDecimal sellAmount) {
        this.sellAmount = sellAmount;
    }

    public Date getSellTime() {
        return sellTime;
    }

    public void setSellTime(Date sellTime) {
        this.sellTime = sellTime;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getTransNo() {
        return transNo;
    }

    public void setTransNo(String transNo) {
        this.transNo = transNo;
    }

    public KitGroupPurchaseTypeEnum getKitGroupPurchaseType() {
        return kitGroupPurchaseType;
    }

    public void setKitGroupPurchaseType(KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
        this.kitGroupPurchaseType = kitGroupPurchaseType;
    }

    public BigDecimal getOriginalCost() {
        return originalCost;
    }

    public void setOriginalCost(BigDecimal originalCost) {
        this.originalCost = originalCost;
    }

    public BigDecimal getChangeCost() {
        return changeCost;
    }

    public void setChangeCost(BigDecimal changeCost) {
        this.changeCost = changeCost;
    }

    public String getCooperationOrganName() {
        return cooperationOrganName;
    }

    public void setCooperationOrganName(String cooperationOrganName) {
        this.cooperationOrganName = cooperationOrganName;
    }

    public String getOrganName() {
        return organName;
    }

    public void setOrganName(String organName) {
        this.organName = organName;
    }

    public Integer getOriginalSubjectId() {
        return originalSubjectId;
    }

    public void setOriginalSubjectId(Integer originalSubjectId) {
        this.originalSubjectId = originalSubjectId;
    }

    public Integer getChangeSubjectId() {
        return changeSubjectId;
    }

    public void setChangeSubjectId(Integer changeSubjectId) {
        this.changeSubjectId = changeSubjectId;
    }

    public Integer getEduTeacherId() {
        return eduTeacherId;
    }

    public void setEduTeacherId(Integer eduTeacherId) {
        this.eduTeacherId = eduTeacherId;
    }

    public String getPaymentChannel() {
        return paymentChannel;
    }

    public void setPaymentChannel(String paymentChannel) {
        this.paymentChannel = paymentChannel;
    }

    public String getMerNo() {
        return merNo;
    }

    public void setMerNo(String merNo) {
        this.merNo = merNo;
    }

    public String getMusicGroupName() {
        return musicGroupName;
    }

    public void setMusicGroupName(String musicGroupName) {
        this.musicGroupName = musicGroupName;
    }

    public String getEduTeacher() {
        return eduTeacher;
    }

    public void setEduTeacher(String eduTeacher) {
        this.eduTeacher = eduTeacher;
    }

    public Integer getOriginalOrderId() {
        return originalOrderId;
    }

    public void setOriginalOrderId(Integer originalOrderId) {
        this.originalOrderId = originalOrderId;
    }

    public KitGroupPurchaseTypeEnum getOriginalKitGroupPurchaseType() {
        return originalKitGroupPurchaseType;
    }

    public void setOriginalKitGroupPurchaseType(KitGroupPurchaseTypeEnum originalKitGroupPurchaseType) {
        this.originalKitGroupPurchaseType = originalKitGroupPurchaseType;
    }
}