Commit Graph
7 Commits
Author SHA1 Message Date
郭庆泰 36528b6e0c 批量推送代码 2026-08-26 23:14:46 +08:00
郭庆泰andClaude 591a43fe61 feat: 会议提交剩余时间+解冻 + 会务/劳务材料批量下载 + 多角色人员/账号模块完善
Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-25 06:53:18 +08:00
郭庆泰 0eb5da6ea8 feat(biz_project+meeting): 项目+会议软删除级联, admin/manager 双角色可删
biz_project* 5 表级联 (project/plan/assign/sponsor_assign/rating) + 会议链
biz_meeting* 6 表级联 admin-only → admin/manager 可删

DB:
- 5 ALTER TABLE 加 is_deleted TINYINT DEFAULT 0 NOT NULL (biz_project/plan/assign/sponsor_assign/rating)
- biz_meeting* 6 表已有 is_deleted 列 (上轮已 ALTER)

Domain (10 文件):
- 5 个 biz_project* 加 isDeleted 字段
- 6 个 biz_meeting* 加 isDeleted 字段
- (audit_log 列名特殊: 使用 deleted 字段存操作类型, 不冲突)

Mapper 接口 (10 文件):
- 5 个 project mapper 加 softDeleteByProjectId / softDeleteByProjectNo
- 5 个 meeting mapper 加 softDeleteByMeetingId
- BizMeetingMapper 加 selectIdListByProjectId (级联调用)

Mapper XML (10 文件):
- 所有 SELECT 加 is_deleted=0 过滤 (含 JOIN 子查询)
- 加 softDeleteByXxx UPDATE (10 处)
- BizMeetingMapper.xml 的 plan LEFT JOIN 加 proj.is_deleted=0 防悬挂

Service (3 文件):
- IBizProjectService.softDeleteCascade/Batch (含会议链调用)
- IBizMeetingService.softDeleteCascade/Batch
- BizProjectServiceImpl / BizMeetingServiceImpl @Transactional(rollbackFor=Exception.class)

Controller (2 文件):
- BizProjectController.DELETE 改 admin+manager 可删
- BizMeetingController.DELETE 改 admin+manager 可删 (放宽权限)
2026-08-22 20:16:40 +08:00
郭庆泰 2cef296b1e feat(meeting): 会议详情页参会人 CRUD + BizProjectPlan audit 字段
- 后端: BizMeetingAttendee 增 list/add/update/delete 4 端点
  按手机号定位 sys_user (无则新建, 用户名=密码=phone, role_type='doctor')
  Mapper: insertWithProfile (一次写完整档案) + deleteByPrimaryKey
  Service: insertByPhoneWithProfile (重复参会人抛友好异常)
- #4 配套: BizProjectPlan.auditOpinion/auditBy/auditTime + 关联项目名
  BizProjectPlan.projectName (LEFT JOIN biz_project) 用于 #4 通知 content
- 前端 MeetingDetail.vue: 劳务材料 tab 内, 劳务明细表 file-row 下方
  直接出表 (无表题), 含姓名/手机/单位/科室/职称/劳务费/签字状态/操作
  新增/编辑 dialog 共用, 删除走 ElMessageBox.confirm 二次确认
- 触发 #5: 新参会人 POST 时也发会议邀请通知 (与 BizMeetingController.add 一致)
2026-08-22 15:53:06 +08:00
郭庆泰 67be5345ad refactor(submissions): 方案A — mapper submitter_name + 页面样式对齐 + 紧急迁移
- mapper: selectFields 加 COALESCE(bp.name, u.user_name), LEFT JOIN biz_person (uk_person_user_id 防笛卡尔积)
- mapper: insert 补 7 字段 (plan_name/plan_direction/plan_category/project_form/design_file_url/is_settled/project_no), plan_name NOT NULL 缺默认
- SQL: 紧急迁移脚本 add submitter_id + idx + biz_person UNIQUE (ALTER, 不 DROP)
- SubmissionNew: page-card + breadcrumb + max-width 1200px, accept=.pdf/.png/.jpg/.jpeg, __silentError 防双 toast
- SubmissionNew: el-upload drag 模式 A (对齐 Meetings.vue, 删 design-uploader 自定义 CSS)
- SubmissionDetail: 删状态/投稿人/投稿时间/审计, 改 Preview 组件展示设计文件
2026-08-18 00:51:53 +08:00
郭庆泰 c9fc6ebdb8 refactor(doctor/submissions): 合并到 biz_project_plan + 删除 biz_submission 死代码
- /doctor/submissions 改走 biz_project_plan,与 /manager/plans 字段/组件/状态字典完全对齐
- BizProjectPlan 加 submitter_id (BIGINT) + submitter_name (LEFT JOIN 查询字段)
- mapper 改 LEFT JOIN biz_person + sys_user,COALESCE(bp.name, u.user_name) 兜底
- biz_person.user_id 加 UNIQUE 索引 (1:1 LEFT JOIN 无笛卡尔积)
- controller 加 doctor 角色自动过滤: list 按 submitter_id, add/edit 强制 submitter_id
- 删除 7 个 BizSubmission 死代码 (Controller/Service/Mapper/Domain/XML/Enum) + 1 utils
- 路由参数 :subId → :planId (路径名 submission 保留产品文案)
- 新增 migration_submission_to_projectPlan_2026_08_18.sql
2026-08-18 00:28:40 +08:00
郭庆泰 cf5790229a refactor: 合并 biz_support_unit/biz_execution_unit/biz_service_org 为 biz_org, 删除 2 张孤儿表, 改 biz_person.work_unit → org_id FK
主要改动:
- SQL: biz_support_unit → biz_org, 加 org_type, 加 business_nature; 删 biz_execution_unit, biz_service_org
- SQL: biz_project.support_unit_id/name + service_org_id/name → org_id/name/type
- SQL: biz_meeting.support_unit_name → org_name
- SQL: biz_person.work_unit → org_id (FK)
- 后端: 新 BizOrg entity/mapper/service/controller
- 后端: BizProject/BizMeeting 字段重命名
- 后端: 删 12 个 BizSupportUnit/BizExecutionUnit/BizServiceOrg Java 文件
- 后端: BizPersonImportVO.workUnit → orgName (导入时查 biz_org 取 org_id)
- 后端: BizAuthController.registerExecutor 完整实现 (原 registerSupplier stub)
- 前端: 新 admin/Orgs.vue + manager/Orgs.vue (原 SupportUnits)
- 前端: RegisterExecutor.vue (原 RegisterSupplier, 单页 2 步)
- 前端: sponsor/executor/manager 多个文件 workUnit → orgId/orgName 重命名
- 前端: 统一 supplier → executor, 业务命名 sponsor(赞助方) / executor(执行方=供应商)
- 前端: 全工程 execution → executor (company type / role / person unit_type)
2026-08-15 12:41:10 +08:00