diff --git a/lib/process-services-cloud/src/lib/mock/process-instance-variable.mock.ts b/lib/process-services-cloud/src/lib/mock/process-instance-variable.mock.ts index b56847f649..d5486b1ade 100644 --- a/lib/process-services-cloud/src/lib/mock/process-instance-variable.mock.ts +++ b/lib/process-services-cloud/src/lib/mock/process-instance-variable.mock.ts @@ -20,6 +20,7 @@ import { ProcessInstanceVariable } from '../models/process-instance-variable.mod export const getProcessInstanceVariableMock = (variable: Partial = {}): ProcessInstanceVariable => ({ id: 1, variableDefinitionId: 'variableDefinitionId', + processDefinitionKey: 'processDefinitionKey', value: 'value', appName: 'appName', createTime: 'createTime', diff --git a/lib/process-services-cloud/src/lib/models/process-instance-variable.model.ts b/lib/process-services-cloud/src/lib/models/process-instance-variable.model.ts index 5b7732cad8..2298abfce5 100644 --- a/lib/process-services-cloud/src/lib/models/process-instance-variable.model.ts +++ b/lib/process-services-cloud/src/lib/models/process-instance-variable.model.ts @@ -22,6 +22,7 @@ export type WithVariablesMap = T & { export interface ProcessInstanceVariable { id: number; variableDefinitionId: string; + processDefinitionKey: string; value: string; appName: string; createTime: string; diff --git a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts index 3ddc4036d4..06cbc59037 100644 --- a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts +++ b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.spec.ts @@ -31,7 +31,8 @@ describe('VariableMapperService', () => { it('should map variables by column title', () => { const variable: ProcessInstanceVariable = getProcessInstanceVariableMock({ - variableDefinitionId: 'variableDefinitionIdOne' + processDefinitionKey: 'processKey', + name: 'variableName' }); const objectWithVariables = { diff --git a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts index f2f0de1b02..4a98ffbda3 100644 --- a/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts +++ b/lib/process-services-cloud/src/lib/services/variable-mapper.sevice.ts @@ -26,7 +26,7 @@ export class VariableMapperService { instancesList: T[] = [], columnsSchema: DataColumn[] = [] ): Array> { - const columnsByVariableId = this.mapColumnKeysByVariableId(columnsSchema); + const columnsByVariables = this.mapColumnKeysByVariable(columnsSchema); const rowsViewModel = instancesList.map>((instance) => { if (!instance.variables?.length) { @@ -34,9 +34,9 @@ export class VariableMapperService { } const variablesMap = (instance.variables ?? []).reduce<{[columnTitle: string]: ProcessInstanceVariable}>((variableAccumulator, variable) => { - const processVariableDefinitionId = variable.variableDefinitionId; + const processVariableDefinitionPayload = `${variable.processDefinitionKey}/${variable.name}`; - const column = columnsByVariableId[processVariableDefinitionId]; + const column = columnsByVariables[processVariableDefinitionPayload]; if (column) { variableAccumulator[column] = { ...variable, @@ -56,23 +56,23 @@ export class VariableMapperService { return rowsViewModel; } - private mapColumnKeysByVariableId( + private mapColumnKeysByVariable( columnsSchema: DataColumn[] - ): { [variableId: string]: string } { - const columnsByVariableId = columnsSchema + ): { [key: string]: string } { + const columnsByVariables = columnsSchema .filter(column => !!column.customData) - .reduce<{ [variableId: string]: string }>((columnsByVariable, column) => { + .reduce<{ [key: string]: string }>((columnsByVariable, column) => { const columnTitle = column.title; - const variableIds = column.customData.assignedVariableDefinitionIds; + const variables = column.customData.variableDefinitionsPayload; - variableIds.forEach((variableId) => { - columnsByVariable[variableId] = columnTitle; + variables.forEach((key) => { + columnsByVariable[key] = columnTitle; }); return columnsByVariable; }, {}); - return columnsByVariableId; + return columnsByVariables; } private mapProcessVariableTypes(variableType: string): DataColumnType {