PowerMettersBaseProvider.cs 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  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`, `QL_DEP`, QL_KIND, "
  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. + "call add_index('powermattersbase', 'index5', 'index5(QL_STATE, QL_KIND); ";
  29. using (var con = GetDbConnection())
  30. {
  31. con.Execute(sql);
  32. }
  33. }
  34. public PowerMettersBaseProvider(County county) : base(county)
  35. {
  36. }
  37. public void DeleteAll()
  38. {
  39. using (IDbConnection connection = GetDbConnection())
  40. {
  41. connection.Execute("delete from powermattersbase");
  42. }
  43. }
  44. public IEnumerable<PowerMattersBase> FindByBranchGUID(string guid)
  45. {
  46. //string sql = "select " + cols + " from powerMettersDetail where QL_INNER_CODE in (select QL_INNER_CODE PowerMattersBase where ouguid=@guid) and QL_STATE = '1'";
  47. string sql = "select " + cols + " from powermattersbase where ouguid=@guid and QL_STATE = '1'";
  48. using (IDbConnection connection = GetDbConnection())
  49. {
  50. return connection.Query<PowerMattersBase>(sql, new { guid = guid });
  51. }
  52. }
  53. public IEnumerable<PowerMattersBase> Find(string guid, string ql_kind)
  54. {
  55. 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')";
  56. using (IDbConnection connection = GetDbConnection())
  57. {
  58. return connection.Query<PowerMattersBase>(sql, new { guid = guid, ql_kind = ql_kind });
  59. }
  60. }
  61. public PagedResult<PowerMattersBase> FindByPage(int itemIndex, int size)
  62. {
  63. string sql = "select " + cols + " from powermattersbase where ql_state='1'";
  64. return GetPagedList(sql, itemIndex, size);
  65. }
  66. public PagedResult<PowerMattersBase> FindByPage(int itemIndex, int size, string[] ql_kinds)
  67. {
  68. string sql = "select "+ cols + " from powermattersbase where ql_state='1'";
  69. if (ql_kinds.Length > 0)
  70. {
  71. sql = sql + " and ql_kind in ('" + string.Join("','", ql_kinds) + "')";
  72. }
  73. return GetPagedList(sql, itemIndex, size);
  74. }
  75. public PagedResult<PowerMattersBase> FindByPage(string key, int itemIndex, int size, string[] ql_kinds)
  76. {
  77. string sql = "select " + cols + " from powermattersbase where ql_state='1'";
  78. if (ql_kinds.Length > 0)
  79. {
  80. sql = sql + " and ql_kind in ('" + string.Join("','", ql_kinds) + "')";
  81. }
  82. if (!String.IsNullOrWhiteSpace(key))
  83. sql = sql + " and (ql_name like '%" + key+"%' or ql_dep like '%"+key+"%')";
  84. return GetPagedList(sql, itemIndex, size);
  85. }
  86. public PagedResult<PowerMattersBase> FindByPage(string key, int itemIndex, int size)
  87. {
  88. if (String.IsNullOrWhiteSpace(key))
  89. return FindByPage(itemIndex, size);
  90. string sql = "select " + cols + " from powermattersbase where ql_state='1' and (ql_name like '%" + key+"%' or ql_dep like '%"+key+"%')";
  91. return GetPagedList(sql, itemIndex, size);
  92. }
  93. public IEnumerable<PowerMattersBase> Search(string ql_name, int itemIndex, int size)
  94. {
  95. string sql = "select " + cols + " from powermattersbase where ql_name like @ql_name and ql_state='1'";
  96. return GetItemList(sql, itemIndex, size, new { ql_name = "%" + ql_name + "%" });
  97. }
  98. public bool IsExistByQL_INNER_CODE(string ql_inner_code)
  99. {
  100. string sql = "select ouguid from powermattersbase where ql_inner_code=@ql_inner_code";
  101. using (IDbConnection connection = GetDbConnection())
  102. {
  103. IEnumerable<string> tmp = connection.Query<string>(sql, new { ql_inner_code = ql_inner_code });
  104. return tmp != null && tmp.Count() > 0;
  105. }
  106. }
  107. public void Insert(IList<PowerMattersBase> list)
  108. {
  109. string select = "select count(*) from powermattersbase where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  110. string update = "update powermattersbase set QL_NAME=@QL_NAME, QL_DEP=@QL_DEP where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  111. 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);";
  112. using (var conn = GetDbConnection())
  113. {
  114. foreach(PowerMattersBase p in list)
  115. {
  116. try
  117. {
  118. //int count = conn.QueryFirstOrDefault<int>(select, p);
  119. //if (count <= 0)
  120. conn.Execute(insert, p);
  121. //else
  122. // conn.Execute(update, p);
  123. }
  124. catch (Exception e)
  125. {
  126. }
  127. }
  128. }
  129. }
  130. public void Update(PowerMattersBase p)
  131. {
  132. 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;";
  133. using (IDbConnection connection = GetDbConnection())
  134. {
  135. connection.Execute(update, p);
  136. }
  137. }
  138. public void Insert(PowerMattersBase p)
  139. {
  140. 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);";
  141. using (IDbConnection connection = GetDbConnection())
  142. {
  143. connection.Execute(insert, p);
  144. }
  145. }
  146. public bool IsOnceRun(string ql_inner_code)
  147. {
  148. string sql = "select ql_inner_code from oncerunpowermatters where ql_inner_code=@ql_inner_code";
  149. using (IDbConnection connection = GetDbConnection())
  150. {
  151. IEnumerable<string> tmp = connection.Query<string>(sql, new { ql_inner_code = ql_inner_code });
  152. return tmp != null && tmp.Count() > 0;
  153. }
  154. }
  155. }
  156. }