package cn.ezhizao.project.business.order.domain.vo;

import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
import cn.ezhizao.framework.web.domain.BaseEntity;
import cn.ezhizao.project.business.order.domain.BizArchiveInputDetail;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@Data
public class InputVo extends BaseEntity {

    /**
     * 档案编码
     */
    @ApiModelProperty(value = "档案编码")
    private String archiveCode;

    /**
     * 客户外键
     */
    @ApiModelProperty(value = "档案编码")
    private Long companyId;

    @ApiModelProperty("变更来源外键")
    private Long fromId;


    private String companyName;


    private String socialCreditCode;

    @ApiModelProperty("签单人")
    private Long signerId;

    @ApiModelProperty(value = "凭证图片路径")
    private String proofUrl;
    private String signerName;

    /**
     * 档案类型id
     */
    @ApiModelProperty(value = "档案编码")
    private Long archiveTypeId;

    /**
     * 开始月
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startMonth;

    /**
     * 结束月
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endMonth;

    /**
     * 库位外键
     */
    @ApiModelProperty(value = "结束月")
    private Long locationId;

    /**
     * 入库人外键
     */
    @ApiModelProperty(value = "入库人外键")
    private Long inputEmployeeId;



    @ApiModelProperty("变更类型")

    private String alterType;
    /**
     * 合同编号
     */
    @Excel(name = "合同编号")
    @ApiModelProperty(value = "合同编号")
    private String contractNo;

    /**
     * 签约日期
     */
    @ApiModelProperty(value = "签约日期")
    private List<String> formDate;

    /**
     * 签约金额
     */
    @Excel(name = "签约金额")
    @ApiModelProperty(value = "签约金额")
    private BigDecimal amount;

    /**
     * 优惠金额
     **/
    @Excel(name = "优惠金额")
    @ApiModelProperty("优惠金额")
    private BigDecimal discountAmount;

    /**
     * 优惠金额
     **/
    @Excel(name = "实付金额")
    @ApiModelProperty("实付金额")
    private BigDecimal trueAmount;

    /**
     * 合同审核状态
     */
    @Excel(name = "合同审核状态")
    @ApiModelProperty(value = "合同审核状态")
    private Integer verifyStatus;

    /**
     * 合同类型
     */
    @Excel(name = "合同类型", readConverterExp = "0=新签,1=续签")
    @ApiModelProperty(value = "合同类型")
    private Integer contractType;

    @Excel(name = "任务类型", readConverterExp = "1=循环,2=单次")
    @ApiModelProperty("任务类型")
    private Integer serviceType;

    /**
     * 证照类型
     */
    @ApiModelProperty(value = "证照类型")
    private Long certificateTypeId;

    /**
     * 出库时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date outputDate;

    private Long tenantId;

    /**
     * 月数
     */

    private Long monthNum;

    /**
     * 审核备注
     */

    private String verifyRemark;


    private List<BizArchiveInputDetail> details;

    private Long sourceCategoryId;


    private String sourceCategoryName;


    private String sourceName;

    private String referrerDataSource;

    private Long sourceId;

    private Integer status;


    private Integer dissolution;
    private Integer alterNumber;
    private Integer isKeepAccount;
    private Integer isSocialSecurity;
    private Integer isHousingFund;
    private Integer isReturnTax;
    private Integer isRegister;
    private Integer isAlter;
    private Integer isLogout;
    private Integer isQualified;
    private Integer isOther;
    private List<Long> customerLabelId;
    private String boss;
    private String contactNo;
    private String oldName;
}
