电子药箱通讯服务端
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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using RDH.Data.Models;
  6. namespace RDH.Data.BLL
  7. {
  8. public partial class DispensingDeviceBLL : IDispensingDeviceBLL
  9. {
  10. public DispensingDevice DispensingDevice()
  11. {
  12. var sql = BuildBaseSql();
  13. return SqlMapper.Query<DispensingDevice>(ConnectionFactory.Current.GetSessionConnection(), sql).FirstOrDefault();
  14. }
  15. public IEnumerable<DispensingDevice> ListDispensingDevice()
  16. {
  17. var ListDispensingDevice = SqlMapper.Query<DispensingDevice>(ConnectionFactory.Current.GetSessionConnection(), BuildBaseSql());
  18. return ListDispensingDevice;
  19. }
  20. public IEnumerable<DispensingDevice> ListDispensingDeviceWithSection()
  21. {
  22. StringBuilder sqlBuilder = new StringBuilder();
  23. sqlBuilder.Append("SELECT ");
  24. foreach (KeyValuePair<String, String> pair in this.ColumnPropMaps)
  25. {
  26. sqlBuilder.AppendFormat("d.{0} {1},", pair.Key, pair.Value);
  27. }
  28. sqlBuilder.Append("'' spiltor1,");
  29. SectionBLL bllSection = new SectionBLL();
  30. foreach (KeyValuePair<String, String> pair in bllSection.ColumnPropMaps)
  31. {
  32. sqlBuilder.AppendFormat("s.{0} {1},", pair.Key, pair.Value);
  33. }
  34. sqlBuilder.Remove(sqlBuilder.Length - 1, 1);
  35. sqlBuilder.AppendFormat(" FROM {0} d"
  36. + " LEFT JOIN {1} s ON s.KEY=d.OPERATION_ROOM_KEY"
  37. + " WHERE LOWER(d.ENABEL_FLAG)='true'",
  38. this.TABLE_NAME, bllSection.TABLE_NAME);
  39. return SqlMapper.Query<DispensingDevice, Section, DispensingDevice>(ConnectionFactory.Current.GetSessionConnection(),
  40. sqlBuilder.ToString(),
  41. (d, s) =>
  42. {
  43. d.SectionInfo = s;
  44. return d;
  45. },
  46. splitOn: "spiltor1");
  47. }
  48. public bool IsCodeRegister(DispensingDevice deviceByCode)
  49. {
  50. var param = GetParam(deviceByCode);
  51. //string sql = "";
  52. //if (deviceByCode.LastKey != null)
  53. //{
  54. // sql = string.Format("{0} WHERE UPPER(\"DEVICE_CODE\")=UPPER(:DeviceCode_) AND \"KEY\"<>:LastKey_", this.BuildBaseSql());
  55. //}
  56. //else
  57. //{
  58. string sql = string.Format("{0} WHERE UPPER(DEVICE_CODE)=UPPER(:DeviceCode_) AND ENABEL_FLAG='True'", this.BuildBaseSql());
  59. //}
  60. return SqlMapper.Query<DispensingDevice>(ConnectionFactory.Current.GetSessionConnection(), sql, param).Count() > 0;
  61. }
  62. /// <summary>
  63. /// 是不是加上LastKey
  64. /// </summary>
  65. public bool IsNodeExit(DispensingDevice deviceByNode)
  66. {
  67. var param = GetParam(deviceByNode);
  68. //string sql = "";
  69. //if (deviceByNode.LastKey != null)
  70. //{
  71. // sql = string.Format("{0} WHERE UPPER(\"NODE_ID\")=UPPER(:NodeId_) AND \"KEY\"<>:LastKey_", this.BuildBaseSql());
  72. //}
  73. //else
  74. //{
  75. string sql = string.Format("{0} WHERE UPPER(\"NODE_ID\")=UPPER(:NodeId_) AND ENABEL_FLAG='True'", this.BuildBaseSql());
  76. //}
  77. return SqlMapper.Query<DispensingDevice>(ConnectionFactory.Current.GetSessionConnection(), sql, param).Count() > 0;
  78. }
  79. /// <summary>
  80. /// 1.复制 STORAGE_SPACE DISPENSING_DEVICE数据
  81. /// 2.删除所有数据
  82. /// 3.写数据到DISPENSING_DEVICE STORAGE_SPACE
  83. /// 4.写配置详情到SYS_DICTIONARY
  84. /// 5.重新启动程序
  85. /// </summary>
  86. public void ResetDevice()
  87. {
  88. }
  89. }
  90. }