payne
2024-04-25 ba49ee82a84150f6c7d7afb26bd6397e4f8a7826
iWare_RawMaterialWarehouse_Wms/Admin.NET.Application/Service/WmsBase/WmsWarehouse/WmsWarehouseService.cs
@@ -257,7 +257,6 @@
                           var _Position = "";//定位
                           var _IsDisabled = "";//是否禁用
                           var _Remarks = "";//备注
                           var _Id = "";//Id主键
                          #endregion
                          
                          
@@ -273,7 +272,6 @@
                           _Position = row["定位"]?.ToString() ;
                           _IsDisabled = row["是否禁用"]?.ToString() ;
                           _Remarks = row["备注"]?.ToString() ;
                           _Id = row["Id主键"]?.ToString() ;
                          #endregion
                          
                          
@@ -385,22 +383,7 @@
                          {
                                addItem.Remarks = (string)_Remarks;
                           }
                          if(!string.IsNullOrEmpty(_Id))
                          {
                              if (!long.TryParse(_Id, out long outId)&&!string.IsNullOrEmpty(_Id))
                              {
                                 throw Oops.Oh($"第{index}行[Id主键]{_Id}值不正确!");
                              }
                              if (outId <= 0&&!string.IsNullOrEmpty(_Id))
                              {
                                 throw Oops.Oh($"第{index}行[Id主键]{_Id}值不能小于等于0!");
                              }
                              else
                              {
                                 addItem.Id = outId;
                              }
                          
                          }
                          #endregion
                          
@@ -440,7 +423,7 @@
        {
           
            string erorMsg = string.Empty;
           bool isExist = false;
           if (!isEdit)//新增
           {
@@ -448,6 +431,20 @@
                   isExist = await _wmsWarehouseRep.AnyAsync(u =>
                                   u.Code.Equals(input.Code)
                   ,false);
                if (isExist)
                {
                    erorMsg = $"系统中,仓库编号[{input.Code}]已存在";
                    throw Oops.Oh(erorMsg);
                }
                //数据是否存在重复
                isExist = await _wmsWarehouseRep.AnyAsync(u =>
                                u.Name.Equals(input.Name)
                , false);
                if (isExist)
                {
                    erorMsg = $"系统中,仓库名称[{input.Name}]已存在";
                    throw Oops.Oh(erorMsg);
                }
          }
           else//编辑 
          {
@@ -459,11 +456,24 @@
                                    u.Id != input.Id
                                    &&u.Code.Equals(input.Code)
                    ,false);
                if (isExist)
                {
                    erorMsg = $"系统中,仓库编号[{input.Code}]已存在";
                    throw Oops.Oh(erorMsg);
                }
                isExist = await _wmsWarehouseRep.AnyAsync(u =>
                           u.Id != input.Id
                           && u.Name.Equals(input.Name)
                , false);
                if (isExist)
                {
                    erorMsg = $"系统中,仓库名称[{input.Name}]已存在";
                    throw Oops.Oh(erorMsg);
                }
               }
               
        
            if (isExist) throw Oops.Oh(ErrorCode.E0001);
       }
        
        /// <summary>
@@ -479,21 +489,35 @@
                     throw Oops.Oh($"导入数据不能为空");
                 }
                 //数据是否重复
                 var existExcelItem = inputs.GroupBy(g => new {
            var existExcelItem = inputs.GroupBy(g => new
            {
                                               g.Code
                                               })
                                               .Where(g => g.Count() > 1)
                                               .Select(s => new {
                                          .Select(s => new
                                          {
                                               s.Key.Code
                                               }).FirstOrDefault();
                 if (existExcelItem != null)
                 {
                   var wmsWarehouse = existExcelItem.Adapt<WmsWarehouse>();
                   var item= existExcelItem.Adapt<WmsWarehouse>();
                   throw Oops.Oh($"导入的表格中,仓库编号[{item.Code}]已存在");
                 }
                      
            var existExcelItem2 = inputs.GroupBy(g => new
            {
                g.Name
            })
                                            .Where(g => g.Count() > 1)
                                            .Select(s => new
                                            {
                                                s.Key.Name
                                            }).FirstOrDefault();
            if (existExcelItem2 != null)
            {
                var item = existExcelItem2.Adapt<WmsWarehouse>();
                throw Oops.Oh($"导入的表格中,仓库名称[{item.Name}]已存在");
            }
    //根据联合主键验证数据库中是否已存在相同数据
@@ -506,10 +530,22 @@
                  ));
                  if (existDBItem != null)
                 {
                   var wmsWarehouse = existExcelItem.Adapt<WmsWarehouse>();
                   var item= existExcelItem.Adapt<WmsWarehouse>();
                var item = existDBItem.Adapt<WmsWarehouse>();
                   throw Oops.Oh($"系统中,仓库编号[{item.Code}]已存在");
                 }
            var existDBItem2 = await _wmsWarehouseRep.DetachedEntities.FirstOrDefaultAsync(w =>
                                                                     inputs.Select(s => ""
                                                                       + s.Name
                                                                    )
                                                                    .Contains(""
                                                                     + w.Name
              ));
            if (existDBItem2 != null)
            {
                var item = existDBItem2.Adapt<WmsWarehouse>();
                throw Oops.Oh($"系统中,仓库名称[{item.Name}]已存在");
            }
        }
        #endregion