using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.Prod;
///
/// 考勤登记主表:一人一天一条(唯一:日期 + 职工)。
/// 对应 F9 WinClient\F9.Business.Prod\KQ\CQDJ 的 Cqdj 实体。
///
[Table(Name = "biz_prod_kq_cqdj")]
public class Cqdj : BaseEntity
{
public DateTime Date { get; set; } // 考勤日期
public long DepId { get; set; } // 部门(车间)
public long WorktypeId { get; set; } // 工种
public long EmployeeId { get; set; } // 职工
public int Banci { get; set; } // 班次(Prod_Banci_Enum:甲=1 乙=2)
public bool IsXuegong { get; set; } // 是否学工(未转正)
public decimal HoursStandard { get; set; } // 标准时长
public decimal HoursCq { get; set; } // 出勤时长(含正常/流动/代班/外派/工伤,不含加班)
public decimal HoursQj { get; set; } // 请假时长
public decimal HoursLd { get; set; } // 流动时长
public decimal HoursJb { get; set; } // 加班时长
public decimal HoursDb { get; set; } // 代班时长
public decimal HoursWp { get; set; } // 外派时长
public decimal HoursKg { get; set; } // 旷工时长
public decimal HoursGs { get; set; } // 工伤时长
public int CsYeban { get; set; } // 夜班次数
public string Memo { get; set; } = ""; // 备注
}
///
/// 考勤登记明细:一人一天多行,按出勤类型拆分。
/// 对应 F9 WinClient\F9.Business.Prod\KQ\CQDJ 的 Cqdj_Item 实体。
///
[Table(Name = "biz_prod_kq_cqdj_item")]
public class CqdjItem : BaseEntity
{
public long CqdjId { get; set; } // 主表 Id
public DateTime Date { get; set; } // 考勤日期
public long DepId { get; set; } // 出勤部门(流动/代班时可能是别的部门)
public long WorktypeId { get; set; } // 出勤工种
public long EmployeeId { get; set; } // 职工
public int Banci { get; set; } // 班次
public int TypeCq { get; set; } // 出勤类型(Cqdj_CqType_Enum)
public int TypeQj { get; set; } // 请假类型(Cqdj_QjType_Enum,非请假为 0)
public decimal Hours { get; set; } // 时长
public string Jizu { get; set; } = ""; // 机组
public string CtStart { get; set; } = ""; // 开始车台
public string CtEnd { get; set; } = ""; // 结束车台
public int DangcheNum { get; set; } // 挡车数
public string Memo { get; set; } = ""; // 备注
}