diff --git a/src/app/models/Expediente.ts b/src/app/models/Expediente.ts index 1b035eb56..2131d0c9c 100644 --- a/src/app/models/Expediente.ts +++ b/src/app/models/Expediente.ts @@ -12,5 +12,7 @@ export interface ExpedienteFullTask { workflowDisplayName: string; activityInstanceName: string; totalDocuments: number; + deadline: string; + taskStatus: string workflowInstanceDataFields: ExpedienteFullTaskWorkflowInstanceDataFields; } \ No newline at end of file diff --git a/src/app/models/dailyworktask.model.ts b/src/app/models/dailyworktask.model.ts index 518e1c8cb..9d879ef2b 100644 --- a/src/app/models/dailyworktask.model.ts +++ b/src/app/models/dailyworktask.model.ts @@ -24,6 +24,7 @@ export class fullTask { manager: string, username: string, }; + deadline: string; serialNumber: string; taskStartDate: string; workflowDisplayName: string; @@ -93,6 +94,7 @@ export interface fullTaskList { workflowDisplayName: string; activityInstanceName: activityInstanceName; totalDocuments: number; + deadline: string; workflowInstanceDataFields: { Subject: string; Sender: string; @@ -140,6 +142,8 @@ export class customTask { WorkflowName : string activityInstanceName : string Status : string + Deadline: string + TaskStartDate: string } @@ -170,8 +174,9 @@ export interface ExpedienteTask { WorkflowName : string activityInstanceName : string Status : string - taskStartDate: string + TaskStartDate: string Subject: string + Deadline: string } diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts index 7813fec11..ed60e9f24 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts @@ -125,6 +125,7 @@ export class DespachoPrPage implements OnInit { "DocId": res.workflowInstanceDataFields.DispatchDocId, "WorkflowName": res.workflowDisplayName, "DeadlineType": res.workflowInstanceDataFields.DeadlineType, + "Deadline": res.deadline, "activityInstanceName": res.activityInstanceName, } this.fulltask = res; @@ -197,6 +198,7 @@ export class DespachoPrPage implements OnInit { "WorkflowName": process[0].workflowDisplayName, "DeadlineType": JSON.parse(process[0].workflowInstanceDataFields).DeadlineType, "activityInstanceName": process[0].activityInstanceName, + "Deadline": process[0].deadline, } let fulltak = { @@ -213,7 +215,8 @@ export class DespachoPrPage implements OnInit { workflowInstanceDataFields: JSON.parse(process[0].workflowInstanceDataFields), workflowInstanceFolio: process[0].workflowInstanceFolio, workflowInstanceID: process[0].workflowInstanceID, - workflowName: process[0].workflowName + workflowName: process[0].workflowName, + "Deadline": process[0].deadline, } this.fulltask = fulltak; diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts index b8705f592..5a8e7bcc8 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts @@ -126,6 +126,7 @@ export class DespachoPage implements OnInit { "DeadlineType": res.workflowInstanceDataFields.DeadlineType, "activityInstanceName": res.activityInstanceName, "Status": res.workflowInstanceDataFields.Status, + "Deadline": res.deadline } this.updateProcessOnDB(res); @@ -209,6 +210,7 @@ export class DespachoPage implements OnInit { "DeadlineType": workflow.DeadlineType, "activityInstanceName": process[0].activityInstanceName, "Status": workflow.Status, + "Deadline": process[0].deadline } let thedate = new Date(this.task.CreateDate); @@ -228,7 +230,8 @@ export class DespachoPage implements OnInit { workflowInstanceDataFields: JSON.parse(process[0].workflowInstanceDataFields), workflowInstanceFolio: process[0].workflowInstanceFolio, workflowInstanceID: process[0].workflowInstanceID, - workflowName: process[0].workflowName + workflowName: process[0].workflowName, + deadline: process[0].deadline } this.fulltask = fulltak; diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts index 6e0e8209b..0dcd26ad9 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts @@ -100,6 +100,7 @@ export class DiplomaAssinarPage implements OnInit { "WorkflowName": res.workflowDisplayName, "DeadlineType": res.workflowInstanceDataFields.DeadlineType, "activityInstanceName": res.activityInstanceName, + "Deadline": res.deadline, } this.fulltask = res; diff --git a/src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts b/src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts index 26ddf1ef7..60bc4f1b2 100644 --- a/src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-gerar/diplomas-gerar/diplomas-gerar.page.ts @@ -97,6 +97,7 @@ export class DiplomasGerarPage implements OnInit { "WorkflowName": res.workflowDisplayName, "DeadlineType": res.workflowInstanceDataFields.DeadlineType, "activityInstanceName": res.activityInstanceName, + "Deadline": res.deadline, } this.fulltask = res; diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.html b/src/app/pages/gabinete-digital/expediente/expediente.page.html index 3aded9e45..27f0bf257 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.html +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.html @@ -36,8 +36,10 @@ >
-
+
{{ task.Subject }} + Para hoje + Nova
diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.scss b/src/app/pages/gabinete-digital/expediente/expediente.page.scss index 6a8675ebd..93384bd41 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.scss +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.scss @@ -233,4 +233,18 @@ ion-item{ font-size: 45px; float: right; margin-right: 10px; +} + +.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; } \ No newline at end of file diff --git a/src/app/pages/gabinete-digital/expediente/expediente.page.ts b/src/app/pages/gabinete-digital/expediente/expediente.page.ts index 2fd8c68bd..cc8658317 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente.page.ts @@ -11,6 +11,8 @@ import { ThemeService } from 'src/app/services/theme.service' import { SortService } from 'src/app/services/functions/sort.service'; import { Storage } from '@ionic/storage'; import { EventTrigger } from 'src/app/services/eventTrigger.service'; +import { TaskDeadlineService } from 'src/app/services/task-deadline.service' +import { TaskService } from 'src/app/services/task.service' @Component({ selector: 'app-expediente', @@ -43,7 +45,9 @@ export class ExpedientePage implements OnInit { public ThemeService: ThemeService, private sortService: SortService, private storage: Storage, - private eventTriger: EventTrigger + private eventTriger: EventTrigger, + public TaskDeadlineService: TaskDeadlineService, + public TaskService: TaskService ) { this.eventTriger.getObservable().subscribe((event) => { diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts index 1c03e8fa5..754c8bf05 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts @@ -170,6 +170,7 @@ export class ExpedientePrPage implements OnInit { "WorkflowName": res.workflowDisplayName, "activityInstanceName": res.activityInstanceName, "Status": res.workflowInstanceDataFields.Status, + "Deadline": res.deadline, } this.fulltask = res; diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index be7c96be9..80a6150df 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -79,7 +79,7 @@ {{task.activityInstanceName}}
- {{ task.CreateDate || task.taskStartDate | date: 'dd-MM-yyyy HH:mm' }} + {{ task.CreateDate || task.taskStartDate || task.TaskStartDate | date: 'dd-MM-yyyy HH:mm' }}
diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index 590082ff2..c5a09dd10 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -314,7 +314,8 @@ export class GabineteDigitalPage implements OnInit { "workflowID": element.workflowID, "workflowInstanceDataFields": element.workflowInstanceDataFields, "workflowInstanceID": element.workflowInstanceID, - "workflowName": element.workflowName + "workflowName": element.workflowName, + "deadline": element.deadline } this.sqliteservice.addProcess(process); @@ -348,6 +349,7 @@ export class GabineteDigitalPage implements OnInit { "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), } @@ -381,6 +383,7 @@ export class GabineteDigitalPage implements OnInit { "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); @@ -688,6 +691,7 @@ export class GabineteDigitalPage implements OnInit { "DocId": element.workflowInstanceDataFields.DocIdDiferimento, "WorkflowName": element.workflowDisplayName, "activityInstanceName": element.activityInstanceName, + "deadline": element.deadline } })); @@ -705,6 +709,7 @@ export class GabineteDigitalPage implements OnInit { "DocId": element.workflowInstanceDataFields.DocIdDiferimento, "WorkflowName": element.workflowDisplayName, "activityInstanceName": element.activityInstanceName, + "deadline": element.deadline } })); @@ -759,6 +764,7 @@ export class GabineteDigitalPage implements OnInit { "WorkflowName": element.workflowDisplayName, "activityInstanceName": element.activityInstanceName, "Status": element.workflowInstanceDataFields.Status, + "deadline": element.deadline } })) 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 0b205d55e..ebddb964d 100644 --- a/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts +++ b/src/app/pages/gabinete-digital/pedidos/pedido/pedido.page.ts @@ -132,6 +132,7 @@ export class PedidoPage implements OnInit { "ProcessInstanceID": res.workflowInstanceDataFields.InstanceID, "activityInstanceName": res.activityInstanceName, "Status": res.workflowInstanceDataFields.Status, + "Deadline": res.deadline, } this.updateProcess(res); diff --git a/src/app/pipes/custom-task.pipe.ts b/src/app/pipes/custom-task.pipe.ts index d4280c1a3..7a41f2d8f 100644 --- a/src/app/pipes/custom-task.pipe.ts +++ b/src/app/pipes/custom-task.pipe.ts @@ -17,6 +17,7 @@ export class CustomTaskPipe implements PipeTransform { "Folio": fullTask.workflowInstanceDataFields.Subject, "Senders": fullTask.workflowInstanceDataFields.Sender, "CreateDate": taskDate, + "TaskStartDate": fullTask.taskStartDate, "DocumentURL": fullTask.workflowInstanceDataFields.ViewerRequest, "Remetente": fullTask.workflowInstanceDataFields.Remetente, "DocumentsQty": fullTask.totalDocuments, @@ -25,6 +26,7 @@ export class CustomTaskPipe implements PipeTransform { "WorkflowName": fullTask.workflowDisplayName, "activityInstanceName": fullTask.activityInstanceName, "Status": fullTask.workflowInstanceDataFields.Status, + "Deadline": fullTask.deadline, } } diff --git a/src/app/pipes/expediente-task.pipe.ts b/src/app/pipes/expediente-task.pipe.ts index cd3a82b45..6cd2af8eb 100644 --- a/src/app/pipes/expediente-task.pipe.ts +++ b/src/app/pipes/expediente-task.pipe.ts @@ -14,7 +14,7 @@ export class ExpedienteTaskPipe implements PipeTransform { return { "SerialNumber": fullTask.serialNumber, - "taskStartDate": fullTask.taskStartDate, + "TaskStartDate": fullTask.taskStartDate, "Subject": fullTask.workflowInstanceDataFields.Subject, "Folio": fullTask.workflowInstanceDataFields.Subject, "Senders": fullTask.workflowInstanceDataFields.Sender, @@ -23,6 +23,7 @@ export class ExpedienteTaskPipe implements PipeTransform { "WorkflowName": fullTask.workflowDisplayName, "activityInstanceName": fullTask.activityInstanceName, "Status": fullTask.workflowInstanceDataFields.Status, + "Deadline": fullTask.deadline } } diff --git a/src/app/services/task-deadline.service.spec.ts b/src/app/services/task-deadline.service.spec.ts new file mode 100644 index 000000000..e9dc02560 --- /dev/null +++ b/src/app/services/task-deadline.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { TaskDeadlineService } from './task-deadline.service'; + +describe('TaskDeadlineService', () => { + let service: TaskDeadlineService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(TaskDeadlineService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/task-deadline.service.ts b/src/app/services/task-deadline.service.ts new file mode 100644 index 000000000..cb784dfe6 --- /dev/null +++ b/src/app/services/task-deadline.service.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { momentG } from 'src/plugin/momentG'; + +@Injectable({ + providedIn: 'root' +}) +export class TaskDeadlineService { + + constructor() { } + + date(isoDateString:string) { + return momentG(new Date(), 'dd MMMM yyyy') == momentG(new Date(isoDateString), 'dd MMMM yyyy') + } + + lessthen24Hours(isoDateString:string) { + const creationDate = new Date(isoDateString) + const creationDatePlus24h = new Date(creationDate) + creationDatePlus24h.setHours((creationDate.getHours() + 24)) + + return creationDatePlus24h.getTime() > creationDate.getTime() + } +} diff --git a/src/app/services/task.service.spec.ts b/src/app/services/task.service.spec.ts new file mode 100644 index 000000000..0bbd21466 --- /dev/null +++ b/src/app/services/task.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { TaskService } from './task.service'; + +describe('TaskService', () => { + let service: TaskService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(TaskService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/task.service.ts b/src/app/services/task.service.ts new file mode 100644 index 000000000..186cc2c13 --- /dev/null +++ b/src/app/services/task.service.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@angular/core'; +import { momentG } from 'src/plugin/momentG'; + + +@Injectable({ + providedIn: 'root' +}) +export class TaskService { + + constructor() { } + + deadlineIsToday(isoDateString:string) { + return momentG(new Date(), 'dd MMMM yyyy') == momentG(new Date(isoDateString), 'dd MMMM yyyy') + } + + lessThen24Hours(isoDateString:string) { + const creationDate = new Date(isoDateString) + const creationDatePlus24h = new Date(creationDate) + creationDatePlus24h.setHours((creationDate.getHours() + 24)) + const currentDate = new Date() + + return creationDatePlus24h.getTime() > currentDate.getTime() + } +} diff --git a/src/app/shared/gabinete-digital/all-processes/all-processes.page.html b/src/app/shared/gabinete-digital/all-processes/all-processes.page.html index 13fbf3246..a3e1e1380 100644 --- a/src/app/shared/gabinete-digital/all-processes/all-processes.page.html +++ b/src/app/shared/gabinete-digital/all-processes/all-processes.page.html @@ -72,7 +72,7 @@ {{task.activityInstanceName}}
- {{ task.CreateDate || task.taskStartDate | date: 'dd-MM-yyyy HH:mm' }} + {{ task.CreateDate || task.taskStartDate || task.TaskStartDate | date: 'dd-MM-yyyy HH:mm' }}
diff --git a/version/git-version.ts b/version/git-version.ts index 8567df4a8..8eaa1f965 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,12 +1,12 @@ export let versionData = { - "shortSHA": "d3d7fcb02", - "SHA": "d3d7fcb0255e2fb34078fdaeb817c4f6dfdc86eb", + "shortSHA": "3607a34ed", + "SHA": "3607a34ed3c807aa4b5afab0d5e3346f746f2cb6", "branch": "feature/gabineteLabels", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Mon Apr 10 17:19:04 2023 +0100'", - "lastCommitMessage": "fix agenda selecting agenda", - "lastCommitNumber": "4894", + "lastCommitTime": "'Tue Apr 11 15:05:33 2023 +0100'", + "lastCommitMessage": "no aganda name", + "lastCommitNumber": "4895", "change": "", - "changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/pages/agenda/agenda.page.html", + "changeStatus": "On branch feature/gabineteLabels\nChanges to be committed:\n (use \"git restore --staged ...\" 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", "changeAuthor": "peter.maquiran" } \ No newline at end of file