Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.haulmont.cuba.core.Persistence
- import com.haulmont.cuba.core.global.AppBeans
- import com.haulmont.cuba.core.global.View
- import com.haulmont.nissan.entity.DocumentHR
- import com.haulmont.nissan.enums.PositionCategory
- import com.haulmont.nissan.services.NissanTaskmanService
- import com.haulmont.thesis.core.app.TaskWorker
- import com.haulmont.workflow.core.entity.CardRole
- final DocumentHR document = card
- final def docKindCode = document.getDocKind().getCode()
- final def positionCategory = document.getPositionCategory()
- final def patternName
- switch (docKindCode) {
- case 'SZ PS': patternName = 'Оформление заявления о переводе'; break
- case 'SZ IAD': patternName = 'Оформление изменений атрибутов должности'; break
- case { it == 'ZP' && positionCategory == PositionCategory.DIRECT }: patternName = 'Подбор персонала'; break
- default: patternName = null; break
- }
- if (patternName != null) {
- final def taskmanService = AppBeans.get(NissanTaskmanService.class)
- final def taskPattern = taskmanService.findPatternByName(patternName, View.MINIMAL)
- if (taskPattern == null) {
- taskmanService.createAndCommitTask()
- } else {
- final def task = taskmanService.createFromPattern(taskPattern)
- final def persistence = AppBeans.get(Persistence.class)
- final def firstTransaction = persistence.createTransaction()
- try {
- final def entityManager = persistence.getEntityManager()
- entityManager.persist(task)
- for (CardRole role : task.getRoles()) entityManager.persist(role)
- firstTransaction.commit()
- }
- finally {
- firstTransaction.end()
- }
- final def taskWorker = AppBeans.get(TaskWorker.class)
- final def secondTransaction = persistence.createTransaction()
- try {
- taskWorker.startTaskProcess(task)
- secondTransaction.commit()
- } finally {
- secondTransaction.end()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement