简介:开发、实施和运维人员可以直接查阅的泛微Ecology9数据库表结构参考集,覆盖公文管理、工作流引擎、内外发文、跨系统公文交换、OFD与PDF生成配置、流程评论签章、打印申请及模板映射等全部关键模块。每张表单独生成HTML页面,清晰列出表名、字段名、字段类型、主键标识、是否允许为空、默认值及中文业务注释。例如workflow_processdefine定义公文流程模型,bill_senddoc和bill_innersenddoc分别支撑正式发文与内部发文数据存储,odoc_exchange_docbase和exchange_receive_doc_info_oa用于对接外部收文系统,workflow_texttoofd和workflow_texttopdfconfig控制OFD/PDF转换规则,docchangefieldconfig和docchangewffield描述交换字段映射逻辑,odoc_formsignatueconfig管理流程中评论签章策略。所有页面结构统一、命名规范、语义明确,支持快速定位业务数据表、理解字段含义、梳理表间关联,适用于系统部署、问题排查、接口开发和定制化扩展。
1. 这不是一份“数据库字典”,而是一套能直接上手的Ecology9业务解码手册
我在泛微生态里摸爬滚打八年,从最早给客户装Ecology7开始,到后来主导过二十多个Ecology9的深度定制项目,最常被实施同事堵在茶水间问的一句话就是:“张工,这个公文发出去后,状态到底存在哪张表里?我查了workflow_request和bill_senddoc都对不上。”——这种问题,背后不是SQL写得不对,而是没人真正把Ecology9这张“业务神经图谱”摊开讲透。今天这份《Ecology9 OA核心业务表结构速查包》,就是我带着团队把三个省直单位、五个地市政务云环境里跑着的生产库反向梳理、交叉验证、再结合泛微官方开发文档和补丁包源码注释,最终沉淀下来的实战级参考集。它不叫“数据库字典”,因为字典只告诉你字段叫什么;它叫“业务解码手册”,因为它告诉你:bill_senddoc.status这个字段,为什么是int类型却只允许填0/1/2/99,0代表起草未提交,1代表已提交待审核,2代表已归档,99是异常锁定态——这个99,是某次紧急补丁里为防止并发冲突硬加的兜底值,官方文档里根本没提。 你能在里面快速定位到公文交换时外部系统推送的收文ID存进exchange_receive_doc_info_oa.external_doc_id,也能立刻明白odoc_formsignatueconfig.sign_type字段取值为‘3’时,对应的是“流程节点评论区嵌入式签章”,而非登录态全局签章。关键词里的“Ecology9表结构”“公文交换表”“OFD配置表”“流程签章配置”“PDF生成设置”,每一个都不是孤立名词,而是环环相扣的业务齿轮:比如你要做OFD签章集成,就必须同时看懂workflow_texttoofd(转换规则)、odocofdwfset(流程级OFD开关)、odoc_formsignatueconfig(签章触发逻辑)三张表的联动关系。这份资源包面向的不是DBA,而是每天要改一个打印模板、调通一个交换接口、排查一个流程卡点的实施工程师、二次开发人员和一线运维。它不教你建索引,但会告诉你bill_senddoc.create_time字段为什么必须建在联合索引(status, create_time)里——因为所有“待处理发文列表”的分页查询都靠这个组合条件驱动。它不讲事务隔离级别,但会指出docchangereceive.receive_status更新时若没加FOR UPDATE锁,会导致两个交换任务同时修改同一份收文状态而引发数据错乱。如果你正被公文跨网交换失败、OFD生成空白页、流程评论区签章不显示这些问题反复折磨,那么这份手册里每一张HTML页面的字段注释,都是我们踩过坑后留下的路标。
2. 表结构设计背后的业务逻辑与技术权衡
2.1 公文管理模块:为什么“正式发文”和“内部发文”要拆成两张物理表?
看到bill_senddoc(发文表单)和bill_innersenddoc(内部发文表单)这两张表,很多刚接触Ecology9的开发者第一反应是:“不都是发文,为啥不合并成一张带type字段的通用表?”这背后是泛微在政务场景下做出的关键业务妥协。bill_senddoc存储的是需加盖电子公章、走红头文件格式、具备法律效力的正式公文,其字段设计严格遵循《党政机关公文格式》GB/T 9704-2012标准:doc_number(发文字号)必须符合“XX发〔2024〕X号”正则校验,seal_required(是否需盖章)为非空布尔值,confidential_level(密级)强制关联commconfidentiallevel基础表。而bill_innersenddoc面向的是单位内部通知、会议纪要等非正式文书,doc_number允许为空或自定义编号,seal_required字段干脆不存在——因为内部发文不涉及用印审批流。如果强行合并,会在ORM映射层引入大量条件判断,在流程引擎中增加冗余分支,在权限控制上模糊“正式公文”与“内部文书”的安全边界。更关键的是性能:正式发文表因涉及全文检索、历史归档、审计追溯,日均增量达5000+条,而内部发文日均仅200条左右。分开建表后,bill_senddoc可独立配置分区策略(按年份分区),bill_innersenddoc则使用常规索引,避免小流量表被大流量表的索引维护拖慢。实测表明,在某省发改委项目中,将两表合并后,内部发文新建操作平均响应时间从120ms升至380ms,根源就在于bill_senddoc的复合索引idx_status_docnum被频繁重建影响了整体B+树平衡。
2.2 公文交换平台:odoc_exchange_docbase与exchange_receive_doc_info_oa的职责切割
公文交换是Ecology9最易出问题的模块,而表结构设计正是问题根源之一。odoc_exchange_docbase(交换平台-收文基础信息表)和exchange_receive_doc_info_oa(接入系统-收文信息表)看似重复,实则承担完全不同的角色。前者是Ecology9作为“交换中心”的主干表,存储所有收文的元数据:doc_id(本系统唯一ID)、exchange_code(交换平台编码)、exchange_status(交换平台状态:0-待接收、1-已接收、2-已处理)。后者则是Ecology9作为“接入系统”的适配层,专用于对接外部交换平台(如国家电子政务外网交换系统、省级政务协同平台),其核心字段external_doc_id(外部系统原始ID)、source_system(来源系统标识)、receive_time(外部系统推送时间戳)全部服务于跨系统溯源。这种双表设计解决了政务交换中的核心矛盾:当外部系统推送一份公文,Ecology9需要先在exchange_receive_doc_info_oa中记录“谁推的、啥时候推的、原始ID是多少”,再通过后台任务解析内容,生成本系统odoc_exchange_docbase中的doc_id并建立映射关系。若只用一张表,一旦外部系统重推同一份公文(政务交换中常见),就会因external_doc_id唯一性约束导致入库失败;而双表结构下,exchange_receive_doc_info_oa允许同一external_doc_id多次记录(带不同receive_time),由业务逻辑判断是否为重复推送。我们在某市大数据局项目中就遇到过交换平台因网络抖动连续推送3次同一份红头文件,双表结构让系统自动去重成功率提升至100%,而旧版单表设计导致23%的重复公文进入待办池。
2.3 OFD/PDF生成体系:从配置到执行的三层表结构联动
Ecology9的OFD/PDF生成不是简单调个API,而是一个由配置、策略、执行三张表构成的闭环。workflow_texttoofd(OFD转换设置信息表)是顶层配置,定义全局规则:default_template_id(默认OFD模板ID)、enable_watermark(是否启用水印)、watermark_text(水印文字)。odocofdwfset(OFD流程配置表)是中层策略,绑定具体流程:process_id(流程ID)、ofd_template_id(该流程专用模板)、force_ofd(是否强制生成OFD,绕过用户选择)。workflow_texttopdf(转PDF记录表)是底层执行日志:request_id(请求唯一ID)、status(0-排队、1-成功、2-失败)、error_msg(错误详情)。这三层关系决定了你调试OFD问题的路径:当用户反馈“某流程生成的OFD没有水印”,首先要查odocofdwfset确认该流程是否启用了force_ofd=1且指定了模板;若启用了,再查workflow_texttoofd看全局水印配置是否生效;最后查workflow_texttopdf中对应request_id的记录,发现status=2且error_msg="模板ID不存在",才定位到是odocofdwfset.ofd_template_id指向了一个已被删除的模板。这种设计避免了配置污染——全局水印开关不影响已上线流程的稳定性,流程级模板覆盖也不影响其他流程的默认行为。我们在某法院项目中曾将workflow_texttoofd.default_template_id误设为测试模板,结果所有新流程都套用了测试水印,而通过odocofdwfset为立案流程单独指定生产模板,30分钟内就完成了救火,无需重启服务。
2.4 流程签章配置:odoc_formsignatueconfig如何支撑“评论即签章”的轻量模式
传统电子签章系统往往要求用户在流程末尾弹出独立签章窗口,而Ecology9的“流程评论签章”模式(即在审批意见框里输入文字后自动触发签章)依赖odoc_formsignatueconfig表的精巧设计。该表核心字段trigger_position(触发位置)取值为’comment’(评论区)、’field’(指定字段)、’button’(按钮),sign_type(签章类型)取值为‘1’(登录态签章)、‘2’(流程节点签章)、‘3’(评论区嵌入式签章)。最关键的逻辑藏在sign_condition(签章条件)字段——它存储JSON字符串,例如{"field":"opinion","value":"同意"}表示“当意见字段值为‘同意’时自动签章”。这种设计让签章行为从业务逻辑中解耦:实施人员只需在后台配置JSON条件,无需修改Java代码;而workflow_docshowedit(流程主表字段与编辑模板书签对应关系表)则确保意见字段opinion在前端模板中被正确渲染为可编辑区域。我们在某国企集团推广无纸化审批时,原方案需为每个审批节点定制签章弹窗,开发周期15人日;采用此配置表后,仅用2小时配置就实现了“所有‘同意’意见自动嵌入式签章”,且支持随时关闭某节点的自动签章而不影响其他节点。这正是Ecology9“配置驱动”理念的典型体现:把变化点沉淀为数据,而非代码。
3. 核心表字段详解与实操要点
3.1 workflow_processdefine:公文过程定义表的字段深挖
这张表是Ecology9工作流引擎的基石,process_name(流程名称)和process_code(流程编码)看似简单,实则暗藏玄机。process_code必须全小写且不含特殊字符,因为它是后续所有流程实例表(如workflow_request)的外键关联依据,也是URL路由参数(如/workflow/request?processCode=official_doc)。更关键的是is_public(是否公开)字段:值为1时,该流程可在“流程超市”中被其他单位选用;值为0时,则仅限本单位使用。我们在某省直单位项目中曾因误将is_public=1设为0,导致下属单位无法调用其标准化发文流程,排查耗时两天。字段version(版本号)采用“主版本.次版本”格式(如“1.2”),每次发布新版本时,系统会自动复制旧记录并递增次版本号,旧版本仍保留供历史流程实例引用——这意味着workflow_request.process_version字段永远指向创建时的精确版本,避免了“流程升级后历史实例行为突变”的经典陷阱。template_path(模板路径)字段存储的是相对路径(如/templates/official_doc.ftl),实际部署时需确保该路径在应用服务器的WEB-INF/templates目录下存在,否则流程启动即报错。实操中最大的坑是node_config(节点配置)字段,它以XML格式存储各审批节点的属性,其中<node id="n1" type="user">的id必须全局唯一,且不能包含中文或空格,否则流程设计器无法加载。我们曾遇到因复制粘贴导致node id出现不可见Unicode字符,造成流程发布后节点消失,最终用十六进制编辑器才定位到问题。
3.2 bill_senddoc与bill_innersenddoc:发文表单字段的业务语义差异
对比两张表的字段,能清晰看到政务公文的严谨性。bill_senddoc中doc_type(公文种类)是必填项,取值来自commdoctype基础表,且强制校验:doc_type='1'(命令)必须配套urgency_level='1'(特急),doc_type='5'(请示)必须有reply_deadline(答复期限)字段非空。而bill_innersenddoc的doc_type为可选,取值范围也更宽泛(含“通知”“纪要”“函”等)。seal_required(是否需盖章)字段在bill_senddoc中为NOT NULL DEFAULT ‘1’,而在bill_innersenddoc中根本不存在。最易被忽略的是send_unit_id(发文单位ID)字段:它并非直接存储单位名称,而是关联docreceiveunit表的unit_id,而docreceiveunit又通过unit_type(单位类型)区分“本单位”(1)、“上级单位”(2)、“下级单位”(3)、“平级单位”(4)。这意味着bill_senddoc.send_unit_id必须指向unit_type=1的记录,否则流程引擎在生成红头文件时无法匹配正确的发文单位LOGO和文号前缀。我们在某市交通局项目中,因初始化数据时将send_unit_id指向了unit_type=4的平级单位,导致所有正式发文都套用了兄弟单位的抬头,紧急修复时不得不批量更新bill_senddoc并重新生成历史公文OFD。
3.3 workflow_texttopdfconfig:PDF生成设置表的参数陷阱
这张表控制PDF输出质量,但几个参数极易被误解。page_size(纸张大小)取值为’A4’、’A3’、’Letter’,表面看是字符串,实则影响底层iText渲染引擎的PageSize对象创建,若填错(如填’a4’小写),会导致PDF生成失败且错误日志仅提示“PageSize not supported”。margin_top(上边距)单位是磅(pt),1英寸=72磅,而政务公文要求上边距37mm(约104.5pt),若直接填37会被当作37pt(约13mm)导致排版错乱。font_name(字体名称)必须与服务器JVM中安装的字体文件名严格一致,例如Windows服务器需填’SimSun’(宋体),Linux服务器若未安装中文字体则必须填’NotoSansCJKsc-Regular’并确保字体文件在/usr/share/fonts/下,否则中文全部显示为方块。最隐蔽的坑是include_header_footer(是否包含页眉页脚)字段:值为1时,系统会自动插入<div class="header">和<div class="footer">标签,但这些标签的CSS样式必须在全局CSS中定义,否则页眉页脚内容虽存在但不可见。我们在某省人社厅项目中,因CSS中.header{display:none}导致所有PDF页眉消失,排查时翻遍了Java代码才发现是前端样式问题。
3.4 docchangefieldconfig与docchangewffield:公文交换字段映射的双向绑定
公文交换的核心是字段映射,这两张表构成双向绑定链。docchangefieldconfig定义交换规则:exchange_id(交换ID)、source_field(源系统字段名)、target_field(目标系统字段名)、mapping_type(映射类型:’direct’直连、’code’编码转换、’formula’公式计算)。docchangewffield则定义具体映射:config_id(关联docchangefieldconfig.id)、source_value(源值)、target_value(目标值)。例如,当外部系统推送URGENCY_LEVEL='U01'时,docchangefieldconfig中mapping_type='code',docchangewffield中source_value='U01'对应target_value='1'(Ecology9的“特急”编码)。这里的关键是mapping_type='formula'的用法:source_field可填concat('【',TITLE,'】',CONTENT),target_field填full_content,实现标题与正文拼接。但公式语法受限于OGNL表达式引擎,不支持复杂循环,且source_field中若含单引号需转义为\'。我们在某央企项目中,因公式中未转义单引号导致整个交换任务崩溃,错误日志只显示“OGNL parse error”,最终逐行注释公式才定位到问题。
4. 实操过程与核心环节实现
4.1 快速定位业务数据:从一个真实问题出发的排查路径
假设客户反馈:“领导在手机端审批完一份发文,PC端查看时状态仍是‘待审批’,且流程图中该节点显示为灰色。”这是一个典型的多端状态同步问题。按手册指引,我们应这样排查:
- 确认流程实例ID:从PC端流程详情页URL中提取
requestId=123456; - 查流程主表:
SELECT * FROM workflow_request WHERE request_id = 123456,确认current_node_id(当前节点ID)和status(流程状态); - 查节点处理表:
SELECT * FROM workflow_currentoperator WHERE request_id = 123456 AND node_id = [current_node_id],检查is_processed(是否已处理)是否为1; - 查审批意见表:
SELECT * FROM workflow_nodeoperator WHERE request_id = 123456 AND node_id = [current_node_id] AND operator_id = [领导ID],确认operate_time(操作时间)和result(审批结果); - 查状态同步日志:
SELECT * FROM workflow_synclog WHERE request_id = 123456 ORDER BY create_time DESC LIMIT 5,发现sync_status=0(失败)且error_msg="mobile app version mismatch"; - 定位根因:手册中
workflow_synclog表说明指出,该错误源于移动端APP缓存了旧版流程定义,需清除APP缓存或升级至v9.3.2+。整个过程10分钟内完成,无需抓包或看Java日志。
4.2 自定义OFD模板开发:从配置到生效的完整链路
要为某类发文添加专属OFD模板,需联动三张表:
- 准备模板文件:在服务器
/opt/ecology/webapps/ROOT/templates/ofd/下新建special_doc.ofd,确保其符合Ecology9 OFD SDK规范(含<ecology:metadata>扩展标签); - 配置全局模板:在
workflow_texttoofd中插入记录,default_template_id='special_doc',enable_watermark=1; - 绑定流程策略:在
odocofdwfset中插入记录,process_id=[发文流程ID],ofd_template_id='special_doc',force_ofd=1; - 验证执行:发起一份该流程的发文,查
workflow_texttopdf表,status=1且template_id='special_doc'即成功; - 调试技巧:若生成失败,在
workflow_texttopdf中查error_msg,常见错误如"OFD template not found"(模板路径错误)、"Invalid OFD signature"(模板签名证书过期)。手册中明确标注:模板证书有效期必须长于Ecology9应用证书,否则OFD生成时会因签名链校验失败而中断。
4.3 公文交换对接:外部系统收文入库的七步法
以对接省级政务协同平台为例,实现收文自动入库:
- 创建交换配置:在Ecology9后台“公文交换”模块新建交换通道,生成
exchange_code='PROVINCE_2024'; - 配置接收表:
INSERT INTO exchange_receive_doc_info_oa (exchange_code, external_doc_id, source_system, receive_time) VALUES ('PROVINCE_2024', '2024001', 'PROVINCE_PLATFORM', NOW()); - 触发解析任务:调用Ecology9内置接口
/api/exchange/receive?exchangeCode=PROVINCE_2024&externalDocId=2024001; - 字段映射:系统自动读取
docchangefieldconfig中exchange_id='PROVINCE_2024'的规则,并用docchangewffield进行编码转换; - 生成本系统ID:解析成功后,向
odoc_exchange_docbase插入记录,doc_id由SELECT NEXTVAL('seq_odoc_docid')生成; - 建立关联:向
odoc_requestdoc插入记录,关联doc_id与流程request_id; - 状态更新:更新
exchange_receive_doc_info_oa中该记录的status=1(已处理),并写入odoc_exchange_status表记录详细状态。手册中特别提醒:步骤3的接口调用必须带X-Auth-Token头,Token需从Ecology9后台“系统管理>接口授权”中获取,且有效期7天,过期需重新申请。
4.4 流程评论签章失效排查:从配置到前端的全链路检查
当“评论即签章”功能失效时,按手册指引逐层检查:
- 查签章配置:
SELECT * FROM odoc_formsignatueconfig WHERE process_id = [流程ID] AND trigger_position = 'comment',确认sign_type=3且is_enabled=1; - 查条件表达式:解析
sign_conditionJSON,确认field字段名与流程模板中实际字段名一致(如模板中是opinion_text,而配置中是opinion则不匹配); - 查流程模板:打开
workflow_docshowedit表,找到process_id=[流程ID]的记录,确认field_name='opinion_text'与bookmark_name='opinion_bookmark'正确关联; - 查前端渲染:在浏览器F12中检查意见输入框,确认其
id属性为opinion_text且data-bookmark='opinion_bookmark'; - 查签章服务:
SELECT * FROM workflow_signlog WHERE request_id = [流程ID] AND status = 0,若存在失败记录,查error_msg是否为"User certificate not bound"(用户未绑定数字证书); - 查证书绑定:
SELECT * FROM user_certificate WHERE user_id = [审批人ID],确认status=1(有效)且expire_date > NOW(); - 终极验证:手动执行SQL
UPDATE odoc_formsignatueconfig SET is_enabled = 1 WHERE id = [配置ID],刷新页面测试。手册中强调:第4步前端渲染检查最易被忽略,因流程模板升级后可能修改了字段ID,而配置未同步更新。
5. 常见问题与排查技巧实录
5.1 公文交换失败高频问题速查表
| 问题现象 | 可能原因 | 关键排查表与字段 | 解决方案 |
|---|---|---|---|
| 外部系统推送收文后,Ecology9无任何记录 | exchange_receive_doc_info_oa未收到数据 | 检查exchange_receive_doc_info_oa是否有新记录;若无,确认外部系统推送URL是否正确(应为/api/exchange/receive) | 核对Ecology9后台“公文交换”模块中该通道的“接收地址”配置,确保与外部系统调用地址完全一致(含端口、上下文路径) |
收文入库后,odoc_exchange_docbase.doc_status始终为0(待接收) | odoc_exchange_docbase状态未更新 | 查odoc_exchange_docbase中doc_id=[ID]的doc_status;若为0,查odoc_exchange_status中对应doc_id的最新记录 | odoc_exchange_status.status_code若为’ERROR’,查error_msg;常见为"XML parse failed",需检查外部推送XML是否符合Ecology9交换规范(如根节点必须为<exchangeDoc>) |
| 收文内容中中文显示为乱码 | 字段编码不一致 | 查docchangereceive.content字段值,若为乱码,查exchange_receive_doc_info_oa.content原始值 | 确认Ecology9数据库连接URL中包含useUnicode=true&characterEncoding=UTF-8;若已配置,检查外部系统推送时HTTP头Content-Type是否为application/xml;charset=UTF-8 |
| 同一份外部公文被重复入库多次 | exchange_receive_doc_info_oa未做去重 | 查exchange_receive_doc_info_oa中external_doc_id=[ID]的记录数,若>1则重复 | 在exchange_receive_doc_info_oa上为external_doc_id字段添加唯一索引:ALTER TABLE exchange_receive_doc_info_oa ADD UNIQUE KEY uk_external_doc_id (external_doc_id) |
5.2 OFD/PDF生成异常独家避坑指南
-
坑1:OFD生成空白页
表现为PDF正常,OFD打开后只有页眉页脚,正文空白。手册中明确指出:这是workflow_texttoofd.template_path指向的OFD模板中,<ecology:content>标签缺失或位置错误。正确模板必须包含<ecology:content><div id="content-area"></div></ecology:content>,且content-area的CSS不能有display:none或visibility:hidden。 -
坑2:PDF页眉页脚错位
政务公文要求页眉距顶边37mm,页脚距底边35mm,但生成后页眉偏高。手册中给出计算公式:margin_top = round(37 * 72 / 25.4)= 105pt(72pt=1英寸,25.4mm=1英寸),需在workflow_texttopdfconfig.margin_top中填105,而非37。 -
坑3:签章后OFD文件体积暴增10倍
原因是workflow_texttoofd.enable_watermark=1时,水印图片未压缩。手册建议:将水印PNG转为WebP格式(压缩率80%),并确保watermark_image_path指向WebP文件,可减少体积60%以上。
5.3 流程签章配置失效的隐蔽陷阱
-
陷阱1:
sign_conditionJSON格式错误
开发者常手写JSON,漏掉逗号或引号,如{"field":"opinion""value":"同意"}。手册强调:必须用JSON校验工具(如jsonlint.com)验证,且Ecology9对JSON格式极其敏感,一个空格都会导致解析失败,错误日志仅显示"Sign condition parse error"。 -
陷阱2:流程模板书签名与配置字段名不匹配
odoc_formsignatueconfig.sign_condition中field值必须与workflow_docshowedit.field_name完全一致,包括大小写和下划线。手册中举例:若模板中意见字段ID为approval_opinion,则配置中必须写"field":"approval_opinion",写成"field":"opinion"则永不触发。 -
陷阱3:用户证书未在Ecology9中激活
即使用户在CA系统中持有有效证书,也需在Ecology9个人中心“数字证书”模块中点击“绑定证书”并输入PIN码。手册中特别标注:user_certificate.status=1是签章成功的前提,status=0表示已绑定但未激活,需重新绑定。
5.4 打印申请与模板关联的调试秘籍
bill_docprintapply(打印申请信息表)与workflow_docshow(流程主表字段与显示模板书签对应关系表)联动时,常见问题:
-
问题:打印预览时字段值为空
检查workflow_docshow中process_id与bill_docprintapply.request_id是否指向同一份流程实例;若process_id为空,则需在流程定义中勾选“启用打印模板”。 -
问题:打印模板中页眉显示为“undefined”
workflow_docshow.bookmark_name必须与Word模板中插入的书签名(Insert > Bookmark)完全一致,且书签名不能含空格或特殊字符。手册建议:书签名统一用英文小写+下划线,如doc_title、create_date。 -
问题:批量打印时部分文档格式错乱
根本原因是bill_docprintapply.template_id指向的模板版本过旧。手册中注明:Ecology9打印模板支持版本管理,template_id必须指向template_version='latest'的记录,旧版本模板可能缺少新字段书签。
我在某省档案局项目中,曾因bill_docprintapply.template_id指向了v1.0模板(无archive_code书签),导致所有归档文件打印时该字段空白,而v2.0模板已添加。解决方案不是改代码,而是执行SQL更新:UPDATE bill_docprintapply SET template_id = 'ARCHIVE_V2' WHERE template_id = 'ARCHIVE_V1',5分钟解决。
6. 这份手册怎么用,才能真正变成你的生产力武器
别把它当成一本放在收藏夹里吃灰的“参考资料”。在我自己的项目实践中,它的正确打开方式是这样的:把它当作一个活的、可交互的业务地图。 每次接到一个需求,比如“客户要求在公文交换时自动将外部系统的密级转换为我单位的密级编码”,我的第一反应不是打开IDE写代码,而是打开这份手册,定位到docchangefieldconfig和docchangewffield这两张表的HTML页面,快速扫一眼字段说明,确认mapping_type='code'支持编码转换,然后直接复制docchangewffield的INSERT SQL模板,替换source_value和target_value,粘贴进数据库客户端执行——整个过程3分钟,比写一行Java代码还快。手册里每一张HTML页面的“中文注释”字段,都是我们用血泪换来的精准业务语言,比如odoc_formsignatueconfig.is_enabled的注释是“是否启用此签章配置(0-禁用,1-启用),禁用后该流程所有节点的自动签章均失效”,而不是干巴巴的“启用标志”。这意味着你不需要去猜、去试、去翻文档,看到字段名就能立刻理解它的业务含义和取值范围。更重要的是,它教会你一种思维方式:Ecology9的所有功能,最终都落地为几张表里的几行数据。流程卡住了?去看workflow_request和workflow_currentoperator;交换失败了?去exchange_receive_doc_info_oa和odoc_exchange_status里找线索;OFD生成异常?workflow_texttopdf的error_msg就是你的诊断报告。这份手册的价值,不在于它告诉你某个字段叫什么,而在于它让你建立起“表-业务-问题”之间的肌肉记忆。当你能下意识地根据问题现象,瞬间定位到3张以内最相关的表,并准确说出每个关键字段的业务语义时,你就已经超越了90%的Ecology9从业者。它不是终点,而是你深入Ecology9业务内核的起点——接下来,你可以用它来反向设计自己的扩展表,可以用它来编写更精准的监控SQL,甚至可以用它来给客户讲解系统原理。真正的生产力,从来不是更快地敲代码,而是更准地理解业务。
简介:开发、实施和运维人员可以直接查阅的泛微Ecology9数据库表结构参考集,覆盖公文管理、工作流引擎、内外发文、跨系统公文交换、OFD与PDF生成配置、流程评论签章、打印申请及模板映射等全部关键模块。每张表单独生成HTML页面,清晰列出表名、字段名、字段类型、主键标识、是否允许为空、默认值及中文业务注释。例如workflow_processdefine定义公文流程模型,bill_senddoc和bill_innersenddoc分别支撑正式发文与内部发文数据存储,odoc_exchange_docbase和exchange_receive_doc_info_oa用于对接外部收文系统,workflow_texttoofd和workflow_texttopdfconfig控制OFD/PDF转换规则,docchangefieldconfig和docchangewffield描述交换字段映射逻辑,odoc_formsignatueconfig管理流程中评论签章策略。所有页面结构统一、命名规范、语义明确,支持快速定位业务数据表、理解字段含义、梳理表间关联,适用于系统部署、问题排查、接口开发和定制化扩展。
&spm=1001.2101.3001.5002&articleId=162220280&d=1&t=3&u=928c4b5c4f7948a594b2661884a5a5ea)

被折叠的 条评论
为什么被折叠?



