diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 6478859fc..1ec231733 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -45,6 +45,7 @@ import { MatDialogModule } from '@angular/material/dialog'; import { MatSelectModule } from '@angular/material/select'; import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'; import { MatButtonModule } from '@angular/material/button'; +import { ProcessesResolverService } from './resolvers/processes-resolver.service'; @NgModule({ diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index 13f9bc094..f07e7867c 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -7,6 +7,7 @@ import { GroupMessagesPage } from '../pages/chat/group-messages/group-messages.p import { MessagesPage } from '../pages/chat/messages/messages.page'; import { ProcessesResolverService } from '../resolvers/processes-resolver.service'; import { UserDataResolver } from '../resolvers/userData.resolver'; +import { DiplomasPage } from '../shared/gabinete-digital/diplomas/diplomas.page'; import { HomePage } from './home.page'; @@ -15,7 +16,7 @@ const routes: Routes = [ path: 'home', component: HomePage, resolve: { - userData: UserDataResolver + userData: UserDataResolver, }, children: [ { @@ -141,6 +142,9 @@ const routes: Routes = [ }, { path: 'gabinete-digital', + resolve: { + diplomas: ProcessesResolverService + }, children: [ { path:'', @@ -216,7 +220,6 @@ const routes: Routes = [ { path: '', loadChildren: ()=> import('../pages/gabinete-digital/diplomas/diplomas.module').then(m => m.DiplomasPageModule), - /* resolve { diplomas: ProcessesResolverService}, */ }, { path:':SerialNumber/:caller', diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts index 7a1a71376..5cdd67938 100644 --- a/src/app/home/home.module.ts +++ b/src/app/home/home.module.ts @@ -8,7 +8,6 @@ import { HomePageRoutingModule } from './home-routing.module'; import { HomePage } from './home.page'; /* import { IonicSelectableModule } from 'ionic-selectable'; */ -import { SharedModule } from 'src/app/shared/shared.module'; import { ComponentsModule } from '../components/components.module'; @NgModule({ @@ -19,6 +18,6 @@ import { ComponentsModule } from '../components/components.module'; HomePageRoutingModule, ComponentsModule ], - declarations: [HomePage] + declarations: [HomePage], }) export class HomePageModule {} diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 39e6ba261..2f9eca264 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -88,6 +88,7 @@ export class EventsPage implements OnInit { } ngOnInit() { + this.activatedRoute.data.subscribe(data => console.log(data)); //Inicializar segment this.segment = "Combinada"; //Initialize profile as mdgpr @@ -285,13 +286,11 @@ export class EventsPage implements OnInit { case 'MDGPR': this.processes.GetTasksList("Expediente", false).subscribe(result => { this.expedientList = result.reverse(); - console.log(this.expedientList); }); break; case 'PR': this.processes.GetTasksList("Expediente do Presidente", false).subscribe(result => { this.expedientList = result.reverse(); - console.log(this.expedientList); }); break; default: diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts index 12747404a..fc5ec7251 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts @@ -95,6 +95,7 @@ export class DiplomaPage implements OnInit { component: DeplomaOptionsPage, cssClass: 'exp-options', componentProps: { + serialNumber: this.serialNumber, task: this.task, fulltask: this.fulltask, taskAction:taskAction, diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html index 272918cfc..1e0822024 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.html +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.html @@ -57,7 +57,7 @@
- +
diff --git a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts index 1a70997f6..0cfb2c357 100644 --- a/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diplomas.page.ts @@ -1,34 +1,30 @@ -import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; import { ActivatedRoute, NavigationEnd, NavigationExtras, Router } from '@angular/router'; -import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model'; +import { DailyWorkTask } from '../../../models/dailyworktask.model'; import { ProcessesService } from 'src/app/services/processes.service'; -import { formatDate } from '@angular/common'; -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 { removeDuplicate } from 'src/plugin/removeDuplicate.js' @Component({ selector: 'app-diplomas', templateUrl: './diplomas.page.html', styleUrls: ['./diplomas.page.scss'], }) -export class DiplomasPage implements OnInit { -diplomasList:DailyWorkTask[] = []; +export class DiplomasPage implements OnInit, OnDestroy { + list:DailyWorkTask[] = []; + diplomasList:DailyWorkTask[] = []; diplomasAssinadoList:DailyWorkTask[] = []; showLoader: boolean; totalDocs:any; serialNumber:string; -@Input() profile:string; -@Input() segment:string; +segment:string; constructor( private processes:ProcessesService, - private modalController: ModalController, - private alertService: AlertService, private router: Router, private activatedRoute: ActivatedRoute, ) { + this.segment = 'validar'; this.activatedRoute.queryParams.subscribe(params => { console.log('Cria'); @@ -38,7 +34,7 @@ constructor( this.segment = 'assinados'; } - this.LoadList(); + this.loadDiplomas(); }); } @@ -46,12 +42,114 @@ constructor( this.router.events.forEach((event) => { if(event instanceof NavigationEnd && event.url == this.router.url) { console.log('Atualiza'); - this.LoadList(); } }); - console.log('Init'); - this.LoadList(); + + } + + async loadDiplomas(){ + console.log('Load'); + + this.activatedRoute.data.subscribe(data => { + console.log(data['diplomas']); + + switch (this.segment) { + case 'validar': + + let diplomasValidar = data['diplomas'].filter(data => data.activityInstanceName == "Revisar Diploma"); + diplomasValidar.forEach(async element => { + let DocId = element.workflowInstanceDataFields.FolderID; + let ApplicationId = element.workflowInstanceDataFields.ApplicationId; + this.totalDocs = await this.getTotalDocs(DocId); + + 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": element.workflowInstanceDataFields.Subject, + "Senders": element.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": this.totalDocs, + "DocId": element.workflowInstanceDataFields.DocIdDiferimento, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + } + this.diplomasList.push(task); + this.diplomasList = removeDuplicate( this.diplomasList) + + }); + this.showLoader = false; + break; + + case 'assinados': + //this.diplomasList = new Array(); + let diplomasAssinados = data.diplomas.reverse().filter(data => data.activityInstanceName == "Diploma Assinado"); + diplomasAssinados.forEach(element => { + let DocId = element.workflowInstanceDataFields.FolderID; + let ApplicationId = element.workflowInstanceDataFields.ApplicationId; + this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{ + this.totalDocs = res.DocumentsTotal; + //console.log(res.DocumentsTotal); + + 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": element.workflowInstanceDataFields.Subject, + "Senders": element.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": 0, + "DocId": element.workflowInstanceDataFields.DocIdDiferimento, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + } + this.list.push(task); + }, + (error)=> { + + 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": element.workflowInstanceDataFields.Subject, + "Senders": element.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": 0, + "DocId": element.workflowInstanceDataFields.DocIdDiferimento, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + } + this.list.push(task); + }); + }); + this.diplomasList = removeDuplicate(this.list); + this.showLoader = false; + break; + } + }); + } + + async getTotalDocs(DocId:any){ + let res = await this.processes.GetDocumentDetails(DocId, '361').toPromise(); + console.log(res.DocumentsTotal); + return res.DocumentsTotal; + } + + ngOnDestroy(): void { + console.log('8. on destroy called'); } segmentChanged(ev: any) { @@ -65,7 +163,8 @@ constructor( } this.router.navigate(['/home/gabinete-digital/diplomas'], navigationExtras); - this.LoadList(); + this.loadDiplomas(); + //this.LoadList(); } goToDiploma(serialNumber:any) { @@ -77,55 +176,33 @@ constructor( switch (this.segment) { case 'validar': - this.diplomasList = new Array(); - let diplomasValidar = diplomas.reverse().filter(data => data.activityInstanceName == "Revisar Diploma"); - diplomasValidar.forEach(element => { - let DocId = element.workflowInstanceDataFields.FolderID; - let ApplicationId = element.workflowInstanceDataFields.ApplicationId; - this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{ - this.totalDocs = res.DocumentsTotal; - console.log(res.DocumentsTotal); + let diplomasValidar = diplomas.filter(data => data.activityInstanceName == "Revisar Diploma"); + diplomasValidar.forEach(async element => { + let DocId = element.workflowInstanceDataFields.FolderID; + let ApplicationId = element.workflowInstanceDataFields.ApplicationId; + this.totalDocs = await this.getTotalDocs(DocId); 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": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": 0, - "DocId": element.workflowInstanceDataFields.DocIdDiferimento, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, + "SerialNumber": element.serialNumber, + "Folio": element.workflowInstanceDataFields.Subject, + "Senders": element.workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": this.totalDocs, + "DocId": element.workflowInstanceDataFields.DocIdDiferimento, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, } this.diplomasList.push(task); - }, - (error)=> { + this.diplomasList = removeDuplicate( this.diplomasList) - 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": element.workflowInstanceDataFields.Subject, - "Senders": element.workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, - "Remetente": element.workflowInstanceDataFields.Remetente, - "DocumentsQty": 0, - "DocId": element.workflowInstanceDataFields.DocIdDiferimento, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - } - this.diplomasList.push(task); }); - }); - this.showLoader = false; + this.showLoader = false; break; case 'assinados': this.diplomasList = new Array(); @@ -135,7 +212,7 @@ constructor( let ApplicationId = element.workflowInstanceDataFields.ApplicationId; this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{ this.totalDocs = res.DocumentsTotal; - console.log(res.DocumentsTotal); + //console.log(res.DocumentsTotal); let date = new Date(element.taskStartDate); date.setMonth(date.getMonth() + 1); @@ -179,9 +256,13 @@ constructor( this.showLoader = false; break; } - } + } + doRefresh(event) { + console.log('refresh'); + + //this.loadDiplomas(); this.LoadList(); setTimeout(() => { event.target.complete(); diff --git a/src/app/resolvers/processes-resolver.service.ts b/src/app/resolvers/processes-resolver.service.ts index 322839b3c..63de8879d 100644 --- a/src/app/resolvers/processes-resolver.service.ts +++ b/src/app/resolvers/processes-resolver.service.ts @@ -1,20 +1,21 @@ import { Injectable } from '@angular/core'; -import { ActivatedRoute, ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; +import { ActivatedRouteSnapshot, Resolve, RouterStateSnapshot } from '@angular/router'; import { Observable } from 'rxjs'; -import { DailyWorkTask } from '../models/dailyworktask.model'; import { ProcessesService } from '../services/processes.service'; @Injectable({ providedIn: 'root' }) -export class ProcessesResolverService implements Resolve { +export class ProcessesResolverService implements Resolve { constructor( private processesService: ProcessesService, ) { } resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): - Observable | Promise | any[] { + Observable | Promise | any { + /* const n: any = [{numero: '1', n2:'3e'}] + return n; */ return this.processesService.GetTasksList("Despacho do Presidente da República", false); } } diff --git a/src/app/shared/popover/deploma-options/deploma-options.page.ts b/src/app/shared/popover/deploma-options/deploma-options.page.ts index 2eb280466..bf106b843 100644 --- a/src/app/shared/popover/deploma-options/deploma-options.page.ts +++ b/src/app/shared/popover/deploma-options/deploma-options.page.ts @@ -1,6 +1,6 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute, Router } from '@angular/router'; -import { AnimationController, ModalController, PopoverController } from '@ionic/angular'; +import { AnimationController, ModalController, NavParams, PopoverController } from '@ionic/angular'; import { AddNotePage } from 'src/app/modals/add-note/add-note.page'; import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; import { ProcessesService } from 'src/app/services/processes.service'; @@ -26,19 +26,14 @@ export class DeplomaOptionsPage implements OnInit { private modalController: ModalController, private activatedRoute: ActivatedRoute, private processes: ProcessesService, - private animationController: AnimationController, + private navParams: NavParams, private toastService: ToastService, private router: Router,) { - this.activatedRoute.queryParams.subscribe(params => { - if(params["serialNumber"]) { - this.serialnumber = params["serialNumber"]; - console.log(params["serialNumber"]); - } - }); - + this.serialnumber = this.navParams.get('serialNumber'); } ngOnInit() { + console.log(this.serialnumber); }