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
- 合同状态