Skip to content

合同变更与履约 ​

这篇解决什么 ​

变更审批和履约流水各改哪张表。读完能对上 contract_change 和 contract_performance,不要把履约记录当成第四条流程。

先开模块和模型,见 合同功能设计。起草 / 台账见 合同台账。

示意图:变更走审批回写金额和日期。履约可挂收付款计划,本身不进 Flowable。

从哪改 ​

名称说明仓库路径
变更/contract/change,key contract_change(302)ruoyi-office/yudao-module-contract/.../ContractChangeController.java
履约/contract/performanceContractPerformanceController.java
收付款计划/contract/payment-planContractPaymentPlanController.java
表变更 / 履约 / 计划contract_change、contract_performance、contract_payment_plan
前端变更 list/info、履约台账ruoyi-office-vben/apps/web-antd/src/views/contract/change/、performance/

变更单 contractId 挂原合同。金额、生效日、截止日成对存 *Before / *After。changeReason / changeContent 是说明,originalValue / newValue 是正文快照。日期是 LocalDate。

履约 performanceType:1 交付 / 2 验收 / 3 开票 / 4 收款 / 5 付款 / 6 服务交付 / 99 其他。performanceDate 是 LocalDateTime,前端时间戳用 valueFormat: 'x'。可填 paymentPlanId、relatedBillType / relatedBillId(例如入库单回写)。

计划在 /contract/payment-plan。资产入库通过后的合同回写走资产侧 AssetContractPerformanceWriter,失败不应回滚已建卡片,见 资产领用。

移动变更目前是详情组件,权限 contract:change:query。PC 发起为主。

字段 ​

名称说明仓库路径
amountBefore / amountAfter变更金额对ContractChangeDO
endDateBefore / endDateAfter截止日期对同上
performanceType / performanceAmount履约类型与金额ContractPerformanceDO
paymentPlanId挂收付款计划同上

履约加一行不会改流程状态

contract_performance 没有 processInstanceId。累计额回写合同的 performanceAmount / performanceStatus,不是再开一张审批。

变更未通过不要改台账

只改 contract_ledger.totalAmount 会和变更单对不上。等 contract_change 通过再让服务回写。

java
@RequestMapping("/contract/change")
public class ContractChangeController { }

@TableName(value = "contract_performance", autoResultMap = true)
public class ContractPerformanceDO extends TenantBaseDO { }

配置与操作 ​

已生效合同改金额或日期,走 合同 → 合同变更 的 list / info,填 *Before / *After 后提交 contract_change。未通过不要改 contract_ledger.totalAmount。

履约走 合同履约 台账:选类型、金额、performanceDate(时间戳,前端 valueFormat: 'x')。可挂 paymentPlanId。加一行只回写累计额,不会再开审批。

变更列表

本系统截图:合同 → 合同变更。单据可点进 info。

变更详情

本系统截图:变更单 info。金额、截止日期成对保存。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版