Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 2.06 KB | None | 0 0
  1. import com.haulmont.cuba.core.Persistence
  2. import com.haulmont.cuba.core.global.AppBeans
  3. import com.haulmont.cuba.core.global.View
  4. import com.haulmont.nissan.entity.DocumentHR
  5. import com.haulmont.nissan.enums.PositionCategory
  6. import com.haulmont.nissan.services.NissanTaskmanService
  7. import com.haulmont.thesis.core.app.TaskWorker
  8. import com.haulmont.workflow.core.entity.CardRole
  9.  
  10. final DocumentHR document = card
  11. final def docKindCode = document.getDocKind().getCode()
  12. final def positionCategory = document.getPositionCategory()
  13.  
  14. final def patternName
  15. switch (docKindCode) {
  16.     case 'SZ PS': patternName = 'Оформление заявления о переводе'; break
  17.     case 'SZ IAD': patternName = 'Оформление изменений атрибутов должности'; break
  18.     case { it == 'ZP' && positionCategory == PositionCategory.DIRECT }: patternName = 'Подбор персонала'; break
  19.     default: patternName = null; break
  20. }
  21.  
  22. if (patternName != null) {
  23.     final def taskmanService = AppBeans.get(NissanTaskmanService.class)
  24.     final def taskPattern = taskmanService.findPatternByName(patternName, View.MINIMAL)
  25.     if (taskPattern == null) {
  26.         taskmanService.createAndCommitTask()
  27.     } else {
  28.         final def task = taskmanService.createFromPattern(taskPattern)
  29.         final def persistence = AppBeans.get(Persistence.class)
  30.  
  31.         final def firstTransaction = persistence.createTransaction()
  32.         try {
  33.             final def entityManager = persistence.getEntityManager()
  34.             entityManager.persist(task)
  35.             for (CardRole role : task.getRoles()) entityManager.persist(role)
  36.             firstTransaction.commit()
  37.         }
  38.         finally {
  39.             firstTransaction.end()
  40.         }
  41.  
  42.         final def taskWorker = AppBeans.get(TaskWorker.class)
  43.         final def secondTransaction = persistence.createTransaction()
  44.         try {
  45.             taskWorker.startTaskProcess(task)
  46.             secondTransaction.commit()
  47.         } finally {
  48.             secondTransaction.end()
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement