using FreeSql.DataAnnotations; using F9WebAiTest.Domain.Common; namespace F9WebAiTest.Domain.Entities.Prod; // 选茧日报(对应 F9 生产-选剥茧 XBJ\XJRB 三张表:日报主表 / 计划 / 计划明细) // 数据口径: // 1) XjrbRecord 日报:某日某工艺庄口一条,记录干茧领入与 8 类茧(联统/好五级/六级/绵/双宫/下脚/茧衣/茧花)的 // 包数与重量,另含「退回」、合计重量、联统率、盈亏。 // 2) XjrbPlan 计划:按领料单(原料出库单)下达的选茧计划,含计划的 8 类茧与选茧盈亏、是否完成。 // 3) XjrbItem 计划明细:挂在计划下的每日选茧进度行(外键 XjrbPlanId),完成勾选后回写计划盈亏。 // // 盈亏 / 联统率口径(对齐 F9 GetXjrbCountYingkuiQuery): // 累计区间 = 同庄口下 Date < 当前日期 的历史日报(含当前录入值) // yllr = Σ 干茧领入重量(含当前) // ltj = Σ 联统茧重量(含当前) // all = Σ (联统+好五级+六级+绵+双宫+下脚+茧衣+茧花) 重量(含当前,不含退回) // 联统率 = yllr != 0 ? (ltj / yllr) * 100 : 0 // 盈亏 = all - yllr /// 选茧日报主表(F9 biz_prod_xbj_xjrb) [Table(Name = "XjrbRecords")] public class XjrbRecord : BaseEntity { 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 decimal TotalZhongliang { get; set; } // 合计重量(上述 8 项重量之和) public int ThBaoshu { get; set; } // 退回包数 public decimal ThZhongliang { get; set; } // 退回重量 public decimal LiantongRate { get; set; } // 联统率(%) public decimal Yingkui { get; set; } // 盈亏 } /// 选茧计划(F9 biz_prod_xbj_xjrb_plan):按领料单下达,含计划盈亏与完成标记 [Table(Name = "XjrbPlans")] public class XjrbPlan : BaseEntity { public DateTime Date { get; set; } // 日期 public long GyzkId { get; set; } // 工艺庄口 public long YllingliaodanId { get; set; } // 领料单(原料出库单)ID 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; } // 是否选茧完成(完成后禁止改动明细) } /// 选茧计划明细(F9 biz_prod_xbj_xjrb_item):挂在计划下的每日选茧进度行 [Table(Name = "XjrbItems")] public class XjrbItem : BaseEntity { public long XjrbPlanId { get; set; } // 选茧计划ID 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 decimal TotalZhongliang { get; set; } // 合计重量 public bool IsFinish { get; set; } // 是否选茧完成(勾选后回写计划盈亏) }