issue 812

This commit is contained in:
tiago.kayaya
2021-07-13 11:15:19 +01:00
parent 5e5578dd54
commit 76cbf8a527
7 changed files with 183 additions and 201 deletions
@@ -26,12 +26,12 @@
refreshingText="A actualizar...">
</ion-refresher-content>
</ion-refresher>
<div *ngIf="pendentesList" class="width-100">
<div *ngIf="pendentesList.length >= 1" class="width-100">
<div >
<ion-list>
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of pendentesList"
(click)="viewTaskDetails(task.SerialNumber, task.WorkflowName)"
>
@@ -43,7 +43,7 @@
</div>
<div class="exp-icon">
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
<label>{{task.DocumentsQty}}</label>
<label *ngIf="task.DocumentsQty != 0">{{task.DocumentsQty}}</label>
</div>
</div>
<div class="exp-bottom-detail">
@@ -53,7 +53,7 @@
</div>
<div class="exp-middle-detail">
<div class="exp-workflow">
<span class="label">{{task.WorkflowName}}</span>
<span class="label">{{task.activityInstanceName}}</span>
</div>
<div class="exp-date">
<ion-label>{{ task.CreateDate | date: 'dd-MM-yy' }}</ion-label>
@@ -62,10 +62,10 @@
</div>
</div>
</ion-list>
</div>
</div>
<div *ngIf="!pendentesList">
<div *ngIf="pendentesList.length < 1">
<ion-list>
<ion-item>
<ion-thumbnail slot="end">
@@ -21,24 +21,25 @@ export class PendentesPage implements OnInit {
serialNumber:string;
totalDocs:any;
showLoader: boolean;
@Input() profile:string;
segment:string;
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
constructor(
private processes:ProcessesService,
private alertService: AlertService,
private router: Router,
private activatedRoute: ActivatedRoute,
) {
) {
this.pendentesList = new Array();
this.profile = 'mdgpr';
}
ngOnInit() {
//Inicializar segment
this.segment = "despachos";
const pathname = window.location.pathname
this.router.events.forEach((event) => {
if(event instanceof NavigationEnd && event.url == pathname) {
@@ -46,7 +47,7 @@ export class PendentesPage implements OnInit {
}
});
}
segmentChanged(ev: any) {
this.refreshing();
}
@@ -54,88 +55,65 @@ export class PendentesPage implements OnInit {
goBack() {
this.router.navigate(['/home/gabinete-digital']);
}
notImplemented(){
this.alertService.presentAlert('Funcionalidade em desenvolvimento');
}
openExpedientDetailPage(data){
this.openExpedientDetail.emit(data);
}
async LoadList(){
this.showLoader = true;
this.pendentesList = new Array();
let pendentes = await this.processes.GetPendingTasks(false).toPromise();
let despachos = await this.processes.GetTasksList("Despacho", false).toPromise();
let pareceres = await this.processes.GetTasksList("Pedido de Parecer", false).toPromise();
let deferimentos = await this.processes.GetTasksList("Pedido de Deferimento", false).toPromise();
let expedientes = await this.processes.GetTasksList("Expediente", false).toPromise();
let expedientes_pr = await this.processes.GetTasksList("Expediente do Presidente", false).toPromise();
let pendentes = despachos.concat(pareceres, deferimentos, expedientes, expedientes_pr).reverse().filter(data => data.workflowInstanceDataFields.Status == "Pending");
console.log(pendentes);
pendentes.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 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,
"Status": element.workflowInstanceDataFields.Status,
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,
"Status": element.workflowInstanceDataFields.Status,
}
this.pendentesList.push(task);
this.pendentesList = removeDuplicate( this.pendentesList)
},
(error)=>{
let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": formatDate(new Date(element.taskStartDate), 'yyyy-MM-dd HH:mm', 'pt'),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
"DocId": element.workflowInstanceDataFields.DocId,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Status": element.workflowInstanceDataFields.Status,
}
this.pendentesList.push(task);
this.pendentesList = removeDuplicate( this.pendentesList)
});
this.pendentesList = this.sortArrayISODate(this.pendentesList);
});
this.showLoader = false;
}
sortArrayISODate(myArray: any){
return myArray.sort(function(a, b) {
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
});
}
async refreshing() {
setTimeout(() => {
this.LoadList();
}, 1500);
}
doRefresh(event) {
this.LoadList();
setTimeout(() => {
event.target.complete();
}, 2000);
}
async viewTaskDetails(serialNumber:string, workflowName:string) {
if(workflowName == 'Despacho'){
this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']);
@@ -146,9 +124,8 @@ export class PendentesPage implements OnInit {
else if(workflowName == 'Expediente'){
this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']);
}
}
}
+73 -59
View File
@@ -15,7 +15,7 @@ export class ProcessesService {
loggeduser: User;
headers: HttpHeaders;
constructor(private http: HttpClient, user: AuthService) {
constructor(private http: HttpClient, user: AuthService) {
this.loggeduser = user.ValidatedUser;
this.headers = new HttpHeaders();
this.headers = this.headers.set('Authorization', this.loggeduser.BasicAuthKey);
@@ -28,10 +28,10 @@ export class ProcessesService {
params = params.set("ProcessName", processname);
params = params.set("OnlyCount", onlycount.toString());
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
@@ -42,10 +42,10 @@ export class ProcessesService {
let params = new HttpParams();
params = params.set("serialNumber", serialnumber);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -54,18 +54,32 @@ export class ProcessesService {
let params = new HttpParams();
params = params.set("serialNumber", serialNumber);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.post<any>(`${geturl}`,'', options);
}
GetPendingTasks(onlyCount: boolean){
const geturl = environment.apiURL + 'Tasks/ListPending';
let params = new HttpParams();
params = params.set("onlyCount", onlyCount.toString());
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
DelegateTask(body:any){
const geturl = environment.apiURL + 'Tasks/DelegateTask';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options);
@@ -76,10 +90,10 @@ export class ProcessesService {
let params = new HttpParams();
params = params.set("folderId", folderId);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -90,10 +104,10 @@ export class ProcessesService {
let params = new HttpParams();
params = params.set("serialNumber", serialnumber);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -102,7 +116,7 @@ export class ProcessesService {
{
const geturl = environment.apiURL + 'tasks/GetMDOficialTasks';
let options = {
headers: this.headers,
headers: this.headers,
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -111,7 +125,7 @@ export class ProcessesService {
{
const geturl = environment.apiURL + 'tasks/GetMDPersonalTasks';
let options = {
headers: this.headers,
headers: this.headers,
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -123,18 +137,18 @@ export class ProcessesService {
params = params.set("categoryname", categoryname);
params = params.set("onlyCount", count);
let options = {
headers: this.headers,
params: params,
let options = {
headers: this.headers,
params: params,
};
return this.http.get<any>(`${geturl}`, options);
}
PostTaskAction(body:any){
const geturl = environment.apiURL + 'Tasks/Complete';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -142,8 +156,8 @@ export class ProcessesService {
CompleteTask(body:any){
const geturl = environment.apiURL + 'Tasks/CompleteTask';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -151,8 +165,8 @@ export class ProcessesService {
CompleteParecerPrTask(body:any){
const geturl = environment.apiURL + 'Tasks/CompleteTaskParecerPr';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -163,10 +177,10 @@ export class ProcessesService {
let params = new HttpParams();
params = params.set("FolderId", FolderId);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.post<any>(`${geturl}`,'', options);
}
@@ -177,17 +191,17 @@ export class ProcessesService {
params = params.set("DocId", DocId);
params = params.set("applicationid", FsId);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
postDespatcho(body:any) {
const geturl = environment.apiURL + 'Processes/CreateDispatch';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -195,7 +209,7 @@ export class ProcessesService {
postDespatchoPr(body:any) {
const geturl = environment.apiURL + 'Processes/CreateDispatchPR';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -203,7 +217,7 @@ export class ProcessesService {
postParecer(body:any){
const geturl = environment.apiURL + 'Processes/CreateParecer';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -211,7 +225,7 @@ export class ProcessesService {
postParecerPr(body:any){
const geturl = environment.apiURL + 'Processes/CreateParecerPR';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -219,7 +233,7 @@ export class ProcessesService {
postDeferimento(body:any){
const geturl = environment.apiURL + 'Processes/CreateDeferimento';
let options = {
let options = {
headers: this.headers,
};
return this.http.post<any>(`${geturl}`, body, options)
@@ -228,32 +242,32 @@ export class ProcessesService {
GetActionsList(){
const geturl = environment.apiURL + 'presidentialActions';
let options = {
headers: this.headers,
let options = {
headers: this.headers,
};
console.log(options);
return this.http.get<any>(`${geturl}`, options);
}
GetSubjectType(){
const geturl = environment.apiURL + 'ecm/SubjectType';
let options = {
headers: this.headers,
let options = {
headers: this.headers,
};
return this.http.get<any>(`${geturl}`, options);
}
GetDocumentDetails(DocId:string, FsId:string){
const geturl = environment.apiURL + 'search/documents';
let params = new HttpParams();
params = params.set("docId", DocId);
params = params.set("applicationId", FsId);
let options = {
headers: this.headers,
params: params
let options = {
headers: this.headers,
params: params
};
return this.http.get<any>(`${geturl}`, options);
}
@@ -127,7 +127,6 @@
[showSeconds]="showSeconds"
[stepHour]="stepHour" [stepMinute]="stepMinute"
[stepSecond]="stepSecond"
[min]="endMinDate"
[touchUi]="touchUi">
</ngx-mat-datetime-picker>
</mat-form-field>
@@ -198,7 +197,6 @@
<input matInput [ngxMatDatetimePicker]="occurrrence"
placeholder="Choose a date"
[formControl]="dateControlOccurrence"
[min]="endMinDate"
[disabled]="disabled"
>
<mat-datepicker-toggle id="last-occurrence" matSuffix [for]="occurrrence"></mat-datepicker-toggle>
@@ -20,7 +20,7 @@ import * as moment from 'moment';
})
export class EditEventPage implements OnInit {
stEvent: Event;
isRecurring:string;
isEventEdited: boolean;
@@ -213,9 +213,9 @@ export class EditEventPage implements OnInit {
dateEnd: new FormControl(this.dateEnd, [
Validators.required
]),
/* IsRecurring: new FormControl(this.postEvent.IsRecurring, [
dateOccurrence: new FormControl(this.dateOccurrence, [
Validators.required
]), */
]),
participantes: new FormControl(this.taskParticipants, [
Validators.required
]),
@@ -226,6 +226,28 @@ export class EditEventPage implements OnInit {
})
}
openInicio() {
let input: any = document.querySelector('#new-inicio')
if(input) {
console.log(input)
input.click()
}
}
openFim() {
let input: any = document.querySelector('#new-fim')
if(input) {
input.click()
}
}
openLastOccurrence() {
let input: any = document.querySelector('#last-occurrence')
if(input) {
input.click()
}
}
async save() {
@@ -17,11 +17,11 @@
refreshingText="A actualizar...">
</ion-refresher-content>
</ion-refresher>
<div *ngIf="pendentesList.length >= 1" class="width-100 overflow-y-auto height-100">
<ion-list>
<ion-item
class="expediente ion-no-padding cursor-pointer"
<ion-item
class="expediente ion-no-padding cursor-pointer"
*ngFor = "let task of pendentesList"
(click)="viewTaskDetails(task.SerialNumber, task.WorkflowName)"
>
@@ -39,7 +39,7 @@
</div>
<div class="exp-icon">
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
<label>{{task.DocumentsQty}}</label>
<label *ngIf="task.DocumentsQty != 0">{{task.DocumentsQty}}</label>
</div>
</div>
<div class="exp-bottom-detail">
@@ -50,7 +50,7 @@
</ion-list>
</div>
<div *ngIf="pendentesList.length < 1">
<ion-list>
<ion-item>
<ion-thumbnail slot="end">
@@ -1,16 +1,12 @@
import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
import { NavigationEnd, NavigationExtras, Router } from '@angular/router';
import { NavigationEnd, Router } from '@angular/router';
import { CalendarComponent } from 'ionic2-calendar';
import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
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 { ModalController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { DespachoPage } from 'src/app/pages/gabinete-digital/despachos/despacho/despacho.page';
import { AuthService } from 'src/app/services/auth.service';
import { PedidoPage } from 'src/app/pages/gabinete-digital/pedidos/pedido/pedido.page';
import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page';
@Component({
@@ -26,96 +22,72 @@ export class PendentesPage implements OnInit {
serialNumber:string;
totalDocs:any;
showLoader: boolean;
@Input() profile:string;
segment:string;
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
constructor(
private processes:ProcessesService,
private modalController: ModalController,
private alertService: AlertService,
private authService: AuthService,
private router: Router,
) {
) {
this.pendentesList = new Array();
this.profile = 'mdgpr';
}
ngOnInit() {
//Inicializar segment
this.segment = "despachos";
this.LoadList();
const pathname = window.location.pathname
this.router.events.forEach((event) => {
if(event instanceof NavigationEnd && event.url == pathname) {
this.LoadList();
}
});
}
segmentChanged(ev: any) {
this.LoadList();
}
openExpedientDetailPage(data){
console.log(data);
this.openExpedientDetail.emit(data);
}
async LoadList(){
this.showLoader = true;
this.pendentesList = [];
let despachos = await this.processes.GetTasksList("Despacho", false).toPromise();
let pareceres = await this.processes.GetTasksList("Pedido de Parecer", false).toPromise();
let deferimentos = await this.processes.GetTasksList("Pedido de Deferimento", false).toPromise();
let expedientes = await this.processes.GetTasksList("Expediente", false).toPromise();
let expedientes_pr = await this.processes.GetTasksList("Expediente do Presidente", false).toPromise();
this.pendentesList = new Array();
let pendentes = await this.processes.GetPendingTasks(false).toPromise();
let pendentes = despachos.concat(pareceres, deferimentos, expedientes, expedientes_pr).filter(data => data.workflowInstanceDataFields.Status == "Pending");
pendentes.forEach(element => {
let DocId = element.workflowInstanceDataFields.FolderID;
let ApplicationId = element.workflowInstanceDataFields.ApplicationId;
this.processes.GetDocumentDetails(DocId, '361').subscribe(res=>{
this.totalDocs = 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 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": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Sender,
"DocumentsQty": 0,
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
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,
"Status": element.workflowInstanceDataFields.Status,
}
this.pendentesList.push(task);
},
(error)=>{
let task = {
"SerialNumber": element.serialNumber,
"Folio": element.workflowInstanceDataFields.Subject,
"Senders": element.workflowInstanceDataFields.Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
"Remetente": element.workflowInstanceDataFields.Remetente,
"DocumentsQty": 0,
"DocId": element.workflowInstanceDataFields.DocId,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
this.pendentesList.push(task);
});
this.pendentesList = removeDuplicate( this.pendentesList)
this.pendentesList = this.sortArrayISODate(this.pendentesList);
});
this.pendentesList = this.sortArrayISODate(this.pendentesList).reverse();
this.showLoader = false;
}
@@ -125,11 +97,11 @@ export class PendentesPage implements OnInit {
});
}
doRefresh() {
this.LoadList();
}
async viewTaskDetails(serialNumber:string, workflowName:string) {
console.log(this.profile);
if(workflowName == 'Despacho'){
@@ -142,6 +114,5 @@ export class PendentesPage implements OnInit {
this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']);
}
}
}