using SqlSugar; using wms.sqlsugar.model.pt; using WMS.BZModels; using WMS.BZModels.Dto.PT.WareHouseDtos; using WMS.Info; using WMS.BZSqlSugar; using WMS.Util; namespace WMS.BZServices.PT { public class WarehouseService { private readonly Repository _wareHouserepository; public WarehouseService(Repository wareHouserepository ) { _wareHouserepository = wareHouserepository; } public PagedInfo GetPageList(Pagination pagination, WareHouseQueryDto wareHouseQueryDto) { if (pagination.sord.ToUpper() != "ASC") { pagination.sidx = pagination.sidx + " DESC"; } if (pagination.sidx.IsEmpty()) { pagination.sidx = "AddTime DESC"; } var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(wareHouseQueryDto?.KeyWord), m => m.Code.Contains(wareHouseQueryDto.KeyWord)); predicate = predicate.AndIF(!string.IsNullOrEmpty(wareHouseQueryDto?.Code), m => m.Code.Contains(wareHouseQueryDto.Code)); predicate = predicate.AndIF(!string.IsNullOrEmpty(wareHouseQueryDto?.Name), m => m.Name.Contains(wareHouseQueryDto.Name)); var list = _wareHouserepository.Queryable().Where(predicate.ToExpression()) //.OrderBy(pagination.sidx) .ToPage(pagination); return list; } public IEnumerable GetSelectWarehouseNameList() { var lists = _wareHouserepository.Queryable().ToList().Select(o => new { id = o.Id.ToString(), text = o.Name }); return lists; } public List WearHouseList() { return BZModels.Extensions.EnumToListIdDesc(); } /// /// 获取树形数据 /// /// 父级id /// public List GetTree(string parentId) { try { var warehouseList = BZModels.Extensions.EnumToListIdDesc(); //var warehouseList = new List { // new BaseWarehouse { Code="PTManager",Name="盘条库"}, // new BaseWarehouse { Code="HJManager",Name="合金库"}, // new BaseWarehouse { Code="FJManager",Name="分拣库"}, // new BaseWarehouse { Code="SXManager",Name="时效库"}, // new BaseWarehouse { Code="CPManager",Name="成品库"}, //}; List treeList = new List(); string guidid = Guid.NewGuid().ToString(); treeList.Add(new TreeModel() { id = guidid, text = "所有仓库", value = guidid, showcheck = false, checkstate = 0, isexpand = true, parentId = "0" }); foreach (var item in warehouseList) { TreeModel node = new TreeModel { id = item.id.ToString(), text = item.text, value = item.id, showcheck = true, checkstate = 0, isexpand = true, parentId = guidid }; treeList.Add(node); } return treeList.ToTree(parentId); } catch (Exception ex) { throw ex; } } public void Save(LoginUserInfo loginUser, string keyValue, BaseWarehouse entity) { try { if (string.IsNullOrWhiteSpace(entity.Code)) { throw new ArgumentException("仓库编码不能为空"); } if (keyValue.IsEmpty() || keyValue == "undefined") { var mat = _wareHouserepository.GetSingle(p => p.Code == entity.Code); if (mat != null) { throw new ArgumentException("仓库编码已存在"); } BaseWarehouse item = new BaseWarehouse() { AddWho = loginUser.UserNo, Code = entity.Code, EditWho = loginUser.UserNo, Name = entity.Name, IsStop = 0, TypeNum = 1, ConfigId = 0 }; _wareHouserepository.Insert(item); } else { entity.EditTime = DateTime.Now; entity.EditWho = loginUser.UserNo; _wareHouserepository.AsUpdateable(entity).IgnoreColumns(it => it.AddTime).IgnoreColumns(it => it.AddWho).IgnoreColumns(it => it.TypeNum).Where(it => it.Code == keyValue).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } public void Delete(string ModuleNo) { try { _wareHouserepository.Deleteable().Where(it => it.Code == ModuleNo).ExecuteCommand(); } catch (Exception ex) { throw ex; } } } }