import { ProcessesService } from "src/app/services/processes.service"; import { GenericBehaviorProcess } from "./GenericBehaviorTaskActions"; export class Expediente { processes: ProcessesService /** * @Pt Solicitar consideração superior, Aprovar * @description * @param note * @param documents * @param serialnumber * @returns * @Profile != PR */ async AskForSupeiorValidaiton(note:string, documents:any, serialnumber) { let body = { "serialNumber": serialnumber, "action": "Aprovar", "ActionTypeId": 100000004 , "dataFields": { "ReviewUserComment": note, }, "AttachmentList" :documents, } return await this.processes.CompleteTask(body).toPromise(); } /** * check * @PT Submeter para revisão * @activityInstanceName 'Concluir Despacho', 'Tarefa de Despacho', */ async SendToReview(note:string, documents:any, serialnumber) { let body = { "serialNumber": serialnumber, "action": "Retificar", "ActionTypeId": 99999877, "dataFields": { "ReviewUserComment": note, }, "AttachmentList" :documents, } return await this.processes.CompleteTask(body).toPromise() } /** * check * @pt Arquivar * @activityInstanceName 'Concluir Despacho', 'Tarefa de Despacho', */ async Archive(SerialNumber) { let otherbody = { "serialNumber": SerialNumber, "action": "Passivo", "ActionTypeId": 99999877, "dataFields": { "Note": "", } } return await this.processes.CompleteTask(otherbody).toPromise() } /** * @pt Enviar para pendentes * @Profile PR * @activityInstanceName 'Concluir Despacho', 'Tarefa de Despacho', */ SendToPending(serialnumber) { this.processes.SetTaskToPending(serialnumber) } /** * @Profile PR * @pt Pedido de parecer */ async RequestOpinion() { const postData = { DistributionType: "Paralelo", CountryCode: 'AO', Priority: 'this.postData.Priority', UserEmail: 'this.loggeduser.Email', UsersSelected: 'attendees', DispatchFolder: 'this.dispatchFolder', AttachmentList: 'docs' } let ActionTypeId; if('this.loggeduser.Profile'.concat('') != 'PR') { ActionTypeId = 92 } else if ('this.loggeduser.Profile'.concat('') == 'PR' ) { ActionTypeId = 99999881 } let action_parecer = { "serialNumber": 'this.task.serialNumber', "action": "Tratado", "ActionTypeId": ActionTypeId, "dataFields": { "Note": 'this.postData.DispatchFolder.Message', } } if('this.loggeduser.Profile'.concat('') != 'PR') { let taskResult = await this.processes.postParecer(postData).toPromise(); } else if ('this.loggeduser.Profile'.concat('') == 'PR' ) { let taskResult = await this.processes.postParecerPr(postData).toPromise(); } await this.processes.CompleteTask(action_parecer).toPromise(); } /** * @pt pedidod de deferimetno */ async defermentrequest() { const postData = { DistributionType: "Paralelo", CountryCode: 'AO', Priority: 'this.postData.Priority', UserEmail: 'this.loggeduser.Email', UsersSelected: 'attendees', DispatchFolder: 'this.dispatchFolder', AttachmentList: 'docs' } // let action_deferimento = { "serialNumber": 'this.task.serialNumber', "action": "Tratado", "ActionTypeId": 93, "dataFields": { "Note": 'this.postData.DispatchFolder.Message', } } await this.processes.postDeferimento(postData).toPromise(); await this.processes.CompleteTask(action_deferimento).toPromise(); } /** * @pt Anexar Documentos */ addAttachment() { let body = { "InstanceID": 'this.task.InstanceID', "WorkflowDisplayName": 'this.task.WorkflowName', "FolderID": 'this.task.FolderId', "DispatchNumber": 'this.task.DispatchNumber', "AttachmentsProcessLastInstanceID": 'this.task.AttachmentsProcessLastInstanceID', "Attachments": [] } // const Attachments = this.searchDocumentPipe.transformToAttachment(element) // body.Attachments = Attachments; // await this.attachmentsService.AddAttachment(body).toPromise() } async PerformeDispatch(body) { return await GenericBehaviorProcess.PerformeDispatch(body) } static async requestAppear(task) { return await GenericBehaviorProcess.RequestAppear(task, {}) } static async ApplicationForDeferment(task) { return await GenericBehaviorProcess.ApplicationForDeferment(task, [], [], {}, '', '') } static async SetUpMeeting(task) { return await GenericBehaviorProcess.SetUpMeeting(task, {}) } }