using Newtonsoft.Json; using OASystem.Domain.Entities.PersonnelModule; using OASystem.Domain.ViewModels.QiYeWeChat; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OASystem.Domain.ViewModels.PersonnelModule { /// <summary> /// 工资表详情 /// </summary> public class WageSheetView : Pm_WageSheet { } /// <summary> /// 工资年月 View /// </summary> public class WageYearMonthView { public string YearMonth { get; set; } public string StartDate { get; set; } public string EndDate { get; set; } public int Workdays { get; set; } } /// <summary> /// 工资表单详情 /// </summary> public class WageSheetInfoView { public int Id { get; set; } /// <summary> /// 员工Id /// </summary> public int UserId { get; set; } /// <summary> /// 姓名 /// </summary> public string? Name { get; set; } /// <summary> /// 年月 /// </summary> public string? YearMonth { get; set; } /// <summary> /// 工资日期 起 /// </summary> public string? StartDate { get; set; } /// <summary> /// 工资日期 止 /// </summary> public string? EndDate { get; set; } /// <summary> /// 应出勤天数 /// </summary> public int WorkDays { get; set; } /// <summary> /// 正常出勤天数 /// </summary> public int RegularDays { get; set; } /// <summary> /// 基本工资 /// </summary> public decimal Basic { get; set; } /// <summary> /// 绩效工资 /// </summary> public decimal Floats { get; set; } /// <summary> /// 岗位津贴 /// </summary> public decimal PostAllowance { get; set; } /// <summary> /// 保密费 /// </summary> public decimal InformationSecurityFee { get; set; } /// <summary> /// 其他应付 /// </summary> public decimal OtherHandle { get; set; } /// <summary> /// 月度补贴/其他补贴 /// </summary> public decimal OtherSubsidies { get; set; } /// <summary> /// 餐补 /// </summary> public decimal Mealsupplement { get; set; } /// <summary> /// 代扣保险 /// </summary> public decimal WithholdingInsurance { get; set; } /// <summary> /// 代扣公积金 /// </summary> public decimal ReservedFunds { get; set; } /// <summary> /// 病假 /// </summary> public decimal SickLeave { get; set; } /// <summary> /// 事假 /// </summary> public decimal SomethingFalse { get; set; } /// <summary> /// 迟到 /// </summary> public decimal LateTo { get; set; } /// <summary> /// 早退 /// </summary> public decimal LeaveEarly { get; set; } /// <summary> /// 旷工 /// 小时计算 7.5小时一天 /// </summary> public decimal Absenteeism { get; set; } /// <summary> /// 未打卡 /// </summary> public decimal NotPunch { get; set; } /// <summary> /// 其他扣款 /// </summary> public decimal OtherDeductions { get; set; } /// <summary> /// 考勤/打卡 详情 /// </summary> public string Ex_ItemsRemark { get; set; } /// <summary> /// 应发合计 /// </summary> public decimal Should { get; set; } /// <summary> /// 扣款合计 /// </summary> public decimal TotalDeductions { get; set; } /// <summary> /// 税前合计 /// </summary> public decimal BeforeTax { get { return Should - TotalDeductions; } } /// <summary> /// 代扣个税 /// </summary> public decimal WithholdingTax { get; set; } /// <summary> /// 实发合计(税后工资) /// </summary> public decimal TotalRealHair { get; set; } /// <summary> /// 最后操作人 /// </summary> public int LastUpdateUserId { get; set; } /// <summary> /// 最后操作人Name /// </summary> public string? LastUpdateUserName { get; set; } /// <summary> /// 最后操作时间 /// </summary> public string? LastUpdateDt { get; set; } /// <summary> /// 备注 /// </summary> public string? Remark { get; set; } } public class WageSheetItemInfoView { /// <summary> /// 序号 /// </summary> public int Row_Number { get; set; } /// <summary> /// 公司Id /// </summary> public int CompanyId { get; set; } /// <summary> /// 公司名称 /// </summary> public string? CompanyName { get; set; } /// <summary> /// 部门Id /// </summary> public int DepId { get; set; } /// <summary> /// 部门名称 /// </summary> public string? DepName { get; set; } /// <summary> /// /// </summary> public int Id { get; set; } /// <summary> /// 年月 /// </summary> public string? YearMonth { get; set; } /// <summary> /// 工资日期 起 /// </summary> public string? StartDate { get; set; } /// <summary> /// 工资日期 止 /// </summary> public string? EndDate { get; set; } /// <summary> /// 应出勤天数 /// </summary> public int WorkDays { get; set; } /// <summary> /// 正常出勤天数 /// </summary> public int RegularDays { get; set; } /// <summary> /// 员工Id /// </summary> public int UserId { get; set; } /// <summary> /// 员工Name /// </summary> public string? Name { get; set; } /// <summary> /// 应发合计 /// </summary> public decimal Should { get; set; } /// <summary> /// 扣款合计 /// </summary> public decimal TotalDeductions { get; set; } /// <summary> /// 假勤 / 打卡补卡 明细 string /// </summary> public string? Ex_ItemsRemark { get; set; } /// <summary> /// 代扣个税 /// </summary> public decimal WithholdingTax { get; set; } /// <summary> /// 税前合计 /// </summary> public decimal BeforeTax { get { return Should - TotalDeductions; } } /// <summary> /// 实发合计(税后工资) /// </summary> public decimal TotalRealHair { get; set; } /// <summary> /// 最后操作人 /// </summary> public int LastUpdateUserId { get; set; } /// <summary> /// 员工Name /// </summary> public string? LastUpdateUserName { get; set; } /// <summary> /// 最后操作时间 /// </summary> public DateTime? LastUpdateDt { get; set; } } /// <summary> /// 个税模板 View /// </summary> public class TaxTemlateViuw { public string? UserName { get; set; } public decimal Tax { get; set; } = 0.00M; } public class ExportWageSheetItemView:Pm_WageSheet { /// <summary> /// 公司Id /// </summary> public int CompanyId { get; set; } /// <summary> /// 公司名称 /// </summary> public string? CompanyName { get; set; } /// <summary> /// 部门Id /// </summary> public int DepId { get; set; } /// <summary> /// 部门名称 /// </summary> public string? DepName { get; set; } /// <summary> /// /// </summary> public int Id { get; set; } /// <summary> /// 年月 /// </summary> public string? YearMonth { get; set; } /// <summary> /// 工资日期 起 /// </summary> public string? StartDate { get; set; } /// <summary> /// 工资日期 止 /// </summary> public string? EndDate { get; set; } /// <summary> /// 应出勤天数 /// </summary> public int WorkDays { get; set; } /// <summary> /// 员工Id /// </summary> public int UserId { get; set; } /// <summary> /// 员工Name /// </summary> public string? Name { get; set; } /// <summary> /// 税前合计 /// </summary> public decimal BeforeTax { get { return Should - TotalDeductions; } } /// <summary> /// 实发合计(税后工资) /// </summary> public decimal TotalRealHair { get; set; } /// <summary> /// 最后操作人 /// </summary> public int LastUpdateUserId { get; set; } /// <summary> /// 员工Name /// </summary> public string? LastUpdateUserName { get; set; } /// <summary> /// 最后操作时间 /// </summary> public DateTime? LastUpdateDt { get; set; } } /// <summary> /// 工资列表信息 /// </summary> public class WageSheetInfos : Pm_WageSheet { public string Name { get; set; } } #region 假勤 和 打卡 统计 /// <summary> /// 假期详情 /// </summary> public class LeaveDetails { /// <summary> /// 假期类型Id /// </summary> public int TypeId { get; set; } /// <summary> /// 假期名称 /// </summary> public string TypeName { get; set; } /// <summary> /// 开始日期 /// </summary> public DateTime StartDt { get; set; } /// <summary> /// 结束日期 /// </summary> public DateTime EndDt { get; set; } /// <summary> /// 时间展示类型:halfday-日期;hour-日期+时间 /// </summary> public string DtType { get; set; } /// <summary> /// 时长单位 /// 小时/天 /// </summary> public string Unit { get; set; } /// <summary> /// 请假时长 /// </summary> public decimal New_Duration { get; set; } /// <summary> /// 申请时间 /// </summary> public DateTime ApplyDt { get; set; } /// <summary> /// 时长支持按天分片信息, 2020/10/01之前的历史表单不支持时长分片 /// </summary> public Slice_info SliceInfo { get; set; } /// <summary> /// 餐补是否参与扣款 /// </summary> public bool IsDeduction { get; set; } = false; } public class Ex_Items { /// <summary> /// 类型 /// 假勤 打卡 /// </summary> public string? Type { get; set; } public Object Ex_ItemInfo { get; set; } } public class Ex_Item { /// <summary> /// 子类型Id /// </summary> public int SubTypeId { get; set; } /// <summary> /// 子类型 /// </summary> public string? SubType { get; set; } /// <summary> /// 扣款金额 /// </summary> public decimal Deduction { get; set; } = 0.00M; /// <summary> /// 餐补扣款金额 /// </summary> public decimal MealDeduction { get; set; } = 0.00M; /// <summary> /// 开始时间 /// </summary> public DateTime StartTimeDt { get; set; } /// <summary> /// 结束时间 /// </summary> public DateTime EndTimeDt { get; set; } /// <summary> /// 请假时长 /// </summary> public decimal Duration { get; set; } /// <summary> /// 请假时长,单位小时 /// </summary> public string Unit { get; set; } = "小时"; /// <summary> /// 请假事由 /// </summary> public string? Reason { get; set; } /// <summary> /// 申请时间 /// </summary> public DateTime Apply_time_dt { get; set; } /// <summary> /// 审核人 /// </summary> public List<string>? Approval_name { get; set; } } #endregion #region 法定节假日 public class HoliDaysDataSourceView { /// <summary> /// 年 /// </summary> public string Year { get; set; } public List<HolidaysInfo> Holidays { get; set; } } public class HolidaysInfo { /// <summary> /// 节假日期 /// </summary> public string HoliDate { get; set; } /// <summary> /// 节假日 /// </summary> public string HoliName { get; set; } } #endregion }