feat(iit): QC deep fix + V3.1 architecture plan + project member management

QC System Deep Fix:
- HardRuleEngine: add null tolerance + field availability pre-check (skipped status)
- SkillRunner: baseline data merge for follow-up events + field availability check
- QcReportService: record-level pass rate calculation + accurate LLM XML report
- iitBatchController: legacy log cleanup (eventId=null) + upsert RecordSummary
- seed-iit-qc-rules: null/empty string tolerance + applicableEvents config

V3.1 Architecture Design (docs only, no code changes):
- QC engine V3.1 plan: 5-level data structure (CDISC ODM) + D1-D7 dimensions
- Three-batch implementation strategy (A: foundation, B: bubbling, C: new engines)
- Architecture team review: 4 whitepapers reviewed + feedback doc + 4 critical suggestions
- CRA Agent strategy roadmap + CRA 4-tool explanation doc for clinical experts

Project Member Management:
- Cross-tenant member search and assignment (remove tenant restriction)
- IIT project detail page enhancement with tabbed layout (KB + members)
- IitProjectContext for business-side project selection
- System-KB route access control adjustment for project operators

Frontend:
- AdminLayout sidebar menu restructure
- IitLayout with project context provider
- IitMemberManagePage new component
- Business-side pages adapt to project context

Prisma:
- 2 new migrations (user-project RBAC + is_demo flag)
- Schema updates for project member management

Made-with: Cursor
This commit is contained in:
2026-03-01 15:27:05 +08:00
parent c3f7d54fdf
commit 0b29fe88b5
61 changed files with 6877 additions and 524 deletions

View File

@@ -1,7 +1,7 @@
# 日常更新操作手册
> 版本: v2.0合并自旧版 19-日常更新快速操作手册 + 0227 部署实战经验)
> 更新日期: 2026-02-27
> 版本: v2.1补充 0228 部署经验)
> 更新日期: 2026-02-28
> 适用: 日常代码更新、功能迭代、配置变更
---
@@ -27,7 +27,7 @@ docker login --username=gofeng117@163.com --password=fengzhibo117 crpi-cd5ij4pjt
## 2. Node.js 后端更新(~25 分钟)
**当前版本**: v2.2 → 下个版本: v2.3
**当前版本**: v2.3 → 下个版本: v2.4
### 2.1 构建
@@ -39,7 +39,7 @@ npm run build
# 或: npx tsc --noCheck
# 构建 Docker 镜像
docker build -t backend-service:v2.3 .
docker build -t backend-service:v2.4 .
```
> **0227 经验**: `tsc` 不会拷贝 `.json` 配置文件Dockerfile 中已有 `COPY src/modules/ssa/config/*.json` 等补丁步骤。如新模块有 JSON 配置文件需要确认 Dockerfile 覆盖到。
@@ -47,9 +47,9 @@ docker build -t backend-service:v2.3 .
### 2.2 推送
```powershell
docker tag backend-service:v2.3 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.3
docker tag backend-service:v2.4 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.4
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.3
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.4
```
推送约 10 分钟(~840MB看到 `digest: sha256:...` 表示成功。
@@ -57,7 +57,7 @@ docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinica
### 2.3 SAE 部署
1. SAE 控制台 → `nodejs-backend-test` → 部署应用
2. 选择镜像 `backend-service:v2.3`
2. 选择镜像 `backend-service:v2.4`(与上方构建版本一致)
3. 确认部署,等待 5-8 分钟
### 2.4 验证
@@ -75,14 +75,14 @@ docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinica
## 3. 前端 Nginx 更新(~15 分钟)
**当前版本**: v1.8 → 下个版本: v1.9
**当前版本**: v1.9 → 下个版本: v2.0
### 3.1 构建
```powershell
cd D:\MyCursor\AIclinicalresearch\frontend-v2
docker build -t ai-clinical_frontend-nginx:v1.9 .
docker build -t ai-clinical_frontend-nginx:v2.0 .
```
构建约 5 分钟(含 React 编译)。
@@ -90,9 +90,9 @@ docker build -t ai-clinical_frontend-nginx:v1.9 .
### 3.2 推送
```powershell
docker tag ai-clinical_frontend-nginx:v1.9 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.9
docker tag ai-clinical_frontend-nginx:v2.0 crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.0
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v1.9
docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.0
```
推送约 2 分钟(~50MB
@@ -100,7 +100,7 @@ docker push crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com/ai-clinica
### 3.3 SAE 部署
1. SAE 控制台 → `frontend-nginx-service` → 部署应用
2. 选择镜像版本 `v1.9`
2. 选择镜像版本 `v2.0`(与上方构建版本一致)
3. **检查环境变量**: `BACKEND_SERVICE_HOST` 指向最新后端 IP
### 3.4 验证
@@ -235,6 +235,7 @@ npx prisma migrate resolve --applied <migration_name>
□ 清零 03-待部署变更清单.md已部署项移到历史区域
□ 如果是大版本部署,创建 MMDD部署/ 文件夹记录过程
□ 如有服务 IP 变更,检查相互依赖的环境变量是否已更新
□ CLB 负载均衡器无需手动更新(阿里云自动处理)
```
---