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

- 新增 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,79 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
using F9WebAiTest.Domain.Enums.SYS.Employees;
namespace F9WebAiTest.Domain.Entities.Prod;
// 煮茧日报(对应 F9 生产-前缫 的 ZJRB 四张表:日报主表 / 机组 / 班次 / 机组班次)
// 数据口径:某日某车间某庄口某规格一条日报,主表存「班次合计」,机组存桶数,机组班次存甲乙班今缫桶数。
/// <summary>煮茧日报主表(biz_prod_qs_zjrb)</summary>
[Table(Name = "ZjrbRecords")]
public class ZjrbRecord : BaseEntity
{
public DateTime Date { get; set; } // 日期
public long DeptId { get; set; } // 车间(前缫)
public long GyzkId { get; set; } // 工艺庄口
public string Guige { get; set; } = ""; // 规格
public DateTime? LastDate { get; set; } // 上一日(写入时标记,取上一日一律按 Date < 当前日期)
public int StandardLuositongshu { get; set; } // 工艺落丝桶数(标准落丝桶数)
public int MeitongJianliang { get; set; } // 每桶茧量(g)
// 包数(今日 = 甲班 + 乙班)
public int BaoshuShangcun { get; set; } // 上存包数
public int BaoshuLingru { get; set; } // 领入包数
public int BaoshuSaosi { get; set; } // 今缫包数
public int BaoshuTuihui { get; set; } // 退回包数
public int BaoshuJincun { get; set; } // 今存包数
// 重量(kg,今日 = 甲班 + 乙班)
public decimal JianliangShangcun { get; set; } // 上存重量
public decimal JianliangLingru { get; set; } // 领入重量
public decimal JianliangSaosi { get; set; } // 今缫重量
public decimal JianliangTuihui { get; set; } // 退回重量
public decimal JianliangJincun { get; set; } // 今存重量
}
/// <summary>煮茧日报-机组(biz_prod_qs_zjrb_jizu):今存桶数 = 上存 + 今缫 - 今落</summary>
[Table(Name = "ZjrbJizus")]
public class ZjrbJizu : BaseEntity
{
public long ZjrbId { get; set; } // 煮茧日报ID
public int Jizu { get; set; } // 机组
public decimal JizuSaosiHours { get; set; } // 缫丝时长(小时,上限 20)
public int TongshuShangcun { get; set; } // 上存桶数
public int TongshuJinsao { get; set; } // 今缫桶数(= 甲班 + 乙班)
public int TongshuJinluo { get; set; } // 今落桶数
public int TongshuJincun { get; set; } // 今存桶数
}
/// <summary>煮茧日报-班次(biz_prod_qs_zjrb_banci):车间级甲乙班的包数/重量</summary>
[Table(Name = "ZjrbBancis")]
public class ZjrbBanci : BaseEntity
{
public long ZjrbId { get; set; } // 煮茧日报ID
public Prod_Banci_Enum Banci { get; set; } // 班次(甲/乙)
public int BaoshuShangcun { get; set; } // 上存包数
public int BaoshuLingru { get; set; } // 领入包数
public int BaoshuSaosi { get; set; } // 今缫包数
public int BaoshuTuihui { get; set; } // 退回包数
public int BaoshuJincun { get; set; } // 今存包数
public decimal JianliangShangcun { get; set; } // 上存重量
public decimal JianliangLingru { get; set; } // 领入重量
public decimal JianliangSaosi { get; set; } // 今缫重量
public decimal JianliangTuihui { get; set; } // 退回重量
public decimal JianliangJincun { get; set; } // 今存重量
}
/// <summary>煮茧日报-机组班次(biz_prod_qs_zjrb_jizu_banci):只存每机组每班次的今缫桶数</summary>
[Table(Name = "ZjrbJizuBancis")]
public class ZjrbJizuBanci : BaseEntity
{
public long ZjrbId { get; set; } // 煮茧日报ID
public long ZjrbJizuId { get; set; } // 煮茧日报机组ID
public int Jizu { get; set; } // 机组
public Prod_Banci_Enum Banci { get; set; } // 班次(甲/乙)
public int TongshuJinsao { get; set; } // 今缫桶数
}