using System; using System.Collections.Generic; using WMS.Info; using WMS.Util; using System.Linq; namespace WMS.Core { public class BaseWareCell { /// /// 获取列表数据 /// /// public IEnumerable GetList(string keyword) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList(); } catch (Exception ex) { throw ex; } } /// /// 获取列表数据 /// /// 仓库号或者区域号 /// public IEnumerable GetListByWare(ViewParams t) { try { var data = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0); if (data == null) return null; if (data.Count() <= 0) return null; var resData = data.ToList(); if (!string.IsNullOrEmpty(t.txt_WareaNo)) { string[] wareaNO = t.txt_WareaNo.Split(','); resData = resData.Where(v => wareaNO.Contains(v.F_WAREANO) || wareaNO.Contains(v.F_WAREHOUSENO)).ToList(); } if (!string.IsNullOrEmpty(t.txt_WareaCellNo)) { resData = resData.Where(v => v.F_NO.Contains(t.txt_WareaCellNo)).ToList(); } return resData; } catch (Exception ex) { throw ex; } } /// /// 获取分页数据 /// /// public IEnumerable GetPageList(string keyword,string warehouseId, Pagination pagination) { try { int count = 0; var db = SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)); db.WhereIF(!warehouseId.IsEmpty(), v => v.F_WAREHOUSENO == warehouseId); List list = null; if (pagination.sord.ToUpper() == "ASC") { list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count); } else { string orderstr = pagination.sidx + " desc"; list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count); } pagination.records = count; return list; } catch (Exception ex) { throw ex; } } /// /// 获取实体数据 /// 主键 /// /// public BASE_WARECELL GetEntity(string keyValue) { try { return SysDbCore.GetDbCtx().Queryable().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First(); } catch (Exception ex) { throw ex; } } /// /// 删除实体数据 /// 主键 /// /// public void DeleteEntity(string keyValue) { try { //SysDbCore.GetDbCtx().Deleteable().Where(it => it.F_NO == keyValue).ExecuteCommand(); SysDbCore.GetDbCtx().Updateable().UpdateColumns(it => new BASE_WARECELL { F_ISDELETE = 1 }).Where(it => it.F_NO == keyValue).ExecuteCommand(); } catch (Exception ex) { throw ex; } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_WARECELL entity) { try { if (entity == null) { throw SysExCore.ThrowFailException("输入数据为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NO)) { throw SysExCore.ThrowFailException("编码为空。"); } if (string.IsNullOrWhiteSpace(entity.F_NAME)) { throw SysExCore.ThrowFailException("名称为空。"); } entity.F_EDITTIME = DateTime.Now; entity.F_EDITUSERNO = loginUserInfo.UserNo; if (string.IsNullOrEmpty(keyValue)) { var item = SysDbCore.GetDbCtx().Queryable().First(v => v.F_NO == entity.F_NO); if (item != null) { throw SysExCore.ThrowFailException("货位编号不能重复。"); } entity.F_ADDTIME = DateTime.Now; entity.F_ADDUSERNO = loginUserInfo.UserNo; entity.F_ISDELETE = 0; //entity.F_ISSTOP = 0; SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand(); } else { SysDbCore.GetDbCtx().Updateable(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand(); } } catch (Exception ex) { throw ex; } } public Dictionary GetMap() { try { Dictionary dics = new Dictionary(); SysDbCore.GetDbCtx().Queryable().ToList().ForEach(it => dics.Add(it.F_NO, it)); return dics; } catch (Exception ex) { throw ex; } } } }