package com.cool.store.vo.tp;

import com.cool.store.annotation.DictField;
import com.cool.store.enums.tp.TpFormStatusEnum;
import com.cool.store.enums.tp.TpFormTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
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 TpPenaltyApplyDetailVO {
    @ApiModelProperty("id")
    private Long id;

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

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

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

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

    @ApiModelProperty("单据类型")
    private Integer type;

    @ApiModelProperty("单据类型名称")
    private String typeName;

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

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

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

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

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

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

    @ApiModelProperty("金额")
    private BigDecimal amount;

    @ApiModelProperty("申请复议截止日期")
    private Date appealEndDate;

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

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

    @ApiModelProperty("证明图片列表")
    private String proofUrls;

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

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

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

    public String getTypeName() {
        return TpFormTypeEnum.getMsgByType(this.type);
    }
}
