add label to gabinete

This commit is contained in:
Peter Maquiran
2023-04-12 14:39:26 +01:00
parent 8cc4181c41
commit 0660b44542
47 changed files with 210 additions and 783 deletions
@@ -42,6 +42,8 @@ export class DeferimentosServiceService {
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Deadline": element.deadline,
"TaskStartDate": element.taskStartDate,
}
});
@@ -56,6 +56,8 @@ export class DeplomasServiceService {
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Status": element.workflowInstanceDataFields.Status,
"Deadline": element.deadline,
"TaskStartDate": element.taskStartDate,
}
})
}
+2
View File
@@ -66,6 +66,8 @@ export class ParecerService {
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Deadline": element.deadline,
"TaskStartDate": element.taskStartDate,
}
})
+1 -27
View File
@@ -410,32 +410,6 @@ export class ViewEventPage implements OnInit {
getFromDb() {
const loader = this.toastService.loading();
this.sqliteservice.getEventById(this.eventId).then((event) => {
let arrayevent = [];
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];
})
loader.remove()
}
}
+1
View File
@@ -14,5 +14,6 @@ export interface ExpedienteFullTask {
totalDocuments: number;
deadline: string;
taskStatus: string
TaskStatus: string;
workflowInstanceDataFields: ExpedienteFullTaskWorkflowInstanceDataFields;
}
+3
View File
@@ -95,6 +95,7 @@ export interface fullTaskList {
activityInstanceName: activityInstanceName;
totalDocuments: number;
deadline: string;
taskStatus: string;
workflowInstanceDataFields: {
Subject: string;
Sender: string;
@@ -144,6 +145,7 @@ export class customTask {
Status : string
Deadline: string
TaskStartDate: string
TaskStatus: string
}
@@ -177,6 +179,7 @@ export interface ExpedienteTask {
TaskStartDate: string
Subject: string
Deadline: string
TaskStatus: string
}
@@ -528,41 +528,6 @@ export class ViewEventPage implements OnInit {
getFromDb() {
const loader = this.toastService.loading();
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 = [];
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];
})
}
loader.remove()
}
}
+2 -2
View File
@@ -121,8 +121,8 @@
(click)="goToExpediente(task.SerialNumber)">
<div class="item-exp d-flex">
<div class="schedule-date">
<div class="time-end">{{task.taskStartDate | date: 'dd-MM-yy'}}</div>
<div class="time-start">{{task.taskStartDate | date: 'HH:mm'}}</div>
<div class="time-end">{{task.TaskStartDate | date: 'dd-MM-yy'}}</div>
<div class="time-start">{{task.TaskStartDate | date: 'HH:mm'}}</div>
</div>
<div class="schedule-details pointer">
<div class="description">{{ task.Subject }}</div>
@@ -127,6 +127,7 @@ export class DespachoPrPage implements OnInit {
"DeadlineType": res.workflowInstanceDataFields.DeadlineType,
"Deadline": res.deadline,
"activityInstanceName": res.activityInstanceName,
"TaskStartDate": res.taskStartDate
}
this.fulltask = res;
this.updateProcessOnDB(res);
@@ -182,56 +183,6 @@ export class DespachoPrPage implements OnInit {
getFromDB() {
this.sqliteservice.getProcessById(this.serialNumber).then((process: any[]) => {
this.task = {
"SerialNumber": process[0].serialNumber,
"Folio": JSON.parse(process[0].workflowInstanceDataFields).Subject,
"Senders": JSON.parse(process[0].originator).email,
"CreateDate": momentG(new Date(process[0].taskStartDate), 'yyyy-MM-dd HH:mm:ss'),
"DocumentURL": JSON.parse(process[0].workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"Note": JSON.parse(process[0].workflowInstanceDataFields).TaskMessage || JSON.parse(process[0].workflowInstanceDataFields).Note,
"FolderId": JSON.parse(process[0].workflowInstanceDataFields).FolderID,
"FsId": '361',
"DocId": JSON.parse(process[0].workflowInstanceDataFields).DispatchDocId,
"WorkflowName": process[0].workflowDisplayName,
"DeadlineType": JSON.parse(process[0].workflowInstanceDataFields).DeadlineType,
"activityInstanceName": process[0].activityInstanceName,
"Deadline": process[0].deadline,
}
let fulltak = {
Documents: JSON.parse(process[0].Documents),
actions: JSON.parse(process[0].actions),
activityInstanceName: process[0].activityInstanceName,
formURL: process[0].formURL,
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,
"Deadline": process[0].deadline,
}
this.fulltask = fulltak;
let thedate = new Date(this.task.CreateDate);
this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]);
this.intervenientes = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'I';
});
this.cc = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'CC';
});
})
}
async viewDocument(DocId: string, Document) {
@@ -41,8 +41,10 @@
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -70,13 +72,13 @@
</div>
<div
*ngIf="!skeletonLoader && listToPresent.length == 0"
*ngIf="!skeletonLoader && despachoprstore.list.length == 0"
class="empty-list d-flex height-100 align-center justify-content-center"
>
<span>Lista vazia</span>
</div>
<!-- <div *ngIf="skeletonLoader && listToPresent.length == 0">
<!-- <div *ngIf="skeletonLoader && despachoprstore.list.length == 0">
<ion-list>
<ion-item>
<ion-thumbnail slot="end">
@@ -21,6 +21,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { SessionStore } from 'src/app/store/session.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { environment } from 'src/environments/environment';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-despachos-pr',
@@ -52,7 +53,7 @@ export class DespachosPrPage implements OnInit {
skeletonLoader = true
despachoprstore = DespachosprStore
listToPresent = [];
customTaskPipe = new CustomTaskPipe()
SessionStore = SessionStore
@@ -67,7 +68,8 @@ export class DespachosPrPage implements OnInit {
private sqliteservice: SqliteService,
private backgroundservice: BackgroundService,
private sortService: SortService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {
this.profile = 'mdgpr';
@@ -164,6 +166,7 @@ export class DespachosPrPage implements OnInit {
"FolderID": element?.workflowInstanceDataFields?.FolderID,
"activityInstanceName": element.activityInstanceName,
"Status": element?.workflowInstanceDataFields?.Status,
"TaskStatus": element.taskStatus
}
this.despachoList.push(task);
@@ -171,59 +174,16 @@ export class DespachosPrPage implements OnInit {
this.despachoList = this.sortService.sortDate(this.despachoList, 'CreateDate')
this.listToPresent = this.despachoList
this.despachoprstore.reset(this.despachoList)
} catch(error) {
this.getFromDB()
}
this.skeletonLoader = false
}
getFromDB() {
this.sqliteservice.getAllProcess().then((all) => {
})
this.sqliteservice.getprocessByworkflow('Despacho do Presidente da República').then(async (process: any[]) => {
let despachosPr;
if(SessionStore.user.Profile != 'PR') {
despachosPr = await process.reverse().filter(data => data.activityInstanceName == "Tarefa de Despacho");
} else if (SessionStore.user.Profile == 'PR') {
despachosPr = await process.reverse().filter(data => data.activityInstanceName == "Concluir Despacho");
}
despachosPr = despachosPr.filter(data => JSON.parse(data.workflowInstanceDataFields).Status == "Active");
despachosPr.forEach((element, index) => {
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": JSON.parse(element.workflowInstanceDataFields).Subject,
"Senders": JSON.parse(element.workflowInstanceDataFields).Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": JSON.parse(element.workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(element.workflowInstanceDataFields).Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": JSON.parse(element.workflowInstanceDataFields).DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
this.despachoList.push(task);
});
this.listToPresent = this.despachoList;
})
}
doRefresh(event) {
if (event) {
@@ -178,76 +178,6 @@ export class DespachoPage implements OnInit {
getFromDb() {
this.platform.ready().then(() => {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
this.sqliteservice.getProcessById(this.serialnumber).then((process) => {
var workflow = JSON.parse(process[0].workflowInstanceDataFields);
var intervine = JSON.parse(process[0].interveners)
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,
"DocumentsQty": process[0].DocumentsQty,
"WorkflowName": process[0].workflowDisplayName,
"DeadlineType": workflow.DeadlineType,
"activityInstanceName": process[0].activityInstanceName,
"Status": workflow.Status,
"Deadline": process[0].deadline
}
let thedate = new Date(this.task.CreateDate);
this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]);
let fulltak = {
Documents: JSON.parse(process[0].Documents),
actions: JSON.parse(process[0].actions),
activityInstanceName: process[0].activityInstanceName,
formURL: process[0].formURL,
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,
deadline: process[0].deadline
}
this.fulltask = fulltak;
this.intervenientes = intervine.filter(user => {
return user.Type == 'I';
});
this.cc = intervine.filter(user => {
return user.Type == 'CC';
});
})
}
})
}
async viewDocument(docId: string, Document) {
@@ -39,8 +39,10 @@
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -69,13 +71,13 @@
</div>
<div
*ngIf="!skeletonLoader && listToPresent.length == 0"
*ngIf="!skeletonLoader && despachoStore.list.length == 0"
class="empty-list d-flex height-100 align-center justify-content-center"
>
<span>Lista vazia</span>
</div>
<div *ngIf="skeletonLoader && (listToPresent.length == null || listToPresent.length == 0)">
<div *ngIf="skeletonLoader && (despachoStore.list.length == null || despachoStore.list.length == 0)">
<ion-list>
<ion-item>
@@ -7,7 +7,7 @@ import { SqliteService } from 'src/app/services/sqlite.service';
import { Platform } from '@ionic/angular';
import { BackgroundService } from 'src/app/services/background.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-despachos',
@@ -18,7 +18,6 @@ import { ThemeService } from 'src/app/services/theme.service'
export class DespachosPage implements OnInit {
despachoStore = DespachoStore;
listToPresent = [];
constructor(
private router: Router,
@@ -26,7 +25,8 @@ export class DespachosPage implements OnInit {
private sqliteservice: SqliteService,
private platform: Platform,
private backgroundservice: BackgroundService,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {}
ngOnInit() {
@@ -65,51 +65,12 @@ export class DespachosPage implements OnInit {
async LoadList() {
await this.despachoRule.getList({ updateStore: true }).then((pre) => {
this.listToPresent = pre;
//
}).catch(() => {
this.getFromDb()
})
}
getFromDb() {
this.platform.ready().then(() => {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
this.sqliteservice.getprocessByworkflow('Despacho').then((process: any[]) => {
var listtopresent = [];
if(process.forEach) {
process.forEach(element => {
var workflow = JSON.parse(element.workflowInstanceDataFields);
let task = {
"CreateDate": element.taskStartDate,
"DocId": workflow.DispatchDocID,
"DocumentURL": undefined,
"DocumentsQty": element.totalDocuments,
"FolderID": workflow.FolderID,
"Folio": workflow.Subject,
"Remetente": undefined,
"Senders": workflow.Sender,
"SerialNumber": element.serialNumber,
"Status": workflow.Status,
"WorkflowName": element.workflowDisplayName,
"DeadlineType": workflow.DeadlineType,
}
listtopresent.push(task);
});
this.listToPresent = listtopresent;
}
})
}
})
}
get skeletonLoader(): boolean {
return this.despachoRule.LoaderService.loading
}
@@ -101,6 +101,7 @@ export class DiplomaAssinarPage implements OnInit {
"DeadlineType": res.workflowInstanceDataFields.DeadlineType,
"activityInstanceName": res.activityInstanceName,
"Deadline": res.deadline,
"TaskStartDate": res.taskStartDate
}
this.fulltask = res;
@@ -42,8 +42,10 @@
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio || task.workflowInstanceDataFields.Subject }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -8,6 +8,7 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { DeplomasStore } from 'src/app/store/deplomas.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas-assinar',
@@ -34,7 +35,8 @@ export class DiplomasAssinarPage implements OnInit {
private alertService: AlertService,
private router: Router,
private sortService: SortService,
public ThemeService: ThemeService) {
public ThemeService: ThemeService,
public TaskService: TaskService) {
}
ngOnInit() {
@@ -42,8 +42,10 @@
>
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -8,7 +8,7 @@ import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { DeplomasStore } from 'src/app/store/deplomas.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas-gerars',
@@ -35,7 +35,8 @@ export class DiplomasGerarPage implements OnInit {
private alertService: AlertService,
private router: Router,
private sortService: SortService,
public ThemeService: ThemeService) {
public ThemeService: ThemeService,
public TaskService: TaskService) {
}
ngOnInit() {
@@ -98,6 +98,7 @@ export class DiplomasGerarPage implements OnInit {
"DeadlineType": res.workflowInstanceDataFields.DeadlineType,
"activityInstanceName": res.activityInstanceName,
"Deadline": res.deadline,
"TaskStartDate": res.taskStartDate
}
this.fulltask = res;
@@ -190,55 +190,7 @@ export class DiplomaPage implements OnInit {
getFromDb() {
this.sqliteservice.getProcessById(this.serialNumber).then((process) => {
this.task = {
"SerialNumber": process[0].serialNumber,
"Folio": JSON.parse(process[0].workflowInstanceDataFields).Subject,
"Senders": JSON.parse(process[0].originator).email,
"CreateDate": momentG(new Date(process[0].taskStartDate), 'yyyy-MM-dd HH:mm:ss'),
"DocumentURL": JSON.parse(process[0].workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"Note": JSON.parse(process[0].workflowInstanceDataFields).TaskMessage || JSON.parse(process[0].workflowInstanceDataFields).Note,
"FolderId": JSON.parse(process[0].workflowInstanceDataFields).FolderID,
"FsId": '361',
"DocId": JSON.parse(process[0].workflowInstanceDataFields).DispatchDocId,
"WorkflowName": process[0].workflowDisplayName,
"DeadlineType": JSON.parse(process[0].workflowInstanceDataFields).DeadlineType,
"activityInstanceName": process[0].activityInstanceName,
}
let fulltak = {
Documents: JSON.parse(process[0].Documents),
actions: JSON.parse(process[0].actions),
activityInstanceName: process[0].activityInstanceName,
formURL: process[0].formURL,
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
}
this.fulltask = fulltak
let thedate = new Date(this.task.CreateDate);
this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]);
this.intervenientes = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'I';
});
this.cc = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'CC';
});
this.attachments = JSON.parse(process[0].Documents)
})
}
async viewDocument(DocId: string, Document) {
@@ -39,8 +39,10 @@
>
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -10,7 +10,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { PermissionService } from 'src/app/services/permission.service';
import { DeplomasStore } from 'src/app/store/deplomas.service';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-diplomas',
@@ -40,6 +40,7 @@ export class DiplomasPage implements OnInit, OnDestroy {
private sortService: SortService,
public ThemeService: ThemeService,
public p: PermissionService,
public TaskService: TaskService
) {
//Inicializar segment
@@ -146,39 +147,10 @@ export class DiplomasPage implements OnInit, OnDestroy {
} catch(error) {
this.skeletonLoader = false
this.getFromDb()
}
}
getFromDb() {
this.sqliteservice.getprocessByworkflow("Despacho do Presidente da República").then((process: any[]) => {
let diplomasValidar = process.filter(data => data.activityInstanceName == "Revisar Diploma");
let diplomasList = [];
diplomasValidar.forEach(async element => {
let task = this.pipeTaskOffline(element)
diplomasList.push(task);
});
this.diplomasList = this.sortService.sortDate(diplomasList, 'taskStartDate');
let diplomasAssinados = process.filter(data => data.activityInstanceName == "Diploma Assinado");
let diplomasAssinadoList = []
diplomasAssinados.forEach(async element => {
let task = this.pipeTaskOffline(element)
diplomasAssinadoList.push(task);
});
this.diplomasAssinadoList = this.sortService.sortDate(diplomasAssinadoList, 'taskStartDate')
})
}
pipeTask(element) {
let date = new Date(element.taskStartDate);
@@ -197,26 +169,9 @@ export class DiplomasPage implements OnInit, OnDestroy {
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Status": element.workflowInstanceDataFields.Status,
}
}
pipeTaskOffline(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();
return {
"SerialNumber": element.serialNumber,
"Folio": JSON.parse(element.workflowInstanceDataFields).Subject,
"Senders": JSON.parse(element.workflowInstanceDataFields).Sender,
"CreateDate": new Date(element.taskStartDate),
"DocumentURL": JSON.parse(element.workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(element.workflowInstanceDataFields).Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": JSON.parse(element.workflowInstanceDataFields).DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Status": JSON.parse(element.workflowInstanceDataFields).Status,
"Deadline": element.Deadline,
"TaskStartDate": element.taskStartDate,
"TaskStatus": element.taskStatus
}
}
@@ -104,101 +104,11 @@ export class ApproveEventPage implements OnInit {
}
addProcessToDB(data) {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.storage.set('approve_event_detils', data).then(() => {
})
} else {
this.sqliteservice.updateProcess(data);
}
}
getProcessFromDB() {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.storage.get('approve_event_detils').then((event) => {
this.loadedEvent = event
try {
this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate);
this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]);
} catch(error) {
console.log(this.loadedEvent)
throw(error)
}
this.loadedAttachments = this.loadedEvent.Documents;
})
} else {
this.platform.ready().then(() => {
this.sqliteservice.getProcessById(this.serialNumber).then((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
this.loadedAttachments = this.loadedEvent.Documents;
try {
this.today = new Date(this.loadedEvent.workflowInstanceDataFields.StartDate);
this.customDate = this.days[this.today.getDay()] + ", " + this.today.getDate() + " de " + (this.months[this.today.getMonth()]);
} catch(error) {
console.log(this.loadedEvent)
throw(error)
}
})
})
}
}
@@ -162,6 +162,7 @@ export class ExpedienteDetailPage implements OnInit {
originator: process.originator,
serialNumber: process.serialNumber,
taskStartDate: process.taskStartDate,
TaskStartDate: process.taskStartDate,
totalDocuments: process.totalDocuments,
workflowDisplayName: process.workflowDisplayName,
workflowID: process.workflowID,
@@ -7,7 +7,20 @@ import { IonicModule } from '@ionic/angular';
import { ExpedientePageRoutingModule } from './expediente-routing.module';
import { ExpedientePage } from './expediente.page';
import { SharedModule } from 'src/app/shared/shared.module';
import { MatInputModule } from '@angular/material/input';
import { MatNativeDateModule } from '@angular/material/core';
import {
NgxMatDatetimePickerModule,
NgxMatNativeDateModule,
NgxMatTimepickerModule
} from '@angular-material-components/datetime-picker';
import { ReactiveFormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatSelectModule } from '@angular/material/select';
import { NgxMatMomentModule } from '@angular-material-components/moment-adapter';
@NgModule({
@@ -15,6 +28,15 @@ import { SharedModule } from 'src/app/shared/shared.module';
CommonModule,
FormsModule,
IonicModule,
//
MatInputModule,
MatNativeDateModule,
NgxMatDatetimePickerModule,
NgxMatTimepickerModule,
NgxMatNativeDateModule,
NgxMatMomentModule,
MatSelectModule,
MatButtonModule,
ExpedientePageRoutingModule,
],
@@ -8,9 +8,34 @@
</button>
</div>
<div class="header-title">
<label>Expediente</label>
<label>Expediente <span class="lowercase" *ngIf="filterName != 'Todos' ">{{ filterName }}</span></label>
</div>
<div class="btn-refresh">
<mat-form-field class="task-filter-input" appearance="none" color="ion-color-secondary" placeholder="Selecione agenda">
<mat-select [(value)]="filterName">
<mat-option value="Para hoje" >
Para hoje
</mat-option>
<mat-option value="Novos" >
Novos
</mat-option>
<mat-option value="Lidos" >
Lidos
</mat-option>
<mat-option value="Não Lidos" >
Não lidos
</mat-option>
<mat-option value="Todos" >
Todos
</mat-option>
</mat-select>
</mat-form-field>
<button class="btn-no-color" (click)="doRefresh($event)">
<ion-icon slot="end" class="title-icon font-awesome" name="reload-circle"></ion-icon>
</button>
@@ -30,16 +55,16 @@
<ion-list>
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
class=" ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of expedientegbstore.list"
(click)="goToExpediente(task.SerialNumber)"
>
<div class="item width-100">
<div class="item width-100 expediente" *ngIf="TaskService.filter(task, filterName)">
<div class="exp-top-detail">
<div class="subject d-flex align-center">
<ion-label>{{ task.Subject }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.taskStartDate)">Nova</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -35,6 +35,8 @@ export class ExpedientePage implements OnInit {
onlinecheck: boolean;
listToPresent= []
filterName: 'Para hoje' | 'Novos'| 'Lidos'| 'Não lidos'| 'Todos' = 'Todos'
constructor(
private processes: ProcessesService,
private router: Router,
@@ -171,6 +171,7 @@ export class ExpedientePrPage implements OnInit {
"activityInstanceName": res.activityInstanceName,
"Status": res.workflowInstanceDataFields.Status,
"Deadline": res.deadline,
"TaskStartDate": res.taskStartDate
}
this.fulltask = res;
@@ -35,8 +35,10 @@
>
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Subject }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -13,6 +13,7 @@ import { ThemeService } from 'src/app/services/theme.service'
import { SortService } from 'src/app/services/functions/sort.service';
import { RouteService } from 'src/app/services/route.service';
import { SessionStore } from 'src/app/store/session.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-expedientes-pr',
@@ -43,6 +44,7 @@ export class ExpedientesPrPage implements OnInit {
private RouteService: RouteService,
public ThemeService: ThemeService,
private sortService: SortService,
public TaskService: TaskService
) {
this.loggeduser = SessionStore.user;
}
@@ -291,111 +291,9 @@ export class GabineteDigitalPage implements OnInit {
this.LoadCounts();
}
addProcessToDB(data) {
this.platform.ready().then(() => {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.storage.set('GabineteProcess', data).then(() => {
addProcessToDB(data) {}
})
} else {
data.forEach(element => {
let process = {
"serialNumber": element.serialNumber,
"workflowInstanceFolio": element.workflowInstanceFolio,
"Documents": element.Documents,
"actions": element.actions,
"activityInstanceName": element.activityInstanceName,
"formURL": element.formURL,
"originator": element.originator,
"taskStartDate": element.taskStartDate,
"totalDocuments": element.totalDocuments,
"workflowDisplayName": element.workflowDisplayName,
"workflowID": element.workflowID,
"workflowInstanceDataFields": element.workflowInstanceDataFields,
"workflowInstanceID": element.workflowInstanceID,
"workflowName": element.workflowName,
"deadline": element.deadline
}
this.sqliteservice.addProcess(process);
});
}
});
}
getAllProcessFromDB() {
this.hideRefreshButton();
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
this.storage.get('GabineteProcess').then((allprocess: any[]) => {
allprocess.forEach(element => {
let date = new Date(element.taskStartDate);
date.setMonth(date.getMonth() + 1);
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,
"deadline": element.deadline,
"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),
"deadline": element.deadline
}
this.allProcessesList.push(task);
this.allProcessesList = removeDuplicate(this.allProcessesList)
this.allProcessesList = this.sortService.sortDate(this.allProcessesList, 'CreateDate')
});
})
}
}
getAllProcessFromDB() {}
dataTranform(data) {
@@ -212,94 +212,6 @@ export class PedidoPage implements OnInit {
}
getfromDb() {
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
} else {
this.sqliteservice.getProcessById(this.serialnumber).then((process) => {
let fulltak = {
Documents: JSON.parse(process[0].Documents) || [],
actions: JSON.parse(process[0].actions),
activityInstanceName: process[0].activityInstanceName,
formURL: process[0].formURL,
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
}
this.fulltask = fulltak;
if (process[0].workflowDisplayName == 'Pedido de Parecer' || process[0].workflowDisplayName == 'Pedido de Parecer do Presidente') {
let date = new Date(process[0].taskStartDate);
date.setMonth(date.getMonth() + 1);
let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
this.task = {
"SerialNumber": process[0].serialNumber,
"Folio": JSON.parse(process[0].workflowInstanceDataFields).Subject,
"Senders": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"CreateDate": taskDate,
"DocumentURL": JSON.parse(process[0].workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"Note": JSON.parse(process[0].workflowInstanceDataFields).TaskMessage,
"FolderId": JSON.parse(process[0].workflowInstanceDataFields).FolderID,
"FsId": '361',
"DocId": JSON.parse(process[0].workflowInstanceDataFields).DocIdDeferimento,
"WorkflowName": process[0].workflowDisplayName,
"DeadlineType": JSON.parse(process[0].workflowInstanceDataFields).DeadlineType,
"ProcessInstanceID": JSON.parse(process[0].workflowInstanceDataFields).InstanceID,
"activityInstanceName": process[0].activityInstanceName,
"Status": JSON.parse(process[0].workflowInstanceDataFields).Status,
}
this.attachments = JSON.parse(process[0].Documents);
} else if (process[0].workflowDisplayName == 'Pedido de Deferimento') {
let date = new Date(process[0].taskStartDate);
date.setMonth(date.getMonth() + 1);
let taskDate = date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
this.task = {
"SerialNumber": process[0].serialNumber,
"Folio": JSON.parse(process[0].workflowInstanceDataFields).Subject,
"Senders": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"CreateDate": taskDate,
"DocumentURL": JSON.parse(process[0].workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(process[0].workflowInstanceDataFields).Sender,
"Note": JSON.parse(process[0].workflowInstanceDataFields).TaskMessage,
"FolderId": JSON.parse(process[0].workflowInstanceDataFields).FolderID,
"FsId": '361',
"DocId": JSON.parse(process[0].workflowInstanceDataFields).DocIdDeferimento,
"WorkflowName": process[0].workflowDisplayName,
"DeadlineType": JSON.parse(process[0].workflowInstanceDataFields).DeadlineType,
"ProcessInstanceID": JSON.parse(process[0].workflowInstanceDataFields).InstanceID,
"activityInstanceName": process[0].activityInstanceName,
"Status": JSON.parse(process[0].workflowInstanceDataFields).Status,
}
this.attachments = JSON.parse(process[0].Documents);
}
let thedate = new Date(process[0].taskStartDate);
this.customDate = this.days[thedate.getDay()] + ", " + thedate.getDate() + " de " + (this.months[thedate.getMonth()]);
this.intervenientes = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'I';
});
this.cc = JSON.parse(process[0].interveners).filter(user => {
return user.Type == 'CC';
});
this.getDocumentDetails(JSON.parse(process[0].workflowInstanceDataFields).FolderID, '361');
})
}
}
getDocumentDetails(forlderId: string, applicationId: string) {
@@ -51,8 +51,10 @@
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' " src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -12,7 +12,7 @@ import { SqliteService } from 'src/app/services/sqlite.service';
import { BackgroundService } from 'src/app/services/background.service';
import { SortService } from 'src/app/services/functions/sort.service';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-pedidos',
@@ -51,7 +51,8 @@ export class PedidosPage implements OnInit {
private sortService: SortService,
private backgroundservice: BackgroundService,
private platform: Platform,
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {
this.segment = 'parecer';
@@ -160,6 +161,9 @@ export class PedidosPage implements OnInit {
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"TaskStartDate": element.taskStartDate,
"Deadline": element.deadline,
"TaskStatus": element.taskStatus
}
this.parecerList.push(task);
});
@@ -199,6 +203,9 @@ export class PedidosPage implements OnInit {
"DocId": element.workflowInstanceDataFields.DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"TaskStartDate": element.taskStartDate,
"Deadline": element.deadline,
"TaskStatus": element.taskStatus
}
if (element.workflowInstanceDataFields.Status == "Active") {
@@ -228,62 +235,7 @@ export class PedidosPage implements OnInit {
getFromDb() {
let parecerlist = [];
let deferimentolist = []
this.sqliteservice.getprocessByworkflowpedido("Pedido de Parecer", "Pedido de Parecer do Presidente").then((process: any[]) => {
process.forEach((element) => {
if (JSON.parse(element.workflowInstanceDataFields).Status == "Active") {
let date = new Date(element.taskStartDate);
//date.setMonth(date.getMonth() + 1);
let month = date.getMonth() + 1;
let taskDate = date.getFullYear() + "-" + month + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
let task = {
"SerialNumber": element.serialNumber,
"Folio": JSON.parse(element.workflowInstanceDataFields).Subject,
"Senders": JSON.parse(element.workflowInstanceDataFields).Sender,
"CreateDate": taskDate,
"DocumentURL": JSON.parse(element.workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(element.workflowInstanceDataFields).Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": JSON.parse(element.workflowInstanceDataFields).DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
parecerlist.push(task)
}
})
this.listToPresentparecerList = this.sortService.sortArrayISODate(parecerlist);
})
this.sqliteservice.getprocessByworkflow("Pedido de Deferimento").then((process: any[]) => {
process.forEach((element) => {
if (JSON.parse(element.workflowInstanceDataFields).Status == "Active") {
let date = new Date(element.taskStartDate);
//date.setMonth(date.getMonth() + 1);
let month = date.getMonth() + 1;
let taskDate = date.getFullYear() + "-" + month + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
let task = {
"SerialNumber": element.serialNumber,
"Folio": JSON.parse(element.workflowInstanceDataFields).Subject,
"Senders": JSON.parse(element.workflowInstanceDataFields).Sender,
"CreateDate": taskDate,
"DocumentURL": JSON.parse(element.workflowInstanceDataFields).ViewerRequest,
"Remetente": JSON.parse(element.workflowInstanceDataFields).Remetente,
"DocumentsQty": element.totalDocuments,
"DocId": JSON.parse(element.workflowInstanceDataFields).DocIdDiferimento,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
}
deferimentolist.push(task)
}
})
this.listToPresentdeferimentoList = this.sortService.sortArrayISODate(deferimentolist);
})
}
segmentChanged(ev: any) {
@@ -17,7 +17,7 @@ import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
import { SessionStore } from 'src/app/store/session.service';
import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-pendentes',
@@ -51,7 +51,8 @@ export class PendentesPage implements OnInit {
private backgroundservices: BackgroundService,
private sortService: SortService,
private storage: Storage,
private httpErroHandle: HttpErrorHandle
private httpErroHandle: HttpErrorHandle,
public TaskService: TaskService
) {
this.loggeduser = SessionStore.user;
this.profile = 'mdgpr';
@@ -127,41 +128,6 @@ export class PendentesPage implements OnInit {
getFromDb() {
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 = []
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;
})
})
}
}
async refreshing() {
+1
View File
@@ -27,6 +27,7 @@ export class CustomTaskPipe implements PipeTransform {
"activityInstanceName": fullTask.activityInstanceName,
"Status": fullTask.workflowInstanceDataFields.Status,
"Deadline": fullTask.deadline,
"TaskStatus": fullTask.taskStatus
}
}
+2 -1
View File
@@ -23,7 +23,8 @@ export class ExpedienteTaskPipe implements PipeTransform {
"WorkflowName": fullTask.workflowDisplayName,
"activityInstanceName": fullTask.activityInstanceName,
"Status": fullTask.workflowInstanceDataFields.Status,
"Deadline": fullTask.deadline
"Deadline": fullTask.deadline,
"TaskStatus": fullTask.taskStatus
}
}
+2 -2
View File
@@ -102,8 +102,8 @@
(click)="goToExpediente(task.SerialNumber)">
<div class="item-exp d-flex">
<div class="schedule-date">
<div class="time-end">{{task.taskStartDate | date: 'dd-MM-yyyy'}}</div>
<div class="time-start">{{task.taskStartDate | date: 'HH:mm'}}</div>
<div class="time-end">{{task.TaskStartDate | date: 'dd-MM-yyyy'}}</div>
<div class="time-start">{{task.TaskStartDate | date: 'HH:mm'}}</div>
</div>
<div class="schedule-details pointer">
<div class="description">{{ task.Subject }}</div>
+15
View File
@@ -21,4 +21,19 @@ export class TaskService {
return creationDatePlus24h.getTime() > currentDate.getTime()
}
filter(item, attribute) {
if(attribute == 'Para hoje') {
return this.deadlineIsToday(item.TaskStartDate)
} else if (attribute == 'Novos') {
return this.lessThen24Hours(item.TaskStartDate)
} else if (attribute == 'Lidos') {
return item.TaskStatus == 'open'
} else if (attribute == 'Não lidos') {
return item.TaskStatus != 'open'
}
return true
}
}
@@ -97,7 +97,7 @@ export class AllProcessesPage implements OnInit {
// return (a.CreateDate || a.taskStartDate < b.CreateDate || b.taskStartDate) ? -1 : ((a.CreateDate || a.taskStartDate > b.CreateDate || b.taskStartDate) ? 1 : 0);
// });
return myArray.sort((a,b) => Date.parse(b.CreateDate || b.taskStartDate) - Date.parse(a.CreateDate || a.taskStartDate))
return myArray.sort((a,b) => Date.parse(b.CreateDate || b.taskStartDate || b.TaskStartDate) - Date.parse(a.CreateDate || a.taskStartDate || a.TaskStartDate))
}
setFormatDate(start: any, end: any, allday: boolean) {
@@ -109,6 +109,8 @@ export class DiplomasPage implements OnInit {
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName,
"Status": element.workflowInstanceDataFields.Status,
"Deadline": element.deadline,
"TaskStartDate": element.taskStartDate,
}
}
@@ -12,8 +12,10 @@
<div class="item width-100">
<div class="exp-top-detail">
<div class="subject">
<div class="subject d-flex align-center">
<ion-label>{{ task.Folio }}</ion-label>
<span class="dead-line ml-10" *ngIf="TaskService.deadlineIsToday(task.Deadline)">Para hoje</span>
<span class="new-task ml-10" *ngIf="TaskService.lessThen24Hours(task.TaskStartDate)">Nova</span>
</div>
<div class="exp-icon">
<ion-icon *ngIf="ThemeService.currentTheme == 'default' "src="assets/images/icons-expediente-attachment.svg"></ion-icon>
@@ -1,7 +1,7 @@
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { customTask } from 'src/app/models/dailyworktask.model';
import { ThemeService } from 'src/app/services/theme.service'
import { TaskService } from 'src/app/services/task.service'
@Component({
selector: 'app-task-list',
@@ -15,7 +15,8 @@ export class TaskListPage implements OnInit {
@Output() viewTaskDetail = new EventEmitter<customTask>();
constructor(
public ThemeService: ThemeService
public ThemeService: ThemeService,
public TaskService: TaskService
) {
}
+1 -1
View File
@@ -32,7 +32,7 @@ export const doneITDev: Environment = {
production: true,
domain: 'equilibrium.co.ao',
defaultuser: 'evandre.dasilva@equilibrium.co.ao',
defaultuserpwd: 'Luand@1112',
defaultuserpwd: 'Luand@1113',
chatOffline: true,
presidential: false,
version: versionData,
+38 -1
View File
@@ -285,7 +285,9 @@ td.monthview-secondary-with-event, td.monthview-secondary-with-event[_ngcontent-
}
@media only screen and (max-width: 800px){
.btn-refresh{
button {
display: none;
}
}
.p-item-title{
width: 100% !important;
@@ -1452,4 +1454,39 @@ pre {
ion-textarea.heigh-200 textarea {
min-height: 137px;
line-height: 21px;
}
}
.dead-line {
font-size: 12px;
color: red;
}
.new-task {
border-radius: 20px;
background: #efefef;
font-size: 12px;
float: right;
padding: 2.5px 13.5px 2.5px 13.5px;
color: #46465b;
}
.task-filter-input {
padding-bottom: 10px;
background: whitesmoke;
padding-left: 10px;
padding-right: 5px;
border-radius: 1px;
.mat-form-field-infix {
display: block;
position: relative;
flex: auto;
min-width: 0;
width: 89px;
}
}
.lowercase {
text-transform: lowercase;
}
+6 -6
View File
@@ -1,12 +1,12 @@
export let versionData = {
"shortSHA": "3607a34ed",
"SHA": "3607a34ed3c807aa4b5afab0d5e3346f746f2cb6",
"shortSHA": "8cc4181c4",
"SHA": "8cc4181c4145739df8826c5d46e418737c99dedd",
"branch": "feature/gabineteLabels",
"lastCommitAuthor": "'Peter Maquiran'",
"lastCommitTime": "'Tue Apr 11 15:05:33 2023 +0100'",
"lastCommitMessage": "no aganda name",
"lastCommitNumber": "4895",
"lastCommitTime": "'Wed Apr 12 09:01:03 2023 +0100'",
"lastCommitMessage": "add deadline to list",
"lastCommitNumber": "4896",
"change": "",
"changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/models/Expediente.ts\n\tmodified: src/app/models/dailyworktask.model.ts\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.html\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.scss\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.html\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts\n\tmodified: src/app/pipes/custom-task.pipe.ts\n\tmodified: src/app/pipes/expediente-task.pipe.ts\n\tnew file: src/app/services/task-deadline.service.spec.ts\n\tnew file: src/app/services/task-deadline.service.ts\n\tnew file: src/app/services/task.service.spec.ts\n\tnew file: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.html",
"changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\tmodified: src/app/Rules/deferimentos-service.service.ts\n\tmodified: src/app/Rules/deplomas-service.service.ts\n\tmodified: src/app/Rules/parecer.service.ts\n\tmodified: src/app/modals/view-event/view-event.page.ts\n\tmodified: src/app/models/Expediente.ts\n\tmodified: src/app/models/dailyworktask.model.ts\n\tmodified: src/app/pages/agenda/view-event/view-event.page.ts\n\tmodified: src/app/pages/events/events.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts\n\tmodified: src/app/pages/gabinete-digital/despachos/despachos.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos/despachos.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.html\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.module.ts\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.html\n\tmodified: src/app/pages/gabinete-digital/expediente/expediente.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/expedientes-pr/expedientes-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.html\n\tmodified: src/app/pages/gabinete-digital/pedidos/pedidos.page.ts\n\tmodified: src/app/pages/gabinete-digital/pendentes/pendentes.page.ts\n\tmodified: src/app/pipes/custom-task.pipe.ts\n\tmodified: src/app/pipes/expediente-task.pipe.ts\n\tmodified: src/app/services/events/events.page.html\n\tmodified: src/app/services/task.service.ts\n\tmodified: src/app/shared/gabinete-digital/all-processes/all-processes.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.html\n\tmodified: src/app/shared/gabinete-digital/generic/task-list/task-list.page.ts\n\tmodified: src/environments/suport/doneIt.ts\n\tmodified: src/global.scss",
"changeAuthor": "peter.maquiran"
}