package com.storlead.sales.pojo.vo.target;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.storlead.framework.annotate.AnnotateEnumType;
import com.storlead.framework.annotate.Dict;
import com.storlead.framework.annotate.OrgAutoMateAnnotate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/***
  * @Description: 业绩目标查询List
  * @Param:
  * @return:
  * @Author: YPZ
  * @Date: 2024/12/20 15:22
  */

@Data
public class TargetQuotaListVO {

    @ApiModelProperty(value = "目标配额主键")
    private Long id;

    @ApiModelProperty(value = "目标设置主键")
    private Long targetPlanId;

    @ApiModelProperty(value = "组织类型（1集团、2公司、3部门、4个人）")
    private Integer organizationalType;

    @ApiModelProperty(value = "组织id")
    private Long organizationalId;

    @ApiModelProperty(value = "组织名称")
    private String organizationalName;

    @ApiModelProperty(value = "所属年度")
    private String year;

    @ApiModelProperty(value = "方式（1汇总、2分配、3认领）")
    @Dict(dictCode = "target_method",valueField = "methodName")
    private Integer method;

    @ApiModelProperty(value = "方式（1汇总、2分配、3认领）")
    private String methodName;

    @ApiModelProperty(value = "周期（1季度、2月度）")
    @Dict(dictCode = "target_cycle",valueField = "cycleName")
    private Integer cycle;

    @ApiModelProperty(value = "周期（1季度、2月度）")
    private String cycleName;

    @ApiModelProperty(value = "指标类型（10新增客户、11新增线索、12跟进次数、30新增商机、40成交订单、41成交金额）")
    @Dict(dictCode = "target_type",valueField = "typeName")
    private Integer type;

    @ApiModelProperty(value = "指标类型（10新增客户、11新增线索、12跟进次数、30新增商机、40成交订单、41成交金额）")
    private String typeName;

    @ApiModelProperty(value = "下级范围id，逗号隔开")
    private String subScopeId;

    @ApiModelProperty(value = "下级范围名称，逗号隔开")
    private String subScopeName;

    @ApiModelProperty(value = "参与人员数")
    private Integer userNum;

    @ApiModelProperty(value = "总计")
    private BigDecimal total;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "认领状态（0未完成、1已完成）")
    @TableField("status")
    private Integer status;



}
