From 14f9c8378bde7d9a8d8f1fcc393e0e8d49eced82 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周五, 09 5月 2025 17:44:29 +0800 Subject: [PATCH] 查找空库位,查找库存 --- HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs | 66 ++++++++++++++++++-------------- 1 files changed, 37 insertions(+), 29 deletions(-) diff --git a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs index a03b0b0..87b4765 100644 --- a/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs +++ b/HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs @@ -85,24 +85,47 @@ // throw new UserFriendlyException(L[CMSPluginDomainErrorCodes.NameAlreadyExists, input.MaterialNo]); //} var material = await _wmsMaterialRepository.FindByNameAsync(input.MaterialNo); - if(material == null) + if (material == null) { throw new UserFriendlyException("鐗╂枡淇℃伅涓嶅瓨鍦�"); } - var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo); + var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo); if (container == null) { throw new UserFriendlyException("鎵樼洏淇℃伅涓嶅瓨鍦�"); } - var place = await _wmsplaceRepository.FindByNameAsync(input.PlaceNo); - if(place == null) + + var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input); + input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None); + wmsmaterialstock.MaterialId = Guid.NewGuid().ToString("N"); + wmsmaterialstock.MaterialName = material.MaterialName; + + wmsmaterialstock.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; + wmsmaterialstock.ContainerType = container.ContainerType; + wmsmaterialstock.StorageTypeNo = Domain.Shared.Enums.PlaceTypeEnum.XUNIKUWEI; + wmsmaterialstock.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.DAIRU; + if (!string.IsNullOrEmpty(input.PlaceNo)) { - throw new UserFriendlyException("搴撲綅淇℃伅涓嶅瓨鍦�"); - } - var area = await _wmsareaRepository.FindByNameAsync(place.AreaCode); - if(area == null) - { - throw new UserFriendlyException("搴撲綅搴撳尯淇℃伅涓嶅瓨鍦�"); + var place = await _wmsplaceRepository.FindByNameAsync(input.PlaceNo); + if (place == null) + { + throw new UserFriendlyException("搴撲綅淇℃伅涓嶅瓨鍦�"); + } + var area = await _wmsareaRepository.FindByNameAsync(place.AreaCode); + if (area == null) + { + throw new UserFriendlyException("搴撲綅搴撳尯淇℃伅涓嶅瓨鍦�"); + } + + wmsmaterialstock.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.CUNHUO; + wmsmaterialstock.StorageTypeNo = place.StorageTypeNo; + wmsmaterialstock.AreaCode = place.AreaCode; + wmsmaterialstock.AreaName = area.AreaName; + + place.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.CUNHUO; + place.Islock = input.IsLock; + + await _wmsplaceRepository.UpdateAsync(place); } var wmsmaterialstockList = await _wmsmaterialstockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.PlaceNo }); if (wmsmaterialstockList.Count > 0) @@ -115,18 +138,6 @@ var maxSort = await _wmsmaterialstockRepository.GetMaxSortAsync(); var sort = input.Sort ?? maxSort; - var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input); - input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None); - wmsmaterialstock.MaterialId = Guid.NewGuid().ToString("N"); - wmsmaterialstock.MaterialName = material.MaterialName; - - wmsmaterialstock.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; - wmsmaterialstock.ContainerType = container.ContainerType; - - wmsmaterialstock.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.CUNHUO; - wmsmaterialstock.StorageTypeNo = place.StorageTypeNo; - wmsmaterialstock.AreaCode = place.AreaCode; - wmsmaterialstock.AreaName = area.AreaName; wmsmaterialstock.MaterialModel = material.MaterialModel; wmsmaterialstock.MaterialBatch = input.MaterialBatch; @@ -135,7 +146,7 @@ wmsmaterialstock.InStockTime = DateTime.Now; var stockList = new List<WmsMaterialStock>(); - for (int i = 0; i< input.StockNumber; i++) + for (int i = 0; i < input.StockNumber; i++) { var stock = new WmsMaterialStock(); var json = JsonSerializer.Serialize(wmsmaterialstock); @@ -149,11 +160,8 @@ container.ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI; - place.PlaceStatus = Domain.Shared.Enums.PlaceStatusEnum.CUNHUO; - place.Islock = input.IsLock; await _wmscontainerRepository.UpdateAsync(container); - await _wmsplaceRepository.UpdateAsync(place); //if (input.Sort.HasValue && wmsmaterialstock.Sort != maxSort) //{ @@ -199,9 +207,9 @@ throw new UserFriendlyException("搴撲綅搴撳尯淇℃伅涓嶅瓨鍦�"); } - foreach(var wmsmaterialstock in wmsmaterialstockList) + foreach (var wmsmaterialstock in wmsmaterialstockList) { - if(input.StockNumber< wmsmaterialstockList.Count) + if (input.StockNumber < wmsmaterialstockList.Count) { wmsmaterialstock.IsDeleted = true; input.StockNumber += 1; @@ -229,7 +237,7 @@ wmsmaterialstock.MaterialModel = material.MaterialModel; wmsmaterialstock.MaterialBatch = input.MaterialBatch; } - if(input.StockNumber > wmsmaterialstockList.Count) + if (input.StockNumber > wmsmaterialstockList.Count) { var stockList = new List<WmsMaterialStock>(); for (int i = 0; i < input.StockNumber - wmsmaterialstockList.Count; i++) -- Gitblit v1.9.3