package com.cool.store.vo.tp;

import com.cool.store.annotation.DictField;
import com.cool.store.enums.tp.TpFormStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * <p>
 * 申请表单列表基础VO
 * </p>
 *
 * @author wangff
 * @since 2025/11/6
 */
@Data
public class TpApplyListBaseVO {
    @ApiModelProperty("id")
    private Long id;

    @ApiModelProperty("申请单号")
    private String applyNo;

    @ApiModelProperty("规则id（项目类型）")
    private Long ruleId;

    @ApiModelProperty("规则编码")
    private String ruleNo;

    @ApiModelProperty("项目大类")
    private String projectCategory;

    @ApiModelProperty("项目大类名称")
    @DictField
    private String projectCategoryName;

    @ApiModelProperty("分值")
    private BigDecimal score;

    @ApiModelProperty("项目名称")
    private String projectName;

    @ApiModelProperty("门店id")
    private String storeId;

    @ApiModelProperty("门店编码")
    private String storeNum;

    @ApiModelProperty("门店名称")
    private String storeName;

    @ApiModelProperty("审批人")
    private String approveUserId;

    @ApiModelProperty("审批人名称")
    private String approveUserName;

    @ApiModelProperty("状态")
    private String status;

    @ApiModelProperty("状态名称")
    private String statusName;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("申请人(创建人)名称")
    private String applyUserName;

    @ApiModelProperty("申请时间")
    private Date createTime;

    @ApiModelProperty("审核时间")
    private Date approveTime;

    @ApiModelProperty("是否为草稿 0否 1是")
    private Integer isDraft;

    public String getStatusName() {
        return TpFormStatusEnum.getMsgByStatus(this.status);
    }

}
