Метод 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.EntityManager; import com.haulmont.cuba.core.Persistence; import com.haulmont.cuba.core.Transaction; import javax.annotation.ManagedBean; import javax.inject.Inject; import java.util.UUID; @ManagedBean("demo_ApprovalHelper") public class ApprovalHelper { @Inject private Persistence persistence; public void updateState(UUID entityId, String state) { Transaction tx = persistence.getTransaction(); try { EntityManager em = persistence.getEntityManager(); Contract contract = em.find(Contract.class, entityId); if (contract != null) { contract.setState(state); } tx.commit(); } finally { tx.end(); } } }