package com.hzs.system.sys.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.system.index.vo.IndexApprovalDetailVO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * @Description: 自定义签呈返回VO
 * @Author: jiang chao
 * @Time: 2023/12/18 17:33
 * @Classname: ApprovalCustomVO
 * @PackageName: com.hzs.system.sys.vo
 */
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class ApprovalCustomVO {

    /**
     * 审核ID
     */
    private Long pkId;

    /**
     * 审批单号
     */
    private String approvalCode;

    /**
     * 签呈标题
     */
    @Excel(name = "签呈标题")
    private String approvalBusinessVal;

    /**
     * 情况说明
     */
    @Excel(name = "情况说明")
    private String remark;

    /**
     * 签呈进度列表
     */
    private List<IndexApprovalDetailVO> detailList;
    /**
     * 签呈进度导出
     */
    @Excel(name = "签呈进度", width = 36)
    private String detailStr;

    /***
     * 签呈状态
     */
    @Transaction(transactionKey = EnumsPrefixConstants.APPROVE_STATUS)
    private Integer approveStatus;
    /***
     * 签呈状态显示
     */
    @Excel(name = "签呈状态")
    private String approveStatusVal;

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

    /**
     * 终审时间
     */
    @Excel(name = "终审时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 审批进度下标
     */
    private Integer approvalIndex;

}
