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.Transaction
- import com.haulmont.cuba.core.global.AppBeans
- 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 taskmanService = AppBeans.get(NissanTaskmanService.class)
- final def taskWorker = AppBeans.get(TaskWorker.class)
- 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 taskPattern = taskmanService.findPatternByName(patternName, "cloning")
- if (taskPattern == null) {
- taskmanService.createAndCommitTask()
- } else {
- Persistence persistence = AppBeans.get(Persistence.NAME)
- Transaction tx = persistence.createTransaction()
- try {
- task = taskmanService.commitFromPattern(taskPattern)
- for (CardRole cr : task.getRoles()) {
- persistence.getEntityManager().persist(cr)
- }
- task.setRoles(null)
- tx.commit()
- }
- finally {
- tx.end()
- }
- tx = persistence.createTransaction()
- try {
- taskWorker.startTaskProcess(task)
- tx.commit()
- }
- finally {
- tx.end()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement