diff --git a/src/app/models/despacho.model.ts b/src/app/models/despacho.model.ts index 3a61e2c11..8b4513e30 100644 --- a/src/app/models/despacho.model.ts +++ b/src/app/models/despacho.model.ts @@ -2,9 +2,10 @@ import { Participant } from './participant.model'; import { Folder } from './folder.model'; export class Despacho{ - distributionType: string; - deadline: Date; - userEmail: string; - participants: Participant; - dispatchFolder: Folder; + DistributionType: string; + CountryCode: string; + TypeDeadline: string; + UserEmail: string; + UsersSelected: Participant[]; + DispatchFolder: Folder; } \ No newline at end of file diff --git a/src/app/models/folder.model.ts b/src/app/models/folder.model.ts index 04b4fc0b2..29d19bbb0 100644 --- a/src/app/models/folder.model.ts +++ b/src/app/models/folder.model.ts @@ -1,7 +1,8 @@ export class Folder{ - nad:string; - message:string; - sourceSecFsId:string; - souceType:string; - sourceId:string; + Nad:number; + Subject: string; + Message:string; + SourceSecFsId:string; + SouceType:string; + SourceId:string; } \ No newline at end of file diff --git a/src/app/models/participant.model.ts b/src/app/models/participant.model.ts index 244483581..f2b96575b 100644 --- a/src/app/models/participant.model.ts +++ b/src/app/models/participant.model.ts @@ -1,5 +1,6 @@ export class Participant{ - id: string; - type: string; - deadline: Date; + UserId: string; + UserType: string; + + /* Deadline: Date; */ } \ No newline at end of file diff --git a/src/app/models/processevent.model.ts b/src/app/models/processevent.model.ts new file mode 100644 index 000000000..49be5384e --- /dev/null +++ b/src/app/models/processevent.model.ts @@ -0,0 +1,22 @@ +import { EventBody } from './eventbody.model'; +import { Participant } from './participant.model'; + +export class ProcessEvent{ + EventId: string; + Subject: string; + Body: EventBody; + Location: string; + CalendarId: string; + CalendarName: string; + StartDate: Date; + EndDate: Date; + EventType: string; + Participants: Participant[]; + IsMeeting: boolean; + IsRecurring: boolean; + AppointmentState: number; + TimeZone: string; + Organizer: string; + Categories: string[]; + HasAttachments: boolean; +} \ No newline at end of file diff --git a/src/app/pages/gabinete-digital/expediente/add-participants-cc-modal/add-participants-cc-modal.page.ts b/src/app/pages/gabinete-digital/expediente/add-participants-cc-modal/add-participants-cc-modal.page.ts index a2337def4..71bedf200 100644 --- a/src/app/pages/gabinete-digital/expediente/add-participants-cc-modal/add-participants-cc-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/add-participants-cc-modal/add-participants-cc-modal.page.ts @@ -58,7 +58,7 @@ export class AddParticipantsCcModalPage implements OnInit { saveTask(){ this.modalController.dismiss(this.contacts.filter(function(contact) { if(contact.IsRequired){ - console.log(contact); + /* console.log(contact); */ } return contact.IsRequired == true; diff --git a/src/app/pages/gabinete-digital/expediente/add-participants-modal/add-participants-modal.page.ts b/src/app/pages/gabinete-digital/expediente/add-participants-modal/add-participants-modal.page.ts index b2f134184..47c9170ef 100644 --- a/src/app/pages/gabinete-digital/expediente/add-participants-modal/add-participants-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/add-participants-modal/add-participants-modal.page.ts @@ -58,7 +58,7 @@ export class AddParticipantsModalPage implements OnInit { saveTask(){ this.modalController.dismiss(this.contacts.filter(function(contact) { if(contact.IsRequired){ - console.log(contact); + /* console.log(contact); */ } return contact.IsRequired == true; diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html index 82edf0a46..8de65110e 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.html @@ -1,10 +1,14 @@ - - - Convocar Reunião - + +
+
+ +
+
+
+
- +
@@ -13,7 +17,21 @@
- + +
+ + + +
+
+
+ +
+
+ + Oficial + Pessoal +
@@ -24,7 +42,7 @@
- +
@@ -35,7 +53,7 @@
- +
@@ -46,11 +64,12 @@
- - Não se repete - Semanal - Diário - Anual + + Não se repete + Repete +
@@ -104,7 +123,7 @@
- +
diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss index fdb7f98f1..c83b7b270 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.scss @@ -1,18 +1,21 @@ -ion-content{ - --padding-top: 20px; - --padding-start: 15px; - --padding-end: 20px; +.header-content{ + width: 360px; + overflow: auto; + margin: 25px auto; } -.title{ +.header-title{ + width: 264px; font-family: Roboto; font-size: 25px; - font-weight: normal; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; - color: #000000; - margin: 8px 0 8px 0px; + margin: 0 5px 0 5px; + padding: 0; + color:#000; + float: left; +} +ion-content{ + --padding-top: 0px; + --padding-start: 15px; + --padding-end: 20px; } .container-div{ margin-bottom: 15px; diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts index 655755287..c715a2098 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts @@ -3,6 +3,11 @@ import { Router } from '@angular/router'; import { ModalController, NavParams } from '@ionic/angular'; import { AddParticipantsCcModalPage } from '../add-participants-cc-modal/add-participants-cc-modal.page'; import { AddParticipantsModalPage } from '../add-participants-modal/add-participants-modal.page'; +import { Event } from 'src/app/models/event.model' +import { EventBody } from 'src/app/models/eventbody.model'; +import { ProcessesService } from 'src/app/services/processes.service'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { EventsService } from 'src/app/services/events.service'; @Component({ selector: 'app-book-meeting-modal', @@ -13,17 +18,35 @@ export class BookMeetingModalPage implements OnInit { task: any; taskParticipants: any; taskParticipantsCc: any; + taskDocId:string; - postEvent: Event; + postData: Event; + eventBody: EventBody; + eventAttendees: EventPerson[]; constructor( private modalController: ModalController, private router:Router, private navParams: NavParams, - ) { } + private processes:ProcessesService, + private calendarService: EventsService, + ) { + this.task = this.navParams.get('task'); + this.postData = new Event(); + this.eventBody = new EventBody; + this.postData.Body = this.eventBody; + + /* Initialize 'Subject' with the title of the expedient */ + this.postData.Subject = this.task.Folio; + this.postData.CalendarName = "Oficial"; + + } ngOnInit() { - this.task = this.navParams.get('task'); + console.log(this.task) + console.log(this.task.SerialNumber); + + } close(){ @@ -34,6 +57,39 @@ export class BookMeetingModalPage implements OnInit { this.modalController.dismiss(null); } saveTask(){ + this.eventBody={ + BodyType: '0', + Text: this.postData.Body.Text, + } + this.postData = { + EventId: '', + Subject: this.postData.Subject, + Body: this.eventBody, + Location: this.postData.Location, + CalendarId: '', + CalendarName: this.postData.CalendarName, + StartDate: new Date(), + EndDate: new Date(), + EventType: 'Reunião', + Attendees: this.eventAttendees, + IsMeeting: false, + IsRecurring: false, + AppointmentState: 0, + TimeZone: 'UTC', + Organizer: null, + Categories: null, + HasAttachments: true, + } + console.log(this.postData); + + this.processes.GetTask(this.task.SerialNumber).subscribe(res =>{ + this.taskDocId = res.workflowInstanceDataFields.DocId; + this.calendarService.postExpedientEvent(this.taskDocId, this.postData); + }); + + this.close(); + + /* this.processes.postExpedientEvent(this.postData); */ } @@ -50,7 +106,26 @@ export class BookMeetingModalPage implements OnInit { modal.onDidDismiss().then((res) => { this.taskParticipants = res.data; - /* console.log(this.taskParticipants.data); */ + let newattendees: EventPerson[] = res['data']; + + + if (newattendees != null) + { + newattendees.forEach(newattendee => { + let att = { + "EmailAddress": newattendee.EmailAddress, + "Name": newattendee.Name, + "IsRequired": true + }; + if (this.eventAttendees == null) + { + this.eventAttendees = new Array(); + } + this.eventAttendees.push(att); + + }); + } + this.postData.Attendees = this.eventAttendees; }); } async addParticipantsCc(){ @@ -66,7 +141,26 @@ export class BookMeetingModalPage implements OnInit { modal.onDidDismiss().then((res) => { this.taskParticipantsCc = res.data; - /* console.log(this.taskParticipants.data); */ + let newattendees: EventPerson[] = res['data']; + + + if (newattendees != null) + { + newattendees.forEach(newattendee => { + let att = { + "EmailAddress": newattendee.EmailAddress, + "Name": newattendee.Name, + "IsRequired": false + }; + if (this.eventAttendees == null) + { + this.eventAttendees = new Array(); + } + this.eventAttendees.push(att); + + }); + } + this.postData.Attendees = this.eventAttendees; }); } diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html index 7f439dd52..93486179c 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.html @@ -3,7 +3,7 @@ {{modalTitle[taskType]}}
- +
@@ -12,7 +12,7 @@
- +
@@ -23,11 +23,11 @@
- - Normal - Urgente - Muito Urgente - Urgentíssimo + + Normal + Urgente + Muito Urgente + Urgentíssimo
diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts index 7e42b119c..190fc1636 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts @@ -4,11 +4,13 @@ import { ModalController, NavParams } from '@ionic/angular'; import { Despacho } from 'src/app/models/despacho.model'; import { EventPerson } from 'src/app/models/eventperson.model'; import { Participant } from 'src/app/models/participant.model'; +import { Folder } from 'src/app/models/folder.model'; import { AuthService } from 'src/app/services/auth.service'; import { ProcessesService } from 'src/app/services/processes.service'; import { StorageService } from 'src/app/services/storage.service'; import { AddParticipantsCcModalPage } from '../add-participants-cc-modal/add-participants-cc-modal.page'; import { AddParticipantsModalPage } from '../add-participants-modal/add-participants-modal.page'; +import { environment } from 'src/environments/environment'; @Component({ selector: 'app-expedient-task-modal', @@ -22,15 +24,17 @@ export class ExpedientTaskModalPage implements OnInit { 'Solicitar Parecer', 'Solicitar Deferimento' ]; - taskType:number; + taskType:string; task: any; taskParticipants: any; taskParticipantsCc: any; - taskSubject: string; taskDate: Date; taskDescription: string; + user: string; postData: Despacho; + dispatchFolder: Folder; + participants: Participant[]; constructor( private modalController: ModalController, @@ -39,127 +43,83 @@ export class ExpedientTaskModalPage implements OnInit { private navParams: NavParams, private authService: AuthService, ) { + this.user = environment.defaultuser +'@'+ environment.domain; + this.task = this.navParams.get('task'); + this.taskType = this.navParams.get('taskAction'); this.postData = new Despacho(); + this.participants = this.participants = new Array(); + this.dispatchFolder = { + Nad: 30, + Subject: '', + Message: '', + SourceSecFsId: '8', + SouceType: 'DOC', + SourceId: '', + + }; + this.postData.DispatchFolder = this.dispatchFolder; + this.postData.UsersSelected = this.participants; + /* By Default TypeDeadline should be 'Normal' */ + this.postData.TypeDeadline = '99999861'; + /* Initialize 'Subject' with the title of the expedient */ + this.postData.DispatchFolder.Subject = this.task.workflowInstanceFolio; } ngOnInit() { - this.taskType = this.navParams.get('taskAction'); + this.task = this.navParams.get('task'); - console.log(this.task); - this.taskSubject = this.task.workflowInstanceFolio; this.taskDate = new Date(this.task.taskStartDate); - - this.authService.userData$.subscribe((res:any)=>{ + /* this.authService.userData$.subscribe((res:any)=>{ console.log(res); }); - + console.log(this.user); */ } close(){ this.router.navigate(['/home/gabinete-digital/expediente']); this.modalController.dismiss(null); } - /* if(this.modalTitle[this.taskType]){ - - } */ cancelTask(){ this.modalController.dismiss(null); } saveTask(){ - switch (this.modalTitle[this.taskType]) + console.log(this.taskType); + + switch (this.taskType) { - case "Efectuar Despacho": - /* this.postData = { - distributionType: "Paralelo", - deadline: new Date ('2020-11-13T12:55:39.5281471+01:00'), - userEmail: "gilson.manuel@gabinetedigital.local", - usersSelected: Participant; - dispatchFolder: Folder; - } */ - let body = { - "distributionType": "Paralelo", - "deadline": "2020-11-13T12:55:39.5281471+01:00", - "userEmail": "gilson.manuel@gabinetedigital.local", - "dispatchFolder": { - "Nad": 30, - "Subject": this.taskSubject, - "Message": this.taskDescription, - "SourceSecFsId": this.task.workflowInstanceDataFields.FsId, - "SourceType": "DOC", - "SourceId": this.task.workflowInstanceDataFields.DocId, - }, - "usersSelected": [ - { - "UserId": "GABINETEDIGITAL\\gilson.manuel", - "UserType": "CC", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - }, - { - "UserId": "GABINETEDIGITAL\\tiago.kayaya", - "UserType": "I", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - } - ] + case '0': + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + TypeDeadline: this.postData.TypeDeadline, + UserEmail: this.user, + UsersSelected: this.participants, + DispatchFolder: this.dispatchFolder, } - this.processes.postDespatcho(body); + console.log(this.postData); + /* this.processes.postDespatcho(this.postData); */ break; - case "Solicitar Parecer": - console.log('Parecer'); - let bodyp = { - "distributionType": "Paralelo", - "deadline": "2020-11-13T12:55:39.5281471+01:00", - "userEmail": "gilson.manuel@gabinetedigital.local", - "dispatchFolder": { - "Nad": 30, - "Subject": this.taskSubject, - "Message": this.taskDescription, - "SourceSecFsId": this.task.workflowInstanceDataFields.FsId, - "SourceType": "DOC", - "SourceId": this.task.workflowInstanceDataFields.DocId, - }, - "usersSelected": [ - { - "UserId": "GABINETEDIGITAL\\gilson.manuel", - "UserType": "CC", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - }, - { - "UserId": "GABINETEDIGITAL\\tiago.kayaya", - "UserType": "I", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - } - ] + case '1': + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + TypeDeadline: this.postData.TypeDeadline, + UserEmail: this.user, + UsersSelected: this.participants, + DispatchFolder: this.dispatchFolder, } - this.processes.postParecer(bodyp); + /* this.processes.postParecer(this.postData); */ break; - case "Solicitar Deferimento": - console.log('Deferimento'); - let bodyd = { - "distributionType": "Paralelo", - "deadline": "2020-11-13T12:55:39.5281471+01:00", - "userEmail": "gilson.manuel@gabinetedigital.local", - "dispatchFolder": { - "Nad": 30, - "Subject": this.taskSubject, - "Message": this.taskDescription, - "SourceSecFsId": this.task.workflowInstanceDataFields.FsId, - "SourceType": "DOC", - "SourceId": this.task.workflowInstanceDataFields.DocId, - }, - "usersSelected": [ - { - "UserId": "GABINETEDIGITAL\\gilson.manuel", - "UserType": "CC", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - }, - { - "UserId": "GABINETEDIGITAL\\tiago.kayaya", - "UserType": "I", - "DeadLine": "2020-11-13T12:55:39.5381237+01:00" - } - ] + case '2': + this.postData = { + DistributionType: "Paralelo", + CountryCode: 'AO', + TypeDeadline: this.postData.TypeDeadline, + UserEmail: this.user, + UsersSelected: this.participants, + DispatchFolder: this.dispatchFolder, } - this.processes.postDeferimento(bodyd); + /* this.processes.postDeferimento(this.postData); */ break; } this.router.navigate(['/home/gabinete-digital/expediente']); @@ -179,7 +139,23 @@ export class ExpedientTaskModalPage implements OnInit { modal.onDidDismiss().then((res) => { this.taskParticipants = res.data; - /* console.log(this.taskParticipants.data); */ + + let newattendees: EventPerson[] = res['data']; + + if(newattendees!= null){ + newattendees.forEach(newattendee => { + let att = { + 'UserId': newattendee.EmailAddress, + 'UserType': 'I', + }; + if(this.participants == null){ + this.participants = new Array(); + } + this.participants.push(att); + }); + } + this.postData.UsersSelected = this.participants; + console.log(this.postData); }); } async addParticipantsCc(){ @@ -195,8 +171,23 @@ export class ExpedientTaskModalPage implements OnInit { modal.onDidDismiss().then((res) => { this.taskParticipantsCc = res.data; - - /* console.log(this.taskParticipants.data); */ + + let newattendees: EventPerson[] = res['data']; + + if(newattendees!= null){ + newattendees.forEach(newattendee => { + let att = { + 'UserId': newattendee.EmailAddress, + 'UserType': 'CC', + }; + if(this.participants == null){ + this.participants = new Array(); + } + this.participants.push(att); + }); + } + this.postData.UsersSelected = this.participants; + console.log(this.postData); }); } 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 8f889b664..8e0268bb2 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 @@ -43,8 +43,6 @@ export class ExpedienteDetailPage implements OnInit { this.LoadTaskDetail(this.serialnumber); this.LoadRelatedEvents(this.serialnumber); }); - console.log(this.serialnumber); - } diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index 9a77b1bb4..74e361311 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -115,4 +115,18 @@ export class EventsService { return this.http.delete(`${puturl}`, options) } + postExpedientEvent(docId:any, body:any){ + const geturl = environment.apiURL + 'Calendar/CreateEventExpediente'; + let params = new HttpParams(); + + params = params.set("DocId", docId); + + let options = { + headers: this.headers, + params: params + }; + return this.http.post(`${geturl}`, body, options).toPromise().then(res =>{ + console.log(res); + }); + } } diff --git a/src/app/services/processes.service.ts b/src/app/services/processes.service.ts index c07cc3156..b2cb17115 100644 --- a/src/app/services/processes.service.ts +++ b/src/app/services/processes.service.ts @@ -50,6 +50,19 @@ export class ProcessesService { }; return this.http.get(`${geturl}`, options); } + FindTask(serialnumber:string): Observable + { + const geturl = environment.apiURL + 'Tasks/FindExpedient'; + let params = new HttpParams(); + + params = params.set("serialNumber", serialnumber); + + let options = { + headers: this.headers, + params: params + }; + return this.http.get(`${geturl}`, options); + } GetMDOficialTasks(): Observable { @@ -125,6 +138,9 @@ export class ProcessesService { }); } + + + }