新增质量模块(工艺执行书 / 样茧试缫)与报表中心

质量模块:
- 11 张工艺执行书表:封面、试产、选剥茧(含混茧明细)、试缫与大样、煮茧(含分车间配温、副煮车间)、自动缫(含大样)、后缫
- 10 张样茧试缫表:原料小样/综合样主表 + 选茧、解舒、茧幅、切剖、清洁洁净、茧丝百回纤度
- 服务与接口、主控指针回写(列表 √ 标记)、封面编号自增、报表数据包
- 前端 8 张报表打印版式、7 类工艺单据与 6 类调查录入弹窗、字段驱动表单/表格组件
- 菜单种子新增「质量」目录,样茧子表增加 YjssType 判别列,避免原料小样与综合样自增 Id 重号串数据

报表中心:
- 报表模板管理、锐浪 grhtml5 加载与预览、全屏设计面板、数据源 Provider(落丝记录、职工花名册)

其他:同步工作进度 1-11 文档、开发数据库快照、.gitignore 忽略运行日志目录
This commit is contained in:
yanpeng200212
2026-10-22 10:30:37 +08:00
parent 8c4c464362
commit a8890c81e9
92 changed files with 14785 additions and 70 deletions
@@ -0,0 +1,28 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>茧幅调查主表(对应 F9 biz_prod_qc_yjss_dc_jfdc_main)</summary>
[Table(Name = "qc_yjss_dc_jfdc_main")]
public class YjssDcJfdcMain : BaseEntity
{
public long YjssId { get; set; } // 主表 Id
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public decimal PingJunJianFu { get; set; } // 平均茧幅(mm)
public decimal ZuiDaJianFu { get; set; } // 最大茧幅(mm)
public decimal ZhengQiLv { get; set; } // 茧幅整齐率(%)
public decimal JunFangCha { get; set; } // 茧幅均方差
}
/// <summary>茧幅调查明细(对应 F9 biz_prod_qc_yjss_dc_jfdc_item)</summary>
[Table(Name = "qc_yjss_dc_jfdc_item")]
public class YjssDcJfdcItem : BaseEntity
{
public long JfdcId { get; set; } // 茧幅调查主表 Id
public long YjssId { get; set; } // 主表 Id(冗余,便于整表删除)
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public decimal JianFu { get; set; } // 茧幅(mm)
public decimal ShuLiang { get; set; } // 数量(粒)
public int Sort { get; set; }
}
@@ -0,0 +1,33 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>茧丝百回纤度汇总(对应 F9 biz_prod_qc_yjss_dc_jsbhxdmain)</summary>
[Table(Name = "qc_yjss_dc_jsbhxd_main")]
public class YjssDcJsbhxdMain : BaseEntity
{
public long YjssId { get; set; } // 主表 Id
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public decimal XianDuJunFangCha { get; set; } // 茧丝纤度均方差
public decimal ZuiDaKaiCha { get; set; } // 最大开差
public decimal NeiWaiKaiCha { get; set; } // 内外开差
public decimal WaiSanBaiHui { get; set; } // 外三百回
public decimal ZhongSanBaiHui { get; set; } // 中三百回
public decimal NeiSanBaiHui { get; set; } // 内三百回
public decimal BaiSeJianDanXian { get; set; } // 白色茧单纤
public decimal HuiSeJianDanXian { get; set; } // 灰色茧单纤
public decimal HongSeJianDanXian { get; set; } // 红色茧单纤
}
/// <summary>茧丝百回纤度明细(对应 F9 biz_prod_qc_yjss_dc_jsbhxd)</summary>
[Table(Name = "qc_yjss_dc_jsbhxd")]
public class YjssDcJsbhxd : BaseEntity
{
public long JsbhxdMainId { get; set; } // 汇总表 Id
public long YjssId { get; set; } // 主表 Id(冗余)
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public int HuiShu { get; set; } // 回数
public decimal XianDu { get; set; } // 纤度(D)
public int Sort { get; set; }
}
@@ -0,0 +1,72 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>
/// 解舒调查(试缫,对应 F9 biz_prod_qc_yjss_dc_jsdc):一条主表可有多条本记录。
/// </summary>
[Table(Name = "qc_yjss_dc_jsdc")]
public class YjssDcJsdc : BaseEntity
{
public long YjssId { get; set; } // 主表 Id
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public int XuHao { get; set; } // 序号
// ---- 缫丝工艺参数 ----
public int XuShu { get; set; } // 绪数
public int DingLi { get; set; } // 定粒
public int ZhuJianTangWen { get; set; } // 煮茧汤温(℃)
public int SaoSiTangWen { get; set; } // 缫丝汤温(℃)
public int CheSu { get; set; } // 车速(转/分)
public decimal XiaoSiGanLiang { get; set; } // 小丝干量(g)
public decimal XiaoSiGongLiang { get; set; } // 小丝公量(g)
// ---- 落绪分布 ----
public int LdfbWai { get; set; } // 外
public int LdfbZhong { get; set; } // 中
public int LdfbNei { get; set; } // 内
public int LdfbSum { get; set; } // 总粒数
// ---- 解舒核心 ----
public string XianJianYouXuLv { get; set; } = ""; // 鲜茧有绪率(区间文本)
public int JiaoShu { get; set; } // 绞数
public int LingHuiShu { get; set; } // 零回数
public decimal ShengSiZongChang { get; set; } // 生丝总长(回)
public decimal JianSiZongChang { get; set; } // 茧丝总长(回)
public decimal YiJianSiChang { get; set; } // 一茧丝长(m)
public decimal JieShuSiChang { get; set; } // 解舒丝长(m)
public decimal JieShuLv { get; set; } // 解舒率(%)
public decimal JieShuGuangZhe { get; set; } // 解舒光折(kg)
public decimal ShengSiXianDu { get; set; } // 生丝纤度(D)
public decimal JianSiXianDu { get; set; } // 茧丝纤度(D)
// ---- 蛹体粒数 / 比例 ----
public int YtLsNeiYin { get; set; } // 内印
public int YtLsMaoZu { get; set; } // 毛足
public int YtLsChuanTou { get; set; } // 穿头
public int YtLsShuangGong { get; set; } // 双宫
public decimal YtBlNeiYin { get; set; } // 内印比例
public decimal YtBlMaoZu { get; set; } // 毛足比例
public decimal YtBlChuanTou { get; set; } // 穿头比例
public decimal YtBlShuangGong { get; set; } // 双宫比例
// ---- 附煮 ----
public string FzCheJian { get; set; } = ""; // 附煮车间
public string FzGyzkName { get; set; } = ""; // 附煮工艺庄口
public string FzZhengZhuWenDu { get; set; } = ""; // 蒸煮室温度
public string FzTiaoZhengBuWenDu { get; set; } = ""; // 调整部温度
public string FzCheSu { get; set; } = ""; // 附煮车速
// ---- 屑物 ----
public decimal XwJianBaLiang { get; set; } // 总茧巴量
public decimal XwYongYiZhongLiang { get; set; } // 蛹衣重量
public decimal XwYongYiLv { get; set; } // 蛹衣率
public decimal XwLeiJie { get; set; } // 类节
public decimal XwWanMiDiaoCao { get; set; } // 万米吊糙
public decimal XwJianBaBiLi { get; set; } // 茧巴比例
// ---- 样茧 ----
public int JieShuLiShu { get; set; } // 解舒样茧粒数
public decimal JieShuZhongLiang { get; set; } // 解舒样茧重量(g)
}
@@ -0,0 +1,50 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>
/// 清洁洁净(对应 F9 biz_prod_qc_yjss_dc_qjjj):
/// 匀度(一/二/三度) + 洁净档位片数(100~60) + 疵点粒数(次要/普通) + 计算出的清洁、洁净、片数。
/// </summary>
[Table(Name = "qc_yjss_dc_qjjj")]
public class YjssDcQjjj : BaseEntity
{
public long YjssId { get; set; } // 主表 Id
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
// ---- 匀度 ----
public int YdYiDu { get; set; } // 一度
public int YdErDu { get; set; } // 二度
public int YdSanDu { get; set; } // 三度
// ---- 洁净档位(片数)----
public int Jj100 { get; set; }
public int Jj95 { get; set; }
public int Jj90 { get; set; }
public int Jj85 { get; set; }
public int Jj80 { get; set; }
public int Jj75 { get; set; }
public int Jj70 { get; set; }
public int Jj65 { get; set; }
public int Jj60 { get; set; }
// ---- 次要疵点 ----
public int QjTdc { get; set; } // 特大糙
public int QjFs { get; set; } // 废丝
public int QjDc { get; set; } // 大糙
public int QjNfc { get; set; } // 黏附糙
public int QjDcj { get; set; } // 大长结
public int QjZlx { get; set; } // 重螺旋
// ---- 普通疵点 ----
public int QjXc { get; set; } // 小糙
public int QjCj { get; set; } // 长结
public int QjLx { get; set; } // 螺旋
public int QjHjls { get; set; } // 环结及裂丝
// ---- 结果 ----
public int PianShu { get; set; } // 片数
public decimal QingJie { get; set; } // 清洁
public decimal JingJie { get; set; } // 洁净
}
@@ -0,0 +1,29 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>切剖调查(对应 F9 biz_prod_qc_yjss_dc_qpdc)</summary>
[Table(Name = "qc_yjss_dc_qpdc")]
public class YjssDcQpdc : BaseEntity
{
public long YjssId { get; set; } // 主表 Id
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样
public decimal YlQuanJian { get; set; } // 原量-全茧
public decimal YlJianCeng { get; set; } // 原量-茧层
public decimal YlYongTi { get; set; } // 原量-蛹体
public decimal JianCengLv { get; set; } // 茧层率(%)
public decimal GlYongTi { get; set; } // 蛹体干量
public decimal GlJianCeng { get; set; } // 茧层干量
public decimal GlZhuJian { get; set; } // 煮茧后干量
public decimal JianCengLvGongLiang { get; set; } // 公量茧层率(%)
public decimal TuoJiaoLv { get; set; } // 脱胶率(%)
public int LsJiangCan { get; set; } // 僵蚕粒数
public int LsNeiRan { get; set; } // 内染粒数
public int LsMeiYong { get; set; } // 霉蛹粒数
public int LsMaoJiao { get; set; } // 毛脚粒数
public decimal BlJiangCan { get; set; } // 僵蚕比例(%)
public decimal BlNeiRan { get; set; } // 内染比例(%)
public decimal BlMeiYong { get; set; } // 霉蛹比例(%)
public decimal BlMaoJiao { get; set; } // 毛脚比例(%)
}
@@ -0,0 +1,45 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>
/// 选茧调查(对应 F9 biz_prod_qc_yjss_dc_xjdc):
/// 11 个茧别重量 + 11 个比例 + 公斤茧粒数 + 解舒样茧粒数/重量。
/// </summary>
[Table(Name = "qc_yjss_dc_xjdc")]
public class YjssDcXjdc : BaseEntity
{
public long YjssId { get; set; } // 主表 Id(原料小样 / 综合样)
public int YjssType { get; set; } = 1; // 样品类型:1=原料小样 2=综合样(两张主表 Id 各自自增,需判别)
// ---- 茧重(g)----
public decimal ZlLtj { get; set; } // 联统茧
public decimal ZlHwj { get; set; } // 好五级茧
public decimal ZlWj { get; set; } // 五级茧
public decimal ZlMianJian { get; set; } // 绵茧
public decimal ZlHuangBan { get; set; } // 黄斑
public decimal ZlQuJian { get; set; } // 蛆茧
public decimal ZlShuangGong { get; set; } // 双宫
public decimal ZlXueJian { get; set; } // 血茧
public decimal ZlBaoPi { get; set; } // 薄皮
public decimal ZlJianYi { get; set; } // 茧衣
public decimal ZlMeiJian { get; set; } // 霉茧
// ---- 比例(%)----
public decimal BlLtj { get; set; }
public decimal BlHwj { get; set; }
public decimal BlWj { get; set; }
public decimal BlMianJian { get; set; }
public decimal BlHuangBan { get; set; }
public decimal BlQuJian { get; set; }
public decimal BlShuangGong { get; set; }
public decimal BlXueJian { get; set; }
public decimal BlBaoPi { get; set; }
public decimal BlJianYi { get; set; }
public decimal BlMeiJian { get; set; }
public int GongJinLiShu { get; set; } // 公斤茧粒数
public int JieShuLiShu { get; set; } // 解舒样茧粒数
public decimal JieShuZhongLiang { get; set; } // 解舒样茧重量(g)
}
@@ -0,0 +1,41 @@
using FreeSql.DataAnnotations;
using F9WebAiTest.Domain.Common;
namespace F9WebAiTest.Domain.Entities.QC.Yjss;
/// <summary>
/// 样茧试缫——原料小样主表(对应 F9 biz_prod_qc_yjss_main_ylxy)。
/// 能力范围:选茧调查 / 解舒调查 / 清洁洁净。
/// </summary>
[Table(Name = "qc_yjss_main_ylxy")]
public class YjssMainYlxy : BaseEntity
{
public long YlzkId { get; set; } // 原料庄口 Id
public DateTime Date { get; set; } = DateTime.Today; // 日期
public int Type { get; set; } = 1; // 类型:1定价抽样 2入库抽样 3鲜茧抽样
public decimal ZhongLiang { get; set; } // 样茧重量(g)
public decimal HuiChaoLv { get; set; } // 回潮率(%)
public string Memo { get; set; } = ""; // 备注
public long XjdcId { get; set; } // 选茧调查 Id
public int JsdcCt { get; set; } // 解舒调查记录数
public long QjjjId { get; set; } // 清洁洁净 Id
}
/// <summary>
/// 样茧试缫——综合样主表(对应 F9 biz_prod_qc_yjss_main_zhy)。
/// 能力范围:选茧 / 解舒 / 茧幅 / 切剖 / 清洁洁净 / 茧丝百回纤度。
/// </summary>
[Table(Name = "qc_yjss_main_zhy")]
public class YjssMainZhy : BaseEntity
{
public long GyzkId { get; set; } // 工艺庄口 Id
public DateTime Date { get; set; } = DateTime.Today; // 日期
public decimal ZhongLiang { get; set; } // 样茧重量(g)
public string Memo { get; set; } = ""; // 备注
public long XjdcId { get; set; } // 选茧调查 Id
public int JsdcCt { get; set; } // 解舒调查记录数
public long JfdcId { get; set; } // 茧幅调查 Id
public long QpdcId { get; set; } // 切剖调查 Id
public long QjjjId { get; set; } // 清洁洁净 Id
public int JsbhxdCt { get; set; } // 茧丝百回纤度记录数
}