1.4. 创建 ApprovalHelper Bean

按照 CUBA Studio 用户向导 中的 创建托管Bean 部分描述创建 ApprovalHelper bean。

用下面的代码替换其内容:

package com.company.bpmdemo.core;

import org.springframework.stereotype.Component;
import com.company.bpmdemo.entity.Contract;
import com.haulmont.cuba.core.Persistence;
import com.haulmont.cuba.core.Transaction;

import javax.inject.Inject;
import java.util.UUID;

@Component(ApprovalHelper.NAME)
public class ApprovalHelper {
    public static final String NAME = "demo_ApprovalHelper";

    @Inject
    private Persistence persistence;

    public void updateState(UUID entityId, String state) {
        try (Transaction tx = persistence.getTransaction()) {
            Contract contract = persistence.getEntityManager().find(Contract.class, entityId);
            if (contract != null) {
                contract.setState(state);
            }
            tx.commit();
        }
    }
}

将在合同审批流程中调用 ApprovalHelper bean 的 updateState() 方法来设置合同状态。

方法参数:

  • entityId - 合同实体标识符

  • state - 合同状态