123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263 |
- using System;
- using System.Collections.Generic;
- using WMS.Info;
- using WMS.Util;
- namespace WMS.Core
- {
- public class BaseMatItem
- {
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<BASE_MATITEM> GetList(string keyword)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().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;
- }
- }
- /// <summary>
- /// 获取分页数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<BASE_MATITEM> GetPageList(string keyword, Pagination pagination)
- {
- try
- {
- int count = 0;
- var db = SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
-
- List<BASE_MATITEM> 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;
- }
- }
-
- /// <summary>
- /// 获取列表数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<BASE_MATCONVUNIT> GetUnitList(string OrderNo)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<BASE_MATCONVUNIT>().Where(it => it.F_MATNO == OrderNo).ToList();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 获取单据数据
- /// <summary>
- /// <returns></returns>
- public IEnumerable<BASE_MATCONVUNIT> GetUnit(Pagination pagination, string OrderNo)
- {
- try
- {
- int count = 0;
- var db = SysDbCore.GetDbCtx().Queryable<BASE_MATCONVUNIT>().Where(it => it.F_MATNO == OrderNo);
- List<BASE_MATCONVUNIT> list = null;
- //if (pagination.sidx == "F_LQTY")
- //{
- // list = db.ToList();
- //}
- 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;
- }
- }
- /// <summary>
- /// 获取实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public BASE_MATITEM GetEntity(string keyValue)
- {
- try
- {
- return SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void DeleteEntity(string keyValue)
- {
- try
- {
- //SysDbCore.GetDbCtx().Deleteable<BASE_MATITEM>().Where(it => it.F_NO == keyValue).ExecuteCommand();
- SysDbCore.GetDbCtx().Updateable<BASE_MATITEM>().UpdateColumns(it => new BASE_MATITEM { F_ISDELETE = 1 }).Where(it => it.F_NO == keyValue).ExecuteCommand();
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_MATITEM 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<BASE_MATITEM>().First(v => v.F_NO == entity.F_NO);
- if (item != null)
- {
- throw SysExCore.ThrowFailException("物料编号不能重复。");
- }
- entity.F_DEFINE04 = "EA"; // 最小包装单位
- entity.F_BASEUNITNO = "EA";
- var UnitChange = SysDbCore.GetDbCtx().Queryable<BASE_MATCONVUNIT>().First(v=>v.F_MATNO== entity.F_NO && v.F_CONVUNIT== entity.F_DEFINE04);
- if (UnitChange == null)
- {
- UnitChange = new BASE_MATCONVUNIT();
- UnitChange.F_NO = Guid.NewGuid().ToString();
- UnitChange.F_MATNO = entity.F_NO;
- UnitChange.F_CONVUNIT = entity.F_DEFINE04;
- UnitChange.F_CONVERSION = 1;
- UnitChange.F_BASEUNIT = entity.F_BASEUNITNO;
- SysDbCore.GetDbCtx().Insertable(UnitChange).ExecuteCommand();
- }
-
- entity.F_FACTOR = UnitChange.F_CONVERSION;
- entity.F_ADDTIME = DateTime.Now;
- entity.F_ADDUSERNO = loginUserInfo.UserNo;
- entity.F_ISDELETE = 0;
- //entity.F_ISSTOP = 0;
- SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand();
- }
- else
- {
- var UnitChange = SysDbCore.GetDbCtx().Queryable<BASE_MATCONVUNIT>().First(v => v.F_MATNO == entity.F_NO && v.F_CONVUNIT == entity.F_DEFINE04);
- entity.F_FACTOR = UnitChange.F_CONVERSION;
- SysDbCore.GetDbCtx().Updateable(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO ,it.F_QCTYPECODE,it.F_QCQTY,it.F_QCADDR,it.F_DEFINE03 }).Where(it => it.F_NO == keyValue).ExecuteCommand();
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- public Dictionary<string, BASE_MATITEM> GetMap()
- {
- try
- {
- Dictionary<string, BASE_MATITEM> dics = new Dictionary<string, BASE_MATITEM>();
- SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().ToList().ForEach(it => dics.Add(it.F_NO, it));
- return dics;
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- /// <summary>
- /// 获取树形数据
- /// </summary>
- /// <param name="parentId">父级id</param>
- /// <returns></returns>
- public List<TreeModel> GetTree(string parentId)
- {
- try
- {
- var baseMatGrpList = new BaseMatGrp().GetList(string.Empty);
- List<TreeModel> treeList = new List<TreeModel>();
- 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 baseMatGrpList)
- {
- TreeModel node = new TreeModel
- {
- id = item.F_NO,
- text = item.F_NAME,
- value = item.F_NO,
- showcheck = false,
- checkstate = 0,
- isexpand = true,
- parentId = string.IsNullOrEmpty(item.F_PNO) ? guidid : item.F_PNO
- };
- treeList.Add(node);
- }
- return treeList.ToTree(parentId);
- }
- catch (Exception ex)
- {
- throw ex;
- }
- }
- }
- }
|