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.

215 lines
11 KiB

3 days ago
  1. using Newtonsoft.Json;
  2. using NFine.Code;
  3. using NFine.Data.Extensions;
  4. using NFine.Domain._03_Entity.SystemManage;
  5. using NFine.Domain.Entity.SystemManage;
  6. using NFine.Domain.IRepository.SystemManage;
  7. using NFine.Repository;
  8. using NFine.Repository.SystemManage;
  9. using System;
  10. using System.Collections.Generic;
  11. using System.Data;
  12. using System.Linq;
  13. using System.Text;
  14. namespace NFine.Application.SystemManage
  15. {
  16. public class DataActionApp : RepositoryFactory<ModuleEntity>
  17. {
  18. public string DataActionSqlGet(string MenuID)
  19. {
  20. OperatorModel oo = NFine.Code.OperatorProvider.Provider.GetCurrent();
  21. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  22. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  23. string sqlstr = string.Empty;
  24. try
  25. {
  26. string sql = @" select B.DataActionId from Sys_SRM_User A
  27. INNER JOIN Sys_RoleDataPower B ON B.RoleId=A.F_RoleId
  28. where F_Account='{0}' and F_Location in({1})";
  29. sql = string.Format(sql, MUSER, WorkPoint.TrimEnd(','));
  30. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  31. if (dt.Rows.Count == 0)
  32. {
  33. sqlstr = "";
  34. }
  35. else
  36. {
  37. string DataActionID = "";
  38. foreach (DataRow dr in dt.Rows)
  39. {
  40. DataActionID += "'" + dr["DataActionId"].ToString() + "',";
  41. }
  42. sql = @" SELECT CCaption 条件名称, CValueBegin 起始值,CValueEnd 结束值
  43. from Sys_FormDataAction con
  44. where con.ID in ({0}) AND con.SourceId='{1}'";
  45. sql = string.Format(sql, DataActionID.TrimEnd(','), MenuID);
  46. dt = SqlHelper.GetDataTableBySql(sql);
  47. foreach (DataRow dr in dt.Rows)
  48. {
  49. if (dr["起始值"].ToString() != "" && dr["结束值"].ToString() != "")
  50. {
  51. sqlstr += " and " + dr["条件名称"].ToString() + " >= '" + dr["起始值"].ToString() + @"'
  52. and " + dr[""].ToString() + " <= '" + dr[""].ToString() + "'";
  53. }
  54. else if (dr["起始值"].ToString() == "" && dr["结束值"].ToString() == "")
  55. {
  56. continue;
  57. }
  58. else
  59. {
  60. string wherestr = "";
  61. if (dr["起始值"].ToString() != "")
  62. {
  63. if (dr["起始值"].ToString().Contains(','))
  64. {
  65. string[] strList = dr["起始值"].ToString().Split(',');
  66. foreach (string str in strList)
  67. {
  68. wherestr += "'" + str + "',";
  69. }
  70. wherestr = wherestr.TrimEnd(',');
  71. sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
  72. }
  73. else
  74. {
  75. sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["起始值"].ToString() + "'";
  76. }
  77. }
  78. else
  79. {
  80. if (dr["结束值"].ToString().Contains(','))
  81. {
  82. string[] strList = dr["结束值"].ToString().Split(',');
  83. foreach (string str in strList)
  84. {
  85. wherestr += "'" + str + "',";
  86. }
  87. wherestr = wherestr.TrimEnd(',');
  88. sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
  89. }
  90. else
  91. {
  92. sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["结束值"].ToString() + "'";
  93. }
  94. }
  95. }
  96. if (dr["起始值"].ToString().Contains("[AppConfig.WorkPointCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserId]")
  97. || dr["起始值"].ToString().Contains("[AppConfig.UserCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserName]")
  98. || dr["起始值"].ToString().Contains("[AppConfig.RoleCode]"))
  99. {
  100. sqlstr = sqlstr.Replace("[AppConfig.WorkPointCode]", oo.Location);
  101. sqlstr = sqlstr.Replace("[AppConfig.UserId]", oo.UserId);
  102. sqlstr = sqlstr.Replace("[AppConfig.UserCode]", oo.UserCode);
  103. sqlstr = sqlstr.Replace("[AppConfig.UserName]", oo.UserName);
  104. sqlstr = sqlstr.Replace("[AppConfig.RoleCode]", oo.RoleEnCode);
  105. }
  106. }
  107. }
  108. }
  109. catch (Exception ex)
  110. {
  111. throw new Exception(ex.Message);
  112. }
  113. return sqlstr;
  114. }
  115. public string DataActionSqlGet()
  116. {
  117. OperatorModel oo = NFine.Code.OperatorProvider.Provider.GetCurrent();
  118. string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
  119. string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
  120. string sqlstr = string.Empty;
  121. try
  122. {
  123. string sql = @" select B.DataActionId from Sys_SRM_User A
  124. INNER JOIN Sys_RoleDataPower B ON B.RoleId=A.F_RoleId
  125. where F_Account='{0}' and F_Location='{1}'";
  126. sql = string.Format(sql, MUSER, WorkPoint);
  127. DataTable dt = SqlHelper.GetDataTableBySql(sql);
  128. if (dt.Rows.Count == 0)
  129. {
  130. sqlstr = "";
  131. }
  132. else
  133. {
  134. string DataActionID = "";
  135. foreach (DataRow dr in dt.Rows)
  136. {
  137. DataActionID += "'" + dr["DataActionId"].ToString() + "',";
  138. }
  139. sql = @" SELECT CCaption 条件名称, CValueBegin 起始值,CValueEnd 结束值
  140. from Sys_FormDataAction con
  141. where con.ID in ({0})";
  142. sql = string.Format(sql, DataActionID.TrimEnd(','));
  143. dt = SqlHelper.GetDataTableBySql(sql);
  144. foreach (DataRow dr in dt.Rows)
  145. {
  146. if (dr["起始值"].ToString() != "" && dr["结束值"].ToString() != "")
  147. {
  148. sqlstr += " and " + dr["条件名称"].ToString() + " >= '" + dr["起始值"].ToString() + @"'
  149. and " + dr[""].ToString() + " <= '" + dr[""].ToString() + "'";
  150. }
  151. else if (dr["起始值"].ToString() == "" && dr["结束值"].ToString() == "")
  152. {
  153. continue;
  154. }
  155. else
  156. {
  157. string wherestr = "";
  158. if (dr["起始值"].ToString() != "")
  159. {
  160. if (dr["起始值"].ToString().Contains(','))
  161. {
  162. string[] strList = dr["起始值"].ToString().Split(',');
  163. foreach (string str in strList)
  164. {
  165. wherestr += "'" + str + "',";
  166. }
  167. wherestr = wherestr.TrimEnd(',');
  168. sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
  169. }
  170. else
  171. {
  172. sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["起始值"].ToString() + "'";
  173. }
  174. }
  175. else
  176. {
  177. if (dr["结束值"].ToString().Contains(','))
  178. {
  179. string[] strList = dr["结束值"].ToString().Split(',');
  180. foreach (string str in strList)
  181. {
  182. wherestr += "'" + str + "',";
  183. }
  184. wherestr = wherestr.TrimEnd(',');
  185. sqlstr += " and " + dr["条件名称"].ToString() + " IN (" + wherestr + ")";
  186. }
  187. else
  188. {
  189. sqlstr += " and " + dr["条件名称"].ToString() + " = '" + dr["结束值"].ToString() + "'";
  190. }
  191. }
  192. }
  193. if (dr["起始值"].ToString().Contains("[AppConfig.WorkPointCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserId]")
  194. || dr["起始值"].ToString().Contains("[AppConfig.UserCode]") || dr["起始值"].ToString().Contains("[AppConfig.UserName]")
  195. || dr["起始值"].ToString().Contains("[AppConfig.RoleCode]"))
  196. {
  197. sqlstr = sqlstr.Replace("[AppConfig.WorkPointCode]", oo.Location);
  198. sqlstr = sqlstr.Replace("[AppConfig.UserId]", oo.UserId);
  199. sqlstr = sqlstr.Replace("[AppConfig.UserCode]", oo.UserCode);
  200. sqlstr = sqlstr.Replace("[AppConfig.UserName]", oo.UserName);
  201. sqlstr = sqlstr.Replace("[AppConfig.RoleCode]", oo.RoleEnCode);
  202. }
  203. }
  204. }
  205. }
  206. catch (Exception ex)
  207. {
  208. throw new Exception(ex.Message);
  209. }
  210. return sqlstr;
  211. }
  212. }
  213. }