package com.hzs.common.domain.member.handleBusiness;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

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

/**
 * 业务办理表
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@KeySequence("CU_HANDLE_BUSINESS_SEQ")
@TableName("CU_HANDLE_BUSINESS")
public class CuHandleBusiness implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

    /**
     * 单号(大单号)
     */
    @TableField("ORDER_NUMBER")
    private String orderNumber;

    /**
     * 存值
     */
    @TableField("STORED_VALUE")
    private String storedValue;

    /**
     * 签呈类型
     */
    @TableField("SIGN_TYPE")
    private String signType;

    /**
     * 发起人
     */
    @TableField("INITIATOR")
    private String initiator;

    /**
     * 部门
     */
    @TableField("DEPARTMENT")
    private String department;

    /**
     * 审批业务类型来源于  枚举： EApprovalBusiness
     */
    @TableField("EDIT_TYPE")
    private Integer editType;

    /**
     * 业务单号
     */
    @TableField("BUSINESS_NO")
    private String businessNo;

    /**
     * 审核状态 : 1:已提交  2  待审核  4 已驳回   5 已完成(审核成功)  枚举 ： EApproveStatus
     */
    @TableField("APPROVE_STATUS")
    private Integer approveStatus;


    /**
     * 流程类型（1 免签呈 2免付费 3免签呈+免付费 4 需要签呈需要付费）来源于枚举 EProcessType
     */
    @TableField("PROCESS_TYPE")
    private Integer processType;

    /**
     * 账户类型(来源于参照：币种配置)
     */
    @TableField("PK_ACCOUNT")
    private Integer pkAccount;

    /**
     * 创建人ID
     */
    @TableField("PK_CREATOR")
    private Long pkCreator;

    /**
     * 创建人
     */
    @TableField(exist = false)
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("CREATION_TIME")
    private Date creationTime;

    /**
     * 修改人ID
     */
    @TableField("PK_MODIFIED")
    private Long pkModified;

    /**
     * 修改人
     */
    @TableField(exist = false)
    private String modified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("MODIFIED_TIME")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    @JsonIgnore
    @TableLogic
    @TableField("DEL_FLAG")
    private Integer delFlag;

    /**
     * 国家
     */
    @TableField("PK_COUNTRY")
    private Integer pkCountry;
}
