From ca665294f0b358b55857ae046032689aa55f3649 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 5 Aug 2021 11:47:09 +0100 Subject: [PATCH] improve --- nice.md | 20 +++++++++ src/app/OtherService/permission.service.ts | 14 +++--- src/app/Rules/despacho.service.ts | 33 +++++++++++++- .../create-process/create-process.page.ts | 45 +++++++++++++++---- .../document-detail/document-detail.page.html | 4 +- .../document-detail/document-detail.page.ts | 3 +- .../agenda/view-event/view-event.page.ts | 18 ++++---- .../expedient-task-modal.page.ts | 10 +++-- .../pedidos/pedido/pedido.page.html | 9 ++-- .../pedidos/pedido/pedido.page.ts | 5 ++- 10 files changed, 122 insertions(+), 39 deletions(-) create mode 100644 nice.md diff --git a/nice.md b/nice.md new file mode 100644 index 000000000..2e8b4881b --- /dev/null +++ b/nice.md @@ -0,0 +1,20 @@ +## I’m Peter, a computer technician, doing my first year of electronics and telecommunications college +____ + +
+
+
+ +
+
+ +
+
+

Most frequently used design pattern

+
+
diff --git a/src/app/OtherService/permission.service.ts b/src/app/OtherService/permission.service.ts index a09dafb53..390fc0617 100644 --- a/src/app/OtherService/permission.service.ts +++ b/src/app/OtherService/permission.service.ts @@ -11,27 +11,23 @@ export class PermissionService { constructor() { } userRole(args) { - let data: string[] = [] - if(!Array.isArray(args) && typeof(args) == 'string') { - data = [args] - } else { - data = args + if(!Array.isArray(args)) { + args = [args] } - return data.includes(this.userStore.user.Profile) + return args.includes(this.userStore.user.Profile) } role(args: any) { - let UserRoleIsValid = this.userRole(args) return { permissionAnyOf(role) { - if(!Array.isArray(args) && typeof(args) == 'string') { - role = [args] + if(!Array.isArray(role)) { + role = [role] } if(!UserRoleIsValid) {return false } diff --git a/src/app/Rules/despacho.service.ts b/src/app/Rules/despacho.service.ts index 6f97c8ad4..c1c94ff93 100644 --- a/src/app/Rules/despacho.service.ts +++ b/src/app/Rules/despacho.service.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; +import { PermissionService } from '../OtherService/permission.service'; import { ProcessesService } from '../services/processes.service'; @Injectable({ @@ -16,6 +17,7 @@ export class DespachoService { constructor( private processes: ProcessesService, + public p: PermissionService ) { } arquivar(note:string, documents:any, serialnumber) { @@ -63,8 +65,37 @@ export class DespachoService { return this.processes.CompleteTask(body) } - sendExpedienteToPending(serialnumber) { + CompleteTask({serialNumber}) { + const body = { + "serialNumber": serialNumber, + "action": "Despacho", + "ActionTypeId": 94, + "dataFields": { + "ReviewUserComment": '', + }, + "AttachmentList" :null, + } + + return this.processes.CompleteTask(body) + } + + sendExpedienteToPending(serialnumber) { return this.processes.SetTaskToPending(serialnumber) } + + /** + * + * @param body any + * @returns promise + * @description for both profile PR and MDGPR + */ + createDespacho(body: any) { + if(this.p.userRole(['PR'])) { + return this.processes.postDespatchoPr(body) + } else { + return this.processes.postDespatcho(body) + } + } + } diff --git a/src/app/modals/create-process/create-process.page.ts b/src/app/modals/create-process/create-process.page.ts index e8ea53a8d..831efdec1 100644 --- a/src/app/modals/create-process/create-process.page.ts +++ b/src/app/modals/create-process/create-process.page.ts @@ -17,6 +17,8 @@ import { ToastService } from 'src/app/services/toast.service'; import { FormControl, FormGroup, Validators } from '@angular/forms'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; +import { PermissionService } from 'src/app/OtherService/permission.service'; +import { DespachoService } from 'src/app/Rules/despacho.service'; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { @@ -91,6 +93,8 @@ export class CreateProcessPage implements OnInit { private userAuth: AuthService, private animationController: AnimationController, private toastService: ToastService, + public p: PermissionService, + private despachoService: DespachoService ) { this.loggeduser = userAuth.ValidatedUser; this.task = this.navParams.get('task'); @@ -193,11 +197,13 @@ export class CreateProcessPage implements OnInit { async saveTask() { - this.injectValidation() - this.runValidation() - - if(this.Form.invalid) return false + if(!this.p.userRole(['PR'])) { + this.injectValidation() + this.runValidation() + if(this.Form.invalid) return false + } + if(this.postData.Priority=='99999861') { this.dispatchFolder.DeadlineType = 'Normal'; @@ -232,11 +238,12 @@ export class CreateProcessPage implements OnInit { this.dispatchFolder.SubjectTypes = this.selectedTypes; const loader = this.toastService.loading() + switch (this.loggeduser.Profile) { case 'MDGPR': switch (this.taskType) { - case '0': + case '0': // Despacho this.postData = { DistributionType: "Paralelo", CountryCode: 'AO', @@ -252,6 +259,7 @@ export class CreateProcessPage implements OnInit { await this.FinalizarDespacho(loader, 'Despacho criado'); } catch (error) { this.toastService.badRequest('Processo não efectuado'); + loader.remove() } break; @@ -272,6 +280,7 @@ export class CreateProcessPage implements OnInit { } catch (error) { this.toastService.badRequest('Processo não efectuado'); + loader.remove() } break; @@ -292,10 +301,10 @@ export class CreateProcessPage implements OnInit { } catch (error) { this.toastService.badRequest('Processo não efectuado'); + loader.remove() } break; } - this.modalController.dismiss(); break; @@ -313,10 +322,14 @@ export class CreateProcessPage implements OnInit { console.log('this.postData', this.postData, this.taskType); try { - await this.processes.postDespatcho(this.postData).toPromise(); - await this.executado(loader, 'Despacho criado'); + await this.despachoService.createDespacho(this.postData).toPromise(); + await this.despachoService.CompleteTask({serialNumber: this.task.serialNumber}).toPromise(); + this.modalController.dismiss(); + this.toastService.successMessage('Despacho criado'); } catch (error) { this.toastService.badRequest('Processo não efectuado'); + } finally { + loader.remove() } break; @@ -337,6 +350,7 @@ export class CreateProcessPage implements OnInit { this.toastService.successMessage('Pedido de Parecer criado'); } catch (error) { + loader.remove() this.toastService.badRequest('Processo não efectuado'); } @@ -358,12 +372,12 @@ export class CreateProcessPage implements OnInit { this.toastService.successMessage('Pedido de Deferimento criado'); } catch (error) { + loader.remove() this.toastService.badRequest('Processo não efectuado'); } break; } - this.modalController.dismiss(); break; } @@ -387,6 +401,16 @@ export class CreateProcessPage implements OnInit { } else if(this.task.activityInstanceName =='Concluir Despacho' || this.task.activityInstanceName == 'Concluir Parecer') { + body = { + "serialNumber": this.task.serialNumber, + "action": "Despacho", + "ActionTypeId": 94, + "dataFields": { + "ReviewUserComment": '', + }, + "AttachmentList" :null, + } + } else { body = { "serialNumber": this.task.serialNumber, "action": "Despacho", @@ -401,8 +425,11 @@ export class CreateProcessPage implements OnInit { try { await this.processes.CompleteTask(body).toPromise(); this.toastService.successMessage(message); + this.modalController.dismiss(); } catch (error) { this.toastService.badRequest('Processo não efectuado'); + } finally { + loader.remove() } } diff --git a/src/app/modals/document-detail/document-detail.page.html b/src/app/modals/document-detail/document-detail.page.html index 0d44315f1..df3087c99 100644 --- a/src/app/modals/document-detail/document-detail.page.html +++ b/src/app/modals/document-detail/document-detail.page.html @@ -53,10 +53,10 @@
- +
- +
diff --git a/src/app/modals/document-detail/document-detail.page.ts b/src/app/modals/document-detail/document-detail.page.ts index dd54dc350..5cf5dc07b 100644 --- a/src/app/modals/document-detail/document-detail.page.ts +++ b/src/app/modals/document-detail/document-detail.page.ts @@ -4,10 +4,10 @@ import { AlertService } from 'src/app/services/alert.service'; import { ProcessesService } from 'src/app/services/processes.service'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; -import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; import { DocumentSetUpMeetingPage } from '../document-set-up-meeting/document-set-up-meeting.page'; import { FromSearchDocument, SearchFolder } from 'src/app/models/search-document'; import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTaskModalPage'; +import { PermissionService } from 'src/app/OtherService/permission.service'; @Component({ selector: 'app-document-detail', @@ -35,6 +35,7 @@ export class DocumentDetailPage implements OnInit { private processes: ProcessesService, private menu: MenuController, private iab: InAppBrowser, + public p: PermissionService, ) { this.docId = this.navParams.get('docId'); this.applicationId = this.navParams.get('applicationId'); 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 578b6519d..fc7e786e0 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -111,16 +111,14 @@ export class ViewEventPage implements OnInit { if(this.isModal) { this.close() } else { - // this.activatedRoute.paramMap.subscribe(params => { - // if(params["params"].caller == 'expediente'){ - // window.history.back(); - // } - // else{ - // this.router.navigate(['/home',params["params"].caller]); - // } - // }); - - this.location.back(); + this.activatedRoute.paramMap.subscribe(params => { + if(params["params"].caller == 'expediente'){ + window.history.back(); + } + else{ + this.router.navigate(['/home',params["params"].caller]); + } + }); } } 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 ba65238dd..f8ec0f16b 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 @@ -20,6 +20,7 @@ import { FormControl, FormGroup, Validators } from '@angular/forms'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { task } from 'src/app/models/ExpedientTaskModalPage'; +import { DespachoService } from 'src/app/Rules/despacho.service'; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -101,11 +102,14 @@ export class ExpedientTaskModalPage implements OnInit { private userAuth: AuthService, private animationController: AnimationController, private toastService: ToastService, + private despachoService: DespachoService ) { this.loggeduser = userAuth.ValidatedUser; this.task = this.navParams.get('task'); + console.log(this.task) + this.taskType = this.navParams.get('taskAction'); this.selectedTypes = ['99999850']; @@ -371,7 +375,7 @@ export class ExpedientTaskModalPage implements OnInit { break; case 'PR': switch (this.taskType) { - case '0': + case '0': // despacho this.postData = { DistributionType: "Paralelo", CountryCode: 'AO', @@ -393,7 +397,7 @@ export class ExpedientTaskModalPage implements OnInit { } try { - this.taskResult = await this.processes.postDespatchoPr(this.postData).toPromise(); + this.taskResult = await this.despachoService.createDespacho(this.postData).toPromise(); await this.toastService.successMessage('Processo efetuado'); this.modalController.dismiss(action_despacho_pr); } catch (error) { @@ -437,7 +441,7 @@ export class ExpedientTaskModalPage implements OnInit { loader.remove() } break; - } + } break; } } diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html index 234927796..0d3bbfdef 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.html @@ -79,7 +79,8 @@
- + + @@ -88,7 +89,8 @@
- + + @@ -97,7 +99,8 @@
- + + diff --git a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts index e23e48956..7279ae2da 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts @@ -23,6 +23,7 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p import { ToastService } from 'src/app/services/toast.service'; import { ForwardPage } from 'src/app/modals/forward/forward.page'; import { async } from '@angular/core/testing'; +import { PermissionService } from 'src/app/OtherService/permission.service'; @Component({ selector: 'app-pedido', @@ -58,7 +59,9 @@ export class PedidoPage implements OnInit { public popoverController: PopoverController, authService: AuthService, private animationController: AnimationController, - private toastService: ToastService,) { + private toastService: ToastService, + public p: PermissionService, + ) { this.loggeduser = authService.ValidatedUser; this.activatedRoute.paramMap.subscribe(params => {