package com.jeeplus.business.workContractInfo.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.business.workClientInfo.domain.JyWorkClientLinkman;
import com.jeeplus.core.domain.BaseEntity;
import com.jeeplus.core.query.Query;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@TableName("jy_work_contract_info")
public class JyWorkContractInfo extends BaseEntity {
    //合同编号（字典值）
    public static final String BIZ_CODE = "31";

    /**
     * 客户id
     */
    private String clientId;

    /**
     * 客户名称
     */
    @Query(tableColumn = "a.client_name")
    private String clientName;


    /**
     * 合同编号
     */
    private String no;

    /**
     * 合同名称
     */
    @Query(tableColumn = "a.name")
    private String name;

    /**
     * 签订日期
     */
    @Query(tableColumn = "a.contract_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date contractDate;

    /**
     * 合同生效日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date effectiveDate;

    /**
     * 合同终止日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date closingDate;

    /**
     * 合同类型(小类)
     */
    private String contractType;
    /**
     * 合同类型(大类)
     */
    private String contractTypeFirst;
    @TableField(exist = false)
    private List<String> contractTypes;

    /**
     * 合同金额类别
     */
    private String contractAmountType;

    /**
     * 合同金额
     */
    @Query(tableColumn = "a.contract_amount")
    private String contractAmount;

    /**
     * 对方合同编号
     */
    private String contractOpposite;

    /**
     * 收费标准
     */
    private String contractFee;

    private String fees;

    /**
     * 付款摘要
     */
    private String paymentDescribe;

    /**
     * 合同特别条款
     */
    private String contractSpecial;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 归档人
     */
    private String filedBy;

    /**
     * 归档日期
     */
    private String filedDate;

    /**
     * 盒号
     */
    private String filedNo;


    /**
     * 说明
     */
    private String filedRemarks;

    /**
     * 流程id
     */
    private String procInsId;

    private String processDefinitionId;

    /**
     * 状态
     */
    private String status;

    /**
     * 归档状态
     */
    @Query(tableColumn = "a.filed_type")
    private String filedType;

    /**
     * 主委托方
     */
    @Query(tableColumn = "a.primary_linkman")
    private String primaryLinkman;

    /**
     * 主委托方信息
     */
    @TableField(exist = false)
    private List<JyWorkClientLinkman> linkmanList;


    /**
     * 所属部门
     */
    private String department;


    @TableField(exist = false)
    private String[] contractDates;

    @TableField(exist = false)
    private String[] contractAmounts;

    @TableField(exist = false)
    private String taskId;

    @TableField(exist = false)
    private String taskFiledId;


    @TableField(exist = false)
    private String createId;

    @TableField(exist = false)
    private String contractFileId;

    @TableField(exist = false)
    private String statusList;

    /**
     * 数据审核人  合同归档
     */
    @TableField(exist = false)
    private List<String> auditUserIdsFiled;

    /**
     * 创建时间
     */
    @TableField(exist = false)
    private String[] createDates;

    /**
     * 客户联系人id
     */
    @TableField(exist = false)
    private String linkmanId;





}
