Files
comment-review/reports/zhgl-zhgl-server.md
T
triplestone d83b5fd5d1 feat: 发布 comment-review 1.0.0
确定性注释审查 harness(cmr),程序决定审什么、agent 负责推理:
- 轻量状态机提取注释(Java/TS/JS/Vue/SQL/YAML/Shell/Python),过程性模式分级 P0/P1/P2/INFO
- 分层规则(CLI/项目/用户/内置)、全库 scan 与 Git 增量 diff(工作区/分支/提交)
- 悬空引用两级判定:确认失效 P0(附近似候选与查找依据)与待核实 P1(外部路径/构建产物/跨仓裸文件名)
- testdata/corpus 56 条人工判定样例库 + 记分卡回归门禁;npm test 30/30
2026-09-14 22:22:07 +08:00

27 KiB
Raw Blame History

Comment Review Spec (scan)

  • repo: C:\Development\Code\zhgl\zhgl-server
  • rules: project (C:\Development\Code\zhgl\zhgl-server.commentreview\rule.json)
  • files: 1030 | comments: 8386 | candidates: 55
  • severity: P0=5 P1=33 P2=17 INFO=0

Comment Rule Group 1: project / **

Applies to:

  • .gitlab-ci.yml
  • script\bin\ts.sh
  • zhgl-admin\src\main\resources\application.yml
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java
  • zhgl-common\zhgl-common-mybatis\src\main\java\com\zhgl\common\mybatis\aspect\DataPermissionPointcut.java
  • zhgl-common\zhgl-common-social\src\main\java\me\zhyd\oauth\request\AuthDingTalkV2Request.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\support\OaWorkflowNodes.java

Content

注释通用质量(内置规则)

注释只回答三问:是什么(作用域/职责)、受何约束(业务规则、前提、坑)、行为是什么(非显然的行为说明)。

禁止(过程叙述,git 提交消息的职责)

  • 日期戳、迭代/阶段编号(阶段 3、第二阶段、Phase N)、文档版本号
  • 版本演变起点("v2.1 起…")→ 改写为当前结构语义
  • 实测/性能回忆("实测 594s 挂死")、"曾在某环境"类环境记忆
  • 提交溯源(commit hash)、来源仓、评审编号引用(R6 修正)
  • 历史因果词(曾致/曾被/早期版本误用/迁移期教训/取代原先/反哺)
  • 悬空引用:引用仓库中不存在的文档/文件/章节 → 删除引用

豁免(合法保留,勿误杀)

  • 引用真实存在的带日期文档,按实际文件名保留(改名会伪造记录)
  • 数据/行为事实:动画时长、menu_id、数据版本字段、SQL 日期字面量
  • 环境频率现状描述("偶发超过 15s"支撑超时取值)= 现状约束
  • vendor/第三方文件注释不动

过程性表述判定口径(全局,与分层要求叠加)

  • 判别二分:时间/人物/版本指向代码变更过程(删或改写),还是业务规则与外部对象(保留)。外部对象版本锚定保留(库版本如 MP 3.5.0、流程定义发布版本、发布脚本版本、发布基线头部元数据);代码自身版本演变(「v2.1 起存在」「第二阶段/阶段 3/Phase/T3」)删编号、留兼容行为语义
  • 措辞黑名单(复扫 grep):(原先|此前|曾致|改为[:]|不再(加|重复|连坐|逐处|自行)|取代原先|[0-9]{1,2}/[0-9]{1,2} 合入|R[0-9]+ 修正|早期版本|反哺|实测[::]|自 [0-9a-f]{7,} 并入)
  • 改写公式:「不再 X」→「不 X/避免 X」;「取代原先 X」→「免去 X」;历史因果→可能因果(「历史上因 X 累积过多」→「可能因 X 累积多条」);实测性能数字删、由其支撑的超时/阈值取值约束保留
  • 悬空引用按 P0 处置:注释引用的文档/文件/版本号已不存在时,删除或改写为实锚点
  • 测试代码特判:「本轮/本次」=当前运行语义,保留;「偶发 N 秒」=超时取值依据,保留
  • 豁免:vendor 第三方目录、SQL 数据字面量日期(create_time 等业务数据)、错误信息字符串、带日期的文档文件名(按实际文件名引用)
  • 改既有注释三步:删失效过程叙事、保留仍成立的技术约束、不追加「历史上曾经」

Comment Rule Group 2: project / script/sql/**

Applies to:

  • script\sql\release\1.0.0\01_system.sql
  • script\sql\release\1.0.0\02_snailjob.sql
  • script\sql\release\1.0.0\03_workflow.sql
  • script\sql\release\1.0.0\04_document.sql
  • script\sql\release\1.0.0\05_seal.sql
  • script\sql\release\1.1.0\V1.1.0_001__contract.sql
  • script\sql\release\1.1.0\V1.1.0_002__supplies.sql
  • script\sql\release\1.1.0\V1.1.0_003__vehicle.sql
  • script\sql\release\1.1.0\V1.1.0_004__schema_history.sql
  • script\sql\release\1.1.0\V1.1.0_005__document_seal.sql
  • script\sql\release\1.1.1\V1.1.1_001__document_send_version.sql
  • script\sql\release\1.1.1\V1.1.1_002__oa_tenant_version_alignment.sql

Content

注释通用质量(内置规则)

注释只回答三问:是什么(作用域/职责)、受何约束(业务规则、前提、坑)、行为是什么(非显然的行为说明)。

禁止(过程叙述,git 提交消息的职责)

  • 日期戳、迭代/阶段编号(阶段 3、第二阶段、Phase N)、文档版本号
  • 版本演变起点("v2.1 起…")→ 改写为当前结构语义
  • 实测/性能回忆("实测 594s 挂死")、"曾在某环境"类环境记忆
  • 提交溯源(commit hash)、来源仓、评审编号引用(R6 修正)
  • 历史因果词(曾致/曾被/早期版本误用/迁移期教训/取代原先/反哺)
  • 悬空引用:引用仓库中不存在的文档/文件/章节 → 删除引用

豁免(合法保留,勿误杀)

  • 引用真实存在的带日期文档,按实际文件名保留(改名会伪造记录)
  • 数据/行为事实:动画时长、menu_id、数据版本字段、SQL 日期字面量
  • 环境频率现状描述("偶发超过 15s"支撑超时取值)= 现状约束
  • vendor/第三方文件注释不动

SQL 脚本注释要求

  • 表/字段 COMMENT 表达业务含义;状态类字段注明取值映射
  • 脚本头部 banner 只保留当前用途说明,不留创建/修改历程

Comment Rule Group 3: project / /controller//*.java

Applies to:

  • zhgl-modules\zhgl-demo\src\main\java\com\zhgl\demo\controller\TestBatchController.java

Content

注释通用质量(内置规则)

注释只回答三问:是什么(作用域/职责)、受何约束(业务规则、前提、坑)、行为是什么(非显然的行为说明)。

禁止(过程叙述,git 提交消息的职责)

  • 日期戳、迭代/阶段编号(阶段 3、第二阶段、Phase N)、文档版本号
  • 版本演变起点("v2.1 起…")→ 改写为当前结构语义
  • 实测/性能回忆("实测 594s 挂死")、"曾在某环境"类环境记忆
  • 提交溯源(commit hash)、来源仓、评审编号引用(R6 修正)
  • 历史因果词(曾致/曾被/早期版本误用/迁移期教训/取代原先/反哺)
  • 悬空引用:引用仓库中不存在的文档/文件/章节 → 删除引用

豁免(合法保留,勿误杀)

  • 引用真实存在的带日期文档,按实际文件名保留(改名会伪造记录)
  • 数据/行为事实:动画时长、menu_id、数据版本字段、SQL 日期字面量
  • 环境频率现状描述("偶发超过 15s"支撑超时取值)= 现状约束
  • vendor/第三方文件注释不动

Controller 层注释要求

  • 接口注释描述业务动作与权限语义(谁能做什么),与 @SaCheckPermission 一致
  • 不写调用方式、参数示例等前端细节(那是接口文档的职责)

Comment Rule Group 4: project / /domain//*.java

Applies to:

  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\bo\ContractReviewBo.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\bo\DocumentReceivingCirculateBo.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\ContractReview.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\vo\ContractReviewVo.java

Content

注释通用质量(内置规则)

注释只回答三问:是什么(作用域/职责)、受何约束(业务规则、前提、坑)、行为是什么(非显然的行为说明)。

禁止(过程叙述,git 提交消息的职责)

  • 日期戳、迭代/阶段编号(阶段 3、第二阶段、Phase N)、文档版本号
  • 版本演变起点("v2.1 起…")→ 改写为当前结构语义
  • 实测/性能回忆("实测 594s 挂死")、"曾在某环境"类环境记忆
  • 提交溯源(commit hash)、来源仓、评审编号引用(R6 修正)
  • 历史因果词(曾致/曾被/早期版本误用/迁移期教训/取代原先/反哺)
  • 悬空引用:引用仓库中不存在的文档/文件/章节 → 删除引用

豁免(合法保留,勿误杀)

  • 引用真实存在的带日期文档,按实际文件名保留(改名会伪造记录)
  • 数据/行为事实:动画时长、menu_id、数据版本字段、SQL 日期字面量
  • 环境频率现状描述("偶发超过 15s"支撑超时取值)= 现状约束
  • vendor/第三方文件注释不动

领域对象注释要求

  • 字段注释 = 业务含义(如"审批流当前节点编码,见 FlwNode"),不是字段名翻译("用户名→用户的名字")
  • BO 与 VO 的区别要在类注释说明用途方向

Comment Rule Group 5: project / /service//*.java

Applies to:

  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractChangeServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractLedgerServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractPaymentApprovalServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractReviewServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentReceivingServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentSendServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\SealApplyServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\SuppliesItemServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\VehicleApplicationServiceImpl.java
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\IVehicleApplicationService.java
  • zhgl-modules\zhgl-oa\src\test\java\com\zhgl\oa\service\impl\DocumentReceivingServiceImplTest.java
  • zhgl-modules\zhgl-system\src\main\java\com\zhgl\system\service\impl\SysSchemaHistoryServiceImpl.java
  • zhgl-modules\zhgl-workflow\src\test\java\com\zhgl\workflow\service\impl\WorkflowServiceImplTest.java

Content

注释通用质量(内置规则)

注释只回答三问:是什么(作用域/职责)、受何约束(业务规则、前提、坑)、行为是什么(非显然的行为说明)。

禁止(过程叙述,git 提交消息的职责)

  • 日期戳、迭代/阶段编号(阶段 3、第二阶段、Phase N)、文档版本号
  • 版本演变起点("v2.1 起…")→ 改写为当前结构语义
  • 实测/性能回忆("实测 594s 挂死")、"曾在某环境"类环境记忆
  • 提交溯源(commit hash)、来源仓、评审编号引用(R6 修正)
  • 历史因果词(曾致/曾被/早期版本误用/迁移期教训/取代原先/反哺)
  • 悬空引用:引用仓库中不存在的文档/文件/章节 → 删除引用

豁免(合法保留,勿误杀)

  • 引用真实存在的带日期文档,按实际文件名保留(改名会伪造记录)
  • 数据/行为事实:动画时长、menu_id、数据版本字段、SQL 日期字面量
  • 环境频率现状描述("偶发超过 15s"支撑超时取值)= 现状约束
  • vendor/第三方文件注释不动

Service 层注释要求

  • 方法注释表达业务约束与动机(事务边界理由、状态机规则、并发前提),不复述方法名
  • 类级 Javadoc 说明领域职责与边界,一段以内
  • 复杂算法处允许行内注释解释非显然的分支条件

Candidates

高危(纯过程记录,删除候选) — 5 处

  • script\bin\ts.sh:1-2 [悬空引用:./ry.sh 不存在] !/bin/sh ./ry.sh start 启动 stop 停止 restart 重启 status 状态
  • script\sql\release\1.0.0\01_system.sql:269-274 [悬空引用:sys_user_data.sql 不存在] ---------------------------- 初始化-用户信息表数据 系统管理员(user_id=1) 为内置账号,保留于此;其余用户已脱敏,转移至 sys_user_data.sql ---------------------------- 保留内置管理员主键供基础关联使用,但账号默认停用且不存在可用密…
  • script\sql\release\1.0.0\03_workflow.sql:1-3 [悬空引用:warm-flow-all.sql 不存在] ---------------------------- 0、warm-flow-all.sql ----------------------------
  • script\sql\release\1.0.0\04_document.sql:183-188 [悬空引用:oa_document_send.sql 不存在] 设计说明(最佳实践,对照请假 test_leave / 发文 oa_document_send): 1. 审批意见不入业务表,统一由 warm-flow flow_his_task.message 记录; 2. 名称字段不入表,一律按 ID 存,由 ServiceImpl#fillNames 运行时回填到 VO; 3…
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentSendServiceImpl.java:245-251 [悬空引用:sendForm.vue 不存在] 新增发文

    注意:返回 DocumentSendVo 而非 Boolean,与同模块 SealApply/DocumentReceiving 不同。 原因:前端 sendForm.vue 提交后需要获取 id 用于发起工作流,返回 VO 可避免额外查询。

中危(混合/演变叙述,拆分改写) — 33 处

  • .gitlab-ci.yml:79-79 [新旧对比/历史因果叙述] 单次完成测试与打包;后续 job 直接复用三个 JAR,不再重复编译。
  • script\sql\release\1.1.0\V1.1.0_001__contract.sql:1-12 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.0 数据库基线:合同管理 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.0_001__contract.sql;执行序号:1/4 …
  • script\sql\release\1.1.0\V1.1.0_002__supplies.sql:1-12 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.0 数据库基线:物资管理 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.0_002__supplies.sql;执行序号:2/4 …
  • script\sql\release\1.1.0\V1.1.0_003__vehicle.sql:1-12 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.0 数据库基线:车辆管理 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.0_003__vehicle.sql;执行序号:3/4 内…
  • script\sql\release\1.1.0\V1.1.0_003__vehicle.sql:484-493 [版本号+过程信号(多为库特性说明,判别)] ============================================================ C. 菜单:车辆管理(父)+ 车辆信息/司机信息/用车申请 + 表单 + 按钮 ID 段 12400-12499:12400 父 / 12401 车辆信息 12402 司机信息 12403 用车申…
  • script\sql\release\1.1.0\V1.1.0_004__schema_history.sql:1-12 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.0 数据库基线:数据库发布历史 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.0_004__schema_history.sql;…
  • script\sql\release\1.1.0\V1.1.0_005__document_seal.sql:1-13 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.0 数据库迁移:公文与印章 DEL_FLAG 扩容 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.0_005__document_…
  • script\sql\release\1.1.1\V1.1.1_001__document_send_version.sql:1-15 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.1 数据库迁移:发文表补充 VERSION 乐观锁列 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.1_001__document…
    • 挂接: ALTER TABLE OA_DOCUMENT_SEND ADD (VERSION NUMBER(20) DEFAULT 0 NOT NULL);
  • script\sql\release\1.1.1\V1.1.1_002__oa_tenant_version_alignment.sql:1-20 [版本号+过程信号(多为库特性说明,判别)] ============================================================================= ZHGL 1.1.1 数据库迁移:OA 基线表 TENANT_ID / VERSION 对齐 数据库:达梦 DM;默认模式:ZHYWGL 文件:V1.1.1_00…
  • zhgl-admin\src\main\resources\application.yml:60-61 [新旧对比/历史因果叙述] 从 springboot 3.5 开始 spring自带线程池 不再需要 AsyncConfig与ThreadPoolConfig 可直接注入线程池使用
  • zhgl-common\zhgl-common-mybatis\src\main\java\com\zhgl\common\mybatis\aspect\DataPermissionPointcut.java:21-22 [新旧对比/历史因果叙述] 优先匹配方法 数据权限注解不对继承生效,所以检查当前方法是否有注解即可,不再往上匹配父类或接口
    • 挂接: if (method.isAnnotationPresent(DataPermission.class)) {
  • zhgl-common\zhgl-common-social\src\main\java\me\zhyd\oauth\request\AuthDingTalkV2Request.java:21-26 [新旧对比/历史因果叙述] 新版钉钉二维码登录 @author yadong.zhang (yadong.zhang0415(a)gmail.com) @since 1.16.7
    • 挂接: public class AuthDingTalkV2Request extends AuthDefaultRequest {
  • zhgl-modules\zhgl-demo\src\main\java\com\zhgl\demo\controller\TestBatchController.java:33-37 [版本号+过程信号(多为库特性说明,判别)] 新增批量方法 可完美替代 saveBatch 秒级插入上万数据 (对mysql负荷较大)

    3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度

  • zhgl-modules\zhgl-demo\src\main\java\com\zhgl\demo\controller\TestBatchController.java:52-56 [版本号+过程信号(多为库特性说明,判别)] 新增或更新 可完美替代 saveOrUpdateBatch 高性能

    3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度

  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\bo\DocumentReceivingCirculateBo.java:29-29 [未定/临时过程词] 部门承办人用户 ID 列表(写入业务单并作为后续会签办理人)
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractChangeServiceImpl.java:131-131 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractChangeServiceImpl.java:361-361 [新旧对比/历史因果叙述] 提出单位已经改为字典项,后端保存并透传 dictValue,不再限定旧的中文展示文本。
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractLedgerServiceImpl.java:103-106 [新旧对比/历史因果叙述] 台账编辑只维护六月原型中的起止日期、履约情况、备注和附件。 支付列表由支付审批办结后自动写入,台账编辑不再删除或重建支付记录。
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractPaymentApprovalServiceImpl.java:112-112 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractReviewServiceImpl.java:194-194 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\ContractReviewServiceImpl.java:387-387 [新旧对比/历史因果叙述] 幂等守卫:已办结的业务不再重复执行办结副作用(防止事件重放重复生成台账)
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentReceivingServiceImpl.java:151-153 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人 发起部门过滤:收文无实体列,统一由综合管理部(102)发起。 前端编号统计传 draftDept=102 时命中全部收文;传其它值时返回空。
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentReceivingServiceImpl.java:511-511 [新旧对比/历史因果叙述] 新版收文定义据此决定合并办理节点是否包含副总,发起时固定 N,由后续节点按需调整
    • 挂接: vars.put("needDeputyManager", "N");
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentSendServiceImpl.java:118-118 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\DocumentSendServiceImpl.java:369-374 [新旧对比/历史因果叙述] 发文流程变量白名单构建:全部取自已入库的业务单据字段,网关标志统一 Y/N。

    会签部门负责人(signDeptLeaders)由服务端按部门配置解析, 不再信任前端回传的负责人 ID 串。

  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\SealApplyServiceImpl.java:124-124 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\SuppliesItemServiceImpl.java:207-210 [新旧对比/历史因果叙述] 采购入库:以当前入库确认人为操作人,新建台账批次并补一笔采购入库流水。 物品初始库存已包含本次入库数量,因此这里只写入流水,不再调用 {@code adjustStock}。
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\VehicleApplicationServiceImpl.java:185-185 [新旧对比/历史因果叙述] 列表数据范围由角色 data_scope 决定(@DataPermission),不再硬编码仅本人
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\impl\VehicleApplicationServiceImpl.java:295-302 [新旧对比/历史因果叙述] 节点3(车辆调度)完成:全量覆盖写入 dispatch 明细(先删后插)。

    本接口只负责保存 dispatch 明细 + 提供 schedule 查询, 不再写 drivers 流程变量。drivers(按 sys_user.user_id 对应)由前端 在节点3 completeTask 时随 …

  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\service\IVehicleApplicationService.java:67-76 [新旧对比/历史因果叙述] 节点3(车辆调度)完成:全量覆盖保存 dispatch 明细(先删后插)。

    本接口只保存 dispatch 明细,不再写 drivers 流程变量。 drivers(按 sys_user.user_id 对应)由前端在节点3 completeTask 的 taskVariables 携带。

    …
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\support\OaWorkflowNodes.java:62-66 [新旧对比/历史因果叙述] 旧版收文定义的业务节点编码,旧实例仍在流转时返回这些编码; 与 zhgl-front 的 LEGACY_DOCUMENT_RECEIVING_NODE_CODE 一一对应。 确认不存在可继续办理的旧实例后方可移除。
  • zhgl-modules\zhgl-oa\src\test\java\com\zhgl\oa\service\impl\DocumentReceivingServiceImplTest.java:223-223 [新旧对比/历史因果叙述] ② 旧版部门承办入口:任务校验失败无写入。
  • zhgl-modules\zhgl-workflow\src\test\java\com\zhgl\workflow\service\impl\WorkflowServiceImplTest.java:169-171 [新旧对比/历史因果叙述] 任务节点不在集合内(如旧版节点码已收窄)→ 抛「与业务/节点不匹配」。

低危(疑似业务日期,判别后改写) — 17 处

  • script\sql\release\1.0.0\02_snailjob.sql:1-6 [仅日期/版本(可能是业务生效日,需判别)] SnailJob Database Transfer Tool Source Server Type : MySQL Target Server Type : Oracle Date: 2025-06-21 23:33:11
  • script\sql\release\1.0.0\04_document.sql:1-3 [仅日期/版本(可能是业务生效日,需判别)] ZHGL 1.0.0 公文基础功能 本脚本依次初始化发文和收文。 本文件只用于新环境初始化,不得在已有业务库重复执行。
  • script\sql\release\1.0.0\05_seal.sql:1-4 [仅日期/版本(可能是业务生效日,需判别)] ZHGL 1.0.0 印章基础功能 本脚本依次初始化印章管理和用印申请。 字典 ID: seal_type=104, seal_status=105, data=1032-1039 本文件只用于新环境初始化,不得在已有业务库重复执行。
  • script\sql\release\1.1.0\V1.1.0_005__document_seal.sql:15-15 [仅日期/版本(可能是业务生效日,需判别)] A. 公文模块(1.0.0 原为 NUMBER(1) DEFAULT 0 NOT NULL)
    • 挂接: ALTER TABLE OA_DOCUMENT_SEND MODIFY (DEL_FLAG NUMBER(20) DEFAULT 0 NOT NULL);
  • script\sql\release\1.1.0\V1.1.0_005__document_seal.sql:22-22 [仅日期/版本(可能是业务生效日,需判别)] B. 印章模块(1.0.0 原为 NUMBER(2) DEFAULT 0,可为 NULL)
    • 挂接: ALTER TABLE OA_SEAL_MANAGEMENT MODIFY (DEL_FLAG NUMBER(20) DEFAULT 0);
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:43-45 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月可以表示为 "2023-07"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:68-70 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月可以表示为 "2023/07"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:88-90 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月可以表示为 "2023.07"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:108-110 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月可以表示为 "202307"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:113-115 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月22日可以表示为 "20230722"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:118-120 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月22日下午3点可以表示为 "2023072215"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:123-125 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月22日下午3点30分可以表示为 "202307221530"
  • zhgl-common\zhgl-common-core\src\main\java\com\zhgl\common\core\enums\FormatsType.java:128-130 [仅日期/版本(可能是业务生效日,需判别)] 例如,2023年7月22日下午3点30分45秒可以表示为 "20230722153045"
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\bo\ContractReviewBo.java:107-109 [仅日期/版本(可能是业务生效日,需判别)] 外文版本:1是,0否
    • 挂接: @NotBlank(message = "外文版本不能为空", groups = {AddGroup.class, EditGroup.class})
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\ContractReview.java:93-95 [仅日期/版本(可能是业务生效日,需判别)] 外文版本:1是,0否
  • zhgl-modules\zhgl-oa\src\main\java\com\zhgl\oa\domain\vo\ContractReviewVo.java:139-141 [仅日期/版本(可能是业务生效日,需判别)] 外文版本:1是,0否
    • 挂接: @ExcelProperty(value = "外文版本", converter = ExcelDictConvert.class)
  • zhgl-modules\zhgl-system\src\main\java\com\zhgl\system\service\impl\SysSchemaHistoryServiceImpl.java:28-30 [仅日期/版本(可能是业务生效日,需判别)] 1.1.0 服务端发布白名单。登记只证明人工确认,白名单用于防止脚本名或校验值被随意伪造。

Pattern Distribution

  • old_new: 22
  • version: 18
  • date: 9
  • separator_line: 8
  • crud_verb: 7
  • dangling_ref: 5
  • version_since: 2
  • process_verb: 1