| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | 
							- using SqlSugar;
 
- using WMS.BZModels;
 
- using WMS.Info;
 
- using wms.sqlsugar.model.sx;
 
- using WMS.BZSqlSugar;
 
- using WMS.BZModels.Dto.SX.BaseWareareaDtos;
 
- namespace WMS.BZServices.SX
 
- {
 
-     public class BaseWareAreaService
 
-     {        
 
-         private readonly Repository<BaseWarearea> _wareArearepository;
 
-         private readonly Repository<BaseWarehouse> _warehouseRepository;
 
-         public BaseWareAreaService(Repository<BaseWarearea> wareArearepository, Repository<BaseWarehouse> warehouseRepository)
 
-         {
 
-             _wareArearepository = wareArearepository;
 
-             _warehouseRepository = warehouseRepository;
 
-         }
 
-         public PagedInfo<BaseWareareaDto> GetPageList(Pagination pagination, BaseWareareaQueryDto wareAreaQueryDto)
 
-         {
 
-             if (pagination.sord.ToUpper() != "ASC")
 
-             {
 
-                 pagination.sidx = pagination.sidx + " DESC";
 
-             }
 
-             if (pagination.sidx.IsEmpty())
 
-             {
 
-                 pagination.sidx = "AddTime DESC";
 
-             }
 
-             var predicate = Expressionable.Create<BaseWarearea, BaseWarehouse>();
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.KeyWord), (warearea, warehouse) => warearea.Code.Contains(wareAreaQueryDto.KeyWord) || warearea.Name.Contains(wareAreaQueryDto.Name));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.Code), (warearea, warehouse) => warearea.Code.Contains(wareAreaQueryDto.Code));
 
-             predicate = predicate.AndIF(!string.IsNullOrEmpty(wareAreaQueryDto?.Name), (warearea, warehouse) => warearea.Name.Contains(wareAreaQueryDto.Name));
 
-             var list = _wareArearepository.Context.Queryable<BaseWarearea, BaseWarehouse>((warearea, warehouse) => new object[] {
 
-                 JoinType.Left,warearea.WarehouseId == warehouse.Id   })
 
-                 .Select((warearea, warehouse) => new BaseWareareaDto
 
-                 {
 
-                     Id = warearea.Id.ToString(),
 
-                     WarehouseId = warearea.WarehouseId.ToString(),
 
-                     WarehouseName = warehouse.Name,
 
-                     IsStop = warearea.IsStop,
 
-                     Code = warearea.Code,
 
-                     Name = warearea.Name,
 
-                     TypeNum = warearea.TypeNum,
 
-                     Memo = warearea.Memo,
 
-                     AddWho = warearea.AddWho,
 
-                     AddTime = warearea.AddTime,
 
-                     EditWho = warearea.EditWho,
 
-                     EditTime = warearea.EditTime
 
-                 }).MergeTable().ToPage(pagination);
 
-             return list;
 
-         }
 
-         public IEnumerable<dynamic> GetSelectNameList()
 
-         {
 
-             var lists = _wareArearepository.Queryable().ToList().Select(o => new { id = o.Id.ToString(), text = o.Name });
 
-             return lists;
 
-         }
 
-         public void Save(LoginUserInfo loginUser, string keyValue, BaseWarearea entity)
 
-         {
 
-             try
 
-             {
 
-                 if (string.IsNullOrWhiteSpace(entity.Code))
 
-                 {
 
-                     throw new ArgumentException("库区编码不能为空");
 
-                 }
 
-                 var warehouse = _warehouseRepository.Queryable().First(o => o.Id == entity.WarehouseId);
 
-                 if (warehouse == null)
 
-                 {
 
-                     throw new ArgumentException("不存在的仓库!");
 
-                 }
 
-                 if (keyValue.IsEmpty() || keyValue == "undefined")
 
-                 {
 
-                     var mat = _wareArearepository.GetSingle(p => p.Code == entity.Code);
 
-                     if (mat != null)
 
-                     {
 
-                         throw new ArgumentException("库区编码已存在");
 
-                     }
 
-                     BaseWarearea item = new BaseWarearea()
 
-                     {
 
-                         WarehouseId = warehouse.Id,
 
-                         AddWho = loginUser.UserNo,
 
-                         Code = entity.Code,
 
-                         EditWho = loginUser.UserNo,
 
-                         Name = entity.Name,
 
-                         IsStop = 0,
 
-                         TypeNum = 1
 
-                     };
 
-                     _wareArearepository.Insert(item);
 
-                 }
 
-                 else
 
-                 {
 
-                     entity.EditTime = DateTime.Now;
 
-                     entity.EditWho = loginUser.UserNo;
 
-                     _wareArearepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).IgnoreColumns(it => it.WarehouseId).Where(it => it.Code == keyValue).ExecuteCommand();
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 throw ex;
 
-             }
 
-         }
 
-         public void Delete(string ModuleNo)
 
-         {
 
-             try
 
-             {
 
-                 _wareArearepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand();
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 throw ex;
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |