| | |
| | | {"key": "fin", "name": "财务报销(独立)", "color": "#3ec9a7", "tag": "FIN", "flow": "finance", |
| | | "positioning": "独立的发票报销单据与归档", |
| | | "problem": "纸质发票难归集、报销审批无留痕、归档后无法追溯", |
| | | "features": ["报销单(主表 + 1..n 明细行)", "发票附件多文件上传(附件中心多态关联 storage_attachment)", "单号 Redis 生成 BX+yyyyMMdd+6位流水·每日重置", "明细随主表一次性提交(先删后增全量覆盖)", "BPM 审批(通过20/驳回35/取消退回草稿0)", "已驳回可改发票后重新提交", "归档终态 40 并记录归档时间", "费用类型/报销状态双字典 + Excel 导出", "对外提供 FinanceReimbursementApi(yudao-module-finance-api)供课题管理经费拨付自动建单并提交(1 行明细·费用类型=其他·金额一致)"], |
| | | "features": ["报销单(主表 + 1..n 明细行)", "发票附件多文件上传(附件中心多态关联 storage_attachment)", "发票 OCR 识别(图片/PDF·单次≤20 个·AI 多模态回填号码/类型/金额/日期/销售方)", "发票类型固定枚举(增值税专用发票/增值税普通发票/电子发票/收据/其他)", "申请人只读 + 代他人发起(实际申请人 applicant_id + 代录人 creator)", "提交审批写入申请人与代录人流程变量(applicantId/applicantName/initiatorId/initiatorName/isProxy)", "单号 Redis 生成 BX+yyyyMMdd+6位流水·每日重置", "明细随主表一次性提交(先删后增全量覆盖)", "BPM 审批(通过20/驳回35/取消退回草稿0)", "已驳回可改发票后重新提交", "归档终态 40 并记录归档时间", "费用类型/报销状态双字典 + Excel 导出", "对外提供 FinanceReimbursementApi(yudao-module-finance-api)供课题管理经费拨付自动建单并提交(1 行明细·费用类型=其他·金额一致)"], |
| | | "objects": ["报销单", "报销明细"], |
| | | "roles": ["报销人", "财务", "审批人"], |
| | | "upstream": ["课题管理(经费拨付 1:1 自动生成报销单·走 yudao-module-finance-api·本地 Bean 调用)"], "downstream": [], |
| | |
| | | {"key": "ums", "name": "会员管理(独立)", "color": "#d6955c", "tag": "UMS", "flow": "ums", |
| | | "positioning": "学会/协会型会员全生命周期:入会申请审批 → 自动建档 → 会员列表与通讯录", |
| | | "problem": "会员入会靠线下表格与人工建档,会员等级口径混乱,会员信息无法按地区/行业检索", |
| | | "features": ["入会申请单(个人/单位二型·字段分叉)", "申请等级两级口径(个人 ums_personal_grade / 单位 ums_unit_grade)", "申请编号 SQ+yyyyMMdd+6位流水·会员编号 HY+同日流水(Redis 每日重置)", "BPM 两级审批(秘书处初审→理事会审议)·状态 0草稿/15审批中/20已通过/35已驳回", "审批通过自动建会员 + 自动建系统登录账号(AdminUserApi.createUser·用户名与初始密码=联系电话)", "会员等级与类型匹配校验(单位会员不可选『理事长』)", "会员通讯录只读检索(按地区编码/行业)", "证明材料走 system 附件中心(recordType=ums_application / ums_member)"], |
| | | "features": ["入会申请单(个人/单位二型·字段分叉)", "申请等级两级口径(个人 ums_personal_grade / 单位 ums_unit_grade)", "申请编号 SQ+yyyyMMdd+6位流水·会员编号 HY+同日流水(Redis 每日重置)", "BPM 两级审批(秘书处初审→理事会审议)·状态 0草稿/15审批中/20已通过/35已驳回", "审批通过自动建会员 + 自动建系统登录账号(AdminUserApi.createUser·用户名与初始密码=联系电话)", "会员等级与类型匹配校验(单位会员不可选『理事长』)", "会费缴纳标识(是否缴纳 + 缴费年度·已缴必填年度·未缴清空·列表展示)", "会员自助维护资料(我的资料页·提交变更申请→管理员审核通过后写回·驳回原因回显)", "普通会员角色权限隔离(仅「我的资料」菜单·档案管理等后台菜单不可见·接口权限码兜底)", "会员通讯录只读检索(按地区编码/行业)", "证明材料走 system 附件中心(recordType=ums_application / ums_member)"], |
| | | "objects": ["入会申请单", "会员"], |
| | | "roles": ["入会申请人", "会员管理员", "秘书处(初审)", "理事会(审议)"], |
| | | "upstream": [], "downstream": ["system(自动创建登录账号)"], |
| | |
| | | {"key": "res", "name": "课题管理(独立)", "color": "#e070a8", "tag": "RES", "flow": "research", |
| | | "positioning": "学会/协会型科研课题全生命周期:指南发布 → 在线申报 → 专家评审 → 立项审批 → 经费拨付(立项通知走系统公告)", |
| | | "problem": "课题指南靠线下发布、申报书靠纸质或邮件收集、专家评分散落在表格里无法自动汇总排名、立项与拨款无留痕", |
| | | "features": ["课题指南(重点1/一般2 分类标注)", "指南状态 0草稿/20已发布/30已截止·发布/截止两个动作", "指南编号 GL+yyyyMMdd+6位流水(Redis 每日重置)", "在线申报书(选指南+选会员带出申报人信息+课题组成员+申请经费+申报书正文)", "申报编号 SB+同日流水·类别冗余自指南不信任前端", "申报状态 0草稿/15审批中/20已立项/35已驳回", "提交前校验指南已发布且在申报期内(逐条报具体维度与时间)", "专家评审明细子表(一位专家一行·四项加权 0.3/0.3/0.2/0.2)", "后端自动重算加权合计与排名·回写主单均分与推荐结论", "BPM 三级审批 research_topic_approve(秘书处形式审查→专家评审→学会立项审批)", "审批通过生成立项编号 LX+同日流水 与立项时间(幂等)", "发布立项通知(生成 system_notice 公告·写回 noticeId 防重复)", "经费拨付记录(批次/金额/日期/收款单位/备注/凭证附件)·凭证必填·金额不得超申请经费", "经费拨付 1:1 自动生成并提交财务报销单(FinanceReimbursementApi·1 行明细·费用类型=其他)", "拨付状态 0待拨付/15报销审批中/20已拨付/30已驳回·由 BPM 监听器回写(含驳回原因与时间)", "已驳回可改金额/凭证后重新发起报销·待拨付可删并联动清理财务侧草稿报销单", "附件走 system 附件中心(recordType=research_guideline / research_application / research_fund_record)"], |
| | | "features": ["课题指南(重点1/一般2 分类标注)", "指南状态 0草稿/20已发布/30已截止·发布/截止两个动作", "指南编号 GL+yyyyMMdd+6位流水(Redis 每日重置)", "在线申报书(选指南+选会员带出申报人信息+课题组成员+申请经费+申报书正文)", "联系电话必填 + 11 位手机号格式校验(前后端双重校验)", "课题组成员子表(姓名/电话/单位/职称/角色/排序)", "成员维度统计(姓名+电话+单位聚合参与课题数)·导出 Excel·复制群发名单", "申报编号 SB+同日流水·类别冗余自指南不信任前端", "申报状态 0草稿/15审批中/20已立项/35已驳回", "提交前校验指南已发布且在申报期内(逐条报具体维度与时间)", "专家评审明细子表(一位专家一行·四项加权 0.3/0.3/0.2/0.2)", "后端自动重算加权合计与排名·回写主单均分与推荐结论", "BPM 三级审批 research_topic_approve(秘书处形式审查→专家评审→学会立项审批)", "审批通过生成立项编号 LX+同日流水 与立项时间(幂等)", "发布立项通知(生成 system_notice 公告·写回 noticeId 防重复)", "经费拨付记录(批次/金额/日期/收款单位/备注/凭证附件)·凭证必填·金额不得超申请经费", "经费拨付 1:1 自动生成并提交财务报销单(FinanceReimbursementApi·1 行明细·费用类型=其他)", "拨付状态 0待拨付/15报销审批中/20已拨付/30已驳回·由 BPM 监听器回写(含驳回原因与时间)", "已驳回可改金额/凭证后重新发起报销·待拨付可删并联动清理财务侧草稿报销单", "附件走 system 附件中心(recordType=research_guideline / research_application / research_fund_record)"], |
| | | "objects": ["课题指南", "课题申报书", "专家评审明细", "经费拨付记录"], |
| | | "roles": ["课题申报人(会员)", "课题管理员", "评审专家", "学会秘书处", "学会理事会", "学会财务"], |
| | | "upstream": ["会员管理(ums_member 取申报人姓名/单位/职称/电话)", "BPM(流程定义 research_topic_approve / finance_reimbursement_approve)"], |
| | | "downstream": ["system(system_notice 立项通知公告)", "system(附件中心)", "财务(经费拨付生成 finance_reimbursement 报销单·已对接)"], |
| | | "coreTables": ["research_guideline", "research_application", "research_topic_review", "research_fund_record"]}, |
| | | {"key": "ast", "name": "资产管理(独立)", "color": "#8e7cc3", "tag": "AST", "flow": "asset", |
| | | "positioning": "资产台账 + 领用归还的独立管理模块", |
| | | "problem": "资产分散在个人手里、领用无记录、保管人与领用人不清、库存账实不符", |
| | | "features": ["资产台账三类: 易耗品/办公资产(打印机等)/固定资产", "资产编号 ZC+yyyyMMdd+6位流水·可手工指定", "库存数量/单价/总价值自动计算", "保管人(管理人)与存放地点记录", "领用登记: 领用人/领用时间/数量/用途/预计归还", "领用时校验库存并自动扣减·不足时精确提示", "归还登记: 部分归还/全部归还·自动回补库存", "删除领用冲销库存(仅未发生归还)·有未归还记录禁止删资产", "领用单号 LY+yyyyMMdd+6位流水"], |
| | | "objects": ["资产台账", "资产领用"], |
| | | "roles": ["资产管理员", "领用人"], |
| | | "upstream": ["system(用户信息用于保管人/领用人展示)"], "downstream": [], |
| | | "coreTables": ["asset_item", "asset_requisition"]}, |
| | | {"key": "veh", "name": "用车管理(独立)", "color": "#5a9bd5", "tag": "VEH", "flow": "vehicle", |
| | | "positioning": "用车申请 + 审核 + 逐级审批", |
| | | "problem": "用车申请靠口头/纸质、审批无留痕、结果无法反馈申请人", |
| | | "features": ["用车申请(时间/出发地/目的地/随行人数/事由/车牌)", "申请单号 YC+yyyyMMdd+6位流水", "状态 0草稿/15审批中/20已通过/35已驳回", "提交 BPM 用车审批(审核 + 逐级审批节点可配置)", "审批结果监听器回写申请单", "审批通过回写 approveTime", "取消流程退回草稿", "查看逐级审批记录与意见"], |
| | | "objects": ["用车申请"], |
| | | "roles": ["用车申请人", "审核人", "部门负责人", "分管领导"], |
| | | "upstream": ["BPM(流程定义 vehicle_application_approve)"], "downstream": [], |
| | | "coreTables": ["vehicle_application"]}, |
| | | {"key": "pur", "name": "采购管理(独立)", "color": "#e0a458", "tag": "PUR", "flow": "purchase", |
| | | "positioning": "采购单主表 + 商品明细行", |
| | | "problem": "采购商品、金额、经办人记录分散,明细无法追溯", |
| | | "features": ["采购单(采购时间/采购人/采购金额)", "采购商品明细 1..n 行(商品名称/规格型号/数量/单价/金额)", "行金额与采购金额自动计算", "采购单号 CG+yyyyMMdd+6位流水", "明细随主表一次性提交(先删后增)", "草稿可改可删", "预留审批与转报销扩展"], |
| | | "objects": ["采购单", "采购商品明细"], |
| | | "roles": ["采购经办人"], |
| | | "upstream": [], "downstream": ["财务报销(后续需求)"], |
| | | "coreTables": ["purchase_order", "purchase_order_item"]}, |
| | | {"key": "arc", "name": "档案管理(独立)", "color": "#7fb3d5", "tag": "ARC", "flow": "archive", |
| | | "positioning": "学会/协会型实体与电子档案全生命周期:分类书架规整 → 档案登记与检索 → 借阅审批 → 归还闭环 → 存量与流转统计,并接收课题/会员/财务三方的归档联动", |
| | | "problem": "课题材料、会员材料、财务凭证散落各模块无处归集;纸质档案存放位置靠线下台账,借阅与归还无留痕、逾期无人管;财务等敏感档案无密级管控", |
| | | "features": ["档案分类树(书架·分层分列):会员/课题/会议/财务/文书/党建 6 条初始分类·编码唯一·支持父子层级", "分类默认密级(财务分类=保密)·分类有子分类或下有档案禁删", "档案主表:电子附件 + 实体位置四字段(书架号/层号/列号/册号档案盒)+存放位置描述", "档案编号 DA+yyyyMMdd+6位流水(Redis 每日重置)·借阅单号 JY+同日流水", "密级三档 公开1/内部2/保密3 + 独立权限点 archive:document:sensitive(无权限时列表与导出强制过滤、详情报错)", "载体三型 电子1/实体2/电子+实体3", "来源四类 手工1/课题2/会员3/财务4(记录来源单号/ID/标题快照便于检索)", "全字段检索:标题/关键词 tags/来源单号/分类/密级/载体/状态/归档日期区间 + Excel 导出", "借阅登记(借阅人/部门/电话/日期/目的/归还期限)+BPM 两级审批(档案管理员审核→分管领导审批)·流程 key=archive_borrow_approve", "归还登记:实时更新档案状态回「在库」,形成完整流转闭环", "逾期未还仅查询时实时计算(overdueDays)·列表红色「逾期 N 天」Tag + /overdue-page 独立入口 + 「只看逾期」切换·不建 infra_job 不发站内信", "档案统计:总数/在库/借出中/逾期未还 + 按分类/密级/载体三组分布(4 卡片 + 3 图表)", "对外提供 yudao-module-archive-api(ArchiveDocumentApi:archiveBySource 幂等/ isArchived / getBySource)供课题·会员·财务三方手动归档", "附件走 system 附件中心(recordType=archive_document / archive_borrow)"], |
| | | "objects": ["档案分类", "档案", "借阅单"], |
| | | "roles": ["档案管理员", "分管领导(借阅审批)", "借阅人", "归档经办人(课题/会员/财务)"], |
| | | "upstream": ["课题管理(已立项申报书·archiveApplication)", "会员管理(正常会员·archiveMember)", "财务报销(已通过报销单·既有 archive 叠加)", "BPM(流程定义 archive_borrow_approve)"], |
| | | "downstream": ["system(附件中心 storage_attachment)", "来源表回写 archive_document_id"], |
| | | "coreTables": ["archive_category", "archive_document", "archive_borrow"]}, |
| | | {"key": "bpm", "name": "协同审批", "color": "#e6a23c", "tag": "BPM", "flow": null, |
| | | "positioning": "全系统单据审批中枢(Flowable)", |
| | | "problem": "多模块单据需要灵活可配的多级审批", |
| | | "features": ["BPMN+钉钉风格双设计器", "流程定义部署", "审批事件统一回调(BpmProcessInstanceStatusEvent)", "15个业务监听器(同一流程 key 允许多个监听器并行·各自按 key 过滤)", "表单·用户组·抄送·加签"], |
| | | "features": ["BPMN+钉钉风格双设计器", "流程定义部署", "审批事件统一回调(BpmProcessInstanceStatusEvent)", "24个业务状态监听器(*StatusListener·同一流程 key 允许多个监听器并行·各自按 key 过滤·档案借阅 ArchiveBorrowStatusListener 与财务/课题监听器订阅不同 key 互不干扰)", "表单·用户组·抄送·加签"], |
| | | "objects": ["流程模型", "流程实例", "审批任务"], |
| | | "roles": ["审批人(按流程配置)", "流程管理员"], |
| | | "upstream": ["各业务提交审批"], "downstream": ["回调更新各业务单据状态"], |