新增原料入场记录功能,包含免密接口和数据同步,更新相关控制器、实体和服务,支持条码/批次号生成及管理,优化用户体验和系统实时数据处理能力。
This commit is contained in:
@@ -82,6 +82,7 @@ public class JeecgDictSyncService : IJeecgDictSyncService, ISingletonDependency
|
||||
const int pageSize = 500;
|
||||
var pageNo = 1;
|
||||
var synced = 0;
|
||||
var seenIds = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
while (true)
|
||||
{
|
||||
@@ -111,6 +112,8 @@ public class JeecgDictSyncService : IJeecgDictSyncService, ISingletonDependency
|
||||
continue;
|
||||
}
|
||||
|
||||
seenIds.Add(id);
|
||||
|
||||
var existing = await _dbContext.Queryable<JeecgSysDictItem>()
|
||||
.ClearFilter()
|
||||
.Where(x => x.Id == id)
|
||||
@@ -161,6 +164,15 @@ public class JeecgDictSyncService : IJeecgDictSyncService, ISingletonDependency
|
||||
pageNo++;
|
||||
}
|
||||
|
||||
// 删除本地存在但后端已移除的字典项(如后端删除重建导致 ID 变化)
|
||||
if (seenIds.Count > 0)
|
||||
{
|
||||
var seenList = seenIds.ToList();
|
||||
await _dbContext.Deleteable<JeecgSysDictItem>()
|
||||
.Where(x => !seenList.Contains(x.Id))
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
return synced;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user