BaseMatIQC.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using WMS.Core.ImportExecl;
  5. using WMS.Info;
  6. using WMS.Util;
  7. namespace WMS.Core
  8. {
  9. public class BaseMatIQC
  10. {
  11. /// <summary>
  12. /// 获取列表数据
  13. /// <summary>
  14. /// <returns></returns>
  15. public IEnumerable<BASE_MATITEM> GetList(string keyword)
  16. {
  17. try
  18. {
  19. 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();
  20. }
  21. catch (Exception ex)
  22. {
  23. throw ex;
  24. }
  25. }
  26. /// <summary>
  27. /// 获取分页数据
  28. /// <summary>
  29. /// <returns></returns>
  30. //public IEnumerable<V_BASE_MATQC> GetPageList(string keyword, string matgrpId, Pagination pagination)
  31. //{
  32. // try
  33. // {
  34. // int count = 0;
  35. // var db = SysDbCore.GetDbCtx().Queryable<V_BASE_MATQC>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
  36. // var list = db.WhereIF(!matgrpId.IsEmpty(), v => v.F_MATGRPNO == matgrpId).ToList();
  37. // if (pagination.sord.ToUpper() == "ASC")
  38. // {
  39. // list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count);
  40. // }
  41. // else
  42. // {
  43. // string orderstr = pagination.sidx + " desc";
  44. // list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count);
  45. // }
  46. // //list.ForEach(w => w.F_QCQTY = w.MINVAL);
  47. // pagination.records = count;
  48. // return list;
  49. // }
  50. // catch (Exception ex)
  51. // {
  52. // throw ex;
  53. // }
  54. //}
  55. /// <summary>
  56. /// 获取实体数据
  57. /// <param name="keyValue">主键</param>
  58. /// <summary>
  59. /// <returns></returns>
  60. public BASE_MATITEM GetEntity(string keyValue)
  61. {
  62. try
  63. {
  64. return SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
  65. }
  66. catch (Exception ex)
  67. {
  68. throw ex;
  69. }
  70. }
  71. /// <summary>
  72. /// 删除实体数据
  73. /// <param name="keyValue">主键</param>
  74. /// <summary>
  75. /// <returns></returns>
  76. public void DeleteEntity(string keyValue)
  77. {
  78. try
  79. {
  80. //SysDbCore.GetDbCtx().Deleteable<BASE_MATITEM>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  81. SysDbCore.GetDbCtx().Updateable<BASE_MATITEM>().UpdateColumns(it => new BASE_MATITEM { F_ISDELETE = 1 }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  82. }
  83. catch (Exception ex)
  84. {
  85. throw ex;
  86. }
  87. }
  88. /// <summary>
  89. /// 保存实体数据(新增、修改)
  90. /// <param name="keyValue">主键</param>
  91. /// <summary>
  92. /// <returns></returns>
  93. public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_MATITEM entity)
  94. {
  95. try
  96. {
  97. if (entity == null)
  98. {
  99. throw SysExCore.ThrowFailException("输入数据为空。");
  100. }
  101. //if (string.IsNullOrWhiteSpace(entity.F_NO))
  102. //{
  103. // throw SysExCore.ThrowFailException("编码为空。");
  104. //}
  105. //if (string.IsNullOrWhiteSpace(entity.F_NAME))
  106. //{
  107. // throw SysExCore.ThrowFailException("名称为空。");
  108. //}
  109. var mat = SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().First(v => v.F_NO == keyValue);
  110. if (mat == null)
  111. throw SysExCore.ThrowFailException("未找到物料");
  112. if (entity.F_QCTYPECODE == "1")
  113. {
  114. JsonConvUnitEntity json = UnitByConvUnit.GetConvUnitByBase(1, mat.F_NO, mat.F_DEFINE04, entity.F_QCQTY);
  115. entity.F_QCQTY = json.Entity.BaseValue;
  116. }
  117. entity.F_EDITTIME = DateTime.Now;
  118. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  119. if (string.IsNullOrEmpty(keyValue))
  120. {
  121. var item = SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().First(v => v.F_NO == entity.F_NO);
  122. if (item != null)
  123. {
  124. throw SysExCore.ThrowFailException("物料编号不能重复。");
  125. }
  126. entity.F_ADDTIME = DateTime.Now;
  127. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  128. entity.F_ISDELETE = 0;
  129. //entity.F_ISSTOP = 0;
  130. SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand();
  131. }
  132. else
  133. {
  134. mat.F_QCQTY = entity.F_QCQTY;
  135. mat.F_QCTYPECODE = entity.F_QCTYPECODE;
  136. mat.F_QCADDR = entity.F_QCADDR;
  137. mat.F_MEMO = entity.F_MEMO;
  138. mat.F_DEFINE03 = entity.F_DEFINE03;
  139. mat.F_EDITTIME = DateTime.Now;
  140. mat.F_EDITUSERNO = loginUserInfo.UserNo;
  141. SysDbCore.GetDbCtx().Updateable(mat).ExecuteCommand();
  142. }
  143. }
  144. catch (Exception ex)
  145. {
  146. throw ex;
  147. }
  148. }
  149. public Dictionary<string, BASE_MATITEM> GetMap()
  150. {
  151. try
  152. {
  153. Dictionary<string, BASE_MATITEM> dics = new Dictionary<string, BASE_MATITEM>();
  154. SysDbCore.GetDbCtx().Queryable<BASE_MATITEM>().ToList().ForEach(it => dics.Add(it.F_NO, it));
  155. return dics;
  156. }
  157. catch (Exception ex)
  158. {
  159. throw ex;
  160. }
  161. }
  162. /// <summary>
  163. /// 获取树形数据
  164. /// </summary>
  165. /// <param name="parentId">父级id</param>
  166. /// <returns></returns>
  167. public List<TreeModel> GetTree(string parentId)
  168. {
  169. try
  170. {
  171. var baseMatGrpList = new BaseMatGrp().GetList(string.Empty);
  172. List<TreeModel> treeList = new List<TreeModel>();
  173. string guidid = Guid.NewGuid().ToString();
  174. treeList.Add(new TreeModel()
  175. {
  176. id = guidid,
  177. text = "所有物料组",
  178. value = guidid,
  179. showcheck = false,
  180. checkstate = 0,
  181. isexpand = true,
  182. parentId = "0"
  183. });
  184. foreach (var item in baseMatGrpList)
  185. {
  186. TreeModel node = new TreeModel
  187. {
  188. id = item.F_NO,
  189. text = item.F_NAME,
  190. value = item.F_NO,
  191. showcheck = false,
  192. checkstate = 0,
  193. isexpand = true,
  194. parentId = string.IsNullOrEmpty(item.F_PNO) ? guidid : item.F_PNO
  195. };
  196. treeList.Add(node);
  197. }
  198. return treeList.ToTree(parentId);
  199. }
  200. catch (Exception ex)
  201. {
  202. throw ex;
  203. }
  204. }
  205. }
  206. }