1.4. Бин ApprovalHelper
Метод updateState()
бина ApprovalHelper
будет вызываться из процесса согласования для установки состояния договора.
Параметры метода:
-
entityId
- идентификатор сущности договора -
state
- состояние договора
Откройте проект в IDE. Простой способ сделать это - воспользоваться кнопкой IDE из какой-либо секции навигатора студии, например, Project properties.
В модуле core
создайте пакет com.company.demo.core
. В этом пакете создайте класс ApprovalHelper
.
ApprovalHelper.java:
package com.company.demo.core;
import com.company.demo.entity.Contract;
import com.haulmont.cuba.core.Persistence;
import com.haulmont.cuba.core.Transaction;
import org.springframework.stereotype.Component;
import javax.inject.Inject;
import java.util.UUID;
@Component("demo_ApprovalHelper")
public class 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();
}
}
}