DataAccess.cs 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Common;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Configuration;
  9. using MySql.Data.MySqlClient;
  10. using System.Runtime.InteropServices.ComTypes;
  11. using static DataManager.UIConstants;
  12. using System.ComponentModel.Design;
  13. using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
  14. using System.Xml.Linq;
  15. namespace DataManager
  16. {
  17. public class DataAccess
  18. {
  19. private static String connectionString = ConfigurationManager.ConnectionStrings["MySQL"].ConnectionString;
  20. public const sbyte DM_NULL = -99;
  21. public static DataTable Get_cm_user_by_cellphone(string cellphone)
  22. {
  23. MySqlConnection connection = new MySqlConnection(connectionString);
  24. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_cm_user_by_cellphone", connection);
  25. MySqlParameter i_cellphone = new MySqlParameter("i_cellphone", cellphone);
  26. ad.SelectCommand.Parameters.Add(i_cellphone);
  27. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  28. DataTable dt = new DataTable();
  29. ad.Fill(dt);
  30. connection.Close();
  31. return dt;
  32. }
  33. public static DataTable Get_dm_user(int? userId, sbyte? role)
  34. {
  35. MySqlConnection connection = new MySqlConnection(connectionString);
  36. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_user", connection);
  37. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  38. MySqlParameter i_role = new MySqlParameter("i_role", role);
  39. ad.SelectCommand.Parameters.Add(i_userid);
  40. ad.SelectCommand.Parameters.Add(i_role);
  41. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  42. DataTable dt = new DataTable();
  43. ad.Fill(dt);
  44. connection.Close();
  45. return dt;
  46. }
  47. /// <summary>
  48. /// 取数据采集任务列表
  49. /// </summary>
  50. /// <param name="userId"></param>
  51. /// <param name="taskId"></param>
  52. /// <param name="companyId"></param>
  53. /// <param name="taskDate"></param>
  54. /// <param name="taskType"></param>
  55. /// <param name="isValid"></param>
  56. /// <returns></returns>
  57. public static DataTable Get_dm_collection_task(int? userId, int? taskId, string providerId, string providerKeyword,
  58. DateTime? taskDate, short? taskType, string entityId, string entityKeyword, sbyte? isValid)
  59. {
  60. MySqlConnection connection = new MySqlConnection(connectionString);
  61. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_collection_task", connection);
  62. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  63. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  64. MySqlParameter i_provider_id = new MySqlParameter("i_provider_id", providerId);
  65. MySqlParameter i_provider_keyword = new MySqlParameter("i_provider_keyword", providerKeyword);
  66. MySqlParameter i_task_date = new MySqlParameter("i_task_date", taskDate);
  67. MySqlParameter i_task_type = new MySqlParameter("i_task_type", taskType);
  68. MySqlParameter i_entity_id = new MySqlParameter("i_entity_id", entityId);
  69. MySqlParameter i_entity_keywordword = new MySqlParameter("i_entity_keyword", entityKeyword);
  70. MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isValid);
  71. ad.SelectCommand.Parameters.Add(i_userid);
  72. ad.SelectCommand.Parameters.Add(i_task_id);
  73. ad.SelectCommand.Parameters.Add(i_provider_id);
  74. ad.SelectCommand.Parameters.Add(i_provider_keyword);
  75. ad.SelectCommand.Parameters.Add(i_task_date);
  76. ad.SelectCommand.Parameters.Add(i_task_type);
  77. ad.SelectCommand.Parameters.Add(i_entity_id);
  78. ad.SelectCommand.Parameters.Add(i_entity_keywordword);
  79. ad.SelectCommand.Parameters.Add(i_isvalid);
  80. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  81. DataTable dt = new DataTable();
  82. ad.Fill(dt);
  83. connection.Close();
  84. return dt;
  85. }
  86. public static void Set_dm_collection_task(int? taskId, string providerId, DateTime taskDate, Int16 taskType,
  87. string entityId, string errMessage,
  88. sbyte isvalid, int userId, out int task_id)
  89. {
  90. task_id = 0;
  91. using (MySqlConnection connection = new MySqlConnection(connectionString))
  92. {
  93. connection.Open();
  94. MySqlCommand cmd = new MySqlCommand("sp_set_dm_collection_task", connection);
  95. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  96. MySqlParameter i_provider_id = new MySqlParameter("i_provider_id", providerId);
  97. MySqlParameter i_task_date = new MySqlParameter("i_task_date", taskDate);
  98. MySqlParameter i_task_type = new MySqlParameter("i_task_type", taskType);
  99. MySqlParameter i_entity_id = new MySqlParameter("i_entity_id", entityId);
  100. MySqlParameter i_err_message = new MySqlParameter("i_err_message", errMessage);
  101. MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isvalid);
  102. MySqlParameter i_user_id = new MySqlParameter("i_user_id", userId);
  103. MySqlParameter o_task_id = new MySqlParameter("o_task_id", DbType.Int32);
  104. o_task_id.Direction = ParameterDirection.Output;
  105. cmd.Parameters.Add(i_task_id);
  106. cmd.Parameters.Add(i_provider_id);
  107. cmd.Parameters.Add(i_task_date);
  108. cmd.Parameters.Add(i_task_type);
  109. cmd.Parameters.Add(i_isvalid);
  110. cmd.Parameters.Add(i_entity_id);
  111. cmd.Parameters.Add(i_err_message);
  112. cmd.Parameters.Add(i_user_id);
  113. cmd.Parameters.Add(o_task_id);
  114. cmd.CommandType = CommandType.StoredProcedure;
  115. cmd.Connection = connection;
  116. cmd.ExecuteNonQuery();
  117. task_id = int.Parse(cmd.Parameters["o_task_id"].Value.ToString());
  118. }
  119. }
  120. /// <summary>
  121. /// 取公司联系任务列表
  122. /// </summary>
  123. /// <param name="userId"></param>
  124. /// <param name="taskId"></param>
  125. /// <param name="companyId"></param>
  126. /// <param name="taskDate"></param>
  127. /// <param name="taskType"></param>
  128. /// <param name="isValid"></param>
  129. /// <param name="priority"></param>
  130. /// <param name="followUpDate"></param>
  131. /// <param name="companyAsset"></param>
  132. /// <returns></returns>
  133. public static DataTable Get_dm_contact_task(int? userId, int? taskId, string companyId, string companyKeyword,
  134. DateTime? taskDate, short? taskType, sbyte? isValid, sbyte? priority,
  135. DateTime? followUpDate, sbyte? companyAsset)
  136. {
  137. MySqlConnection connection = new MySqlConnection(connectionString);
  138. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_contact_task", connection);
  139. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  140. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  141. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  142. MySqlParameter i_company_keyword = new MySqlParameter("i_company_keyword", companyKeyword);
  143. MySqlParameter i_task_date = new MySqlParameter("i_task_date", taskDate);
  144. MySqlParameter i_task_type = new MySqlParameter("i_task_type", taskType);
  145. MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isValid);
  146. MySqlParameter i_priority = new MySqlParameter("i_priority", priority);
  147. MySqlParameter i_follow_up_date = new MySqlParameter("i_follow_up_date", followUpDate);
  148. MySqlParameter i_company_asset_size = new MySqlParameter("i_company_asset_size", companyAsset);
  149. ad.SelectCommand.Parameters.Add(i_userid);
  150. ad.SelectCommand.Parameters.Add(i_task_id);
  151. ad.SelectCommand.Parameters.Add(i_company_id);
  152. ad.SelectCommand.Parameters.Add(i_company_keyword);
  153. ad.SelectCommand.Parameters.Add(i_task_date);
  154. ad.SelectCommand.Parameters.Add(i_task_type);
  155. ad.SelectCommand.Parameters.Add(i_isvalid);
  156. ad.SelectCommand.Parameters.Add(i_priority);
  157. ad.SelectCommand.Parameters.Add(i_follow_up_date);
  158. ad.SelectCommand.Parameters.Add(i_company_asset_size);
  159. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  160. DataTable dt = new DataTable();
  161. ad.Fill(dt);
  162. connection.Close();
  163. return dt;
  164. }
  165. /// <summary>
  166. /// 更新联系任务表
  167. /// </summary>
  168. /// <param name="taskId"></param>
  169. /// <param name="companyId"></param>
  170. /// <param name="taskDate"></param>
  171. /// <param name="taskType"></param>
  172. /// <param name="isvalid"></param>
  173. /// <param name="priority"></param>
  174. /// <param name="followUpDate"></param>
  175. /// <param name="userId"></param>
  176. public static void Set_dm_contact_task(int? taskId, string companyId, DateTime taskDate, Int16 taskType, sbyte isvalid,
  177. sbyte priority, DateTime? followUpDate, int userId, out int task_id)
  178. {
  179. task_id = 0;
  180. using (MySqlConnection connection = new MySqlConnection(connectionString))
  181. {
  182. connection.Open();
  183. MySqlCommand cmd = new MySqlCommand("sp_set_dm_contact_task", connection);
  184. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  185. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  186. MySqlParameter i_task_date = new MySqlParameter("i_task_date", taskDate);
  187. MySqlParameter i_task_type = new MySqlParameter("i_task_type", taskType);
  188. MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isvalid);
  189. MySqlParameter i_priority = new MySqlParameter("i_priority", priority);
  190. MySqlParameter i_follow_up_date = new MySqlParameter("i_follow_up_date", followUpDate);
  191. MySqlParameter i_user_id = new MySqlParameter("i_user_id", userId);
  192. MySqlParameter o_task_id = new MySqlParameter("o_task_id", DbType.Int32);
  193. o_task_id.Direction = ParameterDirection.Output;
  194. cmd.Parameters.Add(i_task_id);
  195. cmd.Parameters.Add(i_company_id);
  196. cmd.Parameters.Add(i_task_date);
  197. cmd.Parameters.Add(i_task_type);
  198. cmd.Parameters.Add(i_isvalid);
  199. cmd.Parameters.Add(i_priority);
  200. cmd.Parameters.Add(i_follow_up_date);
  201. cmd.Parameters.Add(i_user_id);
  202. cmd.Parameters.Add(o_task_id);
  203. cmd.CommandType = CommandType.StoredProcedure;
  204. cmd.Connection = connection;
  205. cmd.ExecuteNonQuery();
  206. task_id = int.Parse(cmd.Parameters["o_task_id"].Value.ToString());
  207. }
  208. }
  209. /// <summary>
  210. /// 取基金基本信息
  211. /// </summary>
  212. /// <param name="fundId"></param>
  213. /// <returns></returns>
  214. public static DataTable Get_dm_fund_information(string fundId, string companyId)
  215. {
  216. MySqlConnection connection = new MySqlConnection(connectionString);
  217. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_fund_information", connection);
  218. MySqlParameter i_fundId = new MySqlParameter("i_fund_id", fundId);
  219. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  220. ad.SelectCommand.Parameters.Add(i_fundId);
  221. ad.SelectCommand.Parameters.Add(i_company_id);
  222. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  223. DataTable dt = new DataTable();
  224. ad.Fill(dt);
  225. connection.Close();
  226. return dt;
  227. }
  228. public static void Set_dm_fund_information(string fundId, string fundShortName, int? strategyId, int? substrategyId,
  229. string parentFundId, string navFrequency,
  230. sbyte isAuthorized, sbyte isRanking, sbyte isRating, int userId)
  231. {
  232. using (MySqlConnection connection = new MySqlConnection(connectionString))
  233. {
  234. connection.Open();
  235. MySqlCommand cmd = new MySqlCommand("sp_set_dm_fund_information", connection);
  236. MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
  237. MySqlParameter i_fund_short_name = new MySqlParameter("i_fund_short_name", fundShortName);
  238. MySqlParameter i_strategy_id = new MySqlParameter("i_strategy_id", strategyId);
  239. MySqlParameter i_substrategy_id = new MySqlParameter("i_substrategy_id", substrategyId);
  240. MySqlParameter i_p_fund_id = new MySqlParameter("i_p_fund_id", parentFundId);
  241. MySqlParameter i_nav_frequency = new MySqlParameter("i_nav_frequency", navFrequency);
  242. MySqlParameter i_is_authorized = new MySqlParameter("i_is_authorized", isAuthorized);
  243. MySqlParameter i_is_ranking = new MySqlParameter("i_is_ranking", isRanking);
  244. MySqlParameter i_is_rating = new MySqlParameter("i_is_rating", isRating);
  245. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  246. cmd.Parameters.Add(i_fund_id);
  247. cmd.Parameters.Add(i_fund_short_name);
  248. cmd.Parameters.Add(i_strategy_id);
  249. cmd.Parameters.Add(i_substrategy_id);
  250. cmd.Parameters.Add(i_p_fund_id);
  251. cmd.Parameters.Add(i_nav_frequency);
  252. cmd.Parameters.Add(i_is_authorized);
  253. cmd.Parameters.Add(i_is_ranking);
  254. cmd.Parameters.Add(i_is_rating);
  255. cmd.Parameters.Add(i_userid);
  256. cmd.CommandType = CommandType.StoredProcedure;
  257. cmd.Connection = connection;
  258. cmd.ExecuteNonQuery();
  259. }
  260. }
  261. public static DataTable Get_dm_company_information(string companyId)
  262. {
  263. MySqlConnection connection = new MySqlConnection(connectionString);
  264. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_company_information", connection);
  265. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  266. ad.SelectCommand.Parameters.Add(i_company_id);
  267. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  268. DataTable dt = new DataTable();
  269. ad.Fill(dt);
  270. connection.Close();
  271. return dt;
  272. }
  273. /// <summary>
  274. /// 搜索公司(目前仅支持对 company_short_name 的搜索)
  275. /// </summary>
  276. /// <param name="companyType"></param> 私募证券:1
  277. /// <param name="keyWord"></param>
  278. /// <returns></returns>
  279. public static DataTable Search_dm_company(int? companyType, string keyWord)
  280. {
  281. MySqlConnection connection = new MySqlConnection(connectionString);
  282. MySqlDataAdapter ad = new MySqlDataAdapter("sp_dm_search_company", connection);
  283. MySqlParameter i_companyType = new MySqlParameter("i_company_type", companyType);
  284. MySqlParameter i_keyWord = new MySqlParameter("i_key_word", keyWord);
  285. ad.SelectCommand.Parameters.Add(i_companyType);
  286. ad.SelectCommand.Parameters.Add(i_keyWord);
  287. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  288. DataTable dt = new DataTable();
  289. ad.Fill(dt);
  290. connection.Close();
  291. return dt;
  292. }
  293. /// <summary>
  294. /// 搜索基金(目前仅支持对 fund_short_name 的搜索)
  295. /// </summary>
  296. /// <param name="raiseType"></param> 私募:1、公募:2
  297. /// <param name="keyWord"></param>
  298. /// <returns></returns>
  299. public static DataTable Search_dm_fund(int? raiseType, string keyWord)
  300. {
  301. MySqlConnection connection = new MySqlConnection(connectionString);
  302. MySqlDataAdapter ad = new MySqlDataAdapter("sp_dm_search_fund", connection);
  303. MySqlParameter i_raise_type = new MySqlParameter("i_raise_type", raiseType);
  304. MySqlParameter i_keyWord = new MySqlParameter("i_key_word", keyWord);
  305. ad.SelectCommand.Parameters.Add(i_raise_type);
  306. ad.SelectCommand.Parameters.Add(i_keyWord);
  307. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  308. DataTable dt = new DataTable();
  309. ad.Fill(dt);
  310. connection.Close();
  311. return dt;
  312. }
  313. public static DataTable Get_Nav(string fundId, DateTime? startDate, DateTime? endDate)
  314. {
  315. MySqlConnection connection = new MySqlConnection(connectionString);
  316. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_nav", connection);
  317. MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
  318. MySqlParameter i_start_date = new MySqlParameter("i_start_date", startDate);
  319. MySqlParameter i_end_date = new MySqlParameter("i_end_date", endDate);
  320. ad.SelectCommand.Parameters.Add(i_fund_id);
  321. ad.SelectCommand.Parameters.Add(i_start_date);
  322. ad.SelectCommand.Parameters.Add(i_end_date);
  323. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  324. DataTable dt = new DataTable();
  325. ad.Fill(dt);
  326. connection.Close();
  327. return dt;
  328. }
  329. public static DataTable Get_dm_memo(sbyte jobType, int taskId)
  330. {
  331. MySqlConnection connection = new MySqlConnection(connectionString);
  332. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_task_memo", connection);
  333. MySqlParameter i_job_type = new MySqlParameter("i_job_type", jobType);
  334. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  335. ad.SelectCommand.Parameters.Add(i_job_type);
  336. ad.SelectCommand.Parameters.Add(i_task_id);
  337. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  338. DataTable dt = new DataTable();
  339. ad.Fill(dt);
  340. connection.Close();
  341. return dt;
  342. }
  343. public static void Set_dm_memo(sbyte jobType, int taskId, string memo, int userId)
  344. {
  345. using (MySqlConnection connection = new MySqlConnection(connectionString))
  346. {
  347. connection.Open();
  348. MySqlCommand cmd = new MySqlCommand("sp_set_dm_task_memo", connection);
  349. MySqlParameter i_job_type = new MySqlParameter("i_job_type", jobType);
  350. MySqlParameter i_task_id = new MySqlParameter("i_task_id", taskId);
  351. MySqlParameter i_memo = new MySqlParameter("i_memo", memo);
  352. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  353. cmd.Parameters.Add(i_job_type);
  354. cmd.Parameters.Add(i_task_id);
  355. cmd.Parameters.Add(i_memo);
  356. cmd.Parameters.Add(i_userid);
  357. cmd.CommandType = CommandType.StoredProcedure;
  358. cmd.Connection = connection;
  359. cmd.ExecuteNonQuery();
  360. }
  361. }
  362. public static DataTable Get_dm_contacts(string companyId)
  363. {
  364. MySqlConnection connection = new MySqlConnection(connectionString);
  365. MySqlDataAdapter ad = new MySqlDataAdapter("sp_dm_get_contacts", connection);
  366. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  367. ad.SelectCommand.Parameters.Add(i_company_id);
  368. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  369. DataTable dt = new DataTable();
  370. ad.Fill(dt);
  371. connection.Close();
  372. return dt;
  373. }
  374. public static int Set_dm_contacts(DataTable dt, string companyId, int userId)
  375. {
  376. int ret = 0;
  377. if (dt == null || dt.Rows.Count <= 0) { return ret; }
  378. for (int i = 0; i < dt.Rows.Count; i++)
  379. {
  380. DataRow dataRow = dt.Rows[i];
  381. int o_id;
  382. if (dataRow.RowState == DataRowState.Deleted)
  383. {
  384. Set_dm_contacts(int.Parse(dataRow["id", DataRowVersion.Original].ToString()), dataRow["company_id", DataRowVersion.Original].ToString(),
  385. dataRow["name", DataRowVersion.Original].ToString(), dataRow["role", DataRowVersion.Original].ToString(),
  386. dataRow["phone", DataRowVersion.Original].ToString(), dataRow["wechat", DataRowVersion.Original].ToString(),
  387. dataRow["email", DataRowVersion.Original].ToString(),
  388. 0, userId, out o_id);
  389. ret++;
  390. }
  391. else if (dataRow.RowState == DataRowState.Added || dataRow.RowState == DataRowState.Modified)
  392. {
  393. int? id = null;
  394. if (string.IsNullOrEmpty(dataRow["id"].ToString()) == false)
  395. id = int.Parse(dataRow["id"].ToString());
  396. Set_dm_contacts(id, companyId, dataRow["name"].ToString(), dataRow["role"].ToString(), dataRow["phone"].ToString(),
  397. dataRow["wechat"].ToString(), dataRow["email"].ToString(),
  398. 1, userId, out o_id);
  399. if (dataRow.RowState == DataRowState.Added)
  400. {
  401. dataRow["id"] = o_id;
  402. dataRow["company_id"] = companyId;
  403. }
  404. ret++;
  405. }
  406. }
  407. return ret;
  408. }
  409. public static void Set_dm_contacts(int? id, string companyId, string name, string role, string phone,
  410. string wechat, string email, sbyte isvalid, int userId, out int out_id)
  411. {
  412. using (MySqlConnection connection = new MySqlConnection(connectionString))
  413. {
  414. connection.Open();
  415. MySqlCommand cmd = new MySqlCommand("sp_dm_set_contacts", connection);
  416. MySqlParameter i_id = new MySqlParameter("i_id", id);
  417. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  418. MySqlParameter i_name = new MySqlParameter("i_name", name);
  419. MySqlParameter i_role = new MySqlParameter("i_role", role);
  420. MySqlParameter i_phone = new MySqlParameter("i_phone", phone);
  421. MySqlParameter i_wechat = new MySqlParameter("i_wechat", wechat);
  422. MySqlParameter i_email = new MySqlParameter("i_email", email);
  423. MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isvalid);
  424. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  425. MySqlParameter o_id = new MySqlParameter("o_id", DbType.Int32);
  426. o_id.Direction = ParameterDirection.Output;
  427. cmd.Parameters.Add(i_id);
  428. cmd.Parameters.Add(i_company_id);
  429. cmd.Parameters.Add(i_name);
  430. cmd.Parameters.Add(i_role);
  431. cmd.Parameters.Add(i_phone);
  432. cmd.Parameters.Add(i_wechat);
  433. cmd.Parameters.Add(i_email);
  434. cmd.Parameters.Add(i_isvalid);
  435. cmd.Parameters.Add(i_userid);
  436. cmd.Parameters.Add(o_id);
  437. cmd.CommandType = CommandType.StoredProcedure;
  438. cmd.Connection = connection;
  439. cmd.ExecuteNonQuery();
  440. out_id = int.Parse(cmd.Parameters["o_id"].Value.ToString());
  441. }
  442. }
  443. public static DataTable Get_dm_company_cover(string companyId, sbyte? coverType, int? userId)
  444. {
  445. MySqlConnection connection = new MySqlConnection(connectionString);
  446. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_company_cover", connection);
  447. MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
  448. MySqlParameter i_cover_type = new MySqlParameter("i_cover_type", coverType);
  449. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  450. ad.SelectCommand.Parameters.Add(i_company_id);
  451. ad.SelectCommand.Parameters.Add(i_cover_type);
  452. ad.SelectCommand.Parameters.Add(i_userid);
  453. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  454. DataTable dt = new DataTable();
  455. ad.Fill(dt);
  456. connection.Close();
  457. return dt;
  458. }
  459. /// <summary>
  460. /// 批量更新公司-对接人员关系
  461. /// </summary>
  462. /// <param name="updateQuery">Json字符串</param>
  463. /// <param name="userId"></param>
  464. /// <returns></returns>
  465. public static int Set_dm_company_cover(string updateQuery, int userId)
  466. {
  467. int ret = -1;
  468. using (MySqlConnection connection = new MySqlConnection(connectionString))
  469. {
  470. connection.Open();
  471. MySqlCommand cmd = new MySqlCommand("sp_set_dm_company_cover", connection);
  472. MySqlParameter i_update_query = new MySqlParameter("i_update_query", updateQuery);
  473. MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
  474. cmd.Parameters.Add(i_update_query);
  475. cmd.Parameters.Add(i_userid);
  476. cmd.CommandType = CommandType.StoredProcedure;
  477. cmd.Connection = connection;
  478. cmd.ExecuteNonQuery();
  479. ret = 1;
  480. }
  481. return ret;
  482. }
  483. /// <summary>
  484. /// 取基金指数,benchmark_type: 0-主基准、1-分类平均
  485. /// </summary>
  486. /// <param name="fundId"></param>
  487. /// <returns></returns>
  488. public static DataTable Get_dm_fund_benchmark(string fundId)
  489. {
  490. MySqlConnection connection = new MySqlConnection(connectionString);
  491. MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_fund_benchmark", connection);
  492. MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
  493. ad.SelectCommand.Parameters.Add(i_fund_id);
  494. ad.SelectCommand.CommandType = CommandType.StoredProcedure;
  495. DataTable dt = new DataTable();
  496. ad.Fill(dt);
  497. connection.Close();
  498. return dt;
  499. }
  500. }
  501. }