From a8890c81e986639c642bdbf72531062ee4ff0493 Mon Sep 17 00:00:00 2001
From: yanpeng200212 <32453@DESKTOP-HTJ2T0B>
Date: Thu, 22 Oct 2026 10:30:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B4=A8=E9=87=8F=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=EF=BC=88=E5=B7=A5=E8=89=BA=E6=89=A7=E8=A1=8C=E4=B9=A6?=
=?UTF-8?q?=20/=20=E6=A0=B7=E8=8C=A7=E8=AF=95=E7=BC=AB=EF=BC=89=E4=B8=8E?=
=?UTF-8?q?=E6=8A=A5=E8=A1=A8=E4=B8=AD=E5=BF=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
质量模块:
- 11 张工艺执行书表:封面、试产、选剥茧(含混茧明细)、试缫与大样、煮茧(含分车间配温、副煮车间)、自动缫(含大样)、后缫
- 10 张样茧试缫表:原料小样/综合样主表 + 选茧、解舒、茧幅、切剖、清洁洁净、茧丝百回纤度
- 服务与接口、主控指针回写(列表 √ 标记)、封面编号自增、报表数据包
- 前端 8 张报表打印版式、7 类工艺单据与 6 类调查录入弹窗、字段驱动表单/表格组件
- 菜单种子新增「质量」目录,样茧子表增加 YjssType 判别列,避免原料小样与综合样自增 Id 重号串数据
报表中心:
- 报表模板管理、锐浪 grhtml5 加载与预览、全屏设计面板、数据源 Provider(落丝记录、职工花名册)
其他:同步工作进度 1-11 文档、开发数据库快照、.gitignore 忽略运行日志目录
---
.gitignore | 1 +
.../Controllers/QC/GyzxsController.cs | 134 +++
.../Controllers/QC/YjssController.cs | 139 +++
.../Controllers/SysReportController.cs | 351 ++++++++
backend/F9WebAiTest.Api/Program.cs | 7 +-
.../F9WebAiTest.Api/f9_web_ai_test_rbac.db | Bin 1167360 -> 1503232 bytes
.../Commands/RolePermission_AssignCommand.cs | 11 +
.../Queries/GetEmployeeDirectoryRepQuery.cs | 62 ++
.../SYS/Reports/Queries/GetLsjlRepQuery.cs | 149 ++++
.../DependencyInjection.cs | 15 +
.../Dtos/QC/GyzxsDtos.cs | 62 ++
.../Dtos/QC/YjssDtos.cs | 60 ++
.../Dtos/SYS/Reports/ReportDataSourceDto.cs | 21 +
.../Dtos/SYS/Reports/ReportDtos.cs | 82 ++
.../Dtos/SYS/Reports/ReportScaffoldDtos.cs | 55 ++
.../F9WebAiTest.Application.csproj | 1 +
.../Interfaces/Reports/IReportDataProvider.cs | 22 +
.../Services/QC/GyzxsService.cs | 760 +++++++++++++++++
.../Services/QC/YjssService.cs | 551 ++++++++++++
.../Services/Reports/IReportService.cs | 41 +
.../Reports/Providers/RepDt_Prod_Lsjl.cs | 47 ++
.../Reports/Providers/RepDt_Sys_Users.cs | 31 +
.../Services/Reports/ReportService.cs | 652 ++++++++++++++
.../Entities/QC/Gyzxs/GyzxsDocVersion.cs | 25 +
.../Entities/QC/Gyzxs/GyzxsFengMian.cs | 23 +
.../Entities/QC/Gyzxs/GyzxsHs.cs | 57 ++
.../Entities/QC/Gyzxs/GyzxsShichan.cs | 65 ++
.../Entities/QC/Gyzxs/GyzxsXbj.cs | 61 ++
.../Entities/QC/Gyzxs/GyzxsXbjSsDy.cs | 45 +
.../Entities/QC/Gyzxs/GyzxsZds.cs | 112 +++
.../Entities/QC/Gyzxs/GyzxsZhuJian.cs | 98 +++
.../Entities/QC/Yjss/YjssDcJfdc.cs | 28 +
.../Entities/QC/Yjss/YjssDcJsbhxd.cs | 33 +
.../Entities/QC/Yjss/YjssDcJsdc.cs | 72 ++
.../Entities/QC/Yjss/YjssDcQjjj.cs | 50 ++
.../Entities/QC/Yjss/YjssDcQpdc.cs | 29 +
.../Entities/QC/Yjss/YjssDcXjdc.cs | 45 +
.../Entities/QC/Yjss/YjssMain.cs | 41 +
.../Entities/SYS/Reports/Report.cs | 130 +++
.../Entities/SYS/Reports/ReportFile.cs | 35 +
.../SYS/Reports/Report_ChangedDomainEvent.cs | 6 +
.../ReportTemplates/employee_directory.grf | 376 +++++++++
.../Assets/ReportTemplates/lsjl.grf | 312 +++++++
.../Data/DbSeeder.cs | 467 ++++++++++-
.../F9WebAiTest.Infrastructure.csproj | 2 +
.../Departments/DepartmentWriteRepository.cs | 6 +-
start.bat | 9 +-
web/public/grlib/grhtml5-7-min.js | 9 +
web/src/components/report/F9ParamControl.vue | 294 +++++++
web/src/components/report/ReportDesign.vue | 793 ++++++++++++++++++
web/src/components/report/ReportEditor.vue | 768 +++++++++++++++++
.../select/CraftZhuangKouSelect.vue | 52 ++
web/src/components/select/F9SelectPage.vue | 190 +++++
web/src/components/select/index.js | 39 +
web/src/router/index.js | 6 +-
web/src/utils/departments.js | 233 +++++
.../utils/gridreport/controls/antdControls.js | 99 +++
.../utils/gridreport/controls/f9Controls.js | 441 ++++++++++
web/src/utils/gridreport/controls/index.js | 83 ++
web/src/utils/gridreport/controls/registry.js | 203 +++++
web/src/utils/gridreport/grwebapp.js | 504 +++++++++++
web/src/utils/gridreport/loadGrhtml5.js | 36 +
web/src/utils/gridreport/reportConfig.js | 93 ++
web/src/utils/request.js | 4 +
web/src/views/prod/lsjl/index.vue | 34 +-
web/src/views/qc/components/QcGrid.vue | 82 ++
web/src/views/qc/components/SchemaForm.vue | 83 ++
web/src/views/qc/gyzxs/DocDialog.vue | 249 ++++++
web/src/views/qc/gyzxs/PrintDialog.vue | 660 +++++++++++++++
web/src/views/qc/gyzxs/index.vue | 156 ++++
web/src/views/qc/gyzxs/schema.js | 388 +++++++++
web/src/views/qc/yjss/YjssDocDialog.vue | 364 ++++++++
web/src/views/qc/yjss/YjssPrintDialog.vue | 290 +++++++
web/src/views/qc/yjss/index.vue | 268 ++++++
web/src/views/qc/yjss/schema.js | 206 +++++
web/src/views/report/center/index.vue | 363 ++++++++
web/src/views/report/manage/index.vue | 188 +++++
web/src/views/sys/department/index.vue | 245 ++++--
web/src/views/sys/role/index.vue | 47 +-
工作进度/工作进度-1.md | 337 ++++++++
工作进度/工作进度-10.md | 69 ++
工作进度/工作进度-11.md | 152 ++++
工作进度/工作进度-2.md | 167 ++++
工作进度/工作进度-3.md | 207 +++++
工作进度/工作进度-4.md | 271 ++++++
工作进度/工作进度-5.md | 189 +++++
工作进度/工作进度-6.md | 177 ++++
工作进度/工作进度-7.md | 167 ++++
工作进度/工作进度-8.md | 133 +++
工作进度/工作进度-9.md | 135 +++
消息推送系统_迁移指南.docx | Bin 54324 -> 0 bytes
消息推送系统与RBAC审批设计说明书.docx | Bin 36389 -> 0 bytes
92 files changed, 14785 insertions(+), 70 deletions(-)
create mode 100644 backend/F9WebAiTest.Api/Controllers/QC/GyzxsController.cs
create mode 100644 backend/F9WebAiTest.Api/Controllers/QC/YjssController.cs
create mode 100644 backend/F9WebAiTest.Api/Controllers/SysReportController.cs
create mode 100644 backend/F9WebAiTest.Application/CQRS/SYS/Reports/Queries/GetEmployeeDirectoryRepQuery.cs
create mode 100644 backend/F9WebAiTest.Application/CQRS/SYS/Reports/Queries/GetLsjlRepQuery.cs
create mode 100644 backend/F9WebAiTest.Application/Dtos/QC/GyzxsDtos.cs
create mode 100644 backend/F9WebAiTest.Application/Dtos/QC/YjssDtos.cs
create mode 100644 backend/F9WebAiTest.Application/Dtos/SYS/Reports/ReportDataSourceDto.cs
create mode 100644 backend/F9WebAiTest.Application/Dtos/SYS/Reports/ReportDtos.cs
create mode 100644 backend/F9WebAiTest.Application/Dtos/SYS/Reports/ReportScaffoldDtos.cs
create mode 100644 backend/F9WebAiTest.Application/Interfaces/Reports/IReportDataProvider.cs
create mode 100644 backend/F9WebAiTest.Application/Services/QC/GyzxsService.cs
create mode 100644 backend/F9WebAiTest.Application/Services/QC/YjssService.cs
create mode 100644 backend/F9WebAiTest.Application/Services/Reports/IReportService.cs
create mode 100644 backend/F9WebAiTest.Application/Services/Reports/Providers/RepDt_Prod_Lsjl.cs
create mode 100644 backend/F9WebAiTest.Application/Services/Reports/Providers/RepDt_Sys_Users.cs
create mode 100644 backend/F9WebAiTest.Application/Services/Reports/ReportService.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsDocVersion.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsFengMian.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsHs.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsShichan.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsXbj.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsXbjSsDy.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsZds.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Gyzxs/GyzxsZhuJian.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcJfdc.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcJsbhxd.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcJsdc.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcQjjj.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcQpdc.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssDcXjdc.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/QC/Yjss/YjssMain.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/SYS/Reports/Report.cs
create mode 100644 backend/F9WebAiTest.Domain/Entities/SYS/Reports/ReportFile.cs
create mode 100644 backend/F9WebAiTest.Domain/Events/SYS/Reports/Report_ChangedDomainEvent.cs
create mode 100644 backend/F9WebAiTest.Infrastructure/Assets/ReportTemplates/employee_directory.grf
create mode 100644 backend/F9WebAiTest.Infrastructure/Assets/ReportTemplates/lsjl.grf
create mode 100644 web/public/grlib/grhtml5-7-min.js
create mode 100644 web/src/components/report/F9ParamControl.vue
create mode 100644 web/src/components/report/ReportDesign.vue
create mode 100644 web/src/components/report/ReportEditor.vue
create mode 100644 web/src/components/select/CraftZhuangKouSelect.vue
create mode 100644 web/src/components/select/F9SelectPage.vue
create mode 100644 web/src/components/select/index.js
create mode 100644 web/src/utils/departments.js
create mode 100644 web/src/utils/gridreport/controls/antdControls.js
create mode 100644 web/src/utils/gridreport/controls/f9Controls.js
create mode 100644 web/src/utils/gridreport/controls/index.js
create mode 100644 web/src/utils/gridreport/controls/registry.js
create mode 100644 web/src/utils/gridreport/grwebapp.js
create mode 100644 web/src/utils/gridreport/loadGrhtml5.js
create mode 100644 web/src/utils/gridreport/reportConfig.js
create mode 100644 web/src/views/qc/components/QcGrid.vue
create mode 100644 web/src/views/qc/components/SchemaForm.vue
create mode 100644 web/src/views/qc/gyzxs/DocDialog.vue
create mode 100644 web/src/views/qc/gyzxs/PrintDialog.vue
create mode 100644 web/src/views/qc/gyzxs/index.vue
create mode 100644 web/src/views/qc/gyzxs/schema.js
create mode 100644 web/src/views/qc/yjss/YjssDocDialog.vue
create mode 100644 web/src/views/qc/yjss/YjssPrintDialog.vue
create mode 100644 web/src/views/qc/yjss/index.vue
create mode 100644 web/src/views/qc/yjss/schema.js
create mode 100644 web/src/views/report/center/index.vue
create mode 100644 web/src/views/report/manage/index.vue
create mode 100644 工作进度/工作进度-1.md
create mode 100644 工作进度/工作进度-10.md
create mode 100644 工作进度/工作进度-11.md
create mode 100644 工作进度/工作进度-2.md
create mode 100644 工作进度/工作进度-3.md
create mode 100644 工作进度/工作进度-4.md
create mode 100644 工作进度/工作进度-5.md
create mode 100644 工作进度/工作进度-6.md
create mode 100644 工作进度/工作进度-7.md
create mode 100644 工作进度/工作进度-8.md
create mode 100644 工作进度/工作进度-9.md
delete mode 100644 消息推送系统_迁移指南.docx
delete mode 100644 消息推送系统与RBAC审批设计说明书.docx
diff --git a/.gitignore b/.gitignore
index 0f4d799..9ee5486 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,7 @@ publish/
# 运行时临时文件 / 日志
*.log
+.run-logs/
_runlog/
_tmp_hubtest/
_rename_backup/
diff --git a/backend/F9WebAiTest.Api/Controllers/QC/GyzxsController.cs b/backend/F9WebAiTest.Api/Controllers/QC/GyzxsController.cs
new file mode 100644
index 0000000..a264e98
--- /dev/null
+++ b/backend/F9WebAiTest.Api/Controllers/QC/GyzxsController.cs
@@ -0,0 +1,134 @@
+using F9WebAiTest.Application.Common;
+using F9WebAiTest.Application.Dtos.QC;
+using F9WebAiTest.Application.Services.QC;
+using F9WebAiTest.Domain.Entities.QC.Gyzxs;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+
+namespace F9WebAiTest.Api.Controllers.QC;
+
+///
+/// 质量模块 —— 工艺执行书(对应 F9 生产\质量\工艺执行书)。
+/// 主列表按「庄口 + 年度」展示,每张子单据一个入口;保存子单据会联动主控表。
+///
+[ApiController]
+[Route("api/qc/gyzxs")]
+[Authorize]
+public class GyzxsController : ControllerBase
+{
+ private readonly IGyzxsService _svc;
+ public GyzxsController(IGyzxsService svc) => _svc = svc;
+
+ // ---------- 主列表 ----------
+ [HttpGet]
+ public async Task GetPaged([FromQuery] int pageIndex = 1, [FromQuery] int pageSize = 20,
+ [FromQuery] int year = 0, [FromQuery] string keyword = "")
+ => Ok(ApiResult>.Ok(await _svc.GetDocVersionPagedAsync(pageIndex, pageSize, year, keyword)));
+
+ [HttpPost("version")]
+ public async Task CreateVersion([FromQuery] long gyzkId)
+ {
+ try { return Ok(ApiResult.Ok(await _svc.CreateDocVersionAsync(gyzkId), "创建成功")); }
+ catch (ServiceException ex) { return StatusCode(ex.Code, ApiResult