import { TimesheetSummaryDetailVO, TimesheetSummaryDetailForm } from '../timesheetSummaryDetail/types';

export interface TimesheetSummaryVO {
  /**
   * 汇总工时ID
   */
  summaryId: string | number;

  /**
   * 汇总编号
   */
  summaryCode: string;

  /**
   * 月份编码(YYYYMM)
   */
  monthCode: string;

  /**
   * 部门ID
   */
  deptId: string | number;

  /**
   * 汇总人(部门负责人)用户ID
   */
  userId: string | number;

  /**
   * 关联月标准工时ID
   */
  standardMonthId: string | number;

  /**
   * 月标准工时天数(冗余，取自标准月表)
   */
  standardDays: number;

  /**
   * 项目工时合计(天)
   */
  totalProjectHours: number;

  /**
   * 部门工时合计(天)
   */
  totalDeptHours: number;

  /**
   * 总工时合计(天)
   */
  totalHours: number;

  /**
   * 汇总人数
   */
  staffCount: number;

  /**
   * 备注
   */
  remark: string;

  /**
   * 部门名称
   */
  deptName?: string;

  /**
   * 负责人姓名
   */
  leaderName?: string;

  /**
   * 汇总明细列表
   */
  summaryDetailList?: TimesheetSummaryDetailVO[];

}

export interface TimesheetSummaryForm extends BaseEntity {
  /**
   * 汇总工时ID
   */
  summaryId?: string | number;

  /**
   * 汇总编号
   */
  summaryCode?: string;

  /**
   * 月份编码(YYYYMM)
   */
  monthCode?: string;

  /**
   * 部门ID
   */
  deptId?: string | number;

  /**
   * 汇总人(部门负责人)用户ID
   */
  userId?: string | number;

  /**
   * 关联月标准工时ID
   */
  standardMonthId?: string | number;

  /**
   * 月标准工时天数(冗余，取自标准月表)
   */
  standardDays?: number;

  /**
   * 项目工时合计(天)
   */
  totalProjectHours?: number;

  /**
   * 部门工时合计(天)
   */
  totalDeptHours?: number;

  /**
   * 总工时合计(天)
   */
  totalHours?: number;

  /**
   * 汇总人数
   */
  staffCount?: number;

  /**
   * 备注
   */
  remark?: string;

  /**
   * 汇总明细列表
   */
  summaryDetailList?: TimesheetSummaryDetailForm[];

}

export interface TimesheetSummaryQuery extends PageQuery {

  /**
   * 汇总编号
   */
  summaryCode?: string;

  /**
   * 月份编码(YYYYMM)
   */
  monthCode?: string;

  /**
   * 部门ID
   */
  deptId?: string | number;

  /**
   * 汇总人(部门负责人)用户ID
   */
  userId?: string | number;

  /**
   * 关联月标准工时ID
   */
  standardMonthId?: string | number;

  /**
   * 月标准工时天数(冗余，取自标准月表)
   */
  standardDays?: number;

  /**
   * 项目工时合计(天)
   */
  totalProjectHours?: number;

  /**
   * 部门工时合计(天)
   */
  totalDeptHours?: number;

  /**
   * 总工时合计(天)
   */
  totalHours?: number;

  /**
   * 汇总人数
   */
  staffCount?: number;

  /**
   * 日期范围参数
   */
  params?: any;
}



