电子药箱通讯服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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 StorageSpaceItemTransactionBLL : BaseOrclBLL<StorageSpaceItemTransaction>
  11. {
  12. public StorageSpaceItemTransactionBLL() : base()
  13. {
  14. AliasTableName = "sit";
  15. }
  16. internal override String TABLE_NAME { get { return "STORAGE_SPACE_ITEM_TRANSACTION"; } }//TB_NAME
  17. internal override string ENTITY_NAME { get { return "StorageSpaceItemTransaction"; } }
  18. internal override String KEY_COLUMN { get { return "KEY"; } }//KEY_COLUMN
  19. internal override void InitMaps()
  20. {
  21. ColumnPropMaps.Add("KEY", "Key");
  22. ColumnPropMaps.Add("ITEM_TRANSACTION_KEY", "ItemTransactionKey");
  23. ColumnPropMaps.Add("STORAGE_SPACE_ITEM_KEY", "StorageSpaceItemKey");
  24. ColumnPropMaps.Add("CREATE_BY", "CreateBy");
  25. ColumnPropMaps.Add("CREATE_TIME", "CreateTime");
  26. ColumnPropMaps.Add("FLAG", "Flag");
  27. ColumnPropMaps.Add("CLIENT_TIME", "ClientTime");
  28. ColumnPropMaps.Add("SERVER_TIME", "ServerTime");
  29. ColumnPropMaps.Add("EXT01", "Ext01");
  30. ColumnPropMaps.Add("EXT02", "Ext02");
  31. ColumnPropMaps.Add("EXT03", "Ext03");
  32. ColumnPropMaps.Add("EXT04", "Ext04");
  33. ColumnPropMaps.Add("EXT05", "Ext05");
  34. ColumnPropMaps.Add("EXT06", "Ext06");
  35. ColumnPropMaps.Add("EXT07", "Ext07");
  36. ColumnPropMaps.Add("EXT08", "Ext08");
  37. ColumnPropMaps.Add("EXT09", "Ext09");
  38. ColumnPropMaps.Add("EXT10", "Ext10");
  39. ColumnPropMaps.Add("S_P_I_SNAPSHOT_KEY", "SPISnapshotKey");
  40. ColumnPropMaps.Add("DEVICE_KEY", "DeviceKey");
  41. ColumnPropMaps.Add("STORAGE_SPACE_KEY", "StorageSpaceKey");
  42. ColumnPropMaps.Add("STORAGE_SPACE_SNAPSHOT_KEY", "StorageSpaceSnapshotKey");
  43. ColumnPropMaps.Add("PLAN_KEY", "PlanKey");//COLUMN_MAPS
  44. }
  45. internal override object GetParam(StorageSpaceItemTransaction storagespaceitemtransaction)
  46. {
  47. return new
  48. {
  49. Key = storagespaceitemtransaction.Key,
  50. ItemTransactionKey = storagespaceitemtransaction.ItemTransactionKey,
  51. StorageSpaceItemKey = storagespaceitemtransaction.StorageSpaceItemKey,
  52. CreateBy = storagespaceitemtransaction.CreateBy,
  53. CreateTime = storagespaceitemtransaction.CreateTime,
  54. Flag = storagespaceitemtransaction.Flag,
  55. ClientTime = storagespaceitemtransaction.ClientTime,
  56. ServerTime = storagespaceitemtransaction.ServerTime,
  57. Ext01 = storagespaceitemtransaction.Ext01,
  58. Ext02 = storagespaceitemtransaction.Ext02,
  59. Ext03 = storagespaceitemtransaction.Ext03,
  60. Ext04 = storagespaceitemtransaction.Ext04,
  61. Ext05 = storagespaceitemtransaction.Ext05,
  62. Ext06 = storagespaceitemtransaction.Ext06,
  63. Ext07 = storagespaceitemtransaction.Ext07,
  64. Ext08 = storagespaceitemtransaction.Ext08,
  65. Ext09 = storagespaceitemtransaction.Ext09,
  66. Ext10 = storagespaceitemtransaction.Ext10,
  67. SPISnapshotKey = storagespaceitemtransaction.SPISnapshotKey,
  68. DeviceKey = storagespaceitemtransaction.DeviceKey,
  69. StorageSpaceKey = storagespaceitemtransaction.StorageSpaceKey,
  70. StorageSpaceSnapshotKey = storagespaceitemtransaction.StorageSpaceSnapshotKey,
  71. PlanKey = storagespaceitemtransaction.PlanKey, //Params
  72. };
  73. }
  74. public IEnumerable<StorageSpaceItemTransaction> ListTransactions(DateTime startTime, DateTime endTime, DispensingDevice device, params String[] transactionTypes)
  75. {
  76. #region SqlBuilder
  77. SqlBuilder sqlBuilder = new SqlBuilder(this);
  78. #region StorageSpaceItem
  79. StorageSpaceItemBLL storageSpaceItemBLL = new StorageSpaceItemBLL();
  80. TableJoinInfo storageItemTable = new TableJoinInfo
  81. {
  82. LeftDal = this,
  83. LeftColumnName = "STORAGE_SPACE_ITEM_KEY",
  84. RightDal = storageSpaceItemBLL,
  85. RightColumnName = "KEY",
  86. JoinType = TableJoinTypes.Inner,
  87. };
  88. sqlBuilder.AppendSelectionTable(storageItemTable);
  89. #endregion
  90. #region StorageSpace
  91. StorageSpaceBLL storageSpaceBLL = new StorageSpaceBLL();
  92. TableJoinInfo storageTable = new TableJoinInfo
  93. {
  94. LeftDal = storageSpaceItemBLL,
  95. LeftColumnName = "STORAGE_SPACE_KEY",
  96. RightDal = storageSpaceBLL,
  97. RightColumnName = "KEY",
  98. JoinType = TableJoinTypes.Inner,
  99. };
  100. sqlBuilder.AppendSelectionTable(storageTable);
  101. #endregion
  102. #region parent StorageSpace
  103. TableJoinInfo storageParentTable = new TableJoinInfo
  104. {
  105. LeftDal = storageSpaceBLL,
  106. LeftColumnName = "PARENT_KEY",
  107. RightDal = storageSpaceBLL,
  108. RightColumnName = "KEY",
  109. RightTableAliasName = "sp",
  110. JoinType = TableJoinTypes.Inner,
  111. };
  112. sqlBuilder.AppendSelectionTable(storageParentTable);
  113. #endregion
  114. #region item
  115. ItemBLL itemBLL = new ItemBLL();
  116. TableJoinInfo itemTable = new TableJoinInfo
  117. {
  118. LeftDal = storageSpaceItemBLL,
  119. LeftColumnName = "ITEM_KEY",
  120. RightDal = itemBLL,
  121. RightColumnName = "KEY",
  122. JoinType = TableJoinTypes.Inner,
  123. };
  124. sqlBuilder.AppendSelectionTable(itemTable);
  125. #endregion
  126. #region ItemTransaction
  127. ItemTransactionBLL itemTransactionBLL = new ItemTransactionBLL();
  128. TableJoinInfo itemTransactionTable = new TableJoinInfo
  129. {
  130. LeftDal = this,
  131. LeftColumnName = "ITEM_TRANSACTION_KEY",
  132. RightDal = itemTransactionBLL,
  133. RightColumnName = "KEY",
  134. JoinType = TableJoinTypes.Inner,
  135. };
  136. sqlBuilder.AppendSelectionTable(itemTransactionTable);
  137. #endregion
  138. #region user
  139. UserInfoBLL userInfoBLL = new UserInfoBLL();
  140. TableJoinInfo userTable = new TableJoinInfo
  141. {
  142. LeftDal = itemTransactionBLL,
  143. LeftColumnName = "CREATE_BY",
  144. RightDal = userInfoBLL,
  145. RightColumnName = "KEY",
  146. JoinType = TableJoinTypes.Inner,
  147. };
  148. sqlBuilder.AppendSelectionTable(userTable);
  149. #endregion
  150. sqlBuilder.AppendWherePhrases(String.Format("{0}.CREATE_TIME BETWEEN :startTime AND :endTime", itemTransactionBLL.AliasTableName));
  151. if (device != null)
  152. {
  153. sqlBuilder.AppendWherePhrases(String.Format("{0}.DEVICE_KEY=:deviceKey", itemTransactionBLL.AliasTableName));
  154. }
  155. if (transactionTypes != null)
  156. {
  157. sqlBuilder.AppendWherePhrases(String.Format("{0}.TRANSACTION_TYPE IN :transactionTypes", itemTransactionBLL.AliasTableName));
  158. }
  159. #endregion
  160. return SqlMapper.Query<StorageSpaceItemTransaction, StorageSpaceItem, StorageSpace, StorageSpace, Item, ItemTransaction, UserInfo, StorageSpaceItemTransaction>(
  161. ConnectionFactory.Current.GetSessionConnection(),
  162. sqlBuilder.ToString(),
  163. (sit, si, s, sp, i, it, u) =>
  164. {
  165. sit.StorageSpaceItem = si;
  166. si.StorageSpace = s;
  167. s.ParentInfo = sp;
  168. si.Item = i;
  169. sit.ItemTransaction = it;
  170. it.Creator = u;
  171. return sit;
  172. },
  173. new
  174. {
  175. startTime = startTime,
  176. endTime = endTime,
  177. deviceKey = device == null ? default(Guid) : device.Key,
  178. transactionTypes = transactionTypes
  179. },
  180. splitOn: sqlBuilder.GetSpiltors());
  181. }
  182. }
  183. }