From 8b29af85997c71226ed422abad1634c2cb651bdd Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Mon, 18 Oct 2021 13:58:26 +0100 Subject: [PATCH 1/4] order by date --- src/app/Rules/despacho.service.ts | 15 ++++++---- .../despachos-pr/despachos-pr.page.ts | 21 ++++++-------- .../diplomas-assinar/diplomas-assinar.page.ts | 7 +++-- .../diplomas/diplomas.page.ts | 22 +++++++-------- .../event-list/event-list.page.ts | 15 +++++----- .../gabinete-digital/pedidos/pedidos.page.ts | 28 ++++++++++--------- .../pendentes/pendentes.page.ts | 22 ++++++--------- src/app/services/auth.service.ts | 1 - .../services/functions/sort.service.spec.ts | 16 +++++++++++ src/app/services/functions/sort.service.ts | 21 ++++++++++++++ .../all-processes/all-processes.page.ts | 7 +++-- .../despachos-pr/despachos-pr.page.ts | 11 +++----- .../diplomas-assinar/diplomas-assinar.page.ts | 10 ++++--- .../events-to-approve.page.ts | 14 ++++++---- .../gabinete-digital/pedidos/pedidos.page.ts | 8 ++++-- .../pendentes/pendentes.page.ts | 10 ++----- 16 files changed, 131 insertions(+), 97 deletions(-) create mode 100644 src/app/services/functions/sort.service.spec.ts create mode 100644 src/app/services/functions/sort.service.ts diff --git a/src/app/Rules/despacho.service.ts b/src/app/Rules/despacho.service.ts index 2f317d4d6..1cae14ef4 100644 --- a/src/app/Rules/despacho.service.ts +++ b/src/app/Rules/despacho.service.ts @@ -7,6 +7,7 @@ import { DespachoStore } from '../store/despacho-store.service'; import { LoaderService } from 'src/app/store/loader.service' import { SessionStore } from '../store/session.service'; import { PermissionService } from '../services/worker/permission.service'; +import { SortService } from '../services/functions/sort.service'; @Injectable({ providedIn: 'root' @@ -31,7 +32,8 @@ export class DespachoService { constructor( private processes: ProcessesService, public p: PermissionService, - public LoaderService: LoaderService + public LoaderService: LoaderService, + private sortService: SortService, ) { } arquivar(note:string, documents:AttachmentList, serialnumber) { @@ -251,7 +253,7 @@ export class DespachoService { }); - despachoList = this.sortArrayISODate(despachoList).reverse(); + despachoList = this.sortService.sortArrayByDate(despachoList).reverse(); if(updateStore) { this.despachoStore.reset(despachoList); @@ -270,20 +272,21 @@ export class DespachoService { let result = await this.processes.GetTasksList("Despacho do Presidente da República", false).toPromise(); let despachosPr; + let despachos = this.sortService.sortArrayByDate(result); switch (SessionStore.user.Profile) { case 'MDGPR': - despachosPr = result.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho"); + despachosPr = despachos.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho"); break; case 'PR': - despachosPr = result.reverse().filter(data => data.activityInstanceName == "Concluir Despacho"); + despachosPr = despachos.reverse().filter(data => data.activityInstanceName == "Concluir Despacho"); break; } } - sortArrayISODate(myArray: any) { + /* sortArrayISODate(myArray: any) { return myArray.sort(function(a, b) { return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); }); - } + } */ } diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts index 3cc3e9896..6938ce759 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -19,6 +19,7 @@ import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { synchro } from 'src/app/services/socket/synchro.service'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-despachos-pr', @@ -59,7 +60,8 @@ export class DespachosPrPage implements OnInit { private alertService: AlertService, private authService: AuthService, private router: Router, - private sqliteservice: SqliteService + private sqliteservice: SqliteService, + private sortService: SortService, ) { this.loggeduser = authService.ValidatedUser; @@ -100,14 +102,13 @@ export class DespachosPrPage implements OnInit { console.log(result); let despachosPr; + let despachos = this.sortService.sortArrayByDate(result); switch (this.loggeduser.Profile) { case 'MDGPR': - despachosPr = await result.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho"); + despachosPr = await despachos.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho"); break; case 'PR': - console.log(result); - - despachosPr = await result.reverse().filter(data => data.activityInstanceName == "Concluir Despacho"); + despachosPr = await despachos.reverse().filter(data => data.activityInstanceName == "Concluir Despacho"); break; } @@ -181,7 +182,7 @@ export class DespachosPrPage implements OnInit { let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); - + let task = { "SerialNumber": element.serialNumber, "Folio": JSON.parse(element.workflowInstanceDataFields).Subject, @@ -194,7 +195,7 @@ export class DespachosPrPage implements OnInit { "WorkflowName": element.workflowDisplayName, "activityInstanceName": element.activityInstanceName, } - + this.despachoList.push(task); console.log(this.despachoList); }); @@ -204,12 +205,6 @@ export class DespachosPrPage implements OnInit { } } - sortArrayISODate(myArray: any) { - return myArray.sort(function (a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } - doRefresh() { setTimeout(() => { diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index 33ab4487e..af0a19575 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -7,6 +7,7 @@ import { ModalController, NavParams } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { DiplomaPage } from 'src/app/pages/gabinete-digital/diplomas/diploma/diploma.page'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-diplomas-assinar', @@ -31,6 +32,7 @@ export class DiplomasAssinarPage implements OnInit { private modalController: ModalController, private alertService: AlertService, private router: Router, + private sortService: SortService, ) { } @@ -39,7 +41,7 @@ export class DiplomasAssinarPage implements OnInit { const pathname = location.pathname + location.search this.LoadList() - + this.router.events.forEach((event) => { if (event instanceof NavigationEnd && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -78,8 +80,7 @@ export class DiplomasAssinarPage implements OnInit { this.diplomasList = []; let diplomasAssinar = diplomas.reverse().filter(data => data.activityInstanceName == "Assinar Diploma"); - console.log(diplomasAssinar); - + diplomasAssinar = this.sortService.sortArrayByDate(diplomasAssinar); diplomasAssinar.forEach(element => { let task: customTask = this.customTaskPipe.transform(element) this.diplomasList.push(task); diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts index 4b712b6e0..ff6849091 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts @@ -5,6 +5,7 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { synchro } from 'src/app/services/socket/synchro.service'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-diplomas', @@ -27,7 +28,8 @@ export class DiplomasPage implements OnInit, OnDestroy { private processes: ProcessesService, private router: Router, private activatedRoute: ActivatedRoute, - private sqliteservice: SqliteService + private sqliteservice: SqliteService, + private sortService: SortService, ) { this.diplomasList = []; //Inicializar segment @@ -168,7 +170,7 @@ export class DiplomasPage implements OnInit, OnDestroy { diplomasList.push(task); }); - this.diplomasList = this.sortArrayISODate(diplomasList.reverse()); + this.diplomasList = this.sortService.sortArrayByDate(diplomasList).reverse(); let diplomasAssinados = diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado"); @@ -179,7 +181,7 @@ export class DiplomasPage implements OnInit, OnDestroy { diplomasAssinadoList.push(task); }); console.log('diplomasAssinados', diplomasAssinados) - this.diplomasAssinadoList = this.sortArrayISODate(diplomasAssinadoList).reverse(); + this.diplomasAssinadoList = this.sortService.sortArrayByDate(diplomasAssinadoList).reverse(); } @@ -210,7 +212,7 @@ export class DiplomasPage implements OnInit, OnDestroy { diplomasList.push(task); }); - this.diplomasList = this.sortArrayISODate(diplomasList.reverse()); + this.diplomasList = this.sortService.sortArrayByDate(diplomasList).reverse(); let diplomasAssinados = process.reverse().filter(data => data.activityInstanceName == "Diploma Assinado"); let diplomasAssinadoList = [] @@ -220,7 +222,7 @@ export class DiplomasPage implements OnInit, OnDestroy { diplomasAssinadoList.push(task); }); console.log('diplomasAssinados', diplomasAssinados) - this.diplomasAssinadoList = this.sortArrayISODate(diplomasAssinadoList).reverse(); + this.diplomasAssinadoList = this.sortService.sortArrayByDate(diplomasAssinadoList).reverse(); }) } @@ -235,7 +237,7 @@ export class DiplomasPage implements OnInit, OnDestroy { "SerialNumber": element.serialNumber, "Folio": element.workflowInstanceDataFields.Subject, "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, + "CreateDate": new Date(element.taskStartDate), "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, "Remetente": element.workflowInstanceDataFields.Remetente, "DocumentsQty": element.totalDocuments, @@ -255,7 +257,7 @@ export class DiplomasPage implements OnInit, OnDestroy { "SerialNumber": element.serialNumber, "Folio": JSON.parse(element.workflowInstanceDataFields).Subject, "Senders": JSON.parse(element.workflowInstanceDataFields).Sender, - "CreateDate": taskDate, + "CreateDate": new Date(element.taskStartDate), "DocumentURL": JSON.parse(element.workflowInstanceDataFields).ViewerRequest, "Remetente": JSON.parse(element.workflowInstanceDataFields).Remetente, "DocumentsQty": element.totalDocuments, @@ -266,11 +268,7 @@ export class DiplomasPage implements OnInit, OnDestroy { } } - sortArrayISODate(myArray: any) { - return myArray.sort(function (a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } + async refreshing() { setTimeout(() => { diff --git a/src/app/pages/gabinete-digital/event-list/event-list.page.ts b/src/app/pages/gabinete-digital/event-list/event-list.page.ts index a8e18ac30..884933d8e 100644 --- a/src/app/pages/gabinete-digital/event-list/event-list.page.ts +++ b/src/app/pages/gabinete-digital/event-list/event-list.page.ts @@ -11,6 +11,7 @@ import { Location } from '@angular/common'; import { SqliteService } from '../../../services/sqlite.service'; import { synchro } from '../../../services/socket/synchro.service'; import { Platform } from '@ionic/angular'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-event-list', @@ -42,7 +43,8 @@ export class EventListPage implements OnInit { private router: Router, private location: Location, private sqliteservice: SqliteService, - private platform: Platform + private platform: Platform, + private sortService: SortService, ) { } ngOnInit() { @@ -64,9 +66,9 @@ export class EventListPage implements OnInit { if( synchro.connected === true) { const location = window.location const pathname = location.pathname + location.search - + this.LoadToApproveEvents() - + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith(pathname)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -108,16 +110,13 @@ export class EventListPage implements OnInit { let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise(); let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise(); this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal); - console.log('Event aprove',this.eventsMDGPRList); - - - this.eventaprovacaostore.resetmd(this.eventsMDGPRList); + this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse()); } else if(this.segment == 'PR'){ let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise(); let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise(); this.eventsPRList = prEventsOficial.concat(prEventsPessoal); - this.eventaprovacaostore.resetpr(this.eventsPRList); + this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse()); } this.showLoader = false; this.skeletonLoader = false diff --git a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts index 94e381f86..4c1c05989 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedidos.page.ts @@ -10,6 +10,7 @@ import { ModalService } from 'src/app/services/modal.service'; import { SqliteService } from 'src/app/services/sqlite.service'; import { synchro } from 'src/app/services/socket/synchro.service'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-pedidos', @@ -45,7 +46,8 @@ export class PedidosPage implements OnInit { private alertService: AlertService, private activatedRoute: ActivatedRoute, private modalService: ModalService, - private sqliteservice: SqliteService + private sqliteservice: SqliteService, + private sortService: SortService, ) { //Inicializar segment this.segment = 'parecer'; @@ -124,7 +126,7 @@ export class PedidosPage implements OnInit { "SerialNumber": element.serialNumber, "Folio": element.workflowInstanceDataFields.Subject, "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, + "CreateDate": new Date(element.taskStartDate), "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, "Remetente": element.workflowInstanceDataFields.Remetente, "DocumentsQty": element.totalDocuments, @@ -135,7 +137,7 @@ export class PedidosPage implements OnInit { this.parecerList.push(task); }); this.sqliteservice.addProcess(this.parecerList); - this.listToPresentparecerList = this.parecerList + this.listToPresentparecerList = this.sortService.sortArrayISODate(this.parecerList); } else if(this.segment == 'deferimento') { @@ -160,7 +162,7 @@ export class PedidosPage implements OnInit { "SerialNumber": element.serialNumber, "Folio": element.workflowInstanceDataFields.Subject, "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, + "CreateDate": new Date(element.taskStartDate), "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, "Remetente": element.workflowInstanceDataFields.Remetente, "DocumentsQty": element.totalDocuments, @@ -176,8 +178,8 @@ export class PedidosPage implements OnInit { }); this.sqliteservice.addProcess(this.deferimentoList); - this.listToPresentdeferimentoList = this.deferimentoList - + this.listToPresentdeferimentoList = this.sortService.sortArrayISODate(this.deferimentoList); + }); } @@ -187,12 +189,12 @@ export class PedidosPage implements OnInit { getFromDb() { if(synchro.connected === true) { this.LoadList() - + this.router.events.forEach((event) => { if(event instanceof NavigationStart && '/home/gabinete-digital/pedidos?parecer=true'.startsWith(event.url) || event instanceof NavigationStart && '/home/gabinete-digital/pedidos?deferimento=true'.startsWith(event.url) ) { - + if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { this.refreshing() } else { @@ -206,7 +208,7 @@ export class PedidosPage implements OnInit { let parecerlist = []; let deferimentolist = [] this.sqliteservice.getprocessByworkflowpedido("Pedido de Parecer", "Pedido de Parecer do Presidente").then((process: any[]) => { - + process.forEach((element) => { if(JSON.parse(element.workflowInstanceDataFields).Status == "Active") { let date = new Date(element.taskStartDate); @@ -228,7 +230,7 @@ export class PedidosPage implements OnInit { parecerlist.push(task) } }) - this.listToPresentparecerList = parecerlist; + this.listToPresentparecerList = this.sortService.sortArrayISODate(parecerlist); console.log('parecer',process) }) @@ -238,7 +240,7 @@ export class PedidosPage implements OnInit { let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds(); - + let task = { "SerialNumber": element.serialNumber, "Folio": JSON.parse(element.workflowInstanceDataFields).Subject, @@ -254,10 +256,10 @@ export class PedidosPage implements OnInit { deferimentolist.push(task) } }) - this.listToPresentdeferimentoList = deferimentolist; + this.listToPresentdeferimentoList = this.sortService.sortArrayISODate(deferimentolist); console.log('deferimento',process) }) - + } } diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts index fcd1f61df..54bae18a2 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts @@ -13,6 +13,7 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; import { SqliteService } from 'src/app/services/sqlite.service'; import { synchro } from 'src/app/services/socket/synchro.service'; import { Platform } from '@ionic/angular'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ @@ -45,7 +46,8 @@ export class PendentesPage implements OnInit { private authService: AuthService, private activatedRoute: ActivatedRoute, private sqliteservice: SqliteService, - private platform: Platform + private platform: Platform, + private sortService: SortService, ) { this.loggeduser = authService.ValidatedUser; this.profile = 'mdgpr'; @@ -83,18 +85,12 @@ export class PendentesPage implements OnInit { }); pendentesList = removeDuplicate(pendentesList) - pendentesList = this.sortArrayISODate(pendentesList); + pendentesList = this.sortService.sortArrayByDate(pendentesList); this.listToPresent = pendentesList; this.skeletonLoader = false; } - sortArrayISODate(myArray: any) { - return myArray.sort(function (a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } - getFromDb() { if (synchro.connected === true) { @@ -122,7 +118,7 @@ export class PendentesPage implements OnInit { var workflow = JSON.parse(element.workflowInstanceDataFields); if (workflow.Status === "Pending") { let task = { - "CreateDate": element.taskStartDate, + "CreateDate": new Date(element.taskStartDate), "DocumentsQty": element.totalDocuments, "FolderID": workflow.FolderID, "Folio": workflow.Subject, @@ -130,16 +126,16 @@ export class PendentesPage implements OnInit { "SerialNumber": element.serialNumber, "Status": workflow.Status, "WorkflowName": element.workflowDisplayName - + } pendingList.push(task) } }); - - pendingList = this.sortArrayISODate(pendingList); + + pendingList = this.sortService.sortArrayISODate(pendingList); this.listToPresent = pendingList; console.log('pendentes', pendingList) - + }) }) }) diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index dd4ca6e1d..0a0e79467 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -108,7 +108,6 @@ export class AuthService { localStorage.setItem('Meteor.userId',responseChat['data'].userId); this.cookieService.set('rc_token', responseChat['data'].authToken); this.cookieService.set('rc_uid', responseChat['data'].userId); - alert(this.cookieService.get('rc_uid')); this.storageService.store(AuthConnstants.AUTH, responseChat); return true; } diff --git a/src/app/services/functions/sort.service.spec.ts b/src/app/services/functions/sort.service.spec.ts new file mode 100644 index 000000000..3d4a905c6 --- /dev/null +++ b/src/app/services/functions/sort.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { SortService } from './sort.service'; + +describe('SortService', () => { + let service: SortService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(SortService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/functions/sort.service.ts b/src/app/services/functions/sort.service.ts new file mode 100644 index 000000000..58c866878 --- /dev/null +++ b/src/app/services/functions/sort.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class SortService { + + constructor() { } + + sortArrayISODate(myArray: any) { + return myArray.sort(function (a, b) { + return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); + }); + } + sortArrayByDate(myArray: any) { + console.log(myArray[0].taskStartDate); + return myArray.sort(function (a, b) { + return (new Date(a.workflowInstanceDataFields.StartDate) < new Date(b.workflowInstanceDataFields.StartDate)) ? -1 : ((new Date(a.workflowInstanceDataFields.StartDate) > new Date(b.workflowInstanceDataFields.StartDate)) ? 1 : 0); + }); + } +} diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts index a5a841814..9c0b58953 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.ts @@ -7,6 +7,7 @@ import { removeDuplicate } from 'src/plugin/removeDuplicate.js'; import { SqliteService } from '../../../services/sqlite.service'; import { synchro } from '../../../services/socket/synchro.service'; import { Platform } from '@ionic/angular'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-all-processes', @@ -26,7 +27,8 @@ export class AllProcessesPage implements OnInit { private router: Router, private authService: AuthService, private sqliteservice: SqliteService, - private platform: Platform + private platform: Platform, + private sortService: SortService, ) { this.loggeduser = authService.ValidatedUser; } @@ -93,7 +95,8 @@ export class AllProcessesPage implements OnInit { } this.allProcessesList.push(task); this.allProcessesList = removeDuplicate(this.allProcessesList) - this.allProcessesList = this.sortArrayISODate(this.allProcessesList).reverse(); + //this.allProcessesList = this.sortArrayISODate(this.allProcessesList).reverse(); + this.allProcessesList = this.sortService.sortArrayISODate(this.allProcessesList).reverse(); }); diff --git a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts index 079995aa6..c0f7289c4 100644 --- a/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/shared/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -6,6 +6,7 @@ import { LoginUserRespose } from 'src/app/models/user.model'; import { NavigationStart, Router } from '@angular/router'; import { DespachosprStore } from 'src/app/store/despachospr-store.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-despachos-pr', @@ -24,6 +25,7 @@ constructor ( private processes:ProcessesService, private authService: AuthService, private router: Router, + private sortService: SortService, ) { this.loggeduser = authService.ValidatedUser; @@ -32,7 +34,7 @@ constructor ( ngOnInit() { this.LoadList() - + this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?despachospr=true')) { @@ -72,17 +74,12 @@ constructor ( despachoList.push(task); }); - despachoList = this.sortArrayISODate(despachoList).reverse() + despachoList = this.sortService.sortArrayByDate(despachoList).reverse() this.despachosprstore.reset(despachoList); this.skeletonLoader = false; } - sortArrayISODate(myArray: any){ - return myArray.sort(function(a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } refreshing(){ setTimeout(() => { diff --git a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts index 544687609..711f6b6d9 100644 --- a/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts +++ b/src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts @@ -6,6 +6,7 @@ import { ModalController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { DeplomasStore } from 'src/app/store/deplomas.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-diplomas-assinar', @@ -26,12 +27,13 @@ export class DiplomasAssinarPage implements OnInit { private modalController: ModalController, private alertService: AlertService, private router: Router, + private sortService: SortService, ) { } ngOnInit() { this.LoadList() - + this.router.events.forEach((event) => { if (event instanceof NavigationStart && '/home/gabinete-digital?diplomasassinar=true'.startsWith(event.url)) { if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { @@ -68,13 +70,13 @@ export class DiplomasAssinarPage implements OnInit { console.log(diplomasAssinar); diplomasAssinar.forEach(element => { - + let task: customTask = this.customTaskPipe.transform(element) this.diplomasList.push(task); - this.deplomasStore.resetDiplomasList(this.diplomasList) + this.deplomasStore.resetDiplomasList(this.sortService.sortArrayByDate(this.diplomasList)); }); } -} \ No newline at end of file +} diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts index 4420689ea..e04bf0a86 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts @@ -7,6 +7,7 @@ import { NavigationStart, Router } from '@angular/router'; import { LoginUserRespose } from 'src/app/models/user.model'; import { AuthService } from 'src/app/services/auth.service'; import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-events-to-approve', @@ -31,6 +32,7 @@ export class EventsToApprovePage implements OnInit { private modalController: ModalController, private router: Router, private userAuth: AuthService, + private sortService: SortService, ) { this.loggeduser = userAuth.ValidatedUser; @@ -41,9 +43,9 @@ export class EventsToApprovePage implements OnInit { this.LoadToApproveEvents(); this.router.events.forEach((event) => { - if (event instanceof NavigationStart && + if (event instanceof NavigationStart && '/home/gabinete-digital?eventos=true'.startsWith(event.url)) { - + if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { this.doRefresh() } else { @@ -65,13 +67,15 @@ export class EventsToApprovePage implements OnInit { let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise(); let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise(); this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal); - this.eventaprovacaostore.resetmd(this.eventsMDGPRList); + console.log(this.sortService.sortArrayByDate(this.eventsMDGPRList)); + + this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse()); } else if(this.segment == 'PR'){ let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise(); let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise(); this.eventsPRList = prEventsOficial.concat(prEventsPessoal); - this.eventaprovacaostore.resetpr(this.eventsPRList); + this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse()); } this.showLoader = false; } @@ -123,7 +127,7 @@ export class EventsToApprovePage implements OnInit { setTimeout(()=>{ this.LoadToApproveEvents(); }, 1000) - + } close(){ this.modalController.dismiss(null); diff --git a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts index 00e26ec55..a605e7a95 100644 --- a/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts +++ b/src/app/shared/gabinete-digital/pedidos/pedidos.page.ts @@ -9,6 +9,7 @@ import { AlertService } from 'src/app/services/alert.service'; import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido.page'; import { PedidosStore } from 'src/app/store/pedidos-store.service'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-pedidos', templateUrl: './pedidos.page.html', @@ -43,6 +44,7 @@ export class PedidosPage implements OnInit { private processes:ProcessesService, private modalController: ModalController, private alertService: AlertService, + private sortService: SortService, ) { this.profile = 'mdgpr'; } @@ -70,7 +72,7 @@ export class PedidosPage implements OnInit { segmentChanged(ev: any) { this.LoadList(); } - + async LoadList() { this.skeletonLoader = true; @@ -92,7 +94,7 @@ export class PedidosPage implements OnInit { let task: customTask = this.customTaskPipe.transform(element); this.parecerList.push(task); }); - this.pedidosstore.resetparecer(this.parecerList); + this.pedidosstore.resetparecer(this.sortService.sortArrayByDate(this.parecerList)); } else if(this.segment == 'deferimento') { @@ -108,7 +110,7 @@ export class PedidosPage implements OnInit { let task: customTask = this.customTaskPipe.transform(element); this.deferimentoList.push(task); }); - this.pedidosstore.resetdeferimento(this.deferimentoList); + this.pedidosstore.resetdeferimento(this.sortService.sortArrayByDate(this.deferimentoList)); }); } diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts index f620631ea..fd9165cc1 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts @@ -7,6 +7,7 @@ import { AuthService } from 'src/app/services/auth.service'; import { PendentesStore } from 'src/app/store/pendestes-store.service'; import { LoginUserRespose } from 'src/app/models/user.model'; import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-pendentes', @@ -28,6 +29,7 @@ export class PendentesPage implements OnInit { private processes:ProcessesService, private authService: AuthService, private router: Router, + private sortService: SortService, ) { this.loggeduser = authService.ValidatedUser; } @@ -60,18 +62,12 @@ export class PendentesPage implements OnInit { }); pendentesList = removeDuplicate( pendentesList) - pendentesList = this.sortArrayISODate(pendentesList); + pendentesList = this.sortService.sortArrayByDate(pendentesList); this.pendentesstore.reset(pendentesList); this.skeletonLoader = false; } - sortArrayISODate(myArray: any){ - return myArray.sort(function(a, b) { - return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0); - }); - } - doRefresh() { setTimeout(()=>{ this.LoadList(); From d0a15a256e82328d1610323ba0c84916bc5c3f43 Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Mon, 18 Oct 2021 15:19:01 +0100 Subject: [PATCH 2/4] order list by date in agenda --- .../agenda/event-list/event-list.page.html | 4 ++-- .../agenda/event-list/event-list.page.ts | 23 +++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/app/shared/agenda/event-list/event-list.page.html b/src/app/shared/agenda/event-list/event-list.page.html index 71ac37fc9..738eb82c6 100644 --- a/src/app/shared/agenda/event-list/event-list.page.html +++ b/src/app/shared/agenda/event-list/event-list.page.html @@ -1,8 +1,8 @@
-
Eventos para Aprovação
-
+
Eventos para Aprovação11
+
diff --git a/src/app/shared/agenda/event-list/event-list.page.ts b/src/app/shared/agenda/event-list/event-list.page.ts index bcc74b0c2..fad4b407c 100644 --- a/src/app/shared/agenda/event-list/event-list.page.ts +++ b/src/app/shared/agenda/event-list/event-list.page.ts @@ -6,6 +6,7 @@ import { ModalController } from '@ionic/angular'; import { NavigationEnd, Router } from '@angular/router'; import { AuthService } from 'src/app/services/auth.service'; import { LoginUserRespose } from 'src/app/models/user.model'; +import { SortService } from 'src/app/services/functions/sort.service'; @Component({ selector: 'app-event-list', @@ -36,6 +37,7 @@ export class EventListPage implements OnInit { private modalController: ModalController, private router: Router, private userAuth: AuthService, + private sortService: SortService, ) { this.loggeduser = userAuth.ValidatedUser; } @@ -54,8 +56,8 @@ export class EventListPage implements OnInit { } ngOnChanges() { - this.LoadToApproveEvents(); - } + //this.LoadToApproveEvents(); + } segmentChanged(ev: any) { this.LoadToApproveEvents(); @@ -71,12 +73,21 @@ export class EventListPage implements OnInit { if(this.segment == 'MDGPR'){ let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise(); let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise(); - this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal); + + let allEvents = mdEventsOficial.concat(mdEventsPessoal); + if(allEvents.length > 0){ + this.eventsMDGPRList = this.sortService.sortArrayByDate(allEvents).reverse(); + } + this.showLoader = false; } else if(this.segment == 'PR'){ let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise(); let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise(); - this.eventsPRList = prEventsOficial.concat(prEventsPessoal); + let allEvents = prEventsOficial.concat(prEventsPessoal); + console.log(allEvents); + if(allEvents.length > 0){ + this.eventsPRList = this.sortService.sortArrayByDate(allEvents).reverse(); + } } this.showLoader = false; } @@ -95,6 +106,10 @@ export class EventListPage implements OnInit { }); } + refreshing() { + this.LoadToApproveEvents(); + } + doRefresh(event) { this.LoadToApproveEvents(); console.log('refresh'); From cf1eb1aa03842e2ba08d2be5030793cc77c4d969 Mon Sep 17 00:00:00 2001 From: "tiago.kayaya" Date: Mon, 18 Oct 2021 15:44:22 +0100 Subject: [PATCH 3/4] add viewer at agenda in events to approve --- .../approve-event/approve-event.page.html | 14 ++--- .../approve-event/approve-event.page.ts | 54 ++++++++++++------- .../agenda/event-list/event-list.page.html | 2 +- .../agenda/event-list/event-list.page.ts | 2 +- 4 files changed, 43 insertions(+), 29 deletions(-) diff --git a/src/app/shared/agenda/approve-event/approve-event.page.html b/src/app/shared/agenda/approve-event/approve-event.page.html index 0869990f7..85d35dce2 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.html +++ b/src/app/shared/agenda/approve-event/approve-event.page.html @@ -21,7 +21,7 @@
- +
@@ -89,15 +89,15 @@
-
+
-
Documentos Anexados
+
Documentos Anexados {{loadedEvent.Documents.length}}
+ *ngFor="let attachment of loadedEvent.Documents" + (click)="viewDocument(attachment.DocId, attachment)"> -

{{attach.SourceName}}

-

{{attach.Stakeholders}}{{ attach.CreateDate | date: 'dd-MM-yyyy HH:mm' }}

+

{{attachment.Assunto}}

+

{{attachment.Sender}}{{ attachment.DocDate | date: 'dd-MM-yyyy HH:mm' }}

diff --git a/src/app/shared/agenda/approve-event/approve-event.page.ts b/src/app/shared/agenda/approve-event/approve-event.page.ts index 729788113..473476872 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.ts +++ b/src/app/shared/agenda/approve-event/approve-event.page.ts @@ -9,6 +9,7 @@ import { EmendMessageModalPage } from 'src/app/pages/agenda/emend-message-modal/ import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popover/event-actions-popover.page'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ToastService } from 'src/app/services/toast.service'; +import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; @Component({ selector: 'app-approve-event', @@ -23,7 +24,7 @@ export class ApproveEventPage implements OnInit { customDate:any; today:any; show: boolean = false; - + months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"]; @@ -62,7 +63,7 @@ export class ApproveEventPage implements OnInit { this.getAttachments(); } - ngOnChanges() { + /* ngOnChanges() { this.getTask(); this.getAttachments(); @@ -76,7 +77,7 @@ export class ApproveEventPage implements OnInit { this.getAttachments(); }, 10000) - } + } */ notImplemented() { this.alertService.presentAlert('Funcionalidade em desenvolvimento'); @@ -90,12 +91,12 @@ export class ApproveEventPage implements OnInit { getTask() { this.processes.GetTask(this.serialNumber).subscribe(res => { - // console.log(res); + console.log(res); this.loadedEvent = res; this.today = new Date(res.workflowInstanceDataFields.StartDate); // console.log(new Date(this.today)); this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]); - + }) } @@ -115,9 +116,9 @@ export class ApproveEventPage implements OnInit { loader.remove() } - /* this.approveEventDismiss.emit({ + /* this.approveEventDismiss.emit({ "serialNumber": serialNumber, - "action": "Aprovar", + "action": "Aprovar", "saveData": { loadedEvent: this.loadedEvent, today: this.today, @@ -127,7 +128,7 @@ export class ApproveEventPage implements OnInit { } async rejectTask(serialNumber:string) { - + let body = { "serialNumber": serialNumber, "action": "Rejeitar" } console.log(body); @@ -144,20 +145,33 @@ export class ApproveEventPage implements OnInit { } } - + async getAttachments() { this.loadedAttachments = await this.attachmentsService.getAttachmentsById(this.InstanceId).toPromise(); } - viewDocument(sourceId) { - this.processes.GetDocumentUrl(sourceId, '8').subscribe(res=>{ - /* console.log(res); */ - const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); - const browser = this.iab.create(url,"_blank"); - browser.show(); - + async viewDocument(DocId:string, Document) { + + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + trustedUrl: '', + file: { + title: Document.Assunto, + url: '', + title_link: '', + }, + Document, + applicationId: Document.ApplicationId, + docId: Document.DocId || Document.SourceId, + folderId: this.loadedEvent.FolderId, + task: this.loadedEvent + }, + cssClass: 'modal modal-desktop' }); + await modal.present(); + } async openOptions(ev:any) { @@ -186,9 +200,9 @@ export class ApproveEventPage implements OnInit { modal.onDidDismiss() .then( async (res) => { console.log(res.data); - + if(res.data !== ''){ - let body = { "serialNumber": serialNumber, + let body = { "serialNumber": serialNumber, "action": "Emendar", "dataFields": { "ReviewUserComment": res.data, @@ -197,7 +211,7 @@ export class ApproveEventPage implements OnInit { console.log(body); const loader = this.toastService.loading() - try { + try { await this.processes.PostTaskAction(body).toPromise(); this.toastService.successMessage('Pedido enviado'); this.close(); @@ -211,7 +225,7 @@ export class ApproveEventPage implements OnInit { //this.alertService.presentAlert('Operação cancelada!'); } }); - + //this.openEmendMessageModal(serialNumber); //this.goBack(); } diff --git a/src/app/shared/agenda/event-list/event-list.page.html b/src/app/shared/agenda/event-list/event-list.page.html index 738eb82c6..d62e48cca 100644 --- a/src/app/shared/agenda/event-list/event-list.page.html +++ b/src/app/shared/agenda/event-list/event-list.page.html @@ -1,7 +1,7 @@
-
Eventos para Aprovação11
+
Eventos para Aprovação