public bool InitStatParams(DataStatParamInfo DataStatParam, DataStoreTableInfo DataStoreItem) { int res = 0; QueryResultBase QueryResultObject = new QueryResultBase(); dataStatParam = DataStatParam; dataStoreItem = DataStoreItem; mysqlCnn = new MySqlConnectHelper(Conn); if (mysqlCnn.OpenConnect() == false) { LoggerManager.Log.Info("MySql连接对象创建失败!\n"); return(false); } String DbName = $"`[iot]-[{DataStatParam.CompanyCode}]`"; res = mysqlCnn.SelectDB(DbName); //MySqlDataReader companyReader = MySqlHelper.ExecuteReader(Conn, CommandType.Text, "select * from companyinfo", null); return(true); }
private void AnalyzeDaySpliteSql(DataStatParamInfo DataQueryParam, DataStoreTableInfo DataStoreItem) { DateTime dtStart = Convert.ToDateTime(DataQueryParam.StartDate); DateTime dtEnd = Convert.ToDateTime(DataQueryParam.EndDate); DateTime d3 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", dtStart.Year, dtStart.Month, dtStart.Day)); DateTime d4 = Convert.ToDateTime(string.Format("{0}-{1}-{2}", dtEnd.Year, dtEnd.Month, dtEnd.Day)); int days = (d4 - d3).Days; int StartMonth = dtStart.Month; int currYear = dtStart.Year; string QueryTableNamePrex = $"[datastore]-[{ DataQueryParam.DeviceCode}]-[{ DataQueryParam.TableName}]"; for (int i = 0; i < days; i++) { StatQueryCondition tempQueryCondition = new StatQueryCondition(); string startDate; string endDate; if (i == 0) { startDate = $"{dtStart.Year}-{dtStart.Month}-{dtStart.Day} {dtStart.Hour}:{dtStart.Minute}:{dtStart.Second}"; } else { startDate = $"{dtStart.Year}-{dtStart.Month}-{dtStart.Day} 00:00:00"; } if (i == (days - 1)) { endDate = $"{dtEnd.Year}-{dtEnd.Month}-{dtEnd.Day} {dtEnd.Hour}:{dtEnd.Minute}:{dtEnd.Second}"; } else { endDate = $"{dtStart.Year}-{dtStart.Month}-{dtStart.Day} 23:59:59"; } string QueryTableNameSuffix = $"-{dtStart.Year}-{dtStart.Month}-{dtStart.Day}"; string tempQueryTableName = QueryTableNamePrex + QueryTableNameSuffix; tempQueryCondition.StartDate = startDate; tempQueryCondition.EndDate = endDate; //tempQueryCondition.SelectCondition = $"between '{startDate}'and '{endDate}'"; tempQueryCondition.TableName = tempQueryTableName; dtStart.AddDays(1); } return; }
public QueryResultBase HandleStatInterface(DataStatParamInfo dataStatParam) { QueryResultBase QueryResultObject = new QueryResultBase(); DataStoreTableInfo DataStoreConfigItem = CompanyManagerHelper.GetDeviceDataStoreConfigItem( dataStatParam.CompanyCode, dataStatParam.DeviceCode, dataStatParam.TableName); if (DataStoreConfigItem == null) { //QueryResultObject = new QueryResultBase(); QueryResultObject.ResultCode = QueryResultCodeEnum.QUERY_ERROR_NO_DATA_STORE_CONFIG; QueryResultObject.QueryData = null; } else { switch (dataStatParam.DataType) { case DATA_TYPE.DATA_SUM: break; case DATA_TYPE.DATA_CUSTOM_ACC: QueryResultObject = new QueryResultBase(); StatAlgorithm statAlogrithmObject = new StatAlgorithm(); if (statAlogrithmObject.InitStatParams(dataStatParam, DataStoreConfigItem) == true) { QueryResultObject = statAlogrithmObject.GetStatRecordsetData(); } else { QueryResultObject.ResultCode = QueryResultCodeEnum.QUERY_ERROR_NO_DATA_STORE_CONFIG; QueryResultObject.QueryData = null; } break; default: break; } } return(QueryResultObject); }
public HttpResponseMessage StatQueryData([FromBody] DataStatParamInfo StatParams) { //DataQueryParamObject queryParam = null; QueryResultBase queryResult = null; if (StatParams == null) { queryResult = new QueryResultBase(); queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_PARAM; return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult))); } IotDataStatInterface dataStatInterfaceObject = new IotDataStatInterface(); queryResult = dataStatInterfaceObject.HandleStatInterface(StatParams); return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult))); }
public List <StatQueryCondition> GetStatSqlList(DataStatParamInfo DataStatParam, DataStoreTableInfo DataStoreItem) { switch (DataStoreItem.SpliteTableType) { case SPLITE_TABLE_TYPE.SPLITE_DEFAULT: AnalyzeDefaultSpliteSql(DataStatParam, DataStoreItem); break; case SPLITE_TABLE_TYPE.SPLITE_MONTH: AnalyzeMonthSpliteSql(DataStatParam, DataStoreItem); break; case SPLITE_TABLE_TYPE.SPLITE_YEAR: break; default: break; } return(statConditionList); }