sync的时候有个边界没判断对

This commit is contained in:
Xu Chang 2025-05-08 14:00:54 +08:00
parent 3b6ddbe317
commit 17380fa8f9
3 changed files with 39 additions and 30 deletions

View File

@ -1902,16 +1902,19 @@ export default class TreeStore extends CascadeStore {
}, context, option2);
this.addToOperationResult(result, entity, 'create');
}
else if (this.store[entity][id].$current?.[UpdateAtAttribute] <= d[entity][id][UpdateAtAttribute]) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity][id],
filter: {
id,
},
}, context, option2);
this.addToOperationResult(result, entity, 'update');
else if (this.store[entity]?.[id]) {
const row = this.constructRow(this.store[entity][id], context);
if (row[UpdateAtAttribute] < d[entity][id][UpdateAtAttribute]) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity][id],
filter: {
id,
},
}, context, option2);
this.addToOperationResult(result, entity, 'update');
}
}
}
}

View File

@ -1904,16 +1904,19 @@ class TreeStore extends CascadeStore_1.CascadeStore {
}, context, option2);
this.addToOperationResult(result, entity, 'create');
}
else if (this.store[entity][id].$current?.[Entity_1.UpdateAtAttribute] <= d[entity][id][Entity_1.UpdateAtAttribute]) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity][id],
filter: {
id,
},
}, context, option2);
this.addToOperationResult(result, entity, 'update');
else if (this.store[entity]?.[id]) {
const row = this.constructRow(this.store[entity][id], context);
if (row[Entity_1.UpdateAtAttribute] < d[entity][id][Entity_1.UpdateAtAttribute]) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity][id],
filter: {
id,
},
}, context, option2);
this.addToOperationResult(result, entity, 'update');
}
}
}
}

View File

@ -2279,16 +2279,19 @@ export default class TreeStore<ED extends EntityDict & BaseEntityDict> extends C
} as ED[keyof ED]['CreateSingle'], context, option2);
this.addToOperationResult(result, entity, 'create');
}
else if (this.store[entity]![id].$current?.[UpdateAtAttribute]! <= d[entity]![id]![UpdateAtAttribute]!) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity]![id] as any,
filter: {
id,
} as any,
}, context, option2);
this.addToOperationResult(result, entity, 'update');
else if (this.store[entity]?.[id]) {
const row = this.constructRow(this.store[entity]![id]!, context);
if ((row[UpdateAtAttribute] as number) < (d[entity]![id]![UpdateAtAttribute] as number)) {
this.updateAbjointRow(entity, {
id: 'dummy',
action: 'update',
data: d[entity]![id] as any,
filter: {
id,
} as any,
}, context, option2);
this.addToOperationResult(result, entity, 'update');
}
}
}
}