电子药箱通讯服务端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

StorageSpaceItemLotBLL.cs 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using RDH.Data.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Xml.Linq;
  8. namespace RDH.Data.BLL
  9. {
  10. public partial class StorageSpaceItemLotBLL : BaseOrclSnapshotBLL<StorageSpaceItemLot>
  11. {
  12. public StorageSpaceItemLotBLL() : base()
  13. {
  14. AliasTableName = "sil";
  15. }
  16. internal override String TABLE_NAME { get { return "STORAGE_SPACE_ITEM_LOT"; } }//TB_NAME
  17. internal override string ENTITY_NAME { get { return "StorageSpaceItemLot"; } }
  18. internal override String KEY_COLUMN { get { return "SNAPSHOT_KEY"; } }//KEY_COLUMN
  19. internal override string SNAPSHOT_BASE { get { return "STORAGE_SPACE_ITEM_LOT_BASE"; } }
  20. internal override void InitMaps()
  21. {
  22. ColumnPropMaps.Add("SNAPSHOT_KEY", "SnapshotKey");
  23. ColumnPropMaps.Add("KEY", "Key");
  24. ColumnPropMaps.Add("QUANTITY", "Quantity");
  25. ColumnPropMaps.Add("CREATE_BY", "CreateBy");
  26. ColumnPropMaps.Add("CREATE_TIME", "CreateTime");
  27. ColumnPropMaps.Add("ITEM_KEY", "ItemKey");
  28. ColumnPropMaps.Add("LOT_KEY", "LotKey");
  29. ColumnPropMaps.Add("STORAGE_SAPCE_ITEM_KEY", "StorageSapceItemKey");
  30. ColumnPropMaps.Add("DEVICE_KEY", "DeviceKey");
  31. ColumnPropMaps.Add("FLAG", "Flag");
  32. ColumnPropMaps.Add("CLIENT_TIME", "ClientTime");
  33. ColumnPropMaps.Add("SERVER_TIME", "ServerTime");
  34. ColumnPropMaps.Add("EXT01", "Ext01");
  35. ColumnPropMaps.Add("EXT02", "Ext02");
  36. ColumnPropMaps.Add("EXT03", "Ext03");
  37. ColumnPropMaps.Add("EXT04", "Ext04");
  38. ColumnPropMaps.Add("EXT05", "Ext05");
  39. ColumnPropMaps.Add("EXT06", "Ext06");
  40. ColumnPropMaps.Add("EXT07", "Ext07");
  41. ColumnPropMaps.Add("EXT08", "Ext08");
  42. ColumnPropMaps.Add("EXT09", "Ext09");
  43. ColumnPropMaps.Add("EXT10", "Ext10");
  44. ColumnPropMaps.Add("POCKET_HOLES", "PocketHoles");//COLUMN_MAPS
  45. }
  46. internal override object GetParam(StorageSpaceItemLot storagespaceitemlot)
  47. {
  48. return new
  49. {
  50. SnapshotKey = storagespaceitemlot.SnapshotKey,
  51. Key = storagespaceitemlot.Key,
  52. Quantity = storagespaceitemlot.Quantity,
  53. CreateBy = storagespaceitemlot.CreateBy,
  54. CreateTime = storagespaceitemlot.CreateTime,
  55. ItemKey = storagespaceitemlot.ItemKey,
  56. LotKey = storagespaceitemlot.LotKey,
  57. StorageSapceItemKey = storagespaceitemlot.StorageSapceItemKey,
  58. DeviceKey = storagespaceitemlot.DeviceKey,
  59. Flag = storagespaceitemlot.Flag,
  60. ClientTime = storagespaceitemlot.ClientTime,
  61. ServerTime = storagespaceitemlot.ServerTime,
  62. Ext01 = storagespaceitemlot.Ext01,
  63. Ext02 = storagespaceitemlot.Ext02,
  64. Ext03 = storagespaceitemlot.Ext03,
  65. Ext04 = storagespaceitemlot.Ext04,
  66. Ext05 = storagespaceitemlot.Ext05,
  67. Ext06 = storagespaceitemlot.Ext06,
  68. Ext07 = storagespaceitemlot.Ext07,
  69. Ext08 = storagespaceitemlot.Ext08,
  70. Ext09 = storagespaceitemlot.Ext09,
  71. Ext10 = storagespaceitemlot.Ext10,
  72. PocketHoles = storagespaceitemlot.PocketHoles, //Params
  73. };
  74. }
  75. /// <summary>
  76. /// 获取存储单元的有效的库存批次
  77. /// </summary>
  78. /// <param name="storageSpaceItem"></param>
  79. /// <returns></returns>
  80. public IEnumerable<StorageSpaceItemLot> ListStorageSpaceItemLot(StorageSpaceItem storageSpaceItem)
  81. {
  82. SqlBuilder sqlBuilder = new SqlBuilder(this);
  83. ItemLotBLL itemLotBLL = new ItemLotBLL();
  84. TableJoinInfo itemlotTable = new TableJoinInfo()
  85. {
  86. LeftDal = this,
  87. LeftColumnName = "LOT_KEY",
  88. RightDal = itemLotBLL,
  89. RightColumnName = itemLotBLL.KEY_COLUMN,
  90. JoinType = TableJoinTypes.Inner,
  91. };
  92. sqlBuilder.AppendSelectionTable(itemlotTable);
  93. sqlBuilder.AppendWherePhrases($"{this.AliasTableName}.STORAGE_SAPCE_ITEM_KEY=:siKey");
  94. return SqlMapper.Query<StorageSpaceItemLot, ItemLot, StorageSpaceItemLot>(
  95. ConnectionFactory.Current.GetSessionConnection(),
  96. sqlBuilder.ToString(),
  97. (sil, il) =>
  98. {
  99. sil.ItemLot = il;
  100. return sil;
  101. },
  102. new
  103. {
  104. siKey = storageSpaceItem.Key
  105. },
  106. splitOn: sqlBuilder.GetSpiltors());
  107. }
  108. /// <summary>
  109. /// 获取存储单元的有效的库存批次
  110. /// </summary>
  111. /// <param name="storageSpaceItem"></param>
  112. /// <returns></returns>
  113. public IEnumerable<StorageSpaceItemLot> ListStorageSpaceItemLot(StorageSpace storageSpace)
  114. {
  115. SqlBuilder sqlBuilder = new SqlBuilder(this);
  116. //item lot
  117. ItemLotBLL itemLotBLL = new ItemLotBLL();
  118. TableJoinInfo itemlotTable = new TableJoinInfo()
  119. {
  120. LeftDal = this,
  121. LeftColumnName = "LOT_KEY",
  122. RightDal = itemLotBLL,
  123. RightColumnName = itemLotBLL.KEY_COLUMN,
  124. JoinType = TableJoinTypes.Inner,
  125. };
  126. sqlBuilder.AppendSelectionTable(itemlotTable);
  127. //storage_space_item
  128. StorageSpaceItemBLL storageSpaceItemBLL = new StorageSpaceItemBLL();
  129. TableJoinInfo ssiTable = new TableJoinInfo()
  130. {
  131. LeftDal = this,
  132. LeftColumnName = "STORAGE_SAPCE_ITEM_KEY",
  133. RightDal = storageSpaceItemBLL,
  134. RightColumnName = "KEY",
  135. JoinType = TableJoinTypes.Inner
  136. };
  137. sqlBuilder.AppendSelectionTable(ssiTable);
  138. //item
  139. ItemBLL itemBLL = new ItemBLL();
  140. TableJoinInfo itemTable = new TableJoinInfo
  141. {
  142. LeftDal = storageSpaceItemBLL,
  143. LeftColumnName = "ITEM_KEY",
  144. RightDal = itemBLL,
  145. RightColumnName = "KEY",
  146. JoinType = TableJoinTypes.Inner
  147. };
  148. sqlBuilder.AppendSelectionTable(itemTable);
  149. sqlBuilder.AppendWherePhrases($"{storageSpaceItemBLL.AliasTableName}.STORAGE_SPACE_KEY=:storageKey");
  150. return SqlMapper.Query<StorageSpaceItemLot, ItemLot, StorageSpaceItem, Item, StorageSpaceItemLot>(
  151. ConnectionFactory.Current.GetSessionConnection(),
  152. sqlBuilder.ToString(),
  153. (sil, il, si, i) =>
  154. {
  155. sil.ItemLot = il;
  156. sil.StorageSpaceItem = si;
  157. si.Item = i;
  158. return sil;
  159. },
  160. new
  161. {
  162. storageKey = storageSpace.Key
  163. },
  164. splitOn: sqlBuilder.GetSpiltors());
  165. }
  166. }
  167. }