Commit Graph

203 Commits

Author SHA1 Message Date
weicw ceadce610b feat: 结算单(三部门会签 + 明细行 + 盖章件必传)#52 2026-10-31 06:55:31 +08:00
weicw 80e1837f75 test: 会签与回填引擎级用例(#47/#49);缺配按组名报错、通过时校验必填可写字段 2026-10-31 06:48:52 +08:00
weicw a99b97ac8a feat: 归档前校验钩子与价格表查看接口接缝(#57/#58) 2026-10-31 06:37:16 +08:00
weicw e6442c1777 fix: 提交预检先带受理部门快照;导出列序与原顺序兼容并批量取实例 2026-10-31 06:30:49 +08:00
weicw d5001c981c feat: 二期审批引擎扩展与会签/明细/回填/附件分类共享层(#46)
- ApprovalDocumentType SPI + 注册表:新增单据不再改引擎
- ApprovalApproverResolver:会签组、orgLeaderByCode/orgDeputyByCode、租户岗位解析器
- 会签:任务带 group_key/group_name/group_seq,一人多组一次通过,只取消同组待办
- 回填:节点 writableFields、BACKFILL 动作、approval_field_change 留痕
- 附件:新增 VOUCHER 分类并按单据类型校验必传
- 详情:document.fields/lines/lineColumns/groupProgress + permissions.writableFields
- 列表/导出:title/search_text 落库、flowCode 筛选、明细行数/合计金额/会签进度列、明细导出
- sql/05-approval_phase2.sql(可重复执行)
2026-10-31 06:13:45 +08:00
weicw 5018463005 feat: 新增 approval_staff 员工角色并收紧派单候选池为审批参与人(#45) 2026-10-31 05:02:42 +08:00
weicw 2866abe1f5 test: 存档确认最小权限用例挂起,待 #45 决策 2026-10-31 04:38:09 +08:00
weicw 61d4f69716 fix: 审批附件落盘改到上传根目录,修复预览/下载 404(#44) 2026-10-31 04:38:09 +08:00
weicw fe96bb0457 merge: 一期线下审批(#18-#26) 2026-10-31 02:50:09 +08:00
weicw 47b55bad04 fix: 导出链接走下载端点;文件记录切到 core 库 2026-10-31 02:42:41 +08:00
weicw 8953fc3088 feat: 部门岗位角色标识改用 organization_code,缺编码阻断提交 2026-10-31 01:57:35 +08:00
weicw 4929dbc3d3 fix: 场馆部改为种子新建,不再复用历史部门 2026-10-31 01:35:48 +08:00
weicw 5f7bead9d9 feat: 九类审批部门与岗位角色种子 SQL(03) 2026-10-31 01:32:36 +08:00
weicw 564122295e chore: SQL 文件加执行顺序前缀(01-表结构、02-菜单权限) 2026-10-31 01:21:12 +08:00
weicw 9efe7bb380 merge: code review 修复(approval-fix) 2026-10-30 22:29:23 +08:00
weicw 252e99421e fix(approval): 派单归属受理部门负责人、PC 全租户待办改派与 keywords 统一
- 协调单流程定义升至 v2:dispatch 节点 resolver 改为 acceptOrgLeader,v1 行不可变保留;getOrCreate 取最新版本
- 详情新增 pendingTasks,canAssign 在持有 assign 权限且实例 PENDING 时可用
- /todo/page 支持 scope=all(仅 assign 权限),详情/列表/导出可见性 SQL 与 countVisible 一致
- 查询参数 keyword 统一为 BaseParam.keywords;术语统一为报送人
- 删除 ApprovalDirectoryService.hasDepartmentLeader 与 ApprovalFileService.getById 死代码
2026-10-30 22:28:05 +08:00
weicw b8ee1bb3b0 merge: t24 待办派单/转办与 admin 待办抽屉动作 2026-10-30 21:48:31 +08:00
weicw 8235fe067f Merge branch 'feat/approval-phase1' into feat/approval-t24 2026-10-30 21:42:20 +08:00
weicw 92a982054b feat(approval): 派单候选池、派单动作与双方存档 (#24) 2026-10-30 21:42:04 +08:00
weicw 43031aed45 merge: t26 单据查询导出 xlsx 2026-10-30 21:26:19 +08:00
weicw 4d6aa239bd Merge branch 'feat/approval-phase1' into feat/approval-t26 2026-10-30 21:21:17 +08:00
weicw 2c1dc9b43c feat(approval): 单据查询导出 xlsx (#26) 2026-10-30 21:21:10 +08:00
weicw d395abb6f0 merge: t21 存档确认与归档闭环 2026-10-30 21:16:23 +08:00
weicw 4b07462353 merge: t23 内部协调单表单与双部门负责人审批 2026-10-30 21:12:29 +08:00
weicw 8224e6380a test(approval): 覆盖协调单伪造报送部门字段被忽略 (#23) 2026-10-30 21:11:51 +08:00
weicw b2743bfcf0 Merge branch 'feat/approval-phase1' into feat/approval-t21 2026-10-30 21:09:11 +08:00
weicw a336e20747 feat(approval): 存档确认与归档闭环 (#21)
- 新增 POST /task/{id}/confirm(存档确认)与 /task/{id}/archive(归档)端点
- CONFIRM 全员完成后实例进入 APPROVED 并激活归档节点;缺配时停留审批中并提示
- ARCHIVE 或签,实例进入 ARCHIVED,记录归档人与时间,其余待办取消
- 归档后提交/撤回/编辑/附件/存档动作统一中文拒绝
- ApprovalConfirmArchiveIT 覆盖全员/部分存档、或签、只读、缺配阻断与全租户可见
2026-10-30 21:09:05 +08:00
weicw 81eadfa6de Merge branch 'feat/approval-phase1' into feat/approval-t23 2026-10-30 21:07:46 +08:00
weicw 7f26fafba3 feat(approval): 内部协调单表单、提交预检与双部门负责人审批 (#23) 2026-10-30 21:07:35 +08:00
weicw c13958dd2b merge: t22 PC 待办改派接口与集成测试 2026-10-30 21:06:42 +08:00
weicw 4dbb320add Merge branch 'feat/approval-phase1' into feat/approval-t22 2026-10-30 21:03:14 +08:00
weicw 7db8097c84 feat(approval): PC 待办改派接口与集成测试 (#22)
- 新增 POST /api/approval/task/{id}/assign:权限 approval:instance:assign,
  任务须 PENDING、目标同租户启用用户、原因必填;事务内锁实例后条件更新
  处理人并写 ASSIGN 记录(opinion=原因),@OperationLog 记录原/新处理人与原因
- 新增 ApprovalTaskAssignParam / ApprovalAssignVO
- 新增 ApprovalPcTodoIT:改派成功与归属变化、无效目标、非待办任务、原因必填、
  无权限 403、ASSIGN 记录、操作日志、改派候选用户
2026-10-30 21:03:07 +08:00
weicw 49c789f2b6 merge: t25 PC 单据查询分页与数据权限 2026-10-30 20:54:43 +08:00
weicw 504a0a980a Merge branch 'feat/approval-phase1' into feat/approval-t25 2026-10-30 20:50:59 +08:00
weicw da5b5cfde7 feat(approval): PC 单据查询分页与数据权限 (#25) 2026-10-30 20:50:53 +08:00
weicw ddc0deb289 merge: t20 审批中心待办已办与通过驳回撤回 2026-10-30 20:46:27 +08:00
weicw a85895583e feat(approval): 审批中心待办/已办与通过驳回撤回 (#20)
- 新增 ApprovalTaskService/Controller:通过、驳回、撤回、待办数量与节点推进
- 通过后同节点同轮其余待办取消,下一节点审批人事务外解析、事务内生成任务
- 任务条件更新(WHERE status='PENDING')保证并发抢办仅成功一次
- 新增 todo/done 列表(状态+关键词)与实例去重的待办计数
- ApprovalTaskIT 覆盖通过、驳回重提、或签、并发、自审、撤回、列表筛选
2026-10-30 20:45:26 +08:00
weicw bd9049c807 merge: t19 业务完成确认单与审批引擎起步 2026-10-30 20:29:13 +08:00
weicw 3b599efb3b test(approval): 覆盖流程定义幂等;核心库服务显式标注 server 数据源 2026-10-30 20:27:11 +08:00
weicw 370d8a6d36 chore: 合并后移除重复的 spring-security-test 依赖 2026-10-30 20:21:03 +08:00
weicw c08f2fb105 Merge branch 'feat/approval-phase1' into feat/approval-t19 2026-10-30 20:18:53 +08:00
weicw 4a1d02f040 feat(approval): 业务完成确认单草稿、附件、提交与引擎起步 (#19) 2026-10-30 20:18:47 +08:00
weicw 8e3b971981 merge: t18 角色成员与空角色清空 2026-10-30 20:01:04 +08:00
weicw d44e91d6e6 feat: 角色成员维护接口与用户清空角色修复
- 新增 /api/system/role-member 分页/添加/移除,@DS("server"),权限 sys:role:update,写操作记操作日志
- UserServiceImpl.updateUser 在 roles 非空判断下先删后插,空列表清空全部角色;updateUser/pageRel 切 server 库
- OperationRecordServiceImpl 加类级 @DS("server"),操作日志真正写入 gxtyzx_core
- OperationLogAspect 兼容无 User-Agent 的客户端,避免写日志 NPE 导致写操作失败
- RoleMemberIT 覆盖添加成员、移除最后一名成员、按角色分页、用户清空角色、403 与操作日志
2026-10-30 19:59:41 +08:00
weicw 029164c810 chore: 统一 JDK 16、合并 Boot 插件并移除测试接口放行 2026-10-30 19:03:24 +08:00
weicw 4987e7694d chore: 删除历史副本 modules/(不参与构建,含无鉴权调试端点) 2026-10-30 18:57:56 +08:00
weicw 291ec6d71c docs: README 改为根 AGENTS 指针 2026-10-30 18:52:20 +08:00
weicw ee01a1cbbf chore: 清理根目录重复实体、崩溃日志与示例配置等机械垃圾 2026-10-30 18:49:06 +08:00
weicw 19b7f409a6 fix: 未登录请求返回 401 业务码而非空响应 2026-10-30 18:39:27 +08:00
weicw f45e7e7e78 chore: 归档代码生成器,禁止直接运行 2026-10-30 18:35:54 +08:00