Скрипт проверяет, было ли принято положительное решение на этапе Согласование с СБ.
Скрипт проверки результата действия по процессу
import com.haulmont.cuba.core.EntityManager
import com.haulmont.cuba.core.Transaction
import com.haulmont.cuba.core.global.AppBeans
import com.haulmont.thesis.core.entity.Doc
import com.haulmont.workflow.core.entity.Assignment
import org.apache.commons.lang.exception.ExceptionUtils
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import com.haulmont.cuba.core.Persistence
Logger log = LoggerFactory.getLogger("com.haulmont.thesis.designerScript.checkOutcome");
Persistence persistence = AppBeans.get(Persistence.class);
Doc doc = card;
boolean result=true;
String assignmentName = "Soglasovanie_s_SB"; \\Название проверяемого этапа
String assignmentOutcome = "ok"; \\Проверяемый результат
List<Assignment> assignments;
Transaction tx = persistence.getTransaction();
try {
EntityManager em = persistence.getEntityManager();
em.flush();
String queryString = "select a from wf\$Assignment a where a.card.id = :doc and a.user is not null"
def query = em.createQuery(queryString)
query.setView(null);
query.setParameter('doc', doc)
assignments = query.getResultList();
for (Assignment ass : assignments) {
if (ass.outcome==assignmentOutcome & ass.name==assignmentName) {
result=false;
};
};
tx.commit();
}
catch (Exception e) {
log.error(ExceptionUtils.getStackTrace(e));
}
finally {
tx.end();
}
return result;