OnceRunPowerMattersProvider.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Linq;
  5. using System.Text;
  6. using Dapper;
  7. using Winsoft.GOV.Framework.Model;
  8. namespace Winsoft.GOV.Framework.Provider
  9. {
  10. public class OnceRunPowerMattersProvider : BaseProvider<PowerMattersBase>
  11. {
  12. private static string cols = "QL_NAME, QL_INNER_CODE, OUGUID, QL_DEP, QL_STATE, QL_KIND";
  13. private static string sets = "QL_NAME=@QL_NAME, QL_DEP=@QL_DEP, OUGUID=@OUGUID, QL_STATE=@QL_STATE, QL_KIND=@QL_KIND";
  14. private static string vals = "@QL_NAME, @QL_INNER_CODE, @OUGUID, @QL_DEP, @QL_STATE, @QL_KIND";
  15. public void CreateTable()
  16. {
  17. string sql = "create table if not exists oncerunpowermatters("
  18. + "QL_NAME varchar(200),"
  19. + "QL_INNER_CODE varchar(50),"
  20. + "QL_DEP varchar(50),"
  21. + "OUGUID varchar(50),"
  22. + "QL_KIND varchar(2),"
  23. + "QL_STATE varchar(1) DEFAULT '1'"
  24. + "); "
  25. + "call add_index('oncerunpowermatters', 'index1', 'index1(QL_INNER_CODE, OUGUID)'); "
  26. + "call add_index('oncerunpowermatters', 'index2', 'index2(QL_INNER_CODE)'); "
  27. + "call add_index('oncerunpowermatters', 'index3', 'index3(OUGUID)'); "
  28. + "call add_index('oncerunpowermatters', 'index4', 'index4(QL_STATE, OUGUID); "
  29. + "call add_index('oncerunpowermatters', 'index5', 'index5(QL_STATE, QL_KIND); ";
  30. using (var con = GetDbConnection())
  31. {
  32. con.Execute(sql);
  33. }
  34. }
  35. public OnceRunPowerMattersProvider(County county) : base(county)
  36. {
  37. }
  38. public void DeleteAll()
  39. {
  40. using (IDbConnection connection = GetDbConnection())
  41. {
  42. connection.Execute("delete from OnceRunPowerMatters");
  43. }
  44. }
  45. public void Insert(IList<PowerMattersBase> list)
  46. {
  47. string select = "select count(*) from oncerunpowermatters where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  48. string update = "update oncerunpowermatters set QL_NAME=@QL_NAME, QL_DEP=@QL_DEP where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  49. string insert = "insert oncerunpowermatters(QL_NAME, QL_INNER_CODE, OUGUID, QL_DEP) values(@QL_NAME, @QL_INNER_CODE, @OUGUID, @QL_DEP);";
  50. using (var conn = GetDbConnection())
  51. {
  52. foreach (PowerMattersBase p in list)
  53. {
  54. try
  55. {
  56. //int count = conn.QueryFirstOrDefault<int>(select, p);
  57. //if (count <= 0)
  58. conn.Execute(insert, p);
  59. //else
  60. // conn.Execute(update, p);
  61. }
  62. catch (Exception e)
  63. {
  64. }
  65. }
  66. }
  67. }
  68. public bool IsExistByQL_INNER_CODE(string ql_inner_code)
  69. {
  70. string sql = "select ouguid from oncerunpowermatters where ql_inner_code=@ql_inner_code";
  71. using (IDbConnection connection = GetDbConnection())
  72. {
  73. IEnumerable<string> tmp = connection.Query<string>(sql, new { ql_inner_code = ql_inner_code });
  74. return tmp != null && tmp.Count() > 0;
  75. }
  76. }
  77. public void UpdateOrInsert(PowerMattersBase p)
  78. {
  79. using (var con = GetDbConnection())
  80. {
  81. string sql = "insert into oncerunpowermatters(" + cols + ") values(" + vals + ") on duplicate key update " + sets;
  82. con.Execute(sql, p);
  83. }
  84. }
  85. public void Insert(PowerMattersBase p)
  86. {
  87. string select = "select count(*) from oncerunpowermatters where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  88. string update = "update oncerunpowermatters set QL_NAME=@QL_NAME, QL_DEP=@QL_DEP where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID;";
  89. string insert = "delete from oncerunpowermatters where QL_INNER_CODE=@QL_INNER_CODE and OUGUID=@OUGUID; "
  90. + "insert oncerunpowermatters(QL_NAME, QL_INNER_CODE, OUGUID, QL_DEP) values(@QL_NAME, @QL_INNER_CODE, @OUGUID, @QL_DEP);";
  91. using (var conn = GetDbConnection())
  92. {
  93. try
  94. {
  95. //int count = conn.QueryFirstOrDefault<int>(select, p);
  96. //if (count <= 0)
  97. conn.Execute(insert, p);
  98. //else
  99. // conn.Execute(update, p);
  100. }
  101. catch (Exception e)
  102. {
  103. }
  104. }
  105. }
  106. public PowerMattersBase FindByQLNameAndOUORGCODE(string ql_name, string ouguid)
  107. {
  108. string sql = "select " + cols + " from oncerunpowermatters where ql_name=@ql_name and ouguid=@ouguid";
  109. using (IDbConnection connection = GetDbConnection())
  110. {
  111. return connection.QueryFirstOrDefault<PowerMattersBase>(sql, new { ouguid = ouguid, ql_name = ql_name });
  112. }
  113. }
  114. public IEnumerable<PowerMattersBase> FindOnceRunPowerMattersByBranchGUID(string guid)
  115. {
  116. string sql = "select " + cols + " from oncerunpowermatters where ouguid=@guid";
  117. using (IDbConnection connection = GetDbConnection())
  118. {
  119. return connection.Query<PowerMattersBase>(sql, new { guid = guid });
  120. }
  121. }
  122. public PagedResult<PowerMattersBase> FindByPage(int itemIndex, int size, string guid)
  123. {
  124. string sql = "select " + cols + " from oncerunpowermatters where ouguid = '" + guid + "'";
  125. return GetPagedList(sql, itemIndex, size);
  126. }
  127. public IEnumerable<PowerMattersBase> FindByBranchGUIDAndApplyType(string guid, int type)
  128. {
  129. string sql = " SELECT QL_INNER_CODE, QL_NAME FROM powermattertype WHERE ouguid=@ouguid and ApplyCode=@code";
  130. using (IDbConnection connection = GetDbConnection())
  131. {
  132. return connection.Query<PowerMattersBase>(sql, new { code = type, ouguid = guid });
  133. }
  134. //if (type > -1 && type < ApplyType.Names.Length)
  135. //{
  136. // string sql = "select " + cols + " from oncerunpowermatters where ouguid=@ouguid and QL_INNER_CODE in (SELECT QL_INNER_CODE FROM powermattertype WHERE ouguid=@ouguid and ApplyCode=@code)";
  137. // using (IDbConnection connection = GetDbConnection())
  138. // {
  139. // return connection.Query<PowerMattersBase>(sql, new { code = type, ouguid = guid });
  140. // }
  141. //}
  142. //else
  143. //{
  144. // string sql = "select " + cols + " from oncerunpowermatters where ouguid=@ouguid and QL_INNER_CODE not in (SELECT QL_INNER_CODE FROM powermattertype WHERE ouguid=@ouguid)";
  145. // using (IDbConnection connection = GetDbConnection())
  146. // {
  147. // return connection.Query<PowerMattersBase>(sql, new { ouguid = guid });
  148. // }
  149. //}
  150. }
  151. }
  152. }