package io.renren.modules.business.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 审批数据接收表
 *
 * @author jiaqiao
 * @email jiaqiao@163.com
 * @date 2022-08-10 18:46:32
 */
@Data
@TableName("business_approval")
public class BusinessApprovalEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Integer id;
    /**
     * 业务id
     */
    private Integer approvalId;
    /**
     * 业务父id
     */
    private Integer approvalFatherId;
    /**
     * 业务名称
     */
    private String approvalName;
    /**
     * 业务原始数据
     */
    private String approvalOldData;
    /**
     * 业务数据
     */
    private String approvalData;
    /**
     * 子信息原始数据(1对1)
     */
    private String approvalSonOldData;
    /**
     * 子信息数据(1对1)
     */
    private String approvalSonData;
    /**
     * 申请人
     */
    private String approvalApply;
    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date approvalApplyDate;
    /**
     * 出勤原始记录时间
     */
    @JsonFormat(pattern = "yyyy-MM", timezone = "GMT+8")
    private Date approvalCqTime;
    /**
     * 业务类型（0-工人管理,1-地点名称管理，2-明日计划管理，3-今日总结管理)
     */
    private Integer approvalType;
    /**
     * 审批是否通过（0-未通过，1-通过）
     */
    private Integer approvalSuccess;

    @TableId
    @TableField(exist = false)
    private Integer userId;
    /**
     * 工人姓名
     */
    @TableField(exist = false)
    private String name;
    /**
     * 工人性别
     */
    @TableField(exist = false)
    private Integer sex;
    /**
     * 出生日期
     */
    @TableField(exist = false)
    private String birthday;
    /**
     * 户籍
     */
    @TableField(exist = false)
    private String register;
    /**
     * 年龄
     */
    @TableField(exist = false)
    private String age;
    /**
     * 身份证号
     */
    @TableField(exist = false)
    private String card;
    /**
     * 电话号
     */
    @TableField(exist = false)
    private String phone;
    /**
     * 家庭地址
     */
    @TableField(exist = false)
    private String addr;
    /**
     * 文化程度
     */
    @TableField(exist = false)
    private String education;
    /**
     * 身高
     */
    @TableField(exist = false)
    private Double height;
    /**
     * 体重
     */
    @TableField(exist = false)
    private Double weight;
    /**
     * 应急联系人
     */
    @TableField(exist = false)
    private String urgentName;
    /**
     * 与本人关系
     */
    @TableField(exist = false)
    private String urgentRelation;
    /**
     * 紧急联系人电话
     */
    @TableField(exist = false)
    private String urgentPhone;
    /**
     * 类别id
     */
    @TableField(exist = false)
    private Integer typeId;
    /**
     * 类别名称（内部、外雇等）
     */
    @TableField(exist = false)
    private String typeName;
    /**
     * 工日系数
     */
    @TableField(exist = false)
    private Integer workDay;
    /**
     * 位置id
     */
    @TableField(exist = false)
    private Integer positionId;
    /**
     * 职位id
     */
    @TableField(exist = false)
    private Integer workId;
    /**
     * 成本折算系数
     */
    @TableField(exist = false)
    private String cbzsxs;
    /**
     * 是否删除 0-代表正常 1-代表删除
     */
    @TableField(exist = false)
    private Integer status;
    /**
     * 本人照片
     */
    @TableField(exist = false)
    private String image;
    /**
     * 身份证正面
     */
    @TableField(exist = false)
    private String imageFront;
    /**
     * 身份证背面
     */
    @TableField(exist = false)
    private String imageBack;
    /**
     * 银行卡照片
     */
    @TableField(exist = false)
    private String bankImage;
    /**
     * 银行卡姓名
     */
    @TableField(exist = false)
    private String bankName;
    /**
     * 开户行
     */
    @TableField(exist = false)
    private String bankCard;
    /**
     * 银行卡与本人关系
     */
    @TableField(exist = false)
    private String bankRelation;
    /**
     * 工资余额
     */
    @TableField(exist = false)
    private BigDecimal balance;
    /**
     * 余额结清时间
     */
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date settleTime;

    //关联字段
    @TableField(exist = false)
    private String position;//位置名称
    @TableField(exist = false)
    private String workName;//职位名称
    @TableField(exist = false)
    private String jobName;//工种名称

    @TableField(exist = false)
    private String jsdw;//建设单位
    @TableField(exist = false)
    private String sgdd;//施工地点
    @TableField(exist = false)
    private String sgjd;//施工进度
    @TableField(exist = false)
    private String fzgz;//负责工长
    @TableField(exist = false)
    private String gclb;//工程类别
}
