BaseSerial.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. using System;
  2. using System.Data;
  3. using System.Collections.Generic;
  4. using WMS.Info;
  5. using WMS.Util;
  6. namespace WMS.Core
  7. {
  8. /// <summary>
  9. /// 描 述:序列号管理
  10. /// </summary>
  11. public class BaseSerial
  12. {
  13. /// <summary>
  14. /// 获取列表数据
  15. /// <summary>
  16. /// <returns></returns>
  17. public IEnumerable<BASE_SERIAL> GetList(string keyword)
  18. {
  19. try
  20. {
  21. return SysDbCore.GetDbCtx().Queryable<BASE_SERIAL>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList();
  22. }
  23. catch (Exception ex)
  24. {
  25. throw ex;
  26. }
  27. }
  28. /// <summary>
  29. /// 获取分页数据
  30. /// <summary>
  31. /// <returns></returns>
  32. public IEnumerable<BASE_SERIAL> GetPageList(string keyword, Pagination pagination)
  33. {
  34. try
  35. {
  36. int count = 0;
  37. var db = SysDbCore.GetDbCtx().Queryable<BASE_SERIAL>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
  38. List<BASE_SERIAL> list = null;
  39. if (pagination.sord.ToUpper() == "ASC")
  40. {
  41. list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count);
  42. }
  43. else
  44. {
  45. string orderstr = pagination.sidx + " DESC";
  46. list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count);
  47. }
  48. pagination.records = count;
  49. return list;
  50. }
  51. catch (Exception ex)
  52. {
  53. throw ex;
  54. }
  55. }
  56. /// <summary>
  57. /// 获取实体数据
  58. /// <param name="keyValue">主键</param>
  59. /// <summary>
  60. /// <returns></returns>
  61. public BASE_SERIAL GetEntity(string keyValue)
  62. {
  63. try
  64. {
  65. return SysDbCore.GetDbCtx().Queryable<BASE_SERIAL>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
  66. }
  67. catch (Exception ex)
  68. {
  69. throw ex;
  70. }
  71. }
  72. /// <summary>
  73. /// 删除实体数据
  74. /// <param name="keyValue">主键</param>
  75. /// <summary>
  76. /// <returns></returns>
  77. public void DeleteEntity(string keyValue)
  78. {
  79. try
  80. {
  81. //SysDbCore.GetDbCtx().Deleteable<BASE_SERIAL>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  82. SysDbCore.GetDbCtx().Updateable<BASE_SERIAL>().UpdateColumns(it => new BASE_SERIAL { F_ISDELETE = 1 }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  83. }
  84. catch (Exception ex)
  85. {
  86. throw ex;
  87. }
  88. }
  89. /// <summary>
  90. /// 保存实体数据(新增、修改)
  91. /// <param name="keyValue">主键</param>
  92. /// <summary>
  93. /// <returns></returns>
  94. public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, BASE_SERIAL entity)
  95. {
  96. try
  97. {
  98. if (entity == null)
  99. {
  100. throw SysExCore.ThrowFailException("输入数据为空。");
  101. }
  102. if (string.IsNullOrWhiteSpace(entity.F_FORMAT))
  103. {
  104. throw SysExCore.ThrowFailException("格式为空。");
  105. }
  106. if (string.IsNullOrWhiteSpace(entity.F_NAME))
  107. {
  108. throw SysExCore.ThrowFailException("名称为空。");
  109. }
  110. entity.F_EDITTIME = DateTime.Now;
  111. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  112. if (string.IsNullOrEmpty(keyValue))
  113. {
  114. var item = SysDbCore.GetDbCtx().Queryable<BASE_SERIAL>().First(v => v.F_NO == entity.F_NO);
  115. if (item != null)
  116. {
  117. throw SysExCore.ThrowFailException("序列编号不能重复。");
  118. }
  119. entity.F_ADDTIME = DateTime.Now;
  120. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  121. entity.F_ISDELETE = 0;
  122. //entity.F_ISSTOP = 0;
  123. SysDbCore.GetDbCtx().Insertable(entity).ExecuteCommand();
  124. }
  125. else
  126. {
  127. SysDbCore.GetDbCtx().Updateable(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  128. }
  129. }
  130. catch (Exception ex)
  131. {
  132. throw ex;
  133. }
  134. }
  135. public Dictionary<string, BASE_SERIAL> GetMap()
  136. {
  137. try
  138. {
  139. Dictionary<string, BASE_SERIAL> dics = new Dictionary<string, BASE_SERIAL>();
  140. SysDbCore.GetDbCtx().Queryable<BASE_SERIAL>().ToList().ForEach(it => dics.Add(it.F_NO, it));
  141. return dics;
  142. }
  143. catch (Exception ex)
  144. {
  145. throw ex;
  146. }
  147. }
  148. }
  149. }