| | |
| | | |
| | | |
| | | #region 验证 |
| | | |
| | | if (string.IsNullOrEmpty(_ContainerTypeId)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[容器类型ID]{_ContainerTypeId}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_ContainerTypeId)) |
| | | { |
| | | if (!long.TryParse(_ContainerTypeId, out long outContainerTypeId)&&!string.IsNullOrEmpty(_ContainerTypeId)) |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_ContainerTypeName)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[容器类型名称]{_ContainerTypeName}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_ContainerTypeName)) |
| | | { |
| | | addItem.ContainerTypeName = (string)_ContainerTypeName; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_MaterialTypeId)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[物料类型ID]{_MaterialTypeId}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_MaterialTypeId)) |
| | | { |
| | | if (!long.TryParse(_MaterialTypeId, out long outMaterialTypeId)&&!string.IsNullOrEmpty(_MaterialTypeId)) |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_MaterialTypeCode)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[物料类型编号]{_MaterialTypeCode}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_MaterialTypeCode)) |
| | | { |
| | | addItem.MaterialTypeCode = (string)_MaterialTypeCode; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_MaterialTypeName)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[物料类型名称]{_MaterialTypeName}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_MaterialTypeName)) |
| | | { |
| | | addItem.MaterialTypeName = (string)_MaterialTypeName; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(_BoxQty)) |
| | | { |
| | | throw Oops.Oh($"第{index}行[物料容器容量]{_BoxQty}不能为空!"); |
| | | } |
| | | |
| | | if(!string.IsNullOrEmpty(_BoxQty)) |
| | | { |
| | | if (!decimal.TryParse(_BoxQty, out decimal outBoxQty)&&!string.IsNullOrEmpty(_BoxQty)) |
| | |
| | | |
| | | |
| | | |
| | | bool isExist = false; |
| | | if (!isEdit)//新增 |
| | | { |
| | | //数据是否存在重复 |
| | | isExist = await _wmsContainerPackagingRep.AnyAsync(u => |
| | | u.ContainerTypeId.Equals(input.ContainerTypeId) |
| | | ,false); |
| | | } |
| | | else//编辑 |
| | | { |
| | | |
| | | |
| | | |
| | | //当前编辑数据以外是否存在重复 |
| | | isExist = await _wmsContainerPackagingRep.AnyAsync(u => |
| | | u.Id != input.Id |
| | | &&u.ContainerTypeId.Equals(input.ContainerTypeId) |
| | | ,false); |
| | | } |
| | | |
| | | |
| | | |
| | | //没有配置联合主键,不需要验重 |
| | | if (isExist) throw Oops.Oh(ErrorCode.E0001); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | private async Task CheckExisitForImport(List<WmsContainerPackaging> inputs) |
| | | { |
| | | //根据联合主键验证表格中中是否已存在相同数据 |
| | | if (inputs?.Count <= 0) |
| | | { |
| | | throw Oops.Oh($"导入数据不能为空"); |
| | | } |
| | | //数据是否重复 |
| | | var existExcelItem = inputs.GroupBy(g => new { |
| | | g.ContainerTypeId |
| | | }) |
| | | .Where(g => g.Count() > 1) |
| | | .Select(s => new { |
| | | s.Key.ContainerTypeId |
| | | }).FirstOrDefault(); |
| | | if (existExcelItem != null) |
| | | { |
| | | var wmsContainerPackaging = existExcelItem.Adapt<WmsContainerPackaging>(); |
| | | var item= existExcelItem.Adapt<WmsContainerPackaging>(); |
| | | throw Oops.Oh($"导入的表格中,容器类型ID[{item.ContainerTypeId}]已存在"); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | //根据联合主键验证数据库中是否已存在相同数据 |
| | | var existDBItem = await _wmsContainerPackagingRep.DetachedEntities.FirstOrDefaultAsync(w=> |
| | | inputs.Select(s=>"" |
| | | +s.ContainerTypeId |
| | | ) |
| | | .Contains("" |
| | | +w.ContainerTypeId |
| | | )); |
| | | if (existDBItem != null) |
| | | { |
| | | var wmsContainerPackaging = existExcelItem.Adapt<WmsContainerPackaging>(); |
| | | var item= existExcelItem.Adapt<WmsContainerPackaging>(); |
| | | throw Oops.Oh($"系统中,容器类型ID[{item.ContainerTypeId}]已存在"); |
| | | } |
| | | } |
| | | |
| | | #endregion |