郭庆泰
|
be1c973366
|
docs+chore(projects): 索引 EXPLAIN 分析 + 修正过时注释
- BizOrgMapper: selectSponsorOrgOptions/selectExecutorOrgOptions 注释
写 "走 idx_org_user_type_name", EXPLAIN 实际命中 idx_org_type_status
(优化器小数据下选小索引), 改为实测索引 + Using where 描述
- manager_projects.md §9.3: biz_project_assign 唯一约束状态标 ✅
(SHOW INDEX 实测有 uk_project_unit, doc 老版本误标 ❌)
- manager_projects.md §9.5: 新增索引分析章节, 记录 8 个关键查询
EXPLAIN 命中 + 已加/评估后未加的索引决策
DB 实际改动 (已落库, 无 .sql 文件):
- ADD INDEX idx_assign_exec_user_project (exec_user_id, project_id)
on biz_project_assign — 服务机机构 EXISTS+IN covering 优化
- DROP 临时测试的 idx_org_type_id — 优化器未采纳, 33 行数据量不值
|
2026-08-20 22:39:34 +08:00 |
|
郭庆泰
|
2b69ef1c92
|
refactor(projects): 彻底删除 BizProject.execOrgName (废弃 @Deprecated 字段)
无外部引用 (前端/Mapper 已迁移完成), 直接清理避免 API 表面残留旧字段
|
2026-08-20 22:37:11 +08:00 |
|
郭庆泰
|
b4acd72084
|
docs(projects): 服务机构筛选改多选 el-select 同步
- §2 筛选项表: 服务机构行镜像支持单位 (el-select multiple+remote, execAdminUserIds, EXISTS+IN, executorOptions)
- §9 字段映射表: execOrgName 标 @Deprecated, 加 execAdminUserIds (查询参数)
|
2026-08-20 22:32:47 +08:00 |
|
郭庆泰
|
9d2ed60a32
|
docs: manager_projects.md 字段映射表同步
支持单位筛选 UI 切换为 el-select 多选, 文档同步:
- 控件: el-input → el-select (multiple+remote)
- v-model: q.sponsorOrgName → q.sponsorAdminUserIds (List<Long>)
- 后端 SQL: 旧 LIKE 块 → 新的 IN foreach 块
- 选项来源: 空 → /business/org/sponsorOptions (LIMIT 5)
未做:
- L145 (列表展示列) / L269 (派生字段) / L373 (派生字段列表) 提及 sponsorOrgName 不动 — 展示字段保留
- _self/manager_meeting_new.md (3 处) 提及 sponsorOrgName 不动 — 展示字段保留
|
2026-08-20 22:21:12 +08:00 |
|
 郭庆泰andClaude
|
3198c408b7
|
feat: 劳务协议编辑改独立页 + 去 el-card 圆角框
- 新增 LaborProtocolEdit.vue (独立页, 新建/编辑复用, 跟 ExpertNew.vue 风格一致)
- 加路由 /admin/labor-protocol/new 和 /admin/labor-protocol/edit/:id
- LaborProtocol.vue 删 el-dialog + 改为 router.push 跳转
- 新增 .form-card.nested { border: none; box-shadow: none; } 去 el-card 圆角框
- 新增 _self/admin_labor_protocol.md 审查报告
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-19 21:17:56 +08:00 |
|
 郭庆泰andClaude
|
e496f34393
|
feat: 多处页面改造 + 新增劳务协议模板配置
主要改动:
- biz_meeting_attendee 中间表 + doctor/expert 角色数据隔离
- biz_meeting_attendee 加 handsign/labor_protocol 字段 (劳务协议改造)
- biz_labor_protocol_template 配置表 + admin 页面 (从 HeguiConstants 迁移)
- biz_expert.expertId 改 Long + IdGenerator 生成 (去自增)
- Login.vue / PublicityDetail.vue / Home.vue 等多处 bug 修复 + UI 改进
- 新增 page-tech-review 报告 3 篇 (_self/*.md)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-19 21:06:49 +08:00 |
|
 郭庆泰andClaude
|
ec4a8aa8f0
|
feat: org disable 整改 + biz_meeting 补字段 + 表格 0/1 显示标准化
1. backend: 禁用主账号 dual-write + 子账号登录校验主账号状态
- BizOrgServiceImpl.toggleStatus: 同步 biz_org.status 与 sys_user.status
- BizOrgController.toggleStatus: 严格校验 '0'/'1'
- BizAuthController.smsLogin 4.5: 子账号校验主账号状态拦截
2. fix: BizMeeting 补 9 个字段 getters/setters
- projectId / projectName / orgName / supervisionOpinion / supervisionBy
- supervisionTime / invitationUrl / scheduleUrl / laborSigned
- 解决 Meetings.vue 修改/复制 projectId 为空的 bug
3. frontend: 0/1 status 标准化显示
- 10 个 Orgs/People 表格 el-tag 由 raw 0/1 改为 正常/禁用
- 4 个 People 页面修复 row.status || '正常' 在 '0' 时不
回退的 bug (字符串 '0' 是 truthy)
- 筛选下拉 / 编辑表单 / onToggleStatus label 全部对齐 0/1 语义
- DB 迁移: 10 行脏数据 (7 正常/合作中 → 0, 3 禁用 → 1)
- 备份表 biz_org_backup_20260819
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-19 00:27:15 +08:00 |
|
郭庆泰
|
580410f70f
|
docs(manager_meetings): 重写, 按 skill 标准 11 章走, 修复记录归附录
|
2026-08-18 23:31:09 +08:00 |
|
郭庆泰
|
bae9fa6a6f
|
fix(meetings): 恢复会议ID filter (原型有), 第?期 改 el-input-number
|
2026-08-18 23:27:17 +08:00 |
|
郭庆泰
|
af4373b2dd
|
docs(manager_meetings): 第四轮修复记录 (P0#1 mapper 筛选), 待修复表 #1 标 ✅, 记 DB stage 数据不一致
|
2026-08-18 23:21:21 +08:00 |
|
郭庆泰
|
e644e0897f
|
docs(manager_meetings): 第三轮修复记录 (style-alignment + 批量按钮去 plain), §9/§10/§11 同步, 待修复表新增 #18-#20
|
2026-08-18 23:17:53 +08:00 |
|
郭庆泰
|
869f7de1bc
|
docs(manager_meetings): 第二轮修复记录 (onCopy 走 bizAdd + 双 toast 修), 待修复表 P0#3/#4 标 ✅
|
2026-08-18 23:10:09 +08:00 |
|
郭庆泰
|
ffda9c618e
|
feat(biz_project): 加 create_user_id 列, JOIN biz_person 取创建人姓名
|
2026-08-18 23:00:41 +08:00 |
|
 郭庆泰andClaude
|
4fbfcbfb0c
|
refactor(meeting-new): 跟原型 new-meeting.html 1:1 对齐
完全重写 MeetingNew.vue, 严格按原型 HTML/CSS 翻译:
- 结构: 面包屑(可点击项目列表) + h1 + 红字提示 + .card + .form-grid (2列) + .form-actions
- 左列 6 项只读: 项目编号/项目名称/总场次/总期数/支持单位/创建时间/创建人员
- 右列 5 项: 会议名称(只读) + 期数/开始时间/结束时间/备注(输入)
- CSS 完整照搬: #169bd5 主按钮 + 32px input + 12px 面包屑 + 22px h1 + #ff4d4f 红字 + grid 1fr 1fr + 768px 响应式
- grid-auto-flow: column 让左 6 右 5 对齐 (符合原型 §#4/##5 设计意图)
- 字段映射: 总场次/总期数→biz_project.totalSessions; 支持单位→biz_project.sponsorOrgName (JOIN biz_org)
删除多余项 (前几轮加的): 项目形式/总期数/当前阶段下拉/page-sub/el-descriptions/会议ID输入框
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-18 22:39:02 +08:00 |
|
 郭庆泰andClaude
|
66a928a870
|
fix(meeting-new): 落实 manager/meetings/new 审查报告 13 项修复
P0 数据正确性:
- BizMeetingMapper.xml INSERT 扩 20 列 (原只插 meeting_id)
- BizMeetingServiceImpl businessId 兜底生成 (DDL NOT NULL, 前端无字段)
- MeetingNew.vue onMounted 回填 projectId/projectName (原只 projectNo)
P1 核心功能:
- 删 会议ID 输入框 (PK 让用户填错)
- 加 6 个项目只读快照 (el-descriptions, 跟原型对齐)
- 会议名称默认 = 项目名称, 不可修改 (加红字提示 + disabled)
- meetingId String → Long (6 文件: BizMeeting/Mapper/ServiceImpl/Controller/IBizMeetingService/Mapper.xml)
- supervisionTime String → Date + @JsonFormat
P2 体验:
- 面包屑改 项目列表 / 新建会议
- page-sub 显示项目名而非 ID 13
- 当前阶段 el-select 4 → 10 选项
- resultMap/selectFields 补 9 个漏字段 (projectId/projectName/orgName/supervision*/invitation*/schedule*/labor*)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-18 22:33:37 +08:00 |
|
 郭庆泰andClaude
|
e1252f0f52
|
docs(meeting-new): 加 manager/meetings/new 端到端审查报告 (315 行, 11 章)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-18 22:31:30 +08:00 |
|
郭庆泰
|
7c9e5c373a
|
docs(manager_projects): §6.3 加中文列名列 (DB COMMENT 优先, 加速类型不一致排查)
每行从 5 列扩到 6 列: 实体字段 / 中文列名 (DB COMMENT) / 类型 / 表字段 / 类型 / 一致?
中文名来源 (按优先级):
1. SQL information_schema.COLUMNS.COLUMN_COMMENT (DDL COMMENT, 最权威)
2. 前端 UI label (table header / form label)
3. 实体 @Excel(name) (导出列头, 兜底)
好处: 一眼看出"哪个中文字段对哪个英文 DB 列", §6.3 之前发现的 projectId String vs project_id bigint / startTime String vs start_time datetime 这类 bug 一目了然。
|
2026-08-18 22:17:28 +08:00 |
|
郭庆泰
|
c3b6212478
|
docs(manager_projects): 更新修复记录 + 索引表 + §10 标已修 (P1/P2 5 项)
修复记录章节加 6 条 (2026-08-18):
- #7 batchScoreRows 死代码删除
- #5 4 处 console 调试删除
- #9 日期选择器 value-format 对齐 type
- #12 biz_project 加 idx_sponsor_admin_user_id
- #13 biz_project 加 idx_start_end_time 复合索引
- #14 biz_project_assign 加 uk_project_unit UNIQUE (executor 分配防重复)
§7 索引表更新:
- biz_project 7 个 (新增 idx_sponsor_admin_user_id + idx_start_end_time)
- biz_project_assign 5 个 (新增 uk_project_unit)
§10 待修复列表 5 项标 ~~删除线~~ (5/7/9/12/13/14)
|
2026-08-18 22:12:28 +08:00 |
|
郭庆泰
|
66068c6f57
|
refactor(biz/project): 修实体类型不一致 projectId String→Long + startTime/endTime String→Date
- BizProject.projectId String→Long (9 文件: domain / IBizProjectService / BizProjectServiceImpl /
BizProjectMapper.java+xml / BizProjectController / BizExecutionIntentController /
BizPublicityIntentController / BizPublicController). 删 SnowflakeId.injectIfEmpty
(Long setter 不匹配反射 NoSuchMethodException, biz_project 用 AUTO_INCREMENT 安全)
- BizProject.startTime/endTime String→Date, 加 @JsonFormat yyyy-MM-dd HH:mm:ss (跟 BizMeeting 一致)
- Mapper XML 8 处 <if test='x != null and x != ""'> → <if test='x != null'> (Date 无 isEmpty)
- _self/manager_projects.md: §6.3 + §9.1 标已修, 加修复记录章节
|
2026-08-18 22:03:45 +08:00 |
|
 郭庆泰andClaude
|
e59b512e4b
|
fix(person): 子账号继承主账号 role_type + Login 不再硬编 leader
问题: sponsor 主账号新建的子账号 role_type 没写入,
被 sys_user.role_type DEFAULT 'executor' 覆盖,
导致子账号进入 executor 视角;另外 Login.vue
autoRole/短信登录都硬编 'leader' 兜底, getInfo
失败时静默跳 /leader/home。
修复:
- BizPersonServiceImpl.insert 读主账号 SysUser,
把 mainUser.getRoleType() 写到新子账号
(SysUserMapper.xml insertUser 已支持 role_type 列)
- Login.vue: 短信登录 fallbackRole 改 '',
autoRole 不匹配返回 '', afterLogin 无 role 跳 /login
(不再 fallback /leader/home)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-18 21:35:51 +08:00 |
|
 郭庆泰andClaude
|
8aba05aa0f
|
docs(review): sponsor/account 端到端审查报告
11 章穿透审查:
- 四跳定位 (AdminLayout → router → Account.vue → proto)
- 后端链路: SysProfileController → SysUserMapper
- DB 实测 sys_user DDL + 索引
- 与原型 sponsor-account.html 对比
- 发现 P1: 改手机号未走短信验证码 (后端 /changePhone 已实现但前端未用)
- 发现 P3: sys_user 缺 uk_user_name / idx_phonenumber
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-18 20:47:23 +08:00 |
|