mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-19 04:57:52 +00:00
merge and add new features
This commit is contained in:
@@ -1,12 +1,38 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { momentG } from 'src/plugin/momentG';
|
||||
|
||||
import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
|
||||
import { DeplomasStore } from 'src/app/store/deplomas.service';
|
||||
import { PendentesStore } from 'src/app/store/pendestes-store.service';
|
||||
import { DespachoStore } from 'src/app/store/despacho-store.service';
|
||||
import { TotalDocumentStore } from 'src/app/store/total-document.service';
|
||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
|
||||
import { PedidosStore } from 'src/app/store/pedidos-store.service';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class TaskService {
|
||||
|
||||
|
||||
read = 0
|
||||
unread = 0
|
||||
deadline = 0
|
||||
new = 0
|
||||
overdueTasks = 0
|
||||
|
||||
expedientegbstore = ExpedienteGdStore;
|
||||
pendentesstore = PendentesStore;
|
||||
despachoStore = DespachoStore;
|
||||
eventoaprovacaostore = EventoAprovacaoStore;
|
||||
pedidosstore = PedidosStore;
|
||||
despachoprstore = DespachosprStore;
|
||||
totalDocumentStore = TotalDocumentStore
|
||||
deplomasStore = DeplomasStore
|
||||
|
||||
AllProcess = []
|
||||
|
||||
constructor() { }
|
||||
|
||||
deadlineIsToday(isoDateString:string) {
|
||||
@@ -17,10 +43,13 @@ export class TaskService {
|
||||
return momentG(new Date(), 'dd MMMM yyyy') == momentG(new Date(isoDateString), 'dd MMMM yyyy')
|
||||
}
|
||||
|
||||
overdueTask(isoDateString:string) {
|
||||
return (new Date()).getTime() < (new Date(isoDateString)).getTime()
|
||||
}
|
||||
|
||||
lessThen24Hours(isoDateString:string) {
|
||||
|
||||
if(!isoDateString) {
|
||||
console.log('no created date')
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -33,7 +62,6 @@ export class TaskService {
|
||||
}
|
||||
|
||||
filter(item, attribute) {
|
||||
|
||||
if(attribute == 'Para hoje') {
|
||||
return this.deadlineIsToday(item.TaskStartDate || item.taskStartDate)
|
||||
} else if (attribute == 'Novos') {
|
||||
@@ -41,7 +69,9 @@ export class TaskService {
|
||||
} else if (attribute == 'Lidos') {
|
||||
return item.TaskStatus == 'Open' || item.taskStatus == 'Open'
|
||||
} else if (attribute == 'Não lidos') {
|
||||
return item.TaskStatus != 'Open' && item.taskStatus != 'Open'
|
||||
return !(item.TaskStatus == 'Open' || item.taskStatus == 'Open')
|
||||
} else if (attribute == 'OverdueTasks') {
|
||||
return this.overdueTask(item.Deadline || item.deadline)
|
||||
}
|
||||
return true
|
||||
}
|
||||
@@ -50,4 +80,29 @@ export class TaskService {
|
||||
seen(item) {
|
||||
return item.TaskStatus == 'Open' || item.taskStatus == 'Open'
|
||||
}
|
||||
|
||||
updateAllProcess = () => {
|
||||
this.AllProcess = this.sortArrayISODate(this.despachoprstore.list.concat(this.deplomasStore.diplomasAssinadoList as any).concat(this.deplomasStore.diplomasParaAssinarList as any).concat(this.deplomasStore.DiplomaGerarList as any)
|
||||
.concat(this.eventoaprovacaostore.contactList as any).concat(this.expedientegbstore.list as any).concat(this.despachoStore.list as any).concat(this.pedidosstore.listparecer as any).concat(this.pedidosstore.listdeferimento as any)
|
||||
.concat(this.pendentesstore.list as any)).reverse()
|
||||
}
|
||||
|
||||
sortArrayISODate(myArray: any): any[] {
|
||||
// return myArray.sort(function (a, b) {
|
||||
// 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 || b.TaskStartDate) - Date.parse(a.CreateDate || a.taskStartDate || a.TaskStartDate))
|
||||
}
|
||||
|
||||
|
||||
|
||||
updateCount() {
|
||||
this.updateAllProcess()
|
||||
this.read = this.AllProcess.filter((item) => this.filter(item,'Lidos')).length
|
||||
this.unread = this.AllProcess.filter((item) => this.filter(item,'Não lidos')).length
|
||||
this.deadline = this.AllProcess.filter((task) => this.deadlineIsToday(task.Deadline || task.deadline)).length
|
||||
this.new = this.AllProcess.filter((task) => this.lessThen24Hours(task.TaskStartDate || task.taskStartDate)).length
|
||||
this.overdueTasks = this.AllProcess.filter((task) => this.overdueTask(task.Deadline || task.deadline)).length
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user