新增工资/仓储/生产日报等模块,移除旧考勤模块
- 新增 PayRoll(工资)、Wms(仓储)、Prod(车速/缫丝/考勤/丝片检测/丝片台账/纤检日报/质量日报) 模块 - 新增对应 Domain 实体、Application DTO/Service、Api Controller 与前端页面 - 移除旧 Attendance 考勤模块(Controller/Service/Entity/DTO 及 5 个前端页面),由 Prod/Kaoqin 取代 - 调整路由、仪表盘、Lsjl 流丝记录实体与服务 - 更新业务种子数据与 DbSeeder - 补充工作进度文档 14-27
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using F9WebAiTest.Domain.Common;
|
||||
|
||||
namespace F9WebAiTest.Domain.Entities.PayRoll;
|
||||
|
||||
/// <summary>
|
||||
/// 薪资计算-立缫挡车车头(挡车工 / 车头工 产量计算明细)
|
||||
/// 唯一键:日期 + 部门 + 班次 + 机组 + 职工 + 工种 + 工艺庄口 + 规格 + 车台
|
||||
/// </summary>
|
||||
[Table(Name = "CalcLdccts")]
|
||||
[Index("IX_CalcLdccts_Biz", "Date, DepId, Banci, Jizu, EmployeeId, WorktypeId, GyzkId, Guige, Chetai", IsUnique = true)]
|
||||
public class CalcLdcct : BaseEntity
|
||||
{
|
||||
public DateTime Date { get; set; } // 日期
|
||||
public long EmployeeId { get; set; } // 职工
|
||||
public long DepId { get; set; } // 部门
|
||||
public long WorktypeId { get; set; } // 工种
|
||||
public int Jizu { get; set; } // 机组
|
||||
public int Banci { get; set; } // 班次(0=甲 1=乙,对应 Prod_Banci_Enum)
|
||||
public long GyzkId { get; set; } // 工艺庄口
|
||||
public string Guige { get; set; } = ""; // 规格
|
||||
public string Chetai { get; set; } = ""; // 车台(车头工为空)
|
||||
|
||||
public decimal HoursKantai { get; set; } // 看台时长
|
||||
public decimal Dangcheshu { get; set; } // 挡车数
|
||||
public string Dengji { get; set; } = ""; // 等级
|
||||
public decimal Dengjifen { get; set; } // 等级分
|
||||
|
||||
// ---- 产量 ----
|
||||
public decimal ClDanjiaBase { get; set; } // 基础单价
|
||||
public decimal ClDanjiaDengji { get; set; } // 等级单价增减
|
||||
public decimal ClDanjiaActual { get; set; } // 实际单价
|
||||
public decimal ClSiliang { get; set; } // 丝量(g)
|
||||
|
||||
// ---- 质量 ----
|
||||
public decimal ZlSaozhe { get; set; } // 缫折
|
||||
public decimal ZlCenterxd { get; set; } // 中心纤度数
|
||||
public decimal ZlYexiannum { get; set; } // 野纤数
|
||||
public decimal ZlQingjie { get; set; } // 清洁扣款片数
|
||||
public decimal ZlJiejing { get; set; } // 洁净扣款片数
|
||||
public decimal ZlErdu { get; set; } // 二度
|
||||
public decimal ZlSandu { get; set; } // 三度
|
||||
|
||||
// ---- 金额 ----
|
||||
public decimal JineCl_Original { get; set; } // 金额-产量-初始值
|
||||
public decimal Xishu_JineCl { get; set; } // 产量金额系数
|
||||
public decimal JineCl { get; set; } // 金额-产量
|
||||
public decimal JineZlSaozhe { get; set; } // 缫折考核
|
||||
public decimal JineZlCenterxd { get; set; } // 中心纤度奖
|
||||
public decimal JineZlYexian { get; set; } // 野纤扣
|
||||
public decimal JineZlQingjie { get; set; } // 清洁扣
|
||||
public decimal JineZlJiejing { get; set; } // 洁净扣
|
||||
public decimal JineZlErdu { get; set; } // 二度扣
|
||||
public decimal JineZlSandu { get; set; } // 三度扣
|
||||
}
|
||||
@@ -0,0 +1,118 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using F9WebAiTest.Domain.Common;
|
||||
|
||||
namespace F9WebAiTest.Domain.Entities.PayRoll;
|
||||
|
||||
// 薪资配置(对应 F9 WinClient\F9.Business.PayRoll\PAYROLL 下的 CONFGYZK / CONFGZ / CONFDCG / DCXDJK / XinZiJiaGePeiZhi)
|
||||
|
||||
/// <summary>薪资配置-工艺庄口(按 年度 + 月份 + 工艺庄口 唯一)</summary>
|
||||
[Table(Name = "ConfGyzks")]
|
||||
[Index("IX_ConfGyzks_Year_Month_GyzkId", "Year, Month, GyzkId", IsUnique = true)]
|
||||
public class ConfGyzk : BaseEntity
|
||||
{
|
||||
public int Year { get; set; } // 年度
|
||||
public int Month { get; set; } // 月份
|
||||
public long GyzkId { get; set; } // 工艺庄口
|
||||
public string Guige { get; set; } = ""; // 规格
|
||||
|
||||
public decimal QsTaichan { get; set; } // 台产(工艺台时产量,单价分母)
|
||||
public string QsDengji { get; set; } = ""; // 等级
|
||||
public decimal QsDengjifen { get; set; } // 等级分
|
||||
public decimal SaoZhe { get; set; } // 工艺指标缫折
|
||||
public int MeiTongJianLiang { get; set; } // 每桶茧量
|
||||
public int LuoSiTongShu { get; set; } // 落丝桶数
|
||||
public decimal MeiCheSiLiang { get; set; } // 每车丝量(kg)
|
||||
public decimal DcgJijianXishu { get; set; } // 挡车工计件系数
|
||||
public decimal CtgJijianXishu { get; set; } // 车头工计件系数
|
||||
public decimal GyzkLtwxKs { get; set; } // 工艺-联统误选颗数
|
||||
public decimal GyzkLtwxl { get; set; } // 工艺-联统误选率
|
||||
public decimal XjChanliangPrice { get; set; } // 选茧产量单价
|
||||
}
|
||||
|
||||
/// <summary>薪资配置-工种/岗位(按 工种 唯一)</summary>
|
||||
[Table(Name = "ConfGzs")]
|
||||
[Index("IX_ConfGzs_WorkTypeId", "WorkTypeId", IsUnique = true)]
|
||||
public class ConfGz : BaseEntity
|
||||
{
|
||||
public long WorkTypeId { get; set; } // 工种/岗位
|
||||
|
||||
public decimal HoursPerday { get; set; } // 标准日工作时长
|
||||
public decimal QqDaysStandard { get; set; } // 全勤-标准出勤天数
|
||||
public decimal QqHoursMaxQj { get; set; } // 全勤-最大请假时长
|
||||
public decimal QqHoursDkMinjiaban { get; set; } // 全勤-满勤时请假免扣全勤最小加班时长
|
||||
public decimal QqHoursDkQingjia { get; set; } // 全勤-超过加班天数后免扣全勤请假时长
|
||||
|
||||
public decimal XgJineQuanqin { get; set; } // 学工-全勤奖金额
|
||||
public decimal XgJineGangwei { get; set; } // 学工-岗位薪资
|
||||
|
||||
public decimal JineNiangong { get; set; } // 年功工资
|
||||
public decimal JineQuanqin { get; set; } // 全勤奖金额
|
||||
public decimal JineGangwei { get; set; } // 岗位薪资
|
||||
public decimal JineYuekhJixiao { get; set; } // 月度绩效考核金额
|
||||
public decimal JineGwkh { get; set; } // 岗位考核
|
||||
public decimal JineYueticheng { get; set; } // 月度提成
|
||||
public decimal JineJtkhYear { get; set; } // 年度考核计提
|
||||
public decimal JineJisuanjishu { get; set; } // 计算基数工资
|
||||
public decimal JineYeban { get; set; } // 夜班补助金额/次
|
||||
public decimal JineJiaotongButie { get; set; } // 交通补贴/天
|
||||
public decimal LiudongJineGuding { get; set; } // 固定流动工资/小时
|
||||
|
||||
public decimal JiaqiJineKuangongKk { get; set; } // 旷工扣除/小时
|
||||
public decimal JiaqiJineFadingGz { get; set; } // 法定假工资/小时
|
||||
public decimal JiaqiJineFadingBz { get; set; } // 法定假补助/小时
|
||||
public decimal JiaqiJineHunjiaBz { get; set; } // 婚假补助/小时
|
||||
public decimal JiaqiJineSangjiaBz { get; set; } // 丧假补助/小时
|
||||
public decimal JiaqiJineBingjiaBz { get; set; } // 病假补助/小时
|
||||
public decimal JiaqiJineLunxiuBz { get; set; } // 轮休补助/小时
|
||||
public decimal JiabanJineBz { get; set; } // 加班补助/小时
|
||||
public decimal Jiaqi_Jine_TiaoxiuBz { get; set; } // 调休补助
|
||||
public decimal Jiaqi_Jine_NianjiaBz { get; set; } // 年假补助
|
||||
|
||||
public decimal GwsrkhJineQianhege { get; set; } // 岗位胜任考核-欠合格
|
||||
public decimal GwsrkhJineQiwang { get; set; } // 岗位胜任考核-期望
|
||||
public decimal GwsrkhJineHege { get; set; } // 岗位胜任考核-合格
|
||||
public decimal GwsrkhJineShengren { get; set; } // 岗位胜任考核-胜任
|
||||
public decimal GwsrkhJineChaoshengren { get; set; } // 岗位胜任考核-超胜任
|
||||
|
||||
public decimal Jiaban_GwsrkhJineQianhege { get; set; } // 加班工资-欠合格
|
||||
public decimal Jiaban_GwsrkhJineQiwang { get; set; } // 加班工资-期望
|
||||
public decimal Jiaban_GwsrkhJineHege { get; set; } // 加班工资-合格
|
||||
public decimal Jiaban_GwsrkhJineShengren { get; set; } // 加班工资-胜任
|
||||
public decimal Jiaban_GwsrkhJineChaoshengren { get; set; } // 加班工资-超胜任
|
||||
}
|
||||
|
||||
/// <summary>薪资配置-挡车/车头岗位(按 部门 唯一)</summary>
|
||||
[Table(Name = "ConfDcgs")]
|
||||
[Index("IX_ConfDcgs_DepId", "DepId", IsUnique = true)]
|
||||
public class ConfDcg : BaseEntity
|
||||
{
|
||||
public long DepId { get; set; } // 部门
|
||||
public decimal JineJisuanjishu50 { get; set; } // 50绪计算基数工资
|
||||
public decimal JineJisuanjishu60 { get; set; } // 60绪计算基数工资
|
||||
public decimal JineJisuanjishu70 { get; set; } // 70绪计算基数工资
|
||||
public decimal JineJisuanjishu100 { get; set; } // 100绪计算基数工资
|
||||
public decimal JineCtg { get; set; } // 车头工金额
|
||||
}
|
||||
|
||||
/// <summary>挡车纤度奖扣(按 规格 + 纤度 唯一)</summary>
|
||||
[Table(Name = "DangCheXianDuJiangKous")]
|
||||
[Index("IX_Dcxdjk_Guige_Xiandu", "GuiGe, XianDu", IsUnique = true)]
|
||||
public class DangCheXianDuJiangKou : BaseEntity
|
||||
{
|
||||
public string GuiGe { get; set; } = ""; // 规格
|
||||
public decimal XianDu { get; set; } // 纤度
|
||||
public decimal JiangLi { get; set; } // 奖励
|
||||
public decimal KouKuan { get; set; } // 扣款
|
||||
}
|
||||
|
||||
/// <summary>薪资价格配置(按 分组 + 项目 唯一)</summary>
|
||||
[Table(Name = "XinZiJiaGePeiZhis")]
|
||||
[Index("IX_Xzjg_Group_Key", "Group, Key", IsUnique = true)]
|
||||
public class XinZiJiaGePeiZhi : BaseEntity
|
||||
{
|
||||
public string Group { get; set; } = ""; // 分组(如「薪资.前缫」)
|
||||
public string Key { get; set; } = ""; // 项目(如「挡车工计件等级奖扣单价」)
|
||||
public string Unit { get; set; } = ""; // 单位
|
||||
public decimal Price { get; set; } // 价格
|
||||
public string Memo { get; set; } = ""; // 备注
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using F9WebAiTest.Domain.Common;
|
||||
|
||||
namespace F9WebAiTest.Domain.Entities.PayRoll;
|
||||
|
||||
// 考勤统计(CQTJ)依赖的三套配置:
|
||||
// CONFZQ 薪资配置-账期、CONFEMPLOYEE 薪资配置-职工、GWsrkh 岗位胜任考核
|
||||
// 对应 F9 WinClient\F9.Business.PayRoll\PAYROLL\CONFZQ / CONFEMPLOYEE 与 CalXzMain 的岗位胜任考核。
|
||||
|
||||
/// <summary>薪资配置-账期(按 年度 + 月份 唯一):考勤统计用「前缫出勤天数 QsQuanqinDays」判断满勤</summary>
|
||||
[Table(Name = "ConfZqs")]
|
||||
[Index("IX_ConfZqs_Year_Month", "Year, Month", IsUnique = true)]
|
||||
public class ConfZq : BaseEntity
|
||||
{
|
||||
public int Year { get; set; }
|
||||
public int Month { get; set; }
|
||||
public decimal QsQuanqinDays { get; set; } // 前缫出勤天数(必填,考勤统计满勤/加班免扣口径)
|
||||
public string Memo { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>薪资配置-职工(按 职工 + 工种 唯一):法定假补助/工资小时数、是否学工</summary>
|
||||
[Table(Name = "ConfEmployees")]
|
||||
[Index("IX_ConfEmployees_Emp_WorkType", "EmployeeId, WorktypeId", IsUnique = true)]
|
||||
public class ConfEmployee : BaseEntity
|
||||
{
|
||||
public long EmployeeId { get; set; }
|
||||
public long WorktypeId { get; set; }
|
||||
public decimal HoursFadingBz { get; set; } // 法定假-补助小时
|
||||
public decimal HoursFadingGz { get; set; } // 法定假-工资小时
|
||||
public bool IsXuegong { get; set; } // 是否学工(全勤奖取学工标准)
|
||||
public string Memo { get; set; } = "";
|
||||
}
|
||||
|
||||
/// <summary>岗位胜任考核(按 年度+月份+职工 唯一):考核结果决定加班费单价档位</summary>
|
||||
[Table(Name = "Gwsrkhs")]
|
||||
[Index("IX_Gwsrkhs_Year_Month_Emp", "Year, Month, EmployeeId", IsUnique = true)]
|
||||
public class Gwsrkh : BaseEntity
|
||||
{
|
||||
public int Year { get; set; }
|
||||
public int Month { get; set; }
|
||||
public long DepId { get; set; }
|
||||
public long EmployeeId { get; set; }
|
||||
public string KhJieguo { get; set; } = ""; // 欠合格 / 期望 / 合格 / 胜任 / 超胜任
|
||||
public string Memo { get; set; } = "";
|
||||
}
|
||||
Reference in New Issue
Block a user