PowerMettersBaseProvider.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Winsoft.GOV.Framework.Model;
  7. using Dapper;
  8. using System.Data;
  9. namespace Winsoft.GOV.Framework.Provider
  10. {
  11. public class PowerMettersBaseProvider : BaseProvider<PowerMattersBase>
  12. {
  13. private static string cols = " `QL_INNER_CODE`, "
  14. + "`QL_NAME` ";
  15. public void CreateTable()
  16. {
  17. string sql = "create table if not exists PowerMattersBase("
  18. + "QL_NAME varchar(200),"
  19. + "QL_INNER_CODE varchar(50),"
  20. + "QL_DEP varchar(50),"
  21. + "OUGUID varchar(50),"
  22. + "QL_STATE varchar(1) DEFAULT '1'"
  23. + "); "
  24. + "call add_index('PowerMattersBase', 'index1', 'index1(QL_INNER_CODE, OUGUID)'); "
  25. + "call add_index('PowerMattersBase', 'index2', 'index2(QL_INNER_CODE)'); "
  26. + "call add_index('PowerMattersBase', 'index3', 'index3(OUGUID)'); "
  27. + "call add_index('PowerMattersBase', 'index4', 'index4(QL_STATE, OUGUID); ";
  28. using(var con = GetDbConnection())
  29. {
  30. con.Execute(sql);
  31. }
  32. }
  33. public PowerMettersBaseProvider(County county) : base(county)
  34. {
  35. }
  36. public void DeleteAll()
  37. {
  38. using (IDbConnection connection = GetDbConnection())
  39. {
  40. connection.Execute("delete from PowerMattersBase");
  41. }
  42. }
  43. public IEnumerable<PowerMattersBase> FindByBranchGUID(string guid)
  44. {
  45. //string sql = "select " + cols + " from powerMettersDetail where QL_INNER_CODE in (select QL_INNER_CODE PowerMattersBase where ouguid=@guid) and QL_STATE = '1'";
  46. string sql = "select " + cols + " from PowerMattersBase where ouguid=@guid and QL_STATE = '1'";
  47. using (IDbConnection connection = GetDbConnection())
  48. {
  49. return connection.Query<PowerMattersBase>(sql, new { guid = guid });
  50. }
  51. }
  52. public IEnumerable<PowerMattersBase> Find(string guid, string ql_kind)
  53. {
  54. string sql = "select " + cols + " from powerMettersDetail where OUGUID=@guid and ql_kind = @ql_kind and QL_INNER_CODE in (SELECT QL_INNER_CODE FROM PowerMattersBase WHERE ouguid=@guid and ql_state='1')";
  55. using (IDbConnection connection = GetDbConnection())
  56. {
  57. return connection.Query<PowerMattersBase>(sql, new { guid = guid, ql_kind = ql_kind });
  58. }
  59. }
  60. public IEnumerable<PowerMattersBase> Search(string ql_name, int itemIndex, int size)
  61. {
  62. string sql = "select " + cols + " from PowerMattersBase where ql_name like @ql_name and ql_state='1'";
  63. return GetItemList(sql, itemIndex, size, new { ql_name = "%" + ql_name + "%" });
  64. }
  65. public bool IsExistByQL_INNER_CODE(string ql_inner_code)
  66. {
  67. string sql = "select ouguid from PowerMattersBase where ql_inner_code=@ql_inner_code";
  68. using (IDbConnection connection = GetDbConnection())
  69. {
  70. IEnumerable<string> tmp = connection.Query<string>(sql, new { ql_inner_code = ql_inner_code });
  71. return tmp != null && tmp.Count() > 0;
  72. }
  73. }
  74. public void Insert(IList<PowerMattersBase> list)
  75. {
  76. string select = "select count(*) from PowerMattersBase where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  77. string update = "update PowerMattersBase set QL_NAME=@QL_NAME, QL_DEP=@QL_DEP where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  78. string insert = "insert PowerMattersBase(QL_NAME, QL_INNER_CODE, OUGUID, QL_DEP, QL_STATE) values(@QL_NAME, @QL_INNER_CODE, @OUGUID, @QL_DEP, @QL_STATE);";
  79. using (var conn = GetDbConnection())
  80. {
  81. foreach(PowerMattersBase p in list)
  82. {
  83. try
  84. {
  85. //int count = conn.QueryFirstOrDefault<int>(select, p);
  86. //if (count <= 0)
  87. conn.Execute(insert, p);
  88. //else
  89. // conn.Execute(update, p);
  90. }
  91. catch (Exception e)
  92. {
  93. }
  94. }
  95. }
  96. }
  97. public void Update(PowerMattersBase p)
  98. {
  99. string update = "update PowerMattersBase set QL_NAME=@QL_NAME, QL_DEP=@QL_DEP, QL_STATE=@QL_STATE where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  100. using (IDbConnection connection = GetDbConnection())
  101. {
  102. connection.Execute(update, p);
  103. }
  104. }
  105. public void Insert(PowerMattersBase p)
  106. {
  107. string insert = "insert PowerMattersBase(QL_NAME, QL_INNER_CODE, OUGUID, QL_DEP, QL_STATE) values(@QL_NAME, @QL_INNER_CODE, @OUGUID, @QL_DEP, @QL_STATE);";
  108. using (IDbConnection connection = GetDbConnection())
  109. {
  110. connection.Execute(insert, p);
  111. }
  112. }
  113. public bool IsOnceRun(string ql_inner_code)
  114. {
  115. string sql = "select ql_inner_code from oncerunpowermatters where ql_inner_code=@ql_inner_code";
  116. using (IDbConnection connection = GetDbConnection())
  117. {
  118. IEnumerable<string> tmp = connection.Query<string>(sql, new { ql_inner_code = ql_inner_code });
  119. return tmp != null && tmp.Count() > 0;
  120. }
  121. }
  122. }
  123. }