zs
2025-05-16 1cab3c66faf50250b1670cb749a88fcf28bbfe75
托盘号
已修改1个文件
35 ■■■■ 文件已修改
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application/Implements/WmsMaterialStockAppService.cs
@@ -188,18 +188,33 @@
        }
        var palceInfo = await _wmsplaceRepository.FindByNameAsync(input.PlaceNo);
        var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo);
        //if (container == null)
        //{
        //    throw new UserFriendlyException("托盘信息不存在");
        //}
        input.ContainerNo = string.IsNullOrEmpty(input.ContainerNo) ? "TP_" + DateTime.Now.ToString("yyMMddHHmmssfff") : input.ContainerNo;
        input.ContainerNo = string.IsNullOrEmpty(input.ContainerNo) ? "TP_" + "yyMMddHHmmssfff" : input.ContainerNo;
        var wmsmaterialstock = ObjectMapper.Map<WmsMaterialStockCreateDto, WmsMaterialStock>(input);
        input.MapExtraPropertiesTo(wmsmaterialstock, MappingPropertyDefinitionChecks.None);
        wmsmaterialstock.MaterialId = Guid.NewGuid().ToString("N");
        wmsmaterialstock.MaterialNo = material.MaterialNo;
        wmsmaterialstock.MaterialName = material.MaterialName;
        var wmsmaterialstockList = await _wmsmaterialstockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.PlaceNo });
        if (wmsmaterialstockList.Count > 0)
        {
            if (wmsmaterialstock.StorageTypeNo == PlaceTypeEnum.YUANLIAOKUWEI)
            {
                wmsmaterialstock.ContainerNo = wmsmaterialstockList[0].ContainerNo;
                input.ContainerNo = wmsmaterialstockList[0].ContainerNo;
            }
            if (wmsmaterialstockList[0].MaterialNo != material.MaterialNo)
            {
                throw new UserFriendlyException("当前库位已存放别的物料");
            }
        }
        var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo);
        wmsmaterialstock.ContainerStatus = ContainerStatusEnum.KUWEI;
        wmsmaterialstock.ContainerType = container == null ? ContainerTypeEnum.XUNI : container.ContainerType;
@@ -228,19 +243,7 @@
            await _wmsplaceRepository.UpdateAsync(place);
        }
        var wmsmaterialstockList = await _wmsmaterialstockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.PlaceNo });
        if (wmsmaterialstockList.Count > 0)
        {
            if(wmsmaterialstock.StorageTypeNo == PlaceTypeEnum.YUANLIAOKUWEI)
            {
                wmsmaterialstock.ContainerNo = wmsmaterialstockList[0].ContainerNo;
                input.ContainerNo = wmsmaterialstockList[0].ContainerNo;
            }
            if (wmsmaterialstockList[0].MaterialNo != material.MaterialNo)
            {
                throw new UserFriendlyException("当前库位已存放别的物料");
            }
        }
        var maxSort = await _wmsmaterialstockRepository.GetMaxSortAsync();
        var sort = input.Sort ?? maxSort;
@@ -288,7 +291,7 @@
        {
            container = new WmsContainer
            {
                ContainerNo = input.ContainerNo,
                ContainerNo = wmsmaterialstock.ContainerNo,
                ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI,
                ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI,
            };