diff --git a/src/app/pages/publications/view-publications/view-publications.page.ts b/src/app/pages/publications/view-publications/view-publications.page.ts index f81eb7b19..0c1b04246 100644 --- a/src/app/pages/publications/view-publications/view-publications.page.ts +++ b/src/app/pages/publications/view-publications/view-publications.page.ts @@ -68,7 +68,7 @@ export class ViewPublicationsPage implements OnInit { if (typeof (this.folderId) == 'object') { this.folderId = this.folderId['ProcessId'] } - this.testForkJoin() + //this.testForkJoin() this.getPublicationDetail(); setTimeout(() => { this.getPublicationsIds(); @@ -76,7 +76,7 @@ export class ViewPublicationsPage implements OnInit { this.backgroundservice.registerBackService('Online', () => { this.getPublicationDetail(); - this.testForkJoin() + //this.testForkJoin() }) @@ -91,16 +91,16 @@ export class ViewPublicationsPage implements OnInit { // if (typeof (this.id == 'object') { // this.id = this.id['ProcessId'] // } - this.testForkJoin() + //this.testForkJoin() this.getPublicationDetail(); // this.getPublicationsIds(); } doRefresh = (event) => { setTimeout(() => { - this.testForkJoin() + //this.testForkJoin() this.getPublicationDetail(); - // this.getPublicationsIds(); + this.getPublicationsIds(); event.target.complete(); }, 3000); @@ -116,13 +116,13 @@ export class ViewPublicationsPage implements OnInit { } getPublicationDetail() { - this.publications.GetPresidentialAction(this.folderId).subscribe(res=>{ + this.publications.GetPresidentialAction(this.folderId).subscribe(res => { console.log(res); this.item = res; }); } -// goes to fork + // goes to fork // getPublicationsIds() { // this.showLoader = true; @@ -138,20 +138,20 @@ export class ViewPublicationsPage implements OnInit { this.showLoader = true; const folderId = this.folderId - + this.getFromDB() this.publications.GetPublicationsImages(this.folderId).subscribe(res => { console.log('publications ids', res) this.publicationList = new Array(); - /* for(let i of res) { - this.publications.GetPublicationById(i).subscribe(ress => { - console.log('publications by ids', ress) - let item: Publication = this.publicationPipe.itemList(ress) - console.log('publications by ids 2', item) - this.publicationList.push(item); - }) - } */ + /* for(let i of res) { + this.publications.GetPublicationById(i).subscribe(ress => { + console.log('publications by ids', ress) + let item: Publication = this.publicationPipe.itemList(ress) + console.log('publications by ids 2', item) + this.publicationList.push(item); + }) + } */ res.forEach(element => { console.log('publications elements', element) @@ -168,7 +168,6 @@ export class ViewPublicationsPage implements OnInit { this.publicationListStorage.add(folderId, this.publicationList) this.getpublication = this.publicationList; - this.showLoader = false; /* this.publicationList = new Array(); @@ -189,7 +188,7 @@ export class ViewPublicationsPage implements OnInit { this.showLoader = true; const folderId = this.folderId - + this.getFromDB(); this.publications.GetPublications(this.folderId).subscribe(res => { console.log(this.folderId) @@ -223,13 +222,13 @@ export class ViewPublicationsPage implements OnInit { }); } - testForkJoin(){ + testForkJoin() { forkJoin([ this.getPublicationsIds(), this.getPublications(), - ]).subscribe(allResults =>{ + ]).subscribe(allResults => { this.publicationList = allResults[2] }) } diff --git a/src/app/services/chat/ws-chat-methods.service.ts b/src/app/services/chat/ws-chat-methods.service.ts index 0cfbf8608..6cc607027 100644 --- a/src/app/services/chat/ws-chat-methods.service.ts +++ b/src/app/services/chat/ws-chat-methods.service.ts @@ -40,11 +40,21 @@ export class WsChatMethodsService { } + getRoomFromDb() { + this.storage.get('Rooms').then((rooms) => { + rooms.result.update.forEach((roomData: room) => { + this.prepareRoom(roomData); + }); + }) + }; + async getAllRooms () { this.loadingWholeList = true - + this.getRoomFromDb(); const rooms = await this.WsChatService.getRooms(); + this.storage.set('Rooms', rooms); + // console.log("ROOMS" + JSON.stringify(rooms)) rooms.result.update.forEach((roomData: room) => { diff --git a/src/app/shared/shared.module.ts b/src/app/shared/shared.module.ts index 42f4c4c87..ce95737f1 100644 --- a/src/app/shared/shared.module.ts +++ b/src/app/shared/shared.module.ts @@ -2,6 +2,7 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { IonicModule } from '@ionic/angular'; +import { IonicImageLoaderModule } from 'ionic-image-loader-v5'; // import { HeaderPage } from './header/header.page'; // import { HeaderPrPage } from './header-pr/header-pr.page'; // import { BtnSeguintePage } from './btn-seguinte/btn-seguinte.page'; @@ -17,7 +18,8 @@ import { IonicModule } from '@ionic/angular'; imports: [ CommonModule, FormsModule, - IonicModule + IonicModule, + IonicImageLoaderModule ], exports: [ // HeaderPage, From 629b8a71c7d585affb48f36b562cec8035da0c8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 31 Jan 2022 15:02:26 +0100 Subject: [PATCH 2/4] Offline web almost done --- src/app/pages/agenda/agenda.page.ts | 69 +++++++++--- .../agenda/view-event/view-event.page.ts | 66 ++++++----- src/app/pages/events/events.page.ts | 27 ++++- .../gabinete-digital/gabinete-digital.page.ts | 105 ++++++++++++------ 4 files changed, 192 insertions(+), 75 deletions(-) diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index e67e9bf0c..a851161b5 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -9,6 +9,7 @@ import { momentG } from 'src/plugin/momentG'; import { DomSanitizer } from "@angular/platform-browser"; import { EventPerson } from 'src/app/models/eventperson.model'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js'; +import { Storage } from '@ionic/storage'; // showTimeline import { setHours, setMinutes } from 'date-fns'; @@ -179,7 +180,8 @@ export class AgendaPage implements OnInit { private sqliteservice: SqliteService, private platform: Platform, private backgroundservice: BackgroundService, - public ThemeService: ThemeService + public ThemeService: ThemeService, + private storage:Storage ) { this.dateAdapter.setLocale('es'); @@ -770,6 +772,27 @@ export class AgendaPage implements OnInit { addEventToDB(response, profile) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + let responseArray = []; + response.forEach(element => { + let event = { + CalendarId: element.CalendarId, + CalendarName: element.CalendarName, + EndDate: element.EndDate, + EventId: element.EventId, + HasAttachments: element.HasAttachments, + HumanDate: element.HumanDate, + IsAllDayEvent: element.IsAllDayEvent, + Location: element.Location, + StartDate: element.StartDate, + Subject: element.Subject, + Profile: profile + } + responseArray.push(event) + + }); + this.storage.set('agendaResponse',responseArray).then(() => { + console.log('Agenda data saved') + }) } else { if (response.length > 0) { @@ -796,21 +819,35 @@ export class AgendaPage implements OnInit { getFromDB() { console.log('ALL EVENTS FROM DB AGENDA OFFLINE') - this.sqliteservice.getAllEvents().then((events: any[]) => { - console.log('ALL EVENTS FROM DB', events) - let eventArray = []; - - this.trasnformDataDB(events) - this.updateEventListBox() - - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - - }) + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('agendaResponse').then((events) => { + this.trasnformDataDB(events) + this.updateEventListBox() + + this.myCal.update(); + this.myCal.loadEvents(); + + this.showLoader = false; + this.showTimeline = true; + }) + } else { + this.sqliteservice.getAllEvents().then((events: any[]) => { + console.log('ALL EVENTS FROM DB', events) + let eventArray = []; + + this.trasnformDataDB(events) + this.updateEventListBox() + + this.myCal.update(); + this.myCal.loadEvents(); + + this.showLoader = false; + this.showTimeline = true; + + + }) + } + } updateEventListBox() { diff --git a/src/app/pages/agenda/view-event/view-event.page.ts b/src/app/pages/agenda/view-event/view-event.page.ts index 4175b8b86..4c9c36f76 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -21,6 +21,7 @@ import { BackgroundService } from 'src/app/services/background.service'; import { StorageService } from 'src/app/services/storage.service'; import { ThemeService } from 'src/app/services/theme.service' import { RouteService } from 'src/app/services/route.service'; +import { Storage } from '@ionic/storage'; @Component({ @@ -74,6 +75,7 @@ export class ViewEventPage implements OnInit { private storage: StorageService, public ThemeService: ThemeService, private RouteService: RouteService, + private ionicStorage: Storage ) { this.isEventEdited = false; this.loadedEvent = new Event(); @@ -394,6 +396,9 @@ export class ViewEventPage implements OnInit { addEventToDb(data) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.ionicStorage.set('eventDetails', data).then(() => { + console.log('Details event saved') + }) } else { let event = { Attendees: JSON.stringify(data.Attendees) || JSON.stringify(''), @@ -423,33 +428,40 @@ export class ViewEventPage implements OnInit { getFromDb() { const loader = this.toastService.loading(); - this.sqliteservice.getEventById(this.eventId).then((event) => { - let arrayevent = []; - console.log('EVENT ATTENDEES',event[0].Attendees) - let elemet = { - Attendees: (typeof JSON.parse(event[0].Attendees) === 'undefined') ? "" : JSON.parse(event[0].Attendees), - Body: JSON.parse(event[0].Body) || "", - CalendarId: event[0].CalendarId, - CalendarName: event[0].CalendarName, - Category: event[0].Category, - EndDate: event[0].EndDate, - EventId: event[0].EventId, - EventRecurrence: JSON.parse(event[0].EventRecurrence) || "", - EventType: event[0].EventType, - HasAttachments: event[0].HasAttachments, - IsAllDayEvent: event[0].IsAllDayEvent, - IsMeeting: event[0].IsMeeting, - IsRecurring: event[0].IsRecurring, - Location: event[0].Location, - Organizer: JSON.parse(event[0].Organizer) || "", - StartDate: event[0].StartDate, - Subject: event[0].Subject, - TimeZone: event[0].TimeZone - } - arrayevent.push(elemet); - this.loadedEvent = arrayevent[0]; - console.log("Event ditails local,", elemet) - }) + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.ionicStorage.get('eventDetails').then((events) =>{ + this.loadedEvent = events; + }) + } else { + this.sqliteservice.getEventById(this.eventId).then((event) => { + let arrayevent = []; + console.log('EVENT ATTENDEES',event[0].Attendees) + let elemet = { + Attendees: (typeof JSON.parse(event[0].Attendees) === 'undefined') ? "" : JSON.parse(event[0].Attendees), + Body: JSON.parse(event[0].Body) || "", + CalendarId: event[0].CalendarId, + CalendarName: event[0].CalendarName, + Category: event[0].Category, + EndDate: event[0].EndDate, + EventId: event[0].EventId, + EventRecurrence: JSON.parse(event[0].EventRecurrence) || "", + EventType: event[0].EventType, + HasAttachments: event[0].HasAttachments, + IsAllDayEvent: event[0].IsAllDayEvent, + IsMeeting: event[0].IsMeeting, + IsRecurring: event[0].IsRecurring, + Location: event[0].Location, + Organizer: JSON.parse(event[0].Organizer) || "", + StartDate: event[0].StartDate, + Subject: event[0].Subject, + TimeZone: event[0].TimeZone + } + arrayevent.push(elemet); + this.loadedEvent = arrayevent[0]; + console.log("Event ditails local,", elemet) + }) + } + loader.remove() } } diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 056d5c9d8..e4055a9a8 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -21,6 +21,7 @@ import { NetworkConnectionService } from 'src/app/services/network-connection.se import { BackgroundService } from 'src/app/services/background.service'; import { momentG } from 'src/plugin/momentG'; import { ThemeService } from 'src/app/services/theme.service' +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-events', templateUrl: './events.page.html', @@ -95,7 +96,8 @@ export class EventsPage implements OnInit { private sqliteservice: SqliteService, private networkconnection: NetworkConnectionService, private backgroundservice: BackgroundService, - public ThemeService: ThemeService + public ThemeService: ThemeService, + private storage: Storage ) { /* this.existingScreenOrientation = this.screenOrientation.type; console.log(this.existingScreenOrientation); */ @@ -317,6 +319,9 @@ export class EventsPage implements OnInit { addEventToDb(list) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.set('events', list).then(() => { + console.log('Init events saved') + }) } else { if (list.length > 0) { list.forEach(element => { @@ -359,6 +364,9 @@ export class EventsPage implements OnInit { addProcessToDb(list) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.set('process', list).then(() => { + console.log('Init process saved') + }) } else { if (list.length > 0) { list.forEach(element => { @@ -376,6 +384,23 @@ export class EventsPage implements OnInit { let dateToday = date.getFullYear() + "-" + month + "-" + date.getDate(); console.log('dateeeeee', dateToday) if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('events').then((events: any[]) => { + console.log('Today events',events) + let todayEvents = new Array() + this.listToPresent = events + this.totalEvent = this.listToPresent.length + this.currentEvent = this.listToPresent[0].Subject + this.currentHoursMinutes = this.listToPresent[0].StartDate + console.log("All events from local,", events) + }) + + this.storage.get('process').then((process: any[]) => { + console.log('OFOFOFOOF22222', process) + const ExpedienteTask = process.map(e => this.expedienteTaskPipe.transform(e)) + this.listToPresentexpediente = ExpedienteTask; + }) + + this.showLoader = false; } else { this.sqliteservice.getAllEvents().then((event: any[]) => { diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index c3c98059d..285af08d2 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -31,6 +31,7 @@ import { Platform } from '@ionic/angular'; import { BackgroundService } from 'src/app/services/background.service'; import { SortService } from 'src/app/services/functions/sort.service'; import { DataService } from 'src/app/services/data.service'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-gabinete-digital', @@ -135,6 +136,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { public ThemeService: ThemeService, private sortService: SortService, private dataService: DataService, + private storage: Storage ) { this.loggeduser = authService.ValidatedUser; @@ -215,7 +217,9 @@ export class GabineteDigitalPage implements OnInit, DoCheck { addProcessToDB(data) { this.platform.ready().then(() => { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - + this.storage.set('GabineteProcess', data).then(() => { + console.log('Gabinete process saved') + }) } else { data.forEach(element => { @@ -245,39 +249,77 @@ export class GabineteDigitalPage implements OnInit, DoCheck { getAllProcessFromDB() { this.hideRefreshButton(); + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('GabineteProcess').then((allprocess: any[]) => { + console.log('ALL PROCESS WEB',allprocess ) + allprocess.forEach(element => { + 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, + "CreateDate": new Date(element.taskStartDate), + "DocumentURL": element.workflowInstanceDataFields.ViewerRequest, + "Remetente": element.workflowInstanceDataFields.Remetente, + "DocumentsQty": element.totalDocuments, + "DocId": element.workflowInstanceDataFields.DispatchDocId, + "FolderID": element.workflowInstanceDataFields.FolderID, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + "Status": element.workflowInstanceDataFields.Status, + "Agenda": element.workflowInstanceDataFields.Agenda, + "customDate": this.setFormatDate(new Date(element.workflowInstanceDataFields.StartDate), new Date(element.workflowInstanceDataFields.EndDate), element.workflowInstanceDataFields.IsAllDayEvent), + } + + this.allProcessesList.push(task); + this.allProcessesList = removeDuplicate(this.allProcessesList); + this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate') + + }); + }) + } else { + this.sqliteservice.getAllProcess().then((allprocess: any[]) => { + allprocess.forEach(element => { + 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(); + + var workflowInstanceDataFields = JSON.parse(element.workflowInstanceDataFields); + + let task = { + "SerialNumber": element.serialNumber, + "Folio": workflowInstanceDataFields.Subject, + "Senders": workflowInstanceDataFields.Sender, + "CreateDate": taskDate, + "DocumentURL": workflowInstanceDataFields.ViewerRequest, + "Remetente": workflowInstanceDataFields.Remetente, + "DocumentsQty": element.totalDocuments, + "DocId": workflowInstanceDataFields.DispatchDocId, + "FolderID": workflowInstanceDataFields.FolderID, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName, + "Status": workflowInstanceDataFields.Status, + "Agenda": workflowInstanceDataFields.Agenda, + "customDate": this.setFormatDate(new Date(workflowInstanceDataFields.StartDate), new Date(workflowInstanceDataFields.EndDate), workflowInstanceDataFields.IsAllDayEvent), + } + + this.allProcessesList.push(task); + this.allProcessesList = removeDuplicate(this.allProcessesList) + this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate') + + }); + console.log("All process from db ", allprocess) + }) + } - this.sqliteservice.getAllProcess().then((allprocess: any[]) => { - allprocess.forEach(element => { - 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(); + } - var workflowInstanceDataFields = JSON.parse(element.workflowInstanceDataFields); + dataTranform(data) { - let task = { - "SerialNumber": element.serialNumber, - "Folio": workflowInstanceDataFields.Subject, - "Senders": workflowInstanceDataFields.Sender, - "CreateDate": taskDate, - "DocumentURL": workflowInstanceDataFields.ViewerRequest, - "Remetente": workflowInstanceDataFields.Remetente, - "DocumentsQty": element.totalDocuments, - "DocId": workflowInstanceDataFields.DispatchDocId, - "FolderID": workflowInstanceDataFields.FolderID, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName, - "Status": workflowInstanceDataFields.Status, - "Agenda": workflowInstanceDataFields.Agenda, - "customDate": this.setFormatDate(new Date(workflowInstanceDataFields.StartDate), new Date(workflowInstanceDataFields.EndDate), workflowInstanceDataFields.IsAllDayEvent), - } - - this.allProcessesList.push(task); - this.allProcessesList = removeDuplicate(this.allProcessesList) - this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate') - - }); - console.log("All process from db ", allprocess) - }) } sortArrayISODate(myArray: any) { @@ -495,6 +537,7 @@ export class GabineteDigitalPage implements OnInit, DoCheck { let allProcessesList = allPreocesses_; allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Conhecimento') + allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Revisar Diploma') if (!this.p.userRole(['PR'])) { allProcessesList = allProcessesList.filter(element => element.activityInstanceName != 'Assinar Diplomas') From 0b0a500c3734a3caba1c852c37a107a4f17e2de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 31 Jan 2022 15:03:24 +0100 Subject: [PATCH 3/4] offline web gabinete --- src/app/pages/gabinete-digital/event-list/event-list.page.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 d4c6f126d..17e91500f 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 @@ -14,6 +14,7 @@ import { Platform } from '@ionic/angular'; import { SortService } from 'src/app/services/functions/sort.service'; import { ThemeService } from 'src/app/services/theme.service' import { RouteService } from 'src/app/services/route.service'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-event-list', @@ -46,7 +47,8 @@ export class EventListPage implements OnInit { private sortService: SortService, private backgroundservice: BackgroundService, public ThemeService: ThemeService, - private RouteService: RouteService + private RouteService: RouteService, + private storage: Storage ) { } ngOnInit() { From d2662b4ac71ffe3bc8fc135e214e8e586349c920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Tue, 1 Feb 2022 10:25:41 +0100 Subject: [PATCH 4/4] Web offline --- .../approve-event/approve-event.page.ts | 147 ++++++++++-------- .../event-list/event-list.page.ts | 51 ++++-- .../expediente-detail.page.ts | 137 ++++++++++------ .../expediente/expediente.page.ts | 87 +++++------ .../pendentes/pendentes.page.ts | 66 ++++---- .../events-to-approve.page.html | 16 +- .../events-to-approve.page.ts | 27 +++- .../expedients/expedients.page.html | 8 +- .../expedients/expedients.page.ts | 58 ++++--- .../pendentes/pendentes.page.html | 2 +- .../pendentes/pendentes.page.ts | 22 ++- 11 files changed, 384 insertions(+), 237 deletions(-) diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts index 96efa78ed..231577b0f 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts @@ -19,6 +19,7 @@ import { Platform } from '@ionic/angular'; import { ThemeService } from 'src/app/services/theme.service' import { OfflineManagerService } from 'src/app/services/offline-manager.service'; import { RouteService } from 'src/app/services/route.service'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-approve-event', @@ -63,7 +64,8 @@ export class ApproveEventPage implements OnInit { private platform: Platform, private backgroundservice: BackgroundService, public ThemeService: ThemeService, - private offlineManager: OfflineManagerService + private offlineManager: OfflineManagerService, + private storage: Storage ) { this.activatedRoute.paramMap.subscribe(params => { // console.log(params["params"]); @@ -110,6 +112,9 @@ export class ApproveEventPage implements OnInit { addProcessToDB(data) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.set('approve_event_detils', data).then(() => { + console.log('APPROVE EVENT DETAILS SAVED') + }) } else { this.sqliteservice.updateProcess(data); } @@ -117,69 +122,85 @@ export class ApproveEventPage implements OnInit { getProcessFromDB() { - this.platform.ready().then(() => { - - this.sqliteservice.getProcessById(this.serialNumber).then((process) => { - console.log('event aprove serial', process) - - var doc; - var action = []; - var origi = []; - var wordafi = {}; - if (process[0].Documents === "null" || process[0].Documents === "undefined") { - doc = [] - } else { - doc = JSON.parse(process[0].Documents) - } - - if (process[0].actions === "null" || process[0].actions === "undefined") { - action = [] - } else { - action = JSON.parse(process[0].Documents) - } - - if (process[0].originator === "null" || process[0].originator === "undefined") { - origi = [] - } else { - origi = JSON.parse(process[0].Documents) - } - if (process[0].workflowInstanceDataFields === "null" || process[0].workflowInstanceDataFields === "undefined") { - wordafi = [] - } else { - wordafi = JSON.parse(process[0].workflowInstanceDataFields) - } - - let task = { - "Documents": doc, - "actions": action, - "activityInstanceName": process[0].activityInstanceName, - "formURL": process[0].formURL, - "originator": origi, - "serialNumber": process[0].serialNumber, - "taskStartDate": process[0].taskStartDate, - "totalDocuments": process[0].totalDocuments, - "workflowDisplayName": process[0].workflowDisplayName, - "workflowID": process[0].workflowID, - "workflowInstanceDataFields": wordafi, - "workflowInstanceFolio": process[0].workflowInstanceFolio, - "workflowInstanceID": process[0].workflowInstanceID, - "workflowName": process[0].workflowInstanceID - - } - - this.loadedEvent = task - console.log('offline event', this.loadedEvent); - - this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate); - - this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]); - - let instanceId = this.loadedEvent.workflowInstanceDataFields.InstanceId; - this.loadedAttachments = this.loadedEvent.Documents; - console.log('Attatara', this.loadedAttachments) - + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('approve_event_detils').then((event) => { + this.loadedEvent = event + console.log('offline event', this.loadedEvent); + + this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate); + + this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]); + + let instanceId = this.loadedEvent.workflowInstanceDataFields.InstanceId; + this.loadedAttachments = this.loadedEvent.Documents; + console.log('Attatara', this.loadedAttachments) }) - }) + } else { + this.platform.ready().then(() => { + + this.sqliteservice.getProcessById(this.serialNumber).then((process) => { + console.log('event aprove serial', process) + + var doc; + var action = []; + var origi = []; + var wordafi = {}; + if (process[0].Documents === "null" || process[0].Documents === "undefined") { + doc = [] + } else { + doc = JSON.parse(process[0].Documents) + } + + if (process[0].actions === "null" || process[0].actions === "undefined") { + action = [] + } else { + action = JSON.parse(process[0].Documents) + } + + if (process[0].originator === "null" || process[0].originator === "undefined") { + origi = [] + } else { + origi = JSON.parse(process[0].Documents) + } + if (process[0].workflowInstanceDataFields === "null" || process[0].workflowInstanceDataFields === "undefined") { + wordafi = [] + } else { + wordafi = JSON.parse(process[0].workflowInstanceDataFields) + } + + let task = { + "Documents": doc, + "actions": action, + "activityInstanceName": process[0].activityInstanceName, + "formURL": process[0].formURL, + "originator": origi, + "serialNumber": process[0].serialNumber, + "taskStartDate": process[0].taskStartDate, + "totalDocuments": process[0].totalDocuments, + "workflowDisplayName": process[0].workflowDisplayName, + "workflowID": process[0].workflowID, + "workflowInstanceDataFields": wordafi, + "workflowInstanceFolio": process[0].workflowInstanceFolio, + "workflowInstanceID": process[0].workflowInstanceID, + "workflowName": process[0].workflowInstanceID + + } + + this.loadedEvent = task + console.log('offline event', this.loadedEvent); + + this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate); + + this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]); + + let instanceId = this.loadedEvent.workflowInstanceDataFields.InstanceId; + this.loadedAttachments = this.loadedEvent.Documents; + console.log('Attatara', this.loadedAttachments) + + }) + }) + } + console.log('Offlineee') } 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 17e91500f..52ffc12d5 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 @@ -85,22 +85,37 @@ export class EventListPage implements OnInit { getEventToAproveFromDB() { - this.platform.ready().then(() => { + - this.sqliteservice.getListOfEventAprove('Agenda Oficial MDGPR', 'Agenda Pessoal MDGPR').then((event: any[]) => { - - this.eventsMDGPRList = this.sortService.sortDate(this.transformaDataDB(event), 'taskStartDate') - //this.eventsMDGPRList = this.eventsMDGPRList.filter(element => element.interveners != null) - console.log('MD event to aprove', this.eventsMDGPRList) + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('event-to-aproveMD').then((events) => { + this.eventsMDGPRList = events + }) + + this.storage.get('event-to-aprovePR').then((events) => { + this.eventsPRList = events + }) + } else { + this.platform.ready().then(() => { + this.sqliteservice.getListOfEventAprove('Agenda Oficial MDGPR', 'Agenda Pessoal MDGPR').then((event: any[]) => { + + this.eventsMDGPRList = this.sortService.sortDate(this.transformaDataDB(event), 'taskStartDate') + //this.eventsMDGPRList = this.eventsMDGPRList.filter(element => element.interveners != null) + console.log('MD event to aprove', this.eventsMDGPRList) + + }) + + this.sqliteservice.getListOfEventAprove('Agenda Oficial PR', 'Agenda Pessoal PR').then((event: any[]) => { + this.eventsPRList = this.sortService.sortDate(this.transformaDataDB(event), 'taskStartDate') + console.log('PR event to aprove', this.eventsPRList) + + }) }) - this.sqliteservice.getListOfEventAprove('Agenda Oficial PR', 'Agenda Pessoal PR').then((event: any[]) => { - this.eventsPRList = this.sortService.sortDate(this.transformaDataDB(event), 'taskStartDate') - console.log('PR event to aprove', this.eventsPRList) + } + - }) - }) console.log('Offlineee') } @@ -145,16 +160,24 @@ export class EventListPage implements OnInit { let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise(); this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal); this.eventsMDGPRList = this.sortService.sortDate(this.eventsMDGPRList, 'taskStartDate') + this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList) console.log('MD EVENT TO APROVE ONLINE',this.eventsMDGPRList) - this.eventaprovacaostore.resetmd(this.sortService.sortArrayByDate(this.eventsMDGPRList).reverse()); + this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => { + console.log(' EVENTMD TO APROVE SAVED') + }) + //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.eventsPRList = this.sortService.sortDate(this.eventsPRList, 'taskStartDate') + this.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList) console.log('PR EVENT TO APROVE ONLINE',this.eventsPRList) - this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse()); + this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => { + console.log(' EVENTPR TO APROVE SAVED') + }) + //this.eventaprovacaostore.resetpr(this.sortService.sortArrayByDate(this.eventsPRList).reverse()); } this.showLoader = false; this.skeletonLoader = false @@ -164,6 +187,8 @@ export class EventListPage implements OnInit { }) } + + async openApproveModal(eventSerialNumber, event) { const modal = await this.modalController.create({ component: ApproveEventModalPage, diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index c1a167d21..2ac4ac6ad 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -33,6 +33,7 @@ import { BackgroundService } from 'src/app/services/background.service'; import { NewGroupPage } from 'src/app/pages/chat/new-group/new-group.page'; import { DataService } from 'src/app/services/data.service'; import { RouteService } from 'src/app/services/route.service'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-expediente-detail', @@ -82,6 +83,7 @@ export class ExpedienteDetailPage implements OnInit { private backgroundservice: BackgroundService, public ThemeService: ThemeService, private dataService: DataService, + private storage: Storage ) { this.activatedRoute.paramMap.subscribe(params => { if (params["params"].SerialNumber) { @@ -112,63 +114,106 @@ export class ExpedienteDetailPage implements OnInit { updateProcessDB(res) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.set('expediente_details',res).then(() =>{ + console.log('EXPEDIENTE DETAILS SAVED') + }) } else { this.sqliteservice.updateProcess(res) } } getFromDB() { - - this.platform.ready().then(() => { - this.onlinecheck = false; - this.sqliteservice.getProcessById(this.serialNumber).then((process) => { - console.log("expedient ditail", process) - - var workflow = JSON.parse(process[0].workflowInstanceDataFields); - var origina - if (process[0].originator === "undefined") { - origina = "" - } else { - origina = JSON.parse(process[0].originator) - } - + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('expediente_details').then((process) => { this.task = { - "SerialNumber": process[0].serialNumber, - "Folio": workflow.Subject, - "Senders": origina.email || process[0].originator, - "CreateDate": momentG(new Date(process[0].taskStartDate), 'yyyy-MM-dd HH:mm:ss'), - "DocumentURL": workflow.ViewerRequest, - "Remetente": workflow.Sender, - "Note": workflow.TaskMessage || workflow.Note, - "FolderId": workflow.FolderID, - "FsId": workflow.FsId, - "DocId": workflow.DocID, - "WorkflowName": process[0].workflowDisplayName, - "Status": workflow.Status, - "DispatchNumber": workflow.DispatchNumber, - "AttachmentsProcessLastInstanceID": workflow.AttachmentsProcessLastInstanceID, - "InstanceID": workflow.InstanceID + "SerialNumber": process.serialNumber, + "Folio": process.workflowInstanceDataFields.Subject, + "Senders": process.originator || process.originator, + "CreateDate": momentG(new Date(process.taskStartDate), 'yyyy-MM-dd HH:mm:ss'), + "DocumentURL": process.workflowInstanceDataFields.ViewerRequest, + "Remetente": process.workflowInstanceDataFields.Sender, + "Note": process.workflowInstanceDataFields.TaskMessage || process.workflowInstanceDataFields.Note, + "FolderId": process.workflowInstanceDataFields.FolderID, + "FsId": process.workflowInstanceDataFields.FsId, + "DocId": process.workflowInstanceDataFields.DocID, + "WorkflowName": process.workflowDisplayName, + "Status": process.workflowInstanceDataFields.Status, + "DispatchNumber": process.workflowInstanceDataFields.DispatchNumber, + "AttachmentsProcessLastInstanceID": process.workflowInstanceDataFields.AttachmentsProcessLastInstanceID, + "InstanceID": process.workflowInstanceDataFields.InstanceID } this.fulltask = { - Documents: JSON.parse(process[0].Documents), - actions: JSON.parse(process[0].actions), - activityInstanceName: process[0].activityInstanceName, - formURL: process[0].formURL, - interveners: process[0].interveners, - originator: JSON.parse(process[0].originator), - serialNumber: process[0].serialNumber, - taskStartDate: process[0].taskStartDate, - totalDocuments: process[0].totalDocuments, - workflowDisplayName: process[0].workflowDisplayName, - workflowID: process[0].workflowID, - workflowInstanceDataFields: JSON.parse(process[0].workflowInstanceDataFields), - workflowInstanceFolio: process[0].workflowInstanceFolio, - workflowInstanceID: process[0].workflowInstanceID, - workflowName: process[0].workflowName, + Documents: process.Documents, + actions: process.actions, + activityInstanceName: process.activityInstanceName, + formURL: process.formURL, + interveners: process.interveners, + originator: process.originator, + serialNumber: process.serialNumber, + taskStartDate: process.taskStartDate, + totalDocuments: process.totalDocuments, + workflowDisplayName: process.workflowDisplayName, + workflowID: process.workflowID, + workflowInstanceDataFields: process.workflowInstanceDataFields, + workflowInstanceFolio: process.workflowInstanceFolio, + workflowInstanceID: process.workflowInstanceID, + workflowName: process.workflowName, } - }) - }) + } else { + this.platform.ready().then(() => { + this.onlinecheck = false; + this.sqliteservice.getProcessById(this.serialNumber).then((process) => { + console.log("expedient ditail", process) + + var workflow = JSON.parse(process[0].workflowInstanceDataFields); + var origina + if (process[0].originator === "undefined") { + origina = "" + } else { + origina = JSON.parse(process[0].originator) + } + + this.task = { + "SerialNumber": process[0].serialNumber, + "Folio": workflow.Subject, + "Senders": origina.email || process[0].originator, + "CreateDate": momentG(new Date(process[0].taskStartDate), 'yyyy-MM-dd HH:mm:ss'), + "DocumentURL": workflow.ViewerRequest, + "Remetente": workflow.Sender, + "Note": workflow.TaskMessage || workflow.Note, + "FolderId": workflow.FolderID, + "FsId": workflow.FsId, + "DocId": workflow.DocID, + "WorkflowName": process[0].workflowDisplayName, + "Status": workflow.Status, + "DispatchNumber": workflow.DispatchNumber, + "AttachmentsProcessLastInstanceID": workflow.AttachmentsProcessLastInstanceID, + "InstanceID": workflow.InstanceID + } + + this.fulltask = { + Documents: JSON.parse(process[0].Documents), + actions: JSON.parse(process[0].actions), + activityInstanceName: process[0].activityInstanceName, + formURL: process[0].formURL, + interveners: process[0].interveners, + originator: JSON.parse(process[0].originator), + serialNumber: process[0].serialNumber, + taskStartDate: process[0].taskStartDate, + totalDocuments: process[0].totalDocuments, + workflowDisplayName: process[0].workflowDisplayName, + workflowID: process[0].workflowID, + workflowInstanceDataFields: JSON.parse(process[0].workflowInstanceDataFields), + workflowInstanceFolio: process[0].workflowInstanceFolio, + workflowInstanceID: process[0].workflowInstanceID, + workflowName: process[0].workflowName, + } + + }) + }) + } + } diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.ts b/src/app/pages/gabinete-digital/expediente/expediente.page.ts index fbb867aa7..1a01b95dc 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.ts @@ -9,6 +9,7 @@ import { Platform } from '@ionic/angular'; import { BackgroundService } from '../../../services/background.service'; import { ThemeService } from 'src/app/services/theme.service' import { SortService } from 'src/app/services/functions/sort.service'; +import {Storage } from '@ionic/storage'; @Component({ selector: 'app-expediente', @@ -40,6 +41,7 @@ export class ExpedientePage implements OnInit { private backgroundservice: BackgroundService, public ThemeService: ThemeService, private sortService: SortService, + private storage: Storage ) { } ngOnInit() { @@ -112,63 +114,48 @@ export class ExpedientePage implements OnInit { addProcessTODb(task) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.set('gabinete-expediente',task).then(() => { + console.log('GABINETE EXPEDIENTE SAVED') + }) } else { this.sqliteservice.addProcess(task); } } - SqliteAddExpediente(list) { - list.forEach((expediente) => { - let data = { - serialNumber: expediente.serialNumber, - workflowInstanceFolio: expediente.workflowInstanceFolio, - Documents: expediente.Documents, - actions: expediente.actions, - activityInstanceName: expediente.activityInstanceName, - formURL: expediente.formURL, - originator: expediente.originator, - taskStartDate: expediente.taskStartDate, - totalDocuments: expediente.totalDocuments, - workflowDisplayName: expediente.workflowDisplayName, - workflowID: expediente.workflowID, - workflowInstanceDataFields: expediente.workflowInstanceDataFields, - workflowInstanceID: expediente.workflowInstanceID, - workflowName: expediente.workflowName - } - - this.sqliteservice.addExpediente(data); - }) - - } - getEventsFromLocalDb() { - this.taskslist = new Array(); - this.sqliteservice.getprocessByworkflow("Expediente").then((expediente: any[]) => { - console.log("All expedientes from local,", expediente) - - expediente.forEach((element) => { - - var workflow = JSON.parse(element.workflowInstanceDataFields); - - let exped = { - "CreateDate": element.taskStartDate, - "DocumentsQty": element.totalDocuments, - "Senders": workflow.Senders, - "SerialNumber": element.serialNumber, - "Status": workflow.Status, - "Subject": workflow.Subject, - "WorkflowName": element.workflowDisplayName, - "activityInstanceName": element.activityInstanceName - } - - this.taskslist.push(exped) - - }); - - this.listToPresent = this.taskslist - - }) + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('gabinete-expediente').then((expediente) => { + this.listToPresent = expediente + }) + } else { + this.taskslist = new Array(); + this.sqliteservice.getprocessByworkflow("Expediente").then((expediente: any[]) => { + console.log("All expedientes from local,", expediente) + + expediente.forEach((element) => { + + var workflow = JSON.parse(element.workflowInstanceDataFields); + + let exped = { + "CreateDate": element.taskStartDate, + "DocumentsQty": element.totalDocuments, + "Senders": workflow.Senders, + "SerialNumber": element.serialNumber, + "Status": workflow.Status, + "Subject": workflow.Subject, + "WorkflowName": element.workflowDisplayName, + "activityInstanceName": element.activityInstanceName + } + + this.taskslist.push(exped) + + }); + + this.listToPresent = this.taskslist + + }) + } } } diff --git a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts index 06fb79049..7948de036 100644 --- a/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/pages/gabinete-digital/pendentes/pendentes.page.ts @@ -14,6 +14,7 @@ import { SqliteService } from 'src/app/services/sqlite.service'; import { BackgroundService } from 'src/app/services/background.service'; import { Platform } from '@ionic/angular'; import { SortService } from 'src/app/services/functions/sort.service'; +import { Storage } from '@ionic/storage'; @Component({ @@ -47,6 +48,7 @@ export class PendentesPage implements OnInit { private platform: Platform, private backgroundservices: BackgroundService, private sortService: SortService, + private storage: Storage ) { this.loggeduser = authService.ValidatedUser; this.profile = 'mdgpr'; @@ -104,6 +106,9 @@ export class PendentesPage implements OnInit { pendentesList = removeDuplicate(pendentesList) pendentesList = this.sortService.sortDate(pendentesList, 'CreateDate'); this.listToPresent = pendentesList; + this.storage.set('pendente-list',pendentesList).then(() => { + console.log('Pendente list SAVED') + }) this.skeletonLoader = false; }, (error) => { @@ -116,34 +121,41 @@ export class PendentesPage implements OnInit { getFromDb() { - this.platform.ready().then(() => { - this.sqliteservice.getAllProcess().then((process: any[]) => { - var pendingList = [] - console.log('Pendentes off off',process ) - process.forEach(element => { - var workflow = JSON.parse(element.workflowInstanceDataFields); - if (workflow.Status === "Pending") { - let task = { - "CreateDate": new Date(element.taskStartDate), - "DocumentsQty": element.totalDocuments, - "FolderID": workflow.FolderID, - "Folio": workflow.Subject, - "Senders": workflow.Sender, - "SerialNumber": element.serialNumber, - "Status": workflow.Status, - "WorkflowName": element.workflowDisplayName - - } - pendingList.push(task) - } - }); - - pendingList = this.sortService.sortDate(pendingList, 'CreateDate'); - this.listToPresent = pendingList; - console.log('pendentes', pendingList) - + if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + this.storage.get('pendente-list').then((pendentes) => { + this.listToPresent =pendentes }) - }) + } else { + + this.platform.ready().then(() => { + this.sqliteservice.getAllProcess().then((process: any[]) => { + var pendingList = [] + console.log('Pendentes off off',process ) + process.forEach(element => { + var workflow = JSON.parse(element.workflowInstanceDataFields); + if (workflow.Status === "Pending") { + let task = { + "CreateDate": new Date(element.taskStartDate), + "DocumentsQty": element.totalDocuments, + "FolderID": workflow.FolderID, + "Folio": workflow.Subject, + "Senders": workflow.Sender, + "SerialNumber": element.serialNumber, + "Status": workflow.Status, + "WorkflowName": element.workflowDisplayName + + } + pendingList.push(task) + } + }); + + pendingList = this.sortService.sortDate(pendingList, 'CreateDate'); + this.listToPresent = pendingList; + console.log('pendentes', pendingList) + + }) + }) + } } async refreshing() { diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html index eff4cab69..7a244f1de 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.html @@ -28,12 +28,12 @@
-
+
@@ -52,7 +52,7 @@
-
+
@@ -62,12 +62,12 @@
-
+
-
+
@@ -87,10 +87,10 @@
-
+
+ *ngIf="eventsPRList.length < 1"> Lista vazia
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 93a20876d..34a6c3042 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 @@ -8,6 +8,7 @@ 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'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-events-to-approve', @@ -33,6 +34,7 @@ export class EventsToApprovePage implements OnInit { private router: Router, private userAuth: AuthService, private sortService: SortService, + private storage: Storage ) { this.loggeduser = userAuth.ValidatedUser; @@ -63,25 +65,46 @@ export class EventsToApprovePage implements OnInit { async LoadToApproveEvents() { this.showLoader = true; console.log(this.segment); + this.getFromDB(); 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); + this.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList) console.log(this.sortService.sortArrayByDate(this.eventsMDGPRList)); - this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate')); + this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => { + console.log(' EVENTMD TO APROVE SAVED') + }) + + //this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate')); } 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.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList) - this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate')); + this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => { + console.log(' EVENTPR TO APROVE SAVED') + }) + //this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate')); } this.showLoader = false; } + getFromDB() { + this.storage.get('event-to-aproveMD').then((events) => { + this.eventsMDGPRList = events + }) + + this.storage.get('event-to-aprovePR').then((events) => { + this.eventsPRList = events + }) + } + + toDateString(e) { return new Date(e).toDateString() } diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.html b/src/app/shared/gabinete-digital/expedients/expedients.page.html index 505783c38..b2cb23a60 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.html +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.html @@ -22,10 +22,10 @@
- +
@@ -58,13 +58,13 @@
Lista vazia
-
+
diff --git a/src/app/shared/gabinete-digital/expedients/expedients.page.ts b/src/app/shared/gabinete-digital/expedients/expedients.page.ts index 84d2baad5..8c5696320 100644 --- a/src/app/shared/gabinete-digital/expedients/expedients.page.ts +++ b/src/app/shared/gabinete-digital/expedients/expedients.page.ts @@ -6,6 +6,7 @@ import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service'; import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe'; import { ThemeService } from 'src/app/services/theme.service' import { SortService } from 'src/app/services/functions/sort.service'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-expedients', @@ -13,27 +14,28 @@ import { SortService } from 'src/app/services/functions/sort.service'; styleUrls: ['./expedients.page.scss'], }) export class ExpedientsPage implements OnInit { - segment:string; + segment: string; taskslist = []; - serialNumber:string; + serialNumber: string; - @Input() profile:string; + @Input() profile: string; skeletonLoader = true expedientegbstore = ExpedienteGdStore expedienteTaskPipe = new ExpedienteTaskPipe() constructor( - private processes:ProcessesService, + private processes: ProcessesService, private alertService: AlertService, private router: Router, public ThemeService: ThemeService, private sortService: SortService, - ) { - this.profile = 'mdgpr'; + private storage: Storage + ) { + this.profile = 'mdgpr'; - } + } ngOnInit() { //Inicializar segment @@ -43,11 +45,11 @@ export class ExpedientsPage implements OnInit { this.router.events.forEach((event) => { if (event instanceof NavigationStart && event.url.startsWith('/home/gabinete-digital?expedientes=true')) { - if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { - this.doRefresh() - } else { - this.LoadList() - } + if (window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) { + this.doRefresh() + } else { + this.LoadList() + } } }); @@ -75,21 +77,35 @@ export class ExpedientsPage implements OnInit { this.taskslist.push(task); }); - this.taskslist = this.sortService.sortDate(this.taskslist, 'CreateDate') + this.addProcessTODb(this.taskslist); this.expedientegbstore.reset(this.taskslist); + }, (error) => { + this.getEventsFromLocalDb(); }); } - doRefresh() { - setTimeout(()=>{ - this.LoadList(); - }, 1000) - + addProcessTODb(task) { + this.storage.set('gabinete-expediente', task).then(() => { + console.log('GABINETE EXPEDIENTE SAVED') + }) } - goToExpediente(serialNumber:any){ - this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']); + getEventsFromLocalDb() { + this.storage.get('gabinete-expediente').then((expediente) => { + this.taskslist = expediente + }) } -} + doRefresh() { + setTimeout(() => { + this.LoadList(); + }, 1000) + + } + + goToExpediente(serialNumber: any) { + this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']); + } + + } diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html index f91d503c5..d3a69b760 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.html +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.html @@ -20,7 +20,7 @@ diff --git a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts index 6ee44b91a..4ee229244 100644 --- a/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts +++ b/src/app/shared/gabinete-digital/pendentes/pendentes.page.ts @@ -8,6 +8,7 @@ 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'; +import { Storage } from '@ionic/storage'; @Component({ selector: 'app-pendentes', @@ -20,6 +21,7 @@ export class PendentesPage implements OnInit { pendentesstore = PendentesStore; customTaskPipe = new CustomTaskPipe() loggeduser: LoginUserRespose; + listToPresent = []; @Input() profile:string; segment:string; @@ -30,6 +32,7 @@ export class PendentesPage implements OnInit { private authService: AuthService, private router: Router, private sortService: SortService, + private storage: Storage ) { this.loggeduser = authService.ValidatedUser; } @@ -52,7 +55,7 @@ export class PendentesPage implements OnInit { async LoadList(){ this.skeletonLoader = true; - + this.processes.GetPendingTasks(false).subscribe(async res => { let pendentes = await this.processes.GetPendingTasks(false).toPromise(); let pendentesList = []; @@ -64,9 +67,24 @@ export class PendentesPage implements OnInit { pendentesList = removeDuplicate( pendentesList) pendentesList = this.sortService.sortDate(pendentesList, 'CreateDate') + this.listToPresent = pendentesList this.pendentesstore.reset(pendentesList); + this.storage.set('pendente-list',pendentesList).then(() => { + console.log('Pendente list SAVED') + }) this.skeletonLoader = false; - } + }, (error) => { + if(error.status == 0){ + this.getFromDb(); + } + }) +} + +getFromDb() { + this.storage.get('pendente-list').then((pendentes) => { + this.listToPresent =pendentes + }) +} doRefresh() { setTimeout(()=>{