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

- 新增 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,105 @@
namespace F9WebAiTest.Application.Dtos.Prod;
// ==================== 秤大丝(成筒丝 CDS) ====================
/// <summary>秤大丝列表行(落丝记录 + 秤丝汇总)</summary>
public class CdsListItemDto
{
public long LsjlId { get; set; }
public DateTime WorkDate { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; } = "";
public int Jizu { get; set; }
public int Huishu { get; set; }
public string Guige { get; set; } = "";
public string ZhuangKouName { get; set; } = "";
public string Yanse { get; set; } = "";
public bool Isbanche { get; set; }
public string IsbancheName { get; set; } = "";
public int Chetaishu { get; set; }
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public double Hours { get; set; }
public int Tongshu { get; set; }
public int Meitongjianliang { get; set; }
public int YingchengNum { get; set; } // 应秤数 = 车台数 × 4 × (半车 ? 0.5 : 1)
public bool IsWeighed { get; set; } // 是否已秤
public int Num { get; set; } // 已秤数
public int Siliang { get; set; } // 已秤丝量(g)
public int Jianliang { get; set; } // 茧量(g)
public decimal Saozhe { get; set; } // 缫折
public decimal Taichan { get; set; } // 台产
}
/// <summary>秤大丝称重弹窗数据</summary>
public class CdsEditDto
{
public long LsjlId { get; set; }
public string DeptName { get; set; } = "";
public int Jizu { get; set; }
public int Huishu { get; set; }
public string ZhuangKouName { get; set; } = "";
public string Yanse { get; set; } = "";
public bool Isbanche { get; set; }
public string IsbancheName { get; set; } = "";
public string Guige { get; set; } = "";
public int ChetaiStart { get; set; }
public int ChetaiEnd { get; set; }
public int Chetaishu { get; set; }
public int YingchengNum { get; set; }
public List<CdsChetaiDto> Chetais { get; set; } = new();
}
/// <summary>秤大丝车台明细 DTO</summary>
public class CdsChetaiDto
{
public int Chetaihao { get; set; }
public int Sl1 { get; set; }
public int Sl2 { get; set; }
public int Sl3 { get; set; }
public int Sl4 { get; set; }
public int Num { get; set; } // 个数
public int Siliang { get; set; } // 小计丝量
}
/// <summary>秤大丝保存请求</summary>
public class CdsSaveDto
{
public long LsjlId { get; set; }
public List<CdsChetaiDto> Chetais { get; set; } = new();
}
// ==================== 公量纤度 ====================
/// <summary>公量纤度列表行(落丝记录 + 纤度检验平均纤度 + 公量纤度)</summary>
public class GlxdListItemDto
{
public long LsjlId { get; set; }
public DateTime WorkDate { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; } = "";
public int Jizu { get; set; }
public int Huishu { get; set; }
public string Guige { get; set; } = "";
public string ZhuangKouName { get; set; } = "";
public string Yanse { get; set; } = "";
public bool Isbanche { get; set; }
public string IsbancheName { get; set; } = "";
public int Chetaishu { get; set; }
public double Avgxiandu { get; set; } // 平均纤度(来自纤度检验)
public decimal Gongliangxiandu { get; set; } // 公量纤度
}
/// <summary>公量纤度批量保存请求</summary>
public class GlxdSaveDto
{
public DateTime Date { get; set; }
public long DeptId { get; set; }
public List<GlxdSaveItemDto> Items { get; set; } = new();
}
public class GlxdSaveItemDto
{
public long LsjlId { get; set; }
public decimal Gongliangxiandu { get; set; }
}
@@ -0,0 +1,129 @@
namespace F9WebAiTest.Application.Dtos.Prod;
// ==================== 丝片检查 ====================
/// <summary>丝片检查列表行</summary>
public class SpjcListItemDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public string Guige { get; set; } = "";
public int Pianshu { get; set; }
public int PianshuXuegong { get; set; }
public int QsJiahua { get; set; }
public int QsYouwu { get; set; }
public int QsHeidian { get; set; }
public int QsShangsi { get; set; }
public int QsYetiao { get; set; }
public int QsXiaosipian { get; set; }
public int QsQita { get; set; }
public int QsHeji { get; set; }
public int HsYouwu { get; set; }
public int HsShangsi { get; set; }
public int HsShuangsi { get; set; }
public int HsZhisi { get; set; }
public int HsZhantiao { get; set; }
public int HsYingjiao { get; set; }
public int HsGuojiao { get; set; }
public int HsShouchu { get; set; }
public int HsWuran { get; set; }
public int HsLiansi { get; set; }
public int HsWdmt { get; set; }
public int HsMaoluan { get; set; }
public int HsQita { get; set; }
public int HsHeji { get; set; }
public string Memo { get; set; } = "";
}
/// <summary>丝片检查新增/修改:所有数量前端录入,合计由服务端重算</summary>
public class SpjcSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long DeptId { get; set; }
public string DeptName { get; set; } = ""; // 仅用于编辑回填显示
public long GyzkId { get; set; }
public string GyzkName { get; set; } = ""; // 仅用于编辑回填显示
public string Guige { get; set; } = "";
public int Pianshu { get; set; }
public int PianshuXuegong { get; set; }
public int QsJiahua { get; set; }
public int QsYouwu { get; set; }
public int QsHeidian { get; set; }
public int QsShangsi { get; set; }
public int QsYetiao { get; set; }
public int QsXiaosipian { get; set; }
public int QsQita { get; set; }
public int HsYouwu { get; set; }
public int HsShangsi { get; set; }
public int HsShuangsi { get; set; }
public int HsZhisi { get; set; }
public int HsZhantiao { get; set; }
public int HsYingjiao { get; set; }
public int HsGuojiao { get; set; }
public int HsShouchu { get; set; }
public int HsWuran { get; set; }
public int HsLiansi { get; set; }
public int HsWdmt { get; set; }
public int HsMaoluan { get; set; }
public int HsQita { get; set; }
public string Memo { get; set; } = "";
}
// ==================== 丝片台帐 ====================
/// <summary>丝片台帐列表行</summary>
public class SptzListItemDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public DateTime DateLast { get; set; }
public int JsShangcun { get; set; }
public int JsXiasi { get; set; }
public int JsJinsi { get; set; }
public int JsSrylJrxz { get; set; }
public int JsJincun { get; set; }
public int FsFsps { get; set; }
public int BsBsps { get; set; }
public int ZlZhengpin { get; set; }
public int ZlTichu { get; set; }
public string Memo { get; set; } = "";
}
/// <summary>丝片台帐新增默认值:上一日本台账 + 按当日「丝片检查」汇总出的整理片数</summary>
public class SptzDefaultsDto
{
public DateTime Date { get; set; }
public DateTime? DateLast { get; set; } // 上一本台账日期(无则为 null)
public int JsShangcun { get; set; } // 上存 = 上一日今存
public DateTime? LatestDate { get; set; } // 当前最新台账日期(用于「无法新增该日期台账」校验)
public int ZlTichu { get; set; } // 剔除片数 = Σ丝片检查前缫合计
public int ZlZhengpin { get; set; } // 正品片数 = Σ(总片数 + 学工片数) − 剔除
public bool HasSpjc { get; set; } // 当日是否存在丝片检查数据
}
/// <summary>丝片台帐保存请求</summary>
public class SptzSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public DateTime DateLast { get; set; }
public int JsShangcun { get; set; }
public int JsXiasi { get; set; }
public int JsJinsi { get; set; }
public int FsFsps { get; set; }
public int BsBsps { get; set; }
public int ZlZhengpin { get; set; }
public int ZlTichu { get; set; }
public string Memo { get; set; } = "";
}
@@ -0,0 +1,187 @@
namespace F9WebAiTest.Application.Dtos.Prod;
// ==================== 考勤登记(CQDJ) ====================
/// <summary>登记明细(读 / 写共用)</summary>
public class CqdjItemDto
{
public long Id { get; set; }
public long DepId { get; set; } // 出勤部门(流动 / 代班时可为其它部门)
public long WorktypeId { get; set; } // 出勤工种
public int TypeCq { get; set; } // 出勤类型(1正常 2请假 3流动 4加班 5代班 6外派 7旷工 8工伤)
public int TypeQj { get; set; } // 请假类型(0无 1事假 2病假 3产假 4婚假 5丧假 6公假 7年假 9调休 10轮休)
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; } = "";
}
/// <summary>登记行(一人一天)</summary>
public class CqdjRowDto
{
public long Id { get; set; } // 已保存的主表 Id(0=未保存)
public long EmployeeId { get; set; }
public string EmployeeCode { 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 int Banci { get; set; }
public bool IsXuegong { get; set; } // 学工(未转正)
public bool Saved { 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; } = "";
public List<CqdjItemDto> Items { get; set; } = new();
}
/// <summary>登记查询结果(一次性返回整组,前端整组编辑)</summary>
public class CqdjViewDto
{
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public long DepId { get; set; }
public long WorktypeId { get; set; }
public int Banci { get; set; }
public List<CqdjRowDto> Rows { get; set; } = new();
}
/// <summary>整组保存入参(先软删该 日期+部门+工种+班次 的旧登记,再整批新增)</summary>
public class CqdjSaveDto
{
public DateTime Date { get; set; }
public long DepId { get; set; }
public long WorktypeId { get; set; } // 0 = 全部工种
public int Banci { get; set; }
public List<CqdjSaveRowDto> Rows { get; set; } = new();
}
public class CqdjSaveRowDto
{
public long EmployeeId { get; set; }
public long DepId { get; set; } // 0 = 取职工所在部门
public long WorktypeId { get; set; } // 0 = 取职工工种
public bool IsXuegong { get; set; }
public decimal HoursStandard { get; set; }
public int CsYeban { get; set; }
public string Memo { get; set; } = "";
public List<CqdjItemDto> Items { get; set; } = new();
}
/// <summary>「添加职工」下拉选项</summary>
public class CqdjEmpOptionDto
{
public long Id { get; set; }
public string Code { get; set; } = "";
public string Name { get; set; } = "";
public long DepId { get; set; }
public string DepName { get; set; } = "";
public long WorktypeId { get; set; }
public string WorktypeName { get; set; } = "";
public bool IsXuegong { get; set; }
}
// ==================== 考勤统计(CQTJ) ====================
/// <summary>统计行(一人一行,月快照)</summary>
public class CqtjRowDto
{
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 WorktypeId { get; set; }
public string WorktypeName { get; set; } = "";
public long EmployeeId { get; set; }
public string EmployeeCode { get; set; } = "";
public string EmployeeName { get; set; } = "";
public decimal DaysCqStandard { get; set; }
public decimal DaysCqActual { get; set; }
public decimal CqTianci { 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 int CsYeban { get; set; }
public decimal HoursQjShijia { get; set; }
public decimal HoursQjBj { get; set; }
public decimal HoursQjHj { get; set; }
public decimal HoursQjCj { get; set; }
public decimal HoursQjLx { get; set; }
public decimal HoursQjSangjia { get; set; }
public decimal HoursQjGj { get; set; }
public decimal HoursQjNj { get; set; }
public decimal HoursQjTx { get; set; }
public decimal HoursXgCq { get; set; }
public decimal HoursXgJiaban { get; set; }
public decimal HoursFadingjiaqi { get; set; }
public decimal HoursQjQqmc { get; set; }
public decimal HoursQjQqcal { get; set; }
public decimal JineQuanqin { get; set; }
public decimal JineJb { get; set; }
public decimal JineLiudong { get; set; }
public decimal JineDaiban { get; set; }
public decimal JineYb { get; set; }
public decimal JineKgKk { get; set; }
public decimal JineJqBzHj { get; set; }
public decimal JineJqBzBj { get; set; }
public decimal JineJqBzLx { get; set; }
public decimal JineJqBzSangjia { get; set; }
public decimal JineJqBzFading { get; set; }
public decimal JineJqBzTxnj { get; set; }
public decimal JineJqBz { get; set; }
public string Memo { get; set; } = "";
}
/// <summary>统计整组保存(先软删该 年/月/部门 的旧快照,再整批新增)</summary>
public class CqtjSaveDto
{
public int Year { get; set; }
public int Month { get; set; }
public long DepId { get; set; }
public List<CqtjRowDto> Rows { get; set; } = new();
}
/// <summary>一键生成入参</summary>
public class CqtjGenerateDto
{
public int Year { get; set; }
public int Month { get; set; }
}
/// <summary>统计录入视图(附加展示用的账期信息)</summary>
public class CqtjViewDto
{
public int Year { get; set; }
public int Month { get; set; }
public long DepId { get; set; }
public string DepName { get; set; } = "";
public decimal QsQuanqinDays { get; set; } // 薪资配置账期的前缫出勤天数
public bool Exists { get; set; } // true=库中已有快照,false=本次实时算出
public List<CqtjRowDto> Rows { get; set; } = new();
}
@@ -18,6 +18,8 @@ public class LsjlDto
public bool Isbanche { get; set; }
public string IsbancheName { get; set; }
public double Hours { get; set; }
public int Tongshu { get; set; }
public int Meitongjianliang { get; set; }
public string Guige { get; set; }
public double Chesu { get; set; }
}
@@ -36,6 +38,8 @@ public class LsjlCreateDto
public int Chetaishu { get; set; }
public bool Isbanche { get; set; }
public double Hours { get; set; }
public int Tongshu { get; set; }
public int Meitongjianliang { get; set; }
public string Guige { get; set; } = "";
public double Chesu { get; set; }
}
@@ -0,0 +1,228 @@
using F9WebAiTest.Domain.Entities.Prod;
namespace F9WebAiTest.Application.Dtos.Prod;
// ==================== 选茧日报 ====================
public class XjrbListDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public int YlLrBaoshu { get; set; }
public decimal YlLrZhongliang { get; set; }
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int LjjBaoshu { get; set; }
public decimal LjjZhongliang { get; set; }
public int MjBaoshu { get; set; }
public decimal MjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
public decimal TotalZhongliang { get; set; }
public int ThBaoshu { get; set; }
public decimal ThZhongliang { get; set; }
public decimal LiantongRate { get; set; }
public decimal Yingkui { get; set; }
}
public class XjrbSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long GyzkId { get; set; }
public int YlLrBaoshu { get; set; }
public decimal YlLrZhongliang { get; set; }
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int LjjBaoshu { get; set; }
public decimal LjjZhongliang { get; set; }
public int MjBaoshu { get; set; }
public decimal MjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
public int ThBaoshu { get; set; }
public decimal ThZhongliang { get; set; }
public decimal LiantongRate { get; set; }
public decimal Yingkui { get; set; }
}
/// <summary>盈亏 / 联统率计算结果(对齐 F9 GetXjrbCountYingkuiQuery 返回字典)</summary>
public class XjrbYingkuiDto
{
public decimal LiantongRate { get; set; }
public decimal Yingkui { get; set; }
public DateTime StartDate { get; set; }
public string StartDateText => StartDate.ToString("yyyy-MM-dd");
}
// ==================== 选茧计划 ====================
public class XjrbPlanListDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public long YllingliaodanId { get; set; }
public string YllingliaodanCode { get; set; } = "";
public int YlBaoshu { get; set; }
public decimal YlZhongliang { get; set; }
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int WjjBaoshu { get; set; }
public decimal WjjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
public decimal TotalZhongliang { get; set; }
public decimal LiantongRate { get; set; }
public decimal Yingkui { get; set; }
public bool IsFinish { get; set; }
}
public class XjrbPlanSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long GyzkId { get; set; }
public long YllingliaodanId { get; set; }
public int YlBaoshu { get; set; }
public decimal YlZhongliang { get; set; }
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int WjjBaoshu { get; set; }
public decimal WjjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
}
// ==================== 选茧计划明细 ====================
public class XjrbItemDto
{
public long Id { get; set; }
public long XjrbPlanId { get; set; }
public DateTime Date { get; set; }
public string DateText => Date.ToString("yyyy-MM-dd");
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int WjjBaoshu { get; set; }
public decimal WjjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
public decimal TotalZhongliang { get; set; }
public bool IsFinish { get; set; }
}
public class XjrbItemSaveDto
{
public long Id { get; set; }
public long XjrbPlanId { get; set; }
public DateTime Date { get; set; }
public int LtjBaoshu { get; set; }
public decimal LtjZhongliang { get; set; }
public int HwjjBaoshu { get; set; }
public decimal HwjjZhongliang { get; set; }
public int WjjBaoshu { get; set; }
public decimal WjjZhongliang { get; set; }
public int SgjBaoshu { get; set; }
public decimal SgjZhongliang { get; set; }
public int XjjBaoshu { get; set; }
public decimal XjjZhongliang { get; set; }
public int JyBaoshu { get; set; }
public decimal JyZhongliang { get; set; }
public int JhBaoshu { get; set; }
public decimal JhZhongliang { get; set; }
public bool IsFinish { get; set; }
}
// ==================== 选茧班组 ====================
public class XjpbBanzuDto
{
public long Id { get; set; }
public string Banci { get; set; } = "";
public int Zu { get; set; }
}
public class XjpbBanzuZhigongDto
{
public long Id { get; set; }
public long BanzuId { get; set; }
public string Banci { get; set; } = "";
public int Zu { get; set; }
public long YgId { get; set; }
public string YgName { get; set; } = "";
public string YgPhone { get; set; } = "";
public int Sort { get; set; }
}
/// <summary>班组「编辑录入」保存项:职工 + 是否选中 + 组别(对齐 F9 XjpbBanzuZhigongCombinedDto)</summary>
public class XjpbBanzuZhigongSaveDto
{
public long Id { get; set; }
public string Banci { get; set; } = "";
public int Zu { get; set; }
public long YgId { get; set; }
public string YgName { get; set; } = "";
public string YgPhone { get; set; } = "";
public int Sort { get; set; }
public bool Selected { get; set; }
}
@@ -0,0 +1,111 @@
using F9WebAiTest.Domain.Enums.SYS.Employees;
namespace F9WebAiTest.Application.Dtos.Prod;
// ==================== 煮茧日报 ====================
/// <summary>煮茧日报列表行(主表 + 机组桶数合计)</summary>
public class ZjrbReadDto_View
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long DepId { get; set; }
public string DepName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public string Guige { get; set; } = "";
public DateTime? LastDate { get; set; }
public int StandardLuositongshu { get; set; }
public int MeitongJianliang { 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; }
// 机组桶数合计(列表下方明细/列展示用)
public int TongshuShangcun { get; set; }
public int TongshuJinsao { get; set; }
public int TongshuJinluo { get; set; }
public int TongshuJincun { get; set; }
public decimal JizuSaosiHours { get; set; }
}
/// <summary>煮茧日报-机组成员</summary>
public class ZjrbJizuDto
{
public long Id { get; set; }
public long ZjrbId { get; set; }
public int Jizu { get; set; }
public decimal JizuSaosiHours { get; set; }
public int TongshuShangcun { get; set; }
/// <summary>甲班今缫桶数(存于机组班次表)</summary>
public int TongshuJinsaoJiaban { get; set; }
/// <summary>乙班今缫桶数(存于机组班次表)</summary>
public int TongshuJinsaoYiban { get; set; }
/// <summary>今缫桶数 = 甲班 + 乙班(只读合计)</summary>
public int TongshuJinsao { get; set; }
public int TongshuJinluo { get; set; }
public int TongshuJincun { get; set; }
}
/// <summary>煮茧日报-班次成员(包数 / 重量)</summary>
public class ZjrbBanciDto
{
public long Id { get; set; }
public long ZjrbId { get; set; }
public Prod_Banci_Enum Banci { get; set; }
public string BanciName { 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>煮茧日报整条保存(主表 + 班次 + 机组 + 机组班次)</summary>
public class ZjrbSaveDto
{
public long Id { get; set; }
public DateTime Date { get; set; }
public long DepId { get; set; }
public string DepName { get; set; } = "";
public long GyzkId { get; set; }
public string GyzkName { get; set; } = "";
public string Guige { get; set; } = "";
public DateTime? LastDate { get; set; }
public int StandardLuositongshu { get; set; }
public int MeitongJianliang { get; set; }
/// <summary>联统茧标重(kg/包),来自参数配置「生产\前缫\煮茧 → 联统茧标重」,未配置为 0</summary>
public decimal LiantongBiaozhong { 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; }
public List<ZjrbBanciDto> Bancis { get; set; } = new();
public List<ZjrbJizuDto> Jizus { get; set; } = new();
}