| | |
| | | { |
| | | throw new UserFriendlyException("物料信息不存在"); |
| | | } |
| | | var container = await _wmscontainerRepository.FindByNameAsync(input.ContainerNo); |
| | | var palceInfo = await _wmsplaceRepository.FindByNameAsync(input.PlaceNo); |
| | | |
| | | //if (container == null) |
| | | //{ |
| | | // throw new UserFriendlyException("托盘信息不存在"); |
| | | //} |
| | | input.ContainerNo = string.IsNullOrEmpty(input.ContainerNo) ? "TP_" + DateTime.Now.ToString("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; |
| | |
| | | |
| | | await _wmsplaceRepository.UpdateAsync(place); |
| | | } |
| | | var wmsmaterialstockList = await _wmsmaterialstockRepository.GetStockListAsync(new WmsMaterialStock { PlaceNo = input.PlaceNo }); |
| | | if (wmsmaterialstockList.Count > 0) |
| | | { |
| | | if (wmsmaterialstockList[0].MaterialNo != input.MaterialNo) |
| | | { |
| | | throw new UserFriendlyException("当前库位已存放别的物料"); |
| | | } |
| | | } |
| | | |
| | | |
| | | var maxSort = await _wmsmaterialstockRepository.GetMaxSortAsync(); |
| | | var sort = input.Sort ?? maxSort; |
| | |
| | | // 添加库存记录 |
| | | var record = new WmsInOutStockRecord |
| | | { |
| | | TaskNo = input.TaskNo, |
| | | TaskNo = string.IsNullOrEmpty(input.OrderNo) ? "Task_" + DateTime.Now.ToString("yyyyMMddHHmmssfff") : input.OrderNo, |
| | | OrderNo = input.OrderNo, |
| | | StockType = StockTypeEnum.InBound, |
| | | ContainerNo = stock.ContainerNo, |
| | |
| | | { |
| | | container = new WmsContainer |
| | | { |
| | | ContainerNo = input.ContainerNo, |
| | | ContainerNo = wmsmaterialstock.ContainerNo, |
| | | ContainerType = Domain.Shared.Enums.ContainerTypeEnum.XUNI, |
| | | ContainerStatus = Domain.Shared.Enums.ContainerStatusEnum.KUWEI, |
| | | }; |
| | |
| | | protected Task CheckCreateOrUpdateDtoAsync(WmsMaterialStockCreateOrUpdateDtoBase input) |
| | | { |
| | | Check.NotNull(input, nameof(input)); |
| | | Check.NotNullOrWhiteSpace(input.MaterialNo, "编号", WmsMaterialStockConsts.MaxCodeLength); |
| | | Check.NotNullOrWhiteSpace(input.MaterialName, "名称", WmsMaterialStockConsts.MaxNameLength); |
| | | //Check.NotNullOrWhiteSpace(input.MaterialNo, "编号", WmsMaterialStockConsts.MaxCodeLength); |
| | | //Check.NotNullOrWhiteSpace(input.MaterialName, "名称", WmsMaterialStockConsts.MaxNameLength); |
| | | Check.Length(input.Remark, "备注", WmsMaterialStockConsts.MaxRemarkLength); |
| | | return Task.CompletedTask; |
| | | } |