Files
guoju0808/待优化遗留项.md
T
郭庆泰 5a0a892574 feat: 邀请函邮件发送 + 首次设密/密码为空 + 姓名单一可信源
邀请发送 (菜单暂隐藏, 待确认参数见 发送邀请-待确认参数.md):
- 后端: BizInvite / BizInviteRecipient + Controller/Service/Mapper/XML
- 邮件: InviteMailSender (spring-boot-starter-mail SMTP) + application*.yml 邮件配置
- 上传进度: UploadProgressRegistry + UploadProgressController
- 前端: InviteList / InviteNew / InviteDetail / InviteView + api/business/invite.js
- 原型: proto/html/components/invite-detail / new-invitation / send-invitation

登录/账号:
- 首次设密: /getInfo 返回 isPasswordEmpty, SysProfileController 密码为空时跳过旧密码校验, ForcePasswordDialog 强制弹窗
- 姓名单一可信源 resolveDisplayName: doctor→biz_expert.name, sponsor/executor→biz_person.name, 其余回退 nick_name
- OA compliance 门禁改为按手机号查 ecology 视图 (不再限定 manager/leader)

其它:
- OSS zip 在线查看 (列清单+取单文件, 公开只读) + SecurityConfig permitAll
- doctor 项目详情 ProjectDetail.vue
- 数据库/测试/设计文档 (md) 入库
2026-09-10 20:40:49 +08:00

45 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 待优化遗留项(本次 0/1→Y/N 未改的部分)
> 记录时间:2026-09-06
>
> 背景:已完成 `biz_project.is_finished` / `is_published`、`biz_department.status`、`biz_article.status`、`biz_meeting.labor_signed` 这 5 列 `char(1)` 0/1→Y/N 的迁移(test+prod 两库、后端、前端、文档四层同步)。
>
> 下面是**发现但未修改**的项,留待下次处理。
---
## 1. 其它表 `status` 仍存 0/1(未纳入本次 5 列范围)
这些 `status` 仍是 0/1,与新 Y/N 约定不一致。
| 表.列 | 后端字面量 | 前端文件 | 备注 |
|---|---|---|---|
| `biz_special_plan.status` | `BizSpecialPlanMapper.xml:33` `status='0'` | `admin/BizSpecialPlanAdmin.vue``BizSpecialPlanEdit.vue` | 专项计划 |
| `biz_doctor_title.status` | `BizDoctorTitleMapper.xml:37` `status='0'` | `admin/Title.vue` | 医生职称 |
| `biz_org.status` | `BizOrgMapper.xml:183` `o.status='0'` | 待查(机构管理页) | 机构 |
| `sys_user.status` | `BizSysUserQueryMapper.xml:26` `u.status='0'` | `admin/Users.vue` | 框架标准字段 |
| `sys_role.status` | —(框架自带) | `admin/Roles.vue` | 框架标准字段 |
| `sys_dict.status` | —(框架自带) | `admin/ProjectCategory.vue` | 框架标准字段 |
| `biz_project_assign.status` | `BizProjectAssignMapper.xml:33` `status='0'` | 待查/可能无前端 | 项目分配 |
> ⚠️ 各表的 0/1 语义**并不相同**(有的 0=启用/1=停用,有的 0=正常/1=停用,biz_project_assign.status 含义又不同)。改之前逐个查 `COLUMN_COMMENT` 确认,**不要照搬本批次的映射方向**。
> `sys_user` / `sys_role` / `sys_dict` 是 RuoYi 框架标准字段,改动会影响框架行为,建议单独评估是否值得动。
## 2. `biz_project_plan.is_finished` 是死字段
- 查库确认:`biz_project_plan` 表**没有** `is_finished` 列(全库只有 `biz_meeting.is_finished``biz_project.is_finished` 两列)。
- `BizProjectPlan.java:49-50``isFinished` 字段无对应列、无 resultMap 映射,属残留,可直接删除。
## 3. `biz_meeting.is_finished` 是 tinyint 0/1(与项目级 `is_finished` 同名不同型)
- DB`biz_meeting.is_finished tinyint NOT NULL DEFAULT 0`
- 后端:`BizMeeting.java``isFinished``Integer`(不是 String
- 前端:`utils/meetingStage.js``isTrue()``views/meetings/Meetings.vue``MeetingDetail.vue` 都按 tinyint0/1)判断
- 若也要统一成 `char(1)` Y/N,需改:列类型 → `Integer``String` → 前端这些 `isOne/isTrue/isOneVal` 判断,改动面较大,建议单独评估。
## 4. `biz_meeting.labor_signed` 签署链路未接线
- 已改成 `char(1)` Y/N(默认 `N`),但全库该列从未出现过 Y:test 46 条、prod 3 条全 `N`
- 代码里无 `setLaborSigned(...)` 调用,前端无 `laborSigned` 引用——「签署劳务」动作目前未实现。
- 将来实现签署时,落库值要写 `'Y'`(不是旧 `'1'`)。