package com.ruoyi.excel.wecom.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

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

/**
 * 部门统计数据实体类
 * 用于存储基于部门路径的统计指标
 */
@Data
@TableName("department_statistics_data")
public class DepartmentStatisticsData implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    private String corpId;
    /**
     * 统计日期
     */
    private Date statDate;

    //总承接数（当日）
    private Integer dailyTotalAccepted;
     //总成单数（当日）
    private Integer dailyTotalOrders;
    //转化率（当日）
    private BigDecimal dailyConversionRate;
    //及时单占比（当日）
    private BigDecimal dailyTimelyOrderRatio;
    //非及时单占比（当日）
    private BigDecimal dailyNonTimelyOrderRatio;

    //即时单
    private Integer dailyTimelyCount;
    //非即时单
    private Integer dailyNonTimelyCount;

    //管理员分配（当日）
    private Integer managerAccepted;

    //新增：家长出单率（当日）
    private BigDecimal dailyParentOrderRate;
    //新增：学生出单率（当日）
    private BigDecimal dailyStudentOrderRate;

    //如果是四级的 默认是个人  前端显示时也是默认显示个人
    private Boolean personFlag;

    private String departmentPath;
    //公司名称
    private String corpName;
    //部门名称
    private String departmentName;
    //组名称
    private String groupName;
    //个人名称
    private String personName;


    // ========== 新增：家长/学生出单率统计（当日） ==========
    /**
     * 家长出单数（当日成交）- 满足Q列=当日 AND T列=已成交及时单9元+
     */
    private int parentDailyOrderCount = 0;

    /**
     * 家长总数（当日进粉）- 用于出单率分母
     */
    private int parentDailyCount = 0;

    /**
     * 学生出单数（当日成交）- 满足Q列=当日 AND T列=已成交及时单9元+
     */
    private int studentDailyOrderCount = 0;

    /**
     * 学生总数（当日进粉）- 用于出单率分母
     */
    private int studentDailyCount = 0;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    private int sortNo;
}
