新增工资/仓储/生产日报等模块,移除旧考勤模块

- 新增 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:
yanpeng200212
2026-10-27 09:09:57 +08:00
parent 69c4052a64
commit 1f1b184411
119 changed files with 21576 additions and 1668 deletions
@@ -0,0 +1,131 @@
namespace F9WebAiTest.Application.Dtos.PayRoll;
/// <summary>挡车车头产量计算-列表行</summary>
public class CalcLdcctListItemDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long EmployeeId { get; set; }
public string EmployeeName { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public long WorktypeId { get; set; }
public string WorktypeName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public string Guige { get; set; } = "";
public string Chetai { get; set; } = "";
public int Jizu { get; set; }
public int Banci { get; set; }
public string BanciName { get; set; } = "";
public decimal HoursKantai { get; set; } // 看台时长
public decimal Dangcheshu { get; set; } // 挡车数
public string Dengji { get; set; } = ""; // 等级
public decimal Dengjifen { get; set; } // 等级分
// 产量
public decimal GyzkTaichan { get; set; } // 薪资台产(来自工艺庄口配置)
public decimal ClDanjiaBase { get; set; }
public decimal ClDanjiaDengji { get; set; }
public decimal ClDanjiaActual { get; set; }
public decimal ClSiliang { get; set; }
// 质量
public decimal GyzkSaozhe { get; set; } // 薪资缫折(工艺指标缫折)
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; }
/// <summary>质量金额合计(负数为扣款)</summary>
public decimal JineZlTotal { get; set; }
}
/// <summary>挡车车头产量计算-保存行(整账期 + 部门 + 工种全量覆盖)</summary>
public class CalcLdcctSaveItemDto
{
public long Id { get; set; }
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; }
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; }
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; }
}
/// <summary>整账期保存请求</summary>
public class CalcLdcctSaveDto
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public long DepId { get; set; }
public long WorktypeId { get; set; }
public List<CalcLdcctSaveItemDto> Items { get; set; } = new();
}
/// <summary>计算请求(一键计算)</summary>
public class CalcLdcctCalcDto
{
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public long DepId { get; set; }
public long WorktypeId { get; set; }
}
/// <summary>计算结果</summary>
public class CalcLdcctResultDto
{
public int Count { get; set; } // 生成条数
public decimal SumSiliang { get; set; } // 丝量合计(g)
public decimal SumJineCl { get; set; } // 产量金额合计
public decimal SumJineZl { get; set; } // 质量金额合计
public List<string> Warnings { get; set; } = new();
}
@@ -0,0 +1,40 @@
namespace F9WebAiTest.Application.Dtos.PayRoll;
// 考勤统计(CQTJ)依赖配置:薪资配置-账期 / 薪资配置-职工 / 岗位胜任考核
public class ConfZqDto
{
public long Id { get; set; }
public int Year { get; set; }
public int Month { get; set; }
public decimal QsQuanqinDays { get; set; }
public string Memo { get; set; } = "";
}
public class ConfEmployeeDto
{
public long Id { get; set; }
public long EmployeeId { get; set; }
public string EmployeeCode { get; set; } = "";
public string EmployeeName { get; set; } = "";
public long WorktypeId { get; set; }
public string WorktypeName { get; set; } = "";
public decimal HoursFadingBz { get; set; }
public decimal HoursFadingGz { get; set; }
public bool IsXuegong { get; set; }
public string Memo { get; set; } = "";
}
public class GwsrkhDto
{
public long Id { get; set; }
public int Year { get; set; }
public int Month { get; set; }
public long DepId { get; set; }
public string DepName { get; set; } = "";
public long EmployeeId { get; set; }
public string EmployeeCode { get; set; } = "";
public string EmployeeName { get; set; } = "";
public string KhJieguo { get; set; } = "";
public string Memo { get; set; } = "";
}
@@ -0,0 +1,204 @@
namespace F9WebAiTest.Application.Dtos.PayRoll;
// ==================== 薪资配置-工艺庄口 ====================
public class ConfGyzkListItemDto
{
public long Id { get; set; }
public int Year { get; set; }
public int Month { get; set; }
public long GyzkId { get; set; }
public string GyzkName { 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; }
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; }
}
public class ConfGyzkSaveDto
{
public long Id { get; set; }
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; }
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; }
}
// ==================== 薪资配置-工种 ====================
public class ConfGzListItemDto
{
public long Id { get; set; }
public long WorkTypeId { get; set; }
public string WorkTypeName { 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; }
}
public class ConfGzSaveDto
{
public long Id { get; set; }
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; }
}
// ==================== 薪资配置-挡车/车头岗位 ====================
public class ConfDcgListItemDto
{
public long Id { get; set; }
public long DepId { get; set; }
public string DepName { get; set; } = "";
public decimal JineJisuanjishu50 { get; set; }
public decimal JineJisuanjishu60 { get; set; }
public decimal JineJisuanjishu70 { get; set; }
public decimal JineJisuanjishu100 { get; set; }
public decimal JineCtg { get; set; }
}
public class ConfDcgSaveDto
{
public long Id { get; set; }
public long DepId { get; set; }
public decimal JineJisuanjishu50 { get; set; }
public decimal JineJisuanjishu60 { get; set; }
public decimal JineJisuanjishu70 { get; set; }
public decimal JineJisuanjishu100 { get; set; }
public decimal JineCtg { get; set; }
}
// ==================== 挡车纤度奖扣 ====================
public class DcxdjkListItemDto
{
public long Id { get; set; }
public string GuiGe { get; set; } = "";
public decimal XianDu { get; set; }
public decimal JiangLi { get; set; }
public decimal KouKuan { get; set; }
}
public class DcxdjkSaveDto
{
public long Id { get; set; }
public string GuiGe { get; set; } = "";
public decimal XianDu { get; set; }
public decimal JiangLi { get; set; }
public decimal KouKuan { get; set; }
}
// ==================== 薪资价格配置 ====================
public class XzjgListItemDto
{
public long Id { get; set; }
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; } = "";
}
public class XzjgSaveDto
{
public long Id { get; set; }
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; } = "";
}