CNAS取数仪器端升级
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

143 行
6.0KB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Entity;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using CnasSynchronousCommon;
  9. using CnasSynchronusIDAL;
  10. using CnasSynchrousModel;
  11. namespace CnasSynchronusDAL
  12. {
  13. public class KingbaseDBService : IKingbaseDBService
  14. {
  15. public bool TestConnect(string strHost, string strName, string strUser, string strPwd, string strPort)
  16. {
  17. KingbaseDAL mySQLBase = new KingbaseDAL();
  18. mySQLBase.CreateConnectString(strHost, strPort, strName, strUser, strPwd);
  19. return mySQLBase.LinkCnasTest();
  20. }
  21. public Dictionary<string, DataTable> GetInstrumentData(KingbaseOpenParams t)
  22. {
  23. KingbaseDAL mySQL = new KingbaseDAL();
  24. mySQL.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd);
  25. return mySQL.GetAllTableNameAndStructure(t.StrServer);
  26. }
  27. public DataTable GetInstrumentDataByDate(KingbaseOpenParams t, ConditionParams u)
  28. {
  29. KingbaseDAL mySQL = new KingbaseDAL();
  30. mySQL.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd);
  31. return mySQL.GetDataByDateColumn(
  32. t.StrServer,
  33. t.autoSql?.KingbaseViewName,
  34. t.autoSql?.KingbaseViewSql,
  35. u.TableName,
  36. u.DateColumn,
  37. u.DateValue);
  38. }
  39. public DataTable GetInstrumentDataStruct(KingbaseOpenParams t, ConditionParams u)
  40. {
  41. KingbaseDAL mySQLBase = new KingbaseDAL();
  42. mySQLBase.CreateConnectString(t.StrHost, t.StrPort, t.StrServer, t.StrUser, t.StrPwd);
  43. return mySQLBase.GetTableStruct(
  44. u.TableName,
  45. t.autoSql.KingbaseViewName,
  46. t.autoSql.KingbaseViewSql
  47. );
  48. }
  49. public DataTable GetAllCNASTablesName(DataBaseInfo dataBase)
  50. {
  51. KingbaseDAL mySQLBase = new KingbaseDAL();
  52. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  53. return mySQLBase.GetTableNames(dataBase.DBName);
  54. }
  55. public DataTable GetCNASTablesStruct(string strTableName, DataBaseInfo dataBase)
  56. {
  57. KingbaseDAL mySQLBase = new KingbaseDAL();
  58. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  59. return mySQLBase.GetTableStruct(strTableName,"","");
  60. }
  61. public int InsertDataToCNASTable(DataTable dt, DataBaseInfo dataBase, List<SyncParamasInfo> syncParamasInfos, string strInstrumentColumn,List<CnasConditionMapValue> lstFixedValue = null)
  62. {
  63. KingbaseDAL mySQLBase = new KingbaseDAL();
  64. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  65. return mySQLBase.InsertCnasData(dt, syncParamasInfos, lstFixedValue, strInstrumentColumn);
  66. }
  67. public DataTable GetCNASTableTypeLenth(string strTableName, DataBaseInfo dataBase)
  68. {
  69. KingbaseDAL mySQLBase = new KingbaseDAL();
  70. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  71. return mySQLBase.GetTableTypeAndLenth(strTableName);
  72. }
  73. public DataTable GetLoginNameByPwd(DataBaseInfo dataBase, string strUserName, string strPwd)
  74. {
  75. KingbaseDAL mySQLBase = new KingbaseDAL();
  76. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  77. strPwd = EncryptionOperation.GetMD5Hash(strPwd);
  78. AppLog.Info(strPwd);
  79. return mySQLBase.GetLoginNameByPwd(strUserName, strPwd);
  80. }
  81. public bool CheckMacMessage(DataBaseInfo dataBase, string strMac)
  82. {
  83. KingbaseDAL mySQLBase = new KingbaseDAL();
  84. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  85. return mySQLBase.CheckMacMessage(strMac);
  86. }
  87. public bool CheckMacMessage(string strConnectionString, string strMac)
  88. {
  89. KingbaseDAL mySQLBase = new KingbaseDAL();
  90. mySQLBase.CreateConnectString(strConnectionString);
  91. return mySQLBase.CheckMacMessage(strMac);
  92. }
  93. public string GetMaxTimeByTableName(DataBaseInfo dataBase, string strTableName, string strDateColumn, string strInstrumentColumn, string strInstrumentValue)
  94. {
  95. KingbaseDAL mySQLBase = new KingbaseDAL();
  96. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  97. return mySQLBase.GetMaxTimeByTableName(strTableName, strDateColumn, strInstrumentColumn, strInstrumentValue);
  98. }
  99. /// <summary>
  100. /// 获取某个表的数据
  101. /// </summary>
  102. /// <param name="dataBase"></param>
  103. /// <param name="strSql"></param>
  104. /// <returns></returns>
  105. public DataTable GetTableData(DataBaseInfo dataBase, string strSql)
  106. {
  107. KingbaseDAL mySQLBase = new KingbaseDAL();
  108. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  109. return mySQLBase.GetTableData(strSql);
  110. }
  111. /// <summary>
  112. /// 插入某个表的数据
  113. /// </summary>
  114. /// <param name="dataBase"></param>
  115. /// <param name="strSql"></param>
  116. /// <returns></returns>
  117. public bool InsertTableData(DataBaseInfo dataBase, string strSql)
  118. {
  119. KingbaseDAL mySQLBase = new KingbaseDAL();
  120. mySQLBase.CreateConnectString(dataBase.DBHost, dataBase.DBPort, dataBase.DBName, dataBase.DBUser, dataBase.DBPwd);
  121. return mySQLBase.InsertTableData(strSql);
  122. }
  123. }
  124. }