This commit is contained in:
tiago.kayaya
2021-10-19 14:34:51 +01:00
34 changed files with 1795 additions and 1505 deletions
@@ -28,7 +28,7 @@ import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.pag
import { SqliteService } from 'src/app/services/sqlite.service';
import { Platform } from '@ionic/angular';
import { synchro } from 'src/app/services/socket/synchro.service';
import { BackgroundService } from 'src/app/services/background.service';
@Component({
selector: 'app-expediente-detail',
@@ -56,7 +56,6 @@ export class ExpedienteDetailPage implements OnInit {
hideSendToPendentes = true
searchDocumentPipe = new SearchDocumentPipe()
synch = synchro
onlinecheck: boolean;
constructor(
@@ -76,6 +75,7 @@ export class ExpedienteDetailPage implements OnInit {
private expedienteService: ExpedienteService,
public platform: Platform,
private sqliteservice: SqliteService,
private backgroundservice: BackgroundService
) {
this.activatedRoute.paramMap.subscribe(params => {
if (params["params"].SerialNumber) {
@@ -88,7 +88,11 @@ export class ExpedienteDetailPage implements OnInit {
}
ngOnInit() {
this.getFromDB();
this.LoadTaskDetail(this.serialNumber);
this.backgroundservice.registerBackService('Online', () => {
this.LoadTaskDetail(this.serialNumber);
});
}
@@ -102,44 +106,37 @@ export class ExpedienteDetailPage implements OnInit {
getFromDB() {
if(synchro.connected === true) {
this.LoadTaskDetail(this.serialNumber);
}
this.platform.ready().then(() => {
this.onlinecheck = false;
this.sqliteservice.getProcessById(this.serialNumber).then((process) => {
console.log("expedient ditail", process)
var workflow = JSON.parse(process[0].workflowInstanceDataFields);
var origina
if (process[0].originator === "undefined") {
origina = ""
} else {
origina = JSON.parse(process[0].originator)
}
synchro.registerCallback('Offline', () => {
this.platform.ready().then(() => {
this.onlinecheck = false;
this.sqliteservice.getProcessById(this.serialNumber).then((process) => {
console.log("expedient ditail", process)
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,
"WorkflowName": process[0].workflowDisplayName,
"Status": workflow.Status,
"DispatchNumber": workflow.DispatchNumber,
"AttachmentsProcessLastInstanceID": workflow.AttachmentsProcessLastInstanceID,
"InstanceID": workflow.InstanceID
}
var workflow = JSON.parse(process[0].workflowInstanceDataFields);
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,
"WorkflowName": process[0].workflowDisplayName,
"Status": workflow.Status,
"DispatchNumber": workflow.DispatchNumber,
"AttachmentsProcessLastInstanceID": workflow.AttachmentsProcessLastInstanceID,
"InstanceID": workflow.InstanceID
}
})
})
})
}
@@ -336,17 +333,17 @@ export class ExpedienteDetailPage implements OnInit {
console.log('this.task.DocumentURL', this.task.DocumentURL)
}, (error) => {
try {
this.toastService.badRequest('Processo não encontrado')
this.goBack()
} catch (e) {
window.history.back();
} finally {
if (error.status == 0) {
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
} else {
if (error.status == 0) {
this.getFromDB();
} else {
try {
this.toastService.badRequest('Processo não encontrado')
this.goBack()
} catch (e) {
window.history.back();
}
this.toastService.badRequest('Processo não encontrado')
}
});
@@ -358,7 +355,7 @@ export class ExpedienteDetailPage implements OnInit {
}
async viewDocument(DocId:string, Document) {
async viewDocument(DocId: string, Document) {
// this.expedienteService.viewDocument({ApplicationId:'361', DocId})
@@ -6,7 +6,7 @@ import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { SqliteService } from 'src/app/services/sqlite.service';
import { Platform } from '@ionic/angular';
import { synchro } from '../../../services/socket/synchro.service';
import { BackgroundService } from '../../../services/background.service';
@Component({
selector: 'app-expediente',
@@ -28,48 +28,69 @@ export class ExpedientePage implements OnInit {
onlinecheck: boolean;
listToPresent;
synch = synchro
constructor(
private processes: ProcessesService,
private router: Router,
private toastService: ToastService,
public platform: Platform,
private sqliteservice: SqliteService,
private backgroundservice: BackgroundService
) { }
ngOnInit() {
this.getEventsFromLocalDb();
console.log("segrsgre")
const location = window.location
const pathname = location.pathname + location.search
this.LoadList()
this.router.events.forEach((event) => {
if (event instanceof NavigationStart && event.url.startsWith(pathname)) {
if (window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) {
this.refreshing()
} else {
this.LoadList()
}
}
});
this.backgroundservice.registerBackService('Online', () => {
this.LoadList();
});
}
async LoadList() {
this.skeletonLoader = true
try {
const expediente: object[] = await this.processes.GetTaskListExpediente(false).toPromise()
const result = expediente
this.processes.GetTaskListExpediente(false).subscribe(async res => {
this.skeletonLoader = true
this.taskslist = new Array();
let res = result.reverse().filter((data: any) => data.workflowInstanceDataFields.Status == "Active");
try {
const expediente: object[] = await this.processes.GetTaskListExpediente(false).toPromise()
const result = expediente
res.forEach((element: any) => {
this.taskslist = new Array();
let res = result.reverse().filter((data: any) => data.workflowInstanceDataFields.Status == "Active");
let task = this.expedienteTaskPipe.transform(element)
this.taskslist.push(task);
this.sqliteservice.addProcess(task);
});
res.forEach((element: any) => {
this.listToPresent = this.taskslist
console.log('expediente list', this.listToPresent)
let task = this.expedienteTaskPipe.transform(element)
this.taskslist.push(task);
this.sqliteservice.addProcess(task);
});
} catch (error) {
this.toastService.badRequest('Processo não encontrado')
this.goBack()
} finally {
this.skeletonLoader = false;
}
this.listToPresent = this.taskslist
console.log('expediente list', this.listToPresent)
} catch (error) {
this.toastService.badRequest('Processo não encontrado')
this.goBack()
} finally {
this.skeletonLoader = false;
}
}, (error) => {
this.getEventsFromLocalDb();
})
}
@@ -121,49 +142,32 @@ export class ExpedientePage implements OnInit {
getEventsFromLocalDb() {
if (synchro.connected === true) {
const location = window.location
const pathname = location.pathname + location.search
this.taskslist = new Array();
this.sqliteservice.getprocessByworkflow("Expediente").then((expediente: any[]) => {
console.log("All expedientes from local,", expediente)
this.LoadList()
expediente.forEach((element) => {
this.router.events.forEach((event) => {
if (event instanceof NavigationStart && event.url.startsWith(pathname)) {
if (window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) {
this.refreshing()
} else {
this.LoadList()
}
var workflow = JSON.parse(element.workflowInstanceDataFields);
let exped = {
"CreateDate": element.taskStartDate,
"DocumentsQty": element.totalDocuments,
"Senders": workflow.Senders,
"SerialNumber": element.serialNumber,
"Status": workflow.Status,
"Subject": workflow.Subject,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName
}
this.taskslist.push(exped)
});
} else {
this.taskslist = new Array();
this.sqliteservice.getprocessByworkflow("Expediente").then((expediente: any[]) => {
console.log("All expedientes from local,", expediente)
expediente.forEach((element) => {
this.listToPresent = this.taskslist
var workflow = JSON.parse(element.workflowInstanceDataFields);
let exped = {
"CreateDate": element.taskStartDate,
"DocumentsQty": element.totalDocuments,
"Senders": workflow.Senders,
"SerialNumber": element.serialNumber,
"Status": workflow.Status,
"Subject": workflow.Subject,
"WorkflowName": element.workflowDisplayName,
"activityInstanceName": element.activityInstanceName
}
this.taskslist.push(exped)
});
this.listToPresent = this.taskslist
})
}
})
}
}