diff --git a/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs b/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs index 9c902bc1..42fff12b 100644 --- a/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs +++ b/BasicData/Tnb.BasicData.Entities/Entity/BasLocation.cs @@ -123,4 +123,8 @@ public partial class BasLocation : BaseEntity /// 列 /// public int loc_column { get; set; } + /// + /// 是否超配(1:不超配 2:超配) + /// + public string is_overmatch { get; set; } } diff --git a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs index a4166499..ae098b9a 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/BaseWareHouseService.cs @@ -48,7 +48,7 @@ namespace Tnb.WarehouseMgr [Route("api/[area]/[controller]/[action]")] public class BaseWareHouseService : IOverideVisualDevService, IDynamicApiController, ITransient { - private static Lazy> _stroageMap; + private static Lazy> _stroageMapLazy; public OverideVisualDevFunc OverideFuncs { get; } = new OverideVisualDevFunc(); private readonly ChannelWriter _channelWriter; @@ -59,7 +59,7 @@ namespace Tnb.WarehouseMgr static BaseWareHouseService() { - _stroageMap = new Lazy>(() => + _stroageMapLazy = new Lazy>(() => { Dictionary map = new(StringComparer.OrdinalIgnoreCase); var serviceTypes = App.EffectiveTypes.Where(u => u.IsClass && !u.IsInterface && !u.IsAbstract && typeof(IWHStorageService).IsAssignableFrom(u)).ToList(); @@ -140,9 +140,9 @@ namespace Tnb.WarehouseMgr [NonAction] protected async Task DoUpdate(WareHouseUpInput input) { - if (_stroageMap.Value.ContainsKey(input.loginType)) + if (_stroageMapLazy.Value.ContainsKey(input.loginType)) { - await _stroageMap.Value[input.loginType].Do(input); + await _stroageMapLazy.Value[input.loginType].Do(input); } } [NonAction] diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryLedgerService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryLedgerService.cs index 7a455402..991c2dbd 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryLedgerService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsCarryLedgerService.cs @@ -96,7 +96,20 @@ namespace Tnb.WarehouseMgr x.modify_id = null; x.modify_time = null; }); - row = await _db.Insertable(carrys).ExecuteCommandAsync(); + if (carrys.Count > 1000) + { + await _db.Fastest().BulkCopyAsync(carrys); + } + else if (carrys.Count > 400) + { + _db.Utilities.PageEach(carrys, 100, async pageList => { + await _db.Insertable(pageList).ExecuteCommandAsync(); + }); + } + else + { + row = await _db.Insertable(carrys).ExecuteCommandAsync(); + } } catch (Exception ex) { diff --git a/visualdev/Tnb.VisualDev/VisualDevModelDataService.cs b/visualdev/Tnb.VisualDev/VisualDevModelDataService.cs index adc31b40..66b953c8 100644 --- a/visualdev/Tnb.VisualDev/VisualDevModelDataService.cs +++ b/visualdev/Tnb.VisualDev/VisualDevModelDataService.cs @@ -800,7 +800,7 @@ namespace JNPF.VisualDev var overideSvc = OverideVisualDevManager.GetOrDefault(modelId); if (overideSvc != null && overideSvc.OverideFuncs.ImportDataAsync != null) { - await overideSvc.OverideFuncs.ImportDataAsync(list); + result = await overideSvc.OverideFuncs.ImportDataAsync(list); } else {