package com.casic.missiles.dto.business.outsource;

import com.casic.missiles.annotation.DictCodeField;
import com.casic.missiles.constants.MeterDictCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Description: 分包方资格审批列表响应实体
 * @Author: wangpeng
 * @Date: 2023/3/24 9:30
 */
@Data
@ApiModel
public class OutsourcerApprovalListResponse {
    @ApiModelProperty(value = "主键id", dataType = "Long")
    private Long id;

    /**
     * 分包方编号
     */
    @ApiModelProperty(value = "分包方编号", dataType = "String")
    private String outsourcerNo;

    /**
     * 分包方公司名字
     */
    @ApiModelProperty(value = "分包方公司名字", dataType = "String")
    private String outsourcerName;

    /**
     * 分包方公司规模
     */
    @DictCodeField(message = "分包方公司规模不合法", cacheName = MeterDictCode.COMPANY_SCALE)
    @ApiModelProperty(value = "分包方公司规模", dataType = "String")
    private String outsourcerSize;

    @ApiModelProperty(value = "分包方公司规模", dataType = "String")
    private String outsourcerSizeName;

    /**
     * 业务规模-字典
     */
    @DictCodeField(message = "业务规模不合法", cacheName = MeterDictCode.BUSINESS_SCALE)
    @ApiModelProperty(value = "业务规模-字典code", dataType = "String")
    private String businessSize;

    @ApiModelProperty(value = "业务规模-字典value", dataType = "String")
    private String businessSizeName;

    /**
     * 履约评级-字典
     */
    @DictCodeField(message = "履约评级不合法", cacheName = MeterDictCode.GRADE)
    @ApiModelProperty(value = "履约评级-字典code", dataType = "String")
    private String grade;

    @ApiModelProperty(value = "履约评级-字典value", dataType = "String")
    private String gradeName;

    /**
     * 整体评价-字典
     */
    @DictCodeField(message = "整体评价不合法", cacheName = MeterDictCode.EVALUATION)
    @ApiModelProperty(value = "整体评价-字典code", dataType = "String")
    private String evaluation;

    @ApiModelProperty(value = "整体评价-字典value", dataType = "String")
    private String evaluationName;

    /**
     * 业务内容
     */
    @ApiModelProperty(value = "业务内容", dataType = "String")
    private String businessContent;

    /**
     * 公司地址-详细地址
     */
    @ApiModelProperty(value = "公司地址-详细地址", dataType = "String")
    private String fullAddress;

    /**
     * 公司地址-国家
     */
    @ApiModelProperty(value = "公司地址-国家", dataType = "String")
    private String addressCountryName;

    /**
     * 公司地址-省
     */
    @ApiModelProperty(value = "公司地址-省", dataType = "String")
    private String addressProvinceName;

    /**
     * 公司地址-市
     */
    @ApiModelProperty(value = "公司地址-市", dataType = "String")
    private String addressCityName;

    /**
     * 公司地址-区
     */
    @ApiModelProperty(value = "公司地址-区", dataType = "String")
    private String addressAreaName;

    @ApiModelProperty(value = "创建时间", dataType = "String")
    private String createTime;

    /**
     * 审批状态类型，对应ApprovalStatusEnum
     */
    @ApiModelProperty(value = "审批状态类型-字典code", dataType = "String")
    private String approvalStatus;

    @ApiModelProperty(value = "审批状态类型-字典value", dataType = "String")
    private String approvalStatusName;

    @ApiModelProperty(value = "流程实例id", dataType = "String")
    private String processId;

    /**
     * 任务id
     */
    @ApiModelProperty(value = "任务id（同意、驳回等操作使用）", dataType = "String")
    private String taskId;

    /**
     * 可选决策项
     */
    @ApiModelProperty(value = "可选决策项（1同意驳回拒绝 2同意驳回 3同意拒绝，用于待审批列表同意/驳回/拒绝按钮展示）", dataType = "Integer")
    private Integer decisionItem;
}
