Exemplo n.º 1
0
        public FormParametersTG_DB(ConnectionSettings connSett, List <TEC> list_tec)
        {
            m_connSett           = connSett;
            m_idListenerConfigDB = -1;

            //Поиск Бийской ТЭЦ
            int indx_tec = -1;

            foreach (TEC t in list_tec)
            {
                if (t.Type == TEC.TEC_TYPE.BIYSK)
                {
                    indx_tec = list_tec.IndexOf(t);
                }
                else
                {
                }
            }

            if (indx_tec < 0)
            {
                throw new Exception(@"FormParametersTG_DB::конструктор () - Бийская ТЭЦ в списке не найдена...");
            }
            else
            {
                m_tec = list_tec [indx_tec];
            }

            loadParam(true);
        }
Exemplo n.º 2
0
        protected override void getPPBRValuesRequest(TEC t, IDevice comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string query = DbMCInterface.Operation.PPBR.ToString();
            int    i     = -1;

            //Logging.Logg().Debug("AdminMC::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вХод...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET);

            query += ";";
            for (i = 0; i < comp.ListMCentreId.Count; i++)
            {
                query += comp.ListMCentreId[i];

                if ((i + 1) < comp.ListMCentreId.Count)
                {
                    query += ",";
                }
                else
                {
                    ;
                }
            }

            query += ";";
            query += date.ToOADate().ToString();

            DbMCSources.Sources().Request(m_IdListenerCurrent, query);

            Logging.Logg().Debug($"AdminMC::getPPBRValuesRequest (TEC={t.name_shr}, IDevice={comp.name_shr}, Stamp=[{date.ToString()}]) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.D_002);
        }
Exemplo n.º 3
0
        protected override void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string   query = string.Empty;
            DateTime dtReq = date.Date.Add(-ASUTP.Core.HDateTime.TS_MSK_OFFSET_OF_UTCTIMEZONE);
            int      i     = -1;

            query +=
                //@"SELECT [objName], [idFactor], [PBR_NUMBER], [Datetime],"
                //    //+ @" SUM([Value_MBT]) as VALUE"
                //    + @" [Value_MBT] as VALUE"
                //+ @" FROM [dbo].[v_ALL_PARAM_MODES_" + t.GetAddingParameter(TEC.ADDING_PARAM_KEY.PREFIX_MODES_TERMINAL).ToString() + @"]" +
                //@" WHERE [ID_Type_Data] = 3" +
                //@" AND [objName] IN (" + string.Join (@",", comp.m_listMTermId.ToArray()) + @")" +
                //@" AND [Datetime] > " + @"'" + dtReq.ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                //    + @" AND [Datetime] <= " + @"'" + dtReq.AddDays(1).ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                //+ @" AND [PBR_NUMBER] > 0"
                ////+ @" GROUP BY [idFactor], [PBR_NUMBER], [Datetime]"
                //+ @" ORDER BY [Datetime], [PBR_NUMBER]"
                $"EXECUTE [dbo].[sp_get_term_modes_values] {t.m_id},'{string.Join (@",", comp.m_listMTermId.ToArray ())}','{dtReq.ToString (@"yyyyMMdd HH:00:00.000")}','{dtReq.AddDays (1).ToString (@"yyyyMMdd HH:00:00.000")}'"
            ;

            ASUTP.Database.DbSources.Sources().Request(m_IdListenerCurrent, query);

            //ASUTP.Logging.Logg().Debug($"AdminMT::GetPPBRValuesRequest (TEC={allTECComponents[indxTECComponents].tec.name_shr}, TECComponent={allTECComponents[indxTECComponents].name_shr}, DateTime={dtReq.AddDays(1).ToString(@"dd-MM-yyyy HH:00")}) - вЫход...: query=[{query}]"
            //    , ASUTP.Logging.INDEX_MESSAGE.NOT_SET);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Конструктор - дополнительный
 /// </summary>
 public TECComponent(TEC tec, DataRow rComp) : this(tec)
 {
     name_shr = rComp["NAME_SHR"].ToString(); //rComp["NAME_GNOVOS"]
     if (DbTSQLInterface.IsNameField(rComp, "NAME_FUTURE") == true)
     {
         this.name_future = rComp["NAME_FUTURE"].ToString();
     }
     else
     {
         ;
     }
     m_id            = Convert.ToInt32(rComp["ID"]);
     m_listMCentreId = getMCentreId(rComp);
     m_listMTermId   = getMTermId(rComp);
     if ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_RDG_EXCEL") == true) && (!(rComp["INDX_COL_RDG_EXCEL"] is System.DBNull)))
     {
         m_indx_col_rdg_excel = Convert.ToInt32(rComp["INDX_COL_RDG_EXCEL"]);
     }
     else
     {
         ;
     }
     if ((DbTSQLInterface.IsNameField(rComp, "KoeffAlarmPcur") == true) && (!(rComp["KoeffAlarmPcur"] is System.DBNull)))
     {
         m_dcKoeffAlarmPcur = Convert.ToInt32(rComp["KoeffAlarmPcur"]);
     }
     else
     {
         ;
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// Список компонентов (ТЭЦ, ГТП, ЩУ, ТГ) в ~ от индекса компонента
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="mode">Индекс компонента - значение из перечисления 'FormChangeMode.MODE_TECCOMPONENT' ('0' или > '0' означает TEC(GTP, PC, TG), '-1' означает VYVOD)</param>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public List <TEC> InitTEC(FormChangeMode.MODE_TECCOMPONENT mode, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData) //indx = {GTP или PC}
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вход...");

            ListTEC tecRes = new ListTEC();

            int err = 01;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , all_PARAM_DETAIL   = null;
            TEC newTECItem;

            //Использование статической функции
            list_tec = GetListTEC(bIgnoreTECInUse, arTECLimit, out err);
            //??? что значит < 0, mode.Unknown < 0!!!
            if ((!(mode == FormChangeMode.MODE_TECCOMPONENT.VYVOD)) &&
                (!(mode == FormChangeMode.MODE_TECCOMPONENT.Unknown)))
            {
                all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);  // самый новый набор
            }
            else
            {
                all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err); // для всех ТЭЦ
            }
            if (err == 0)
            {
                for (int indx_tec = 0; indx_tec < list_tec.Rows.Count; indx_tec++)
                {
                    //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - Создание объекта ТЭЦ: " + i);

                    //Создание объекта ТЭЦ
                    newTECItem = new TEC(list_tec.Rows[indx_tec], bUseData);
                    tecRes.Add(newTECItem);

                    EventTECListUpdate += newTECItem.PerformUpdate;

                    initTECConnectionSettings(newTECItem, list_tec.Rows[indx_tec]);
                    // получить список компонентов, с учетом типа компонентов по 'indx'
                    list_TECComponents = GetListTECComponent(FormChangeMode.getPrefixMode(mode), Convert.ToInt32(list_tec.Rows[indx_tec]["ID"]), out err);

                    if (err == 0)
                    {
                        //??? что значит < 0, mode.Unknown < 0!!!
                        initTECComponents(newTECItem, mode, list_TECComponents, all_PARAM_DETAIL);
                    }
                    else
                    {
                        ; //Ошибка ???
                    }
                }
            }
            else
            {
                ; //Ошибка получения списка ТЭЦ
            }
            //Logging.Logg().Debug("InitTEC::InitTEC (4 параметра) - вЫход...");

            return(tecRes);
        }
Exemplo n.º 6
0
        protected override void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string query = "PPBR";
            int    i     = -1;

            //Logging.Logg().Debug("AdminMC::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вХод...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET);

            query += ";";
            for (i = 0; i < comp.m_listMCentreId.Count; i++)
            {
                query += comp.m_listMCentreId[i];

                if ((i + 1) < comp.m_listMCentreId.Count)
                {
                    query += ",";
                }
                else
                {
                    ;
                }
            }

            //tPBR.GetComp(str, "MC");
            query += ";";
            query += date.ToOADate().ToString();

            DbMCSources.Sources().Request(m_IdListenerCurrent, query); //

            Logging.Logg().Debug("AdminMC::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.D_002);
        }
Exemplo n.º 7
0
        /// <summary>
        /// Конструктор - дополнительный
        /// </summary>
        private TECComponent(TEC tec)
        {
            this.tec = tec;

            m_listLowPointDev = new List <TECComponentBase>();
            m_listMCentreId   =
                m_listMTermId = null;
        }
Exemplo n.º 8
0
        /// <summary>
        /// Конструктор - основной (без параметров)
        /// </summary>
        public TECComponent(TEC tec)
        {
            this.tec = tec;

            m_listTG          = new List <TG>();
            m_listMCentreId   =
                m_listMTermId = null;
        }
Exemplo n.º 9
0
        protected override void setUIControlSourceState()
        {
            // tec получить у любого, в т.ч. "0"-го элемента
            TEC tec = ((AdminTS)m_arAdmin [(Int16)CONN_SETT_TYPE.DEST]).FindTECComponent(((AdminTS_NSS)m_arAdmin [(Int16)CONN_SETT_TYPE.DEST]).m_listKeyTECComponentDetail [0]).tec;

            m_arUIControls [(Int16)CONN_SETT_TYPE.SOURCE, (Int16)INDX_UICONTROLS.SERVER_IP].Text =
                tec.GetAddingParameter(TEC.ADDING_PARAM_KEY.PATH_RDG_EXCEL).ToString();
            enabledButtonSourceExport(m_arUIControls[(Int16)CONN_SETT_TYPE.SOURCE, (Int16)INDX_UICONTROLS.SERVER_IP].Text.Length > 0 ? true : false);
        }
Exemplo n.º 10
0
        protected override string [] setAdminValuesQuery(TEC t, TECComponent comp, DateTime date)
        {
            string [] resQuery = base.setAdminValuesQuery(t, comp, date);

            int currentHour = -1
            , offset        = -1;

            date = date.Date;

            currentHour = 0;

            int indx = m_listTECComponentIndexDetail.IndexOf(GetIndexTECComponent(t.m_id, comp.m_id)) - GetCountGTP();

            if (indx < m_listCurTimezoneOffsetRDGExcelValues.Count)
            {
                for (int i = currentHour; i < m_listTimezoneOffsetHaveDates[(int)StatisticCommon.CONN_SETT_TYPE.ADMIN].Count; i++)
                {
                    offset = GetSeasonHourOffset(i + 1);

                    // запись дл¤ этого часа имеетс¤, модифицируем еЄ
                    if (m_listTimezoneOffsetHaveDates[(int)CONN_SETT_TYPE.ADMIN][i] == true)
                    {
                        resQuery[(int)DbTSQLInterface.QUERY_TYPE.UPDATE] += @"UPDATE " + t.s_NameTableAdminValues + " SET " +
                                                                            @"REC='" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].recomendation.ToString("F2", CultureInfo.InvariantCulture) +
                                                                            @"', " + @"IS_PER=" + (m_listCurTimezoneOffsetRDGExcelValues[indx][i].deviationPercent ? "1" : "0") +
                                                                            @", " + "DIVIAT='" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].deviation.ToString("F2", CultureInfo.InvariantCulture) +
                                                                            @"', " + "SEASON=" + (offset > 0 ? (SEASON_BASE + (int)HAdmin.seasonJumpE.WinterToSummer) : (SEASON_BASE + (int)HAdmin.seasonJumpE.SummerToWinter)) +
                                                                            @", " + "FC=" + (m_curRDGValues[i].fc ? 1 : 0) +
                                                                            @" WHERE" +
                                                                            @" DATE = '" + date.AddHours((i + 1) + (-1 * t.m_timezone_offset_msc)).ToString("yyyyMMdd HH:mm:ss") +
                                                                            @"'" +
                                                                            @" AND ID_COMPONENT = " + comp.m_id + "; ";
                    }
                    else
                    {
                        // запись отсутствует, запоминаем значени¤
                        resQuery[(int)DbTSQLInterface.QUERY_TYPE.INSERT] += @" ('" + date.AddHours((i + 1) + (-1 * t.m_timezone_offset_msc)).ToString("yyyyMMdd HH:mm:ss") +
                                                                            @"', '" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].recomendation.ToString("F2", CultureInfo.InvariantCulture) +
                                                                            @"', " + (m_listCurTimezoneOffsetRDGExcelValues[indx][i].deviationPercent ? "1" : "0") +
                                                                            @", '" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].deviation.ToString("F2", CultureInfo.InvariantCulture) +
                                                                            @"', " + (comp.m_id) +
                                                                            @", " + (offset > 0 ? (SEASON_BASE + (int)HAdmin.seasonJumpE.WinterToSummer) : (SEASON_BASE + (int)HAdmin.seasonJumpE.SummerToWinter)) +
                                                                            @", " + (m_curRDGValues[i].fc ? 1 : 0) +
                                                                            @"),";
                    }
                }
            }
            else
            {
                Logging.Logg().Debug("AdminTransTG::setAdminValuesQuery () - m_listCurTimezoneOffsetRDGExcelValues.Count = " + m_listCurTimezoneOffsetRDGExcelValues.Count, Logging.INDEX_MESSAGE.NOT_SET);
            }

            return(resQuery);
        }
Exemplo n.º 11
0
 /// <summary>
 /// Gets a hash code for this EquipStatsDouble.
 /// </summary>
 public override int GetHashCode()
 {
     unchecked
     {
         int hash = VIT.GetHashCode();
         hash = 31 * hash + STR.GetHashCode();
         hash = 31 * hash + DEX.GetHashCode();
         hash = 31 * hash + TEC.GetHashCode();
         hash = 31 * hash + MAG.GetHashCode();
         return(31 * hash + FTH.GetHashCode());
     }
 }
Exemplo n.º 12
0
        public TECComponent(TEC tec, TG tg)
            : this(tec)
        {
            name_shr = tg.name_shr;
            m_id     = tg.m_id;

            name_future = tg.name_future;

            m_indx_col_export_pbr_excel = tg.m_indx_col_export_pbr_excel;
            m_indx_col_rdg_excel        = tg.m_indx_col_rdg_excel;

            m_dcKoeffAlarmPcur = tg.m_dcKoeffAlarmPcur;
        }
Exemplo n.º 13
0
        public TECComponent(TEC tec, Vyvod.ParamVyvod pv)
            : this(tec)
        {
            name_shr = pv.name_shr;
            m_id     = pv.m_id;

            name_future = pv.name_future;

            m_indx_col_export_pbr_excel = pv.m_indx_col_export_pbr_excel;
            m_indx_col_rdg_excel        = pv.m_indx_col_rdg_excel;

            m_dcKoeffAlarmPcur = pv.m_dcKoeffAlarmPcur;
        }
Exemplo n.º 14
0
        public static void OnTECUpdate(object obj, EventArgs ev)
        {
            TEC tec         = obj as TEC;
            int iListenerId = (ev as TECListUpdateEventArgs).m_iListenerId
            , err           = -1;
            DataTable tableRes;

            DataRow [] selRows;

            DbConnection connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

            tableRes = getListTEC(ref connConfigDB, true, out err);
            //??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM)
            //tec.Update (tableRes);

            tableRes = getListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err);
            // обновление параметров ГТП
            if (tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0)
            {
                // поиск ГТП
                foreach (TECComponent tc in tec.list_TECComponents)
                {
                    if (tc.IsGTP == true)
                    {
                        selRows = tableRes.Select(@"ID=" + tc.m_id);
                        // проверить наличие значения
                        if ((selRows.Length == 1) &&
                            (!(selRows[0]["KoeffAlarmPcur"] is System.DBNull)))
                        {
                            // обновить значение коэффициента
                            tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows[0]["KoeffAlarmPcur"]);
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        ;
                    }
                }
            }
            else
            {
                ;
            }
        }
Exemplo n.º 15
0
        protected override void GetPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string query = string.Empty;
            int    i     = -1;

            query += @"SELECT [objName], [idFactor], [PBR_NUMBER], [Datetime], [Value_MBT] as VALUE FROM [dbo].[v_ALL_PARAM_MODES_BIYSK]" +
                     @" WHERE [ID_Type_Data] = 3" +
                     @" AND [objName] = '" + comp.m_listMTermId[0] + @"'" +
                     @" AND [Datetime] > " + @"'" + date.Date.Add(-HDateTime.TS_NSK_OFFSET_OF_MOSCOWTIMEZONE).ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                     + @" AND [PBR_NUMBER] > 0"
                     + @" ORDER BY [Datetime], [PBR_NUMBER]"
            ;

            DbMCSources.Sources().Request(m_IdListenerCurrent, query);

            //Logging.Logg().Debug("AdminMT::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET);
        }
Exemplo n.º 16
0
        /// <summary>
        /// Конструктор - дополнительный
        /// </summary>
        public TECComponent(TEC tec, DataRow rComp)
            : this(tec)
        {
            name_shr = rComp["NAME_SHR"].ToString(); //rComp["NAME_GNOVOS"]
            if (DbTSQLInterface.IsNameField(rComp, "NAME_FUTURE") == true)
            {
                this.name_future = rComp["NAME_FUTURE"].ToString();
            }
            else
            {
                ;
            }
            m_id                        = Convert.ToInt32(rComp["ID"]);
            m_listMCentreId             = getMCentreId(rComp);
            m_listMTermId               = getMTermId(rComp);
            m_indx_col_export_pbr_excel = ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_EXPORT_PBR_EXCEL") == true) && (!(rComp["INDX_COL_EXPORT_PBR_EXCEL"] is System.DBNull)))
                ? Convert.ToInt32(rComp["INDX_COL_EXPORT_PBR_EXCEL"])
                    : -1; // значение по умолчанию "-1" - не установлено
            if ((DbTSQLInterface.IsNameField(rComp, "INDX_COL_RDG_EXCEL") == true) && (!(rComp["INDX_COL_RDG_EXCEL"] is System.DBNull)))
            {
                m_indx_col_rdg_excel = Convert.ToInt32(rComp["INDX_COL_RDG_EXCEL"]);
            }
            else
            {
                ;
            }
            if ((DbTSQLInterface.IsNameField(rComp, "KoeffAlarmPcur") == true) && (!(rComp["KoeffAlarmPcur"] is System.DBNull)))
            {
                m_dcKoeffAlarmPcur = Convert.ToInt32(rComp["KoeffAlarmPcur"]);
            }
            else
            {
                ;
            }

            if ((DbTSQLInterface.IsNameField(rComp, @"KOM_UCHET") == true) && (!(rComp[@"KOM_UCHET"] is System.DBNull)))
            {
                m_bKomUchet = Convert.ToByte(rComp[@"KOM_UCHET"]) == 1 ? true : false;
            }
            else
            {
                m_bKomUchet = true;
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Когструктор - основной (с аргументом)
        /// </summary>
        /// <param name="tec">Исходный(базовый) объект ТЭЦ</param>
        public TEC_LOCAL(TEC tec)
            : this()
        {
            this.m_Id         = tec.m_id;
            this.m_strNameShr = tec.name_shr;

            List <int> list_column = new List <int>();

            this.m_arMSExcelNumColumns =
                tec.GetAddingParameter(TEC.ADDING_PARAM_KEY.COLUMN_TSN_EXCEL).ToString().Split(new char[] { ',' },StringSplitOptions.RemoveEmptyEntries)
                .Select((string s) => {
                return(string.IsNullOrEmpty(s) == false ? Convert.ToInt32(s) : -1);
            }
                        ).ToArray();

            for (int j = 0; j < this.m_arListSgnls.Count(); j++)
            {
                this.m_arListSgnls[j] = new List <SIGNAL>();
            }
        }
Exemplo n.º 18
0
        private void initTECComponents(TEC tec, FormChangeMode.MODE_TECCOMPONENT mode, DataTable list_TECComponents, DataTable all_PARAM_Detail)
        {
            int id_comp = -1
            , indx_comp = -1;
            TECComponent newTECComp;

            for (indx_comp = 0; indx_comp < list_TECComponents.Rows.Count; indx_comp++)
            {
                newTECComp = new TECComponent(tec, list_TECComponents.Rows [indx_comp]);
                id_comp    = newTECComp.m_id;
                tec.AddTECComponent(newTECComp);
                if (!(mode < 0)) // инициализация "обычных" компонентов ТЭЦ
                {
                    tec.InitTG(id_comp, all_PARAM_Detail.Select($@"ID_{FormChangeMode.getPrefixMode (mode)}={id_comp}"));
                }
                else
                {
                    tec.InitParamVyvod(newTECComp, all_PARAM_Detail.Select($"ID_{FormChangeMode.getPrefixMode (mode)}={id_comp}"));
                }
            }
        }
Exemplo n.º 19
0
        protected override void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/)
        {
            string   query = string.Empty;
            DateTime dtReq = date.Date.Add(-HDateTime.TS_MSK_OFFSET_OF_UTCTIMEZONE);
            int      i     = -1;

            query += @"SELECT [objName], [idFactor], [PBR_NUMBER], [Datetime],"
                     //+ @" SUM([Value_MBT]) as VALUE"
                     + @" [Value_MBT] as VALUE"
                     + @" FROM [dbo].[v_ALL_PARAM_MODES_" + t.GetAddingParameter(TEC.ADDING_PARAM_KEY.PREFIX_MODES_TERMINAL).ToString() + @"]" +
                     @" WHERE [ID_Type_Data] = 3" +
                     @" AND [objName] IN (" + string.Join(@",", comp.m_listMTermId.ToArray()) + @")" +
                     @" AND [Datetime] > " + @"'" + dtReq.ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                     + @" AND [Datetime] <= " + @"'" + dtReq.AddDays(1).ToString(@"yyyyMMdd HH:00:00.000") + @"'"
                     + @" AND [PBR_NUMBER] > 0"
                     //+ @" GROUP BY [idFactor], [PBR_NUMBER], [Datetime]"
                     + @" ORDER BY [Datetime], [PBR_NUMBER]"
            ;

            DbSources.Sources().Request(m_IdListenerCurrent, query);

            //Logging.Logg().Debug("AdminMT::GetPPBRValuesRequest (TEC, TECComponent, DateTime, AdminTS.TYPE_FIELDS) - вЫход...: query=" + query, Logging.INDEX_MESSAGE.NOT_SET);
        }
Exemplo n.º 20
0
        ///// <summary>
        ///// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        ///// </summary>
        ///// <param name="connSett">Параметры соединения с БД концигурации</param>
        ///// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        ///// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        ///// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        //public List<TEC> InitTEC (ConnectionSettings connSett, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        //{
        //    SetConnectionSettings (connSett);

        //    return InitTEC (bIgnoreTECInUse, arTECLimit, bUseData);
        //}

        /// <summary>
        /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        /// </summary>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public List <TEC> InitTEC(bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход...");

            ListTEC tecRes;

#if MODE_STATIC_CONNECTION_LEAVING
            ModeStaticConnectionLeave = ModeStaticConnectionLeaving.Yes;
#endif
            int err        = -1;
            TEC newTECItem = null;

            tecRes = new ListTEC();
            //if (Equals(_tec, null) == true)
            //    _tec = new ListTEC ();
            //else {
            //    return CopyTEC;
            //}

            string strLog = string.Empty;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null  // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , all_PARAM_DETAIL   = null; // ТГ не аналог "вывода". "Вывод" аналог ГТП(ЩУ), Параметр "вывода" аналог ТГ.

            try
            {
                //Получить список ТЭЦ, используя статическую функцию
                list_tec = GetListTEC(bIgnoreTECInUse, arTECLimit, out err);

                if (err == 0)
                {
                    for (int indx_tec = 0; indx_tec < list_tec.Rows.Count; indx_tec++)
                    {
                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]);

                        if ((HStatisticUsers.allTEC == 0) ||
                            (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[indx_tec]["ID"])
                             /*|| (HStatisticUsers.RoleIsDisp == true)*/)
                            )
                        {
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count);

                            //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                            //Создание объекта ТЭЦ
                            newTECItem = new TEC(list_tec.Rows[indx_tec], bUseData);
                            tecRes.Add(newTECItem);
                            //indx_tec = tec.Count - 1;

                            EventTECListUpdate += newTECItem /*tec[indx_tec]*/.PerformUpdate;

                            initTECConnectionSettings(newTECItem, list_tec.Rows[indx_tec]);
                            // получить перечень ТГ со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);

                            if (err == 0)
                            {
                                #region Добавить компоненты ТЭЦ (ГТП, ЩУ)
                                for (FormChangeMode.MODE_TECCOMPONENT c = FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > FormChangeMode.MODE_TECCOMPONENT.PC); c++)
                                {
                                    list_TECComponents = GetListTECComponent(FormChangeMode.getPrefixMode(c), newTECItem.m_id, out err);

                                    //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count);

                                    if (err == 0)
                                    {
                                        try
                                        {
                                            initTECComponents(newTECItem, c, list_TECComponents, all_PARAM_DETAIL);
                                        }
                                        catch (Exception e)
                                        {
                                            Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET);
                                        }
                                    }
                                    else
                                    {
                                        ; //Ошибка при получении списка компонентов
                                    }
                                }
                                #endregion
                            }
                            else
                            {
                                ; // ошибка при получении параметров ТГ
                            }
                            // получить перечень параметров выводов со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err);

                            if (err == 0)
                            {// ВАЖНО! первоначально добавляются компоненты нижнего уровня
                                list_TECComponents = GetListTECComponent(FormChangeMode.getPrefixMode(FormChangeMode.MODE_TECCOMPONENT.VYVOD), newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    initTECComponents(newTECItem, FormChangeMode.MODE_TECCOMPONENT.VYVOD, list_TECComponents, all_PARAM_DETAIL);
                                }
                                else
                                {
                                    ; // ошибка получения перечня выводов
                                }
                            }
                            else
                            {
                                ; // ошибка получения параметров выводов
                            }
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                        }
                        else
                        {
                            ;
                        }
                    } // for i
                }
                else
                {
                    ; //Ошибка получения списка ТЭЦ
                }
            }
            catch (Exception e) {
                Logging.Logg().Exception(e, "Ошибка получения параметров для всех ТГ", Logging.INDEX_MESSAGE.NOT_SET);
            }
#if MODE_STATIC_CONNECTION_LEAVING
            ModeStaticConnectionLeave = ModeStaticConnectionLeaving.No;
#endif
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");

            return(tecRes);
        }
Exemplo n.º 21
0
        /// <summary>
        /// Конструктор - основной (без параметров)
        /// </summary>
        public Vyvod(TEC tec)
        {
            this.tec = tec;

            m_listParam = new List <ParamVyvod>();
        }
Exemplo n.º 22
0
 protected abstract void getPPBRValuesRequest(TEC t, TECComponent comp, DateTime date /*, AdminTS.TYPE_FIELDS mode*/);
Exemplo n.º 23
0
        public static void OnTECUpdate(object obj, EventArgs ev)
        {
            TEC tec         = obj as TEC;
            int iListenerId = (ev as TECListUpdateEventArgs).m_iListenerId
            , err           = -1;
            DataTable tableRes;

            DataRow []   selRows;
            DbConnection connConfigDB;

            try {
                connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

                if (err == 0)
                {
                    //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err);
                    ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM)
                    //tec.Update (tableRes);

                    tableRes = getListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err);
                    // обновление параметров ГТП
                    if (err == 0)
                    {
                        if (tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0)
                        {
                            // поиск ГТП
                            foreach (TECComponent tc in tec.list_TECComponents)
                            {
                                if (tc.IsGTP == true)
                                {
                                    selRows = tableRes.Select(@"ID=" + tc.m_id);
                                    // проверить наличие значения
                                    if ((selRows.Length == 1) &&
                                        (!(selRows[0]["KoeffAlarmPcur"] is System.DBNull)))
                                    {
                                        // обновить значение коэффициента
                                        tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows[0]["KoeffAlarmPcur"]);
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        ;
                    }
                }
                else
                {
                    ;
                }
            } catch (Exception e) {
                Logging.Logg().Exception(e, string.Format(@"InitTEC_200::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET);
            }
        }
Exemplo n.º 24
0
 protected abstract void GetPPBRValuesRequest(TEC t, TECComponent comp, DateTime date);
Exemplo n.º 25
0
        /// <summary>
        /// Инициализация параметров для соединения с БД всех источников данных, используемых для сбора отображения
        /// </summary>
        /// <param name="indx_tec">Индекс ТЭЦ в списке текущего объекта</param>
        /// <param name="rTec">Строка таблицы [TEC_LIST], содержащая необходимые значения параметров</param>
        private void initTECConnectionSettings(TEC tec, DataRow rTec)
        {
            int err                 = -1
            , idConnSett            = -1;
            string    strLog        = string.Empty;
            DataTable tableConnSett = null;

            foreach (KeyValuePair <CONN_SETT_TYPE, string> pair in TEC.s_dictIdConfigDataSources)
            {
                if ((rTec[pair.Value] is DBNull) == false)
                {
                    idConnSett    = Convert.ToInt32(rTec[pair.Value]);
                    tableConnSett = DbTSQLConfigDatabase.DbConfig().GetDataTableConnSettingsOfIdSource(idConnSett, -1, out err);

                    if (err == 0)
                    {
                        err = tec.connSettings(tableConnSett, (int)pair.Key);

                        switch (err)
                        {
                        case 1:
                            strLog = string.Format(@"идентификтор <{0}> источника данных для типа с индексом <{1}> не совпадает с базовым"
                                                   , idConnSett
                                                   , pair.Key);
                            break;

                        case -1:
                            strLog = string.Format(@"найден более, чем один источник с идентификатором {0} для типа с индексом {1}"
                                                   , idConnSett
                                                   , pair.Key);
                            break;

                        case -2:
                            strLog = string.Format(@"не найден ни один источник для типа с индексом {0}"
                                                   , pair.Key);
                            break;

                        default:
                            break;
                        }

                        if (err > 0)
                        {
                            Logging.Logg().Warning(@"DbTSQLConfigureDatabase::initTECConnectionSettings () - " + strLog + @"...", Logging.INDEX_MESSAGE.NOT_SET);
                        }
                        else
                        if (strLog.Equals(string.Empty) == false)
                        {
                            Logging.Logg().Error(@"DbTSQLConfigureDatabase::initTECConnectionSettings () - " + strLog + @"...", Logging.INDEX_MESSAGE.NOT_SET);
                        }
                        else
                        {
                            ;
                        }
                    }
                    else
                    {
                        Logging.Logg().Warning(string.Format(@"DbTSQLConfigureDatabase::initTECConnectionSettings () - " + @"не зарегистрирован источник с идентификатором {0} для ТЭЦ.ID={1}, либо для него не установлен пароль" + @"...", pair.Key, tec.m_id)
                                               , Logging.INDEX_MESSAGE.NOT_SET);
                    }
                }
                else
                {
                    Logging.Logg().Warning(string.Format(@"DbTSQLConfigureDatabase::initTECConnectionSettings () - " + @"не установлен идентификатор источника данных {0} для ТЭЦ.ID={1}" + @"...", pair.Key, tec.m_id)
                                           , Logging.INDEX_MESSAGE.NOT_SET);
                }
            }
        }
Exemplo n.º 26
0
 /// <summary>
 /// Конструктор - основной (c параметрами)
 /// </summary>
 /// <param name="tec">Объект-ТЭЦ - родительский по отношению к создаваемому объекту</param>
 /// <param name="r">Строка со значениями свойств создаваемого объекта-ВЫВОДа</param>
 public Vyvod(TEC tec, DataRow[] rows_param)
     : base(tec, rows_param[0])
 {
 }
Exemplo n.º 27
0
 public Vyvod(TEC tec, DataRow row_param)
     : this(tec, new DataRow[] { row_param })
 {
 }
Exemplo n.º 28
0
        public void OnTECUpdate(object obj, EventArgs ev)
        {
            TEC tec               = obj as TEC;
            int iListenerId       = (ev as TECListUpdateEventArgs).m_iListenerId
            , err                 = -1;
            string    strMesError = string.Empty;
            DataTable tableRes;

            DataRow []   selRows;
            DbConnection connConfigDB;

            try {
                connConfigDB = DbSources.Sources().GetConnection(iListenerId, out err);

                if (err == 0)
                {
                    //tableRes = getListTEC(ref connConfigDB, true, new int[] { 0, (int)TECComponent.ID.GTP }, out err);
                    ////??? обновление параметров ТЭЦ (например: m_IdSOTIASSOLinkSourceTM)
                    //tec.Update (tableRes);

                    tableRes = GetListTECComponent(ref connConfigDB, @"GTP", tec.m_id, out err);
                    // обновление параметров ГТП
                    if (err == 0)
                    {
                        err = tableRes.Columns.IndexOf("KoeffAlarmPcur") > 0 ? 0 : -2;  // ранее возвращалось значение "-1"

                        if (err == 0)
                        {
                            // поиск ГТП
                            foreach (TECComponent tc in tec.list_TECComponents)
                            {
                                if (tc.IsGTP == true)
                                {
                                    selRows = tableRes.Select(@"ID=" + tc.m_id);
                                    // проверить наличие значения
                                    if ((selRows.Length == 1) &&
                                        (!(selRows [0] ["KoeffAlarmPcur"] is System.DBNull)))
                                    {
                                        // обновить значение коэффициента
                                        tc.m_dcKoeffAlarmPcur = Convert.ToInt32(selRows [0] ["KoeffAlarmPcur"]);
                                    }
                                    else
                                    {
                                        ;
                                    }
                                }
                                else
                                {
                                    ;
                                }
                            }
                        }
                        else
                        {
                            strMesError = "результ. табл. не содержит поле [KoeffAlarmPcur]";
                        }
                    }
                    else
                    {
                        //strMesError = "не удалось получить таблицу - список компонентов ТЭЦ"
                        throw new InvalidOperationException(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..."
                                                                          , (obj as TEC).m_id, (obj as TEC).name_shr, @"не удалось получить таблицу - список компонентов ТЭЦ"))
                        ;
                    }
                }
                else
                {
                    strMesError = "не удалось получить объект соединения с БД конфигурации";
                }
            } catch (Exception e) {
                Logging.Logg().Exception(e, string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - ...", (obj as TEC).m_id, (obj as TEC).name_shr), Logging.INDEX_MESSAGE.NOT_SET);
            }

            if (err < 0)
            {
                Logging.Logg().Error(string.Format(@"DbTSQLConfigureDatabase::OnTECUpdate (ID={0}, NAME={1}) - {2} ..."
                                                   , (obj as TEC).m_id, (obj as TEC).name_shr, strMesError), Logging.INDEX_MESSAGE.NOT_SET);
            }
            else
            {
                ;
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// Список ВСЕХ компонентов (ТЭЦ, ГТП, ЩУ, ТГ)
        /// </summary>
        /// <param name="idListener">Идентификатор установленного соединения с БД концигурации</param>
        /// <param name="bIgnoreTECInUse">Признак использования поля [TEC_LIST].[InUse]</param>
        /// <param name="arTECLimit">Массив-диапазон допустимых идентификаторов ТЭЦ</param>
        /// <param name="bUseData">Признак возможности обращения к данным компонентов собираемого списка</param>
        public InitTEC_200(int idListener, bool bIgnoreTECInUse, int [] arTECLimit, bool bUseData)
        {
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вход...");

            int err        = -1;
            TEC newTECItem = null;

            tec = new ListTEC();
            //m_user = new Users(idListener);
            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - получение объекта MySqlConnection...");

            m_connConfigDB = DbSources.Sources().GetConnection(idListener, out err);

            int indx = -1
                       //, indx_tec = -1
            ;
            string strLog = string.Empty;
            // подключиться к бд, инициализировать глобальные переменные, выбрать режим работы
            DataTable list_tec   = null // = DbTSQLInterface.Select(connSett, "SELECT * FROM TEC_LIST"),
            , list_TECComponents = null
            , list_lowPointDev   = null
            , all_PARAM_DETAIL   = null;   // ТГ не аналог "вывода". "Вывод" аналог ГТП(ЩУ), Параметр "вывода" аналог ТГ.

            if (err == 0)
            {
                //Получить список ТЭЦ, используя статическую функцию
                list_tec = getListTEC(ref m_connConfigDB, bIgnoreTECInUse, arTECLimit, out err);

                if (err == 0)
                {
                    for (int i = 0; i < list_tec.Rows.Count; i++)
                    {
                        //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_tec.Rows[i][\"ID\"] = " + list_tec.Rows[i]["ID"]);

                        if ((HStatisticUsers.allTEC == 0) || (HStatisticUsers.allTEC == Convert.ToInt32(list_tec.Rows[i]["ID"]))
                            /*|| (HStatisticUsers.RoleIsDisp == true)*/)
                        {
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - tec.Count = " + tec.Count);

                            //if ((HAdmin.DEBUG_ID_TEC == -1) || (HAdmin.DEBUG_ID_TEC == Convert.ToInt32 (list_tec.Rows[i]["ID"]))) {
                            //Создание объекта ТЭЦ
                            newTECItem = new TEC(list_tec.Rows[i], bUseData);
                            tec.Add(newTECItem);
                            //indx_tec = tec.Count - 1;

                            EventTECListUpdate += newTECItem /*tec[indx_tec]*/.PerformUpdate;

                            indx = -1;
                            initTECConnectionSettings(i, list_tec.Rows[i]);
                            // получить перечень ТГ со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_PARAM_TG(0, out err);

                            if (err == 0)
                            {
                                #region Добавить ТГ для ТЭЦ
                                list_lowPointDev = getListTG(newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    for (int k = 0; k < list_lowPointDev.Rows.Count; k++)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k]));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new TG(list_lowPointDev.Rows[k], all_PARAM_DETAIL.Select(@"ID_TG=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0]));
                                    }
                                }
                                else
                                {
                                    ; //Ошибка получения списка ТГ
                                }
                                #endregion

                                #region Добавить компоненты ТЭЦ (ГТП, ЩУ)
                                for (int c = (int)FormChangeMode.MODE_TECCOMPONENT.GTP; !(c > (int)FormChangeMode.MODE_TECCOMPONENT.PC); c++)
                                {
                                    list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(c), newTECItem.m_id, out err);

                                    //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TECComponents.Count = " + list_TECComponents.Rows.Count);

                                    if (err == 0)
                                    {
                                        try
                                        {
                                            for (int j = 0; j < list_TECComponents.Rows.Count; j++)
                                            {
                                                //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - ...tec[indx_tec].list_TECComponents.Add(new TECComponent...");

                                                newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_TECComponents.Rows[j]));
                                                indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                                newTECItem /*tec[indx_tec]*/.InitTG(indx
                                                                                    , all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(c) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id));
                                            }
                                        }
                                        catch (Exception e)
                                        {
                                            Logging.Logg().Exception(e, "InitTEC::InitTEC (3 параметра) - ...for (int j = 0; j < list_TECComponents.Rows.Count; j++)...", Logging.INDEX_MESSAGE.NOT_SET);
                                        }
                                    }
                                    else
                                    {
                                        ; //Ошибка при получении списка компонентов
                                    }
                                }
                                #endregion
                            }
                            else
                            {
                                ; // ошибка при получении параметров ТГ
                            }
                            // получить перечень параметров выводов со всеми значениями всех свойств
                            all_PARAM_DETAIL = getALL_ParamVyvod(-1, out err);

                            if (err == 0)
                            {// ВАЖНО! первоначально добавляются компоненты нижнего уровня
                                #region Добавить параметры ВЫВОДов для ТЭЦ
                                list_lowPointDev = getALL_ParamVyvod(newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    for (int k = 0; k < list_lowPointDev.Rows.Count; k++)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, list_lowPointDev.Rows[k]));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_listLowPointDev.Add(new Vyvod.ParamVyvod(all_PARAM_DETAIL.Select(@"ID=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id)[0]));
                                    }
                                }
                                else
                                {
                                    ; //Ошибка получения списка параметров ВЫВОДов
                                }
                                #endregion

                                #region Добавить компоненты ТЭЦ (ВЫВОДы)
                                list_TECComponents = getListTECComponent(FormChangeMode.getPrefixMode(-1), newTECItem.m_id, out err);

                                if (err == 0)
                                {
                                    foreach (DataRow r in list_TECComponents.Rows)
                                    {
                                        newTECItem /*tec[indx_tec]*/.list_TECComponents.Add(new TECComponent(newTECItem /*tec[indx_tec]*/, r));
                                        indx = newTECItem /*tec[indx_tec]*/.list_TECComponents.Count - 1;

                                        //???
                                        newTECItem /*tec[indx_tec]*/.InitParamVyvod(-1, all_PARAM_DETAIL.Select(@"ID_" + FormChangeMode.getPrefixMode(-1) + @"=" + newTECItem /*tec[indx_tec]*/.list_TECComponents[indx].m_id));
                                    }
                                }
                                else
                                {
                                    ; // ошибка получения перечня выводов
                                }
                                #endregion
                            }
                            else
                            {
                                ; // ошибка получения параметров выводов
                            }
                            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - list_TG = Ok");
                        }
                        else
                        {
                            ;
                        }
                    } // for i
                }
                else
                {
                    ; //Ошибка получения списка ТЭЦ
                }
            }
            else
            {
                ; //Ошибка получения всех параметров для всех ТГ
            }
            //DbTSQLInterface.CloseConnection(m_connConfigDB, out err);

            //Logging.Logg().Debug("InitTEC::InitTEC (3 параметра) - вЫход...");
        }
Exemplo n.º 30
0
        protected override string [] setPPBRQuery(TEC t, TECComponent comp, DateTime date)
        {
            string [] resQuery = base.setPPBRQuery(t, comp, date);

            int currentHour = -1;

            date = date.Date;

            currentHour = 0;

            int indx = m_listTECComponentIndexDetail.IndexOf(GetIndexTECComponent(t.m_id, comp.m_id)) - GetCountGTP();

            if (indx < m_listCurTimezoneOffsetRDGExcelValues.Count)
            {
                for (int i = currentHour; i < m_listTimezoneOffsetHaveDates[(int)CONN_SETT_TYPE.PBR].Count; i++)
                {
                    // запись дл¤ этого часа имеетс¤, модифицируем еЄ
                    if (m_listTimezoneOffsetHaveDates[(int)CONN_SETT_TYPE.PBR][i])
                    {
                        switch (m_typeFields)
                        {
                        case AdminTS.TYPE_FIELDS.STATIC:
                            break;

                        case AdminTS.TYPE_FIELDS.DYNAMIC:
                            resQuery[(int)DbTSQLInterface.QUERY_TYPE.UPDATE] += @"UPDATE " + @"[" + t.m_arNameTableUsedPPBRvsPBR[(int)m_typeFields] + @"]" +
                                                                                " SET " +
                                                                                @"PBR='" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pbr.ToString("F2", CultureInfo.InvariantCulture) + "'" +
                                                                                @", Pmin='" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pmin.ToString("F2", CultureInfo.InvariantCulture) + "'" +
                                                                                @", Pmax='" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pbr.ToString("F2", CultureInfo.InvariantCulture) + "'" +
                                                                                @" WHERE " +
                                                                                t.m_strNamesField [(int)TEC.INDEX_NAME_FIELD.PBR_DATETIME] + @" = '" + date.AddHours((i + 1) + (-1 * t.m_timezone_offset_msc)).ToString("yyyyMMdd HH:mm:ss") +
                                                                                @"'" +
                                                                                @" AND ID_COMPONENT = " + comp.m_id + "; ";
                            break;

                        default:
                            break;
                        }
                    }
                    else
                    {
                        // запись отсутствует, запоминаем значени¤
                        switch (m_typeFields)
                        {
                        case AdminTS.TYPE_FIELDS.STATIC:
                            break;

                        case AdminTS.TYPE_FIELDS.DYNAMIC:
                            resQuery[(int)DbTSQLInterface.QUERY_TYPE.INSERT] += @" ('" + date.AddHours((i + 1) + (-1 * t.m_timezone_offset_msc)).ToString("yyyyMMdd HH:mm:ss") +
                                                                                @"', '" + serverTime.ToString("yyyyMMdd HH:mm:ss") +
                                                                                @"', '" + GetPBRNumber((i + 0) + (-1 * t.m_timezone_offset_msc)) +
                                                                                @"', " + comp.m_id +
                                                                                @", '" + "0" + "'" +
                                                                                @", '" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pbr.ToString("F1", CultureInfo.InvariantCulture) + "'" +
                                                                                @", '" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pmin.ToString("F1", CultureInfo.InvariantCulture) + "'" +
                                                                                @", '" + m_listCurTimezoneOffsetRDGExcelValues[indx][i].pmax.ToString("F1", CultureInfo.InvariantCulture) + "'" +
                                                                                @"),";
                            break;

                        default:
                            break;
                        }
                    }
                }
            }
            else
            {
                Logging.Logg().Debug("AdminTransTG::setPPBRQuery () - m_listCurTimezoneOffsetRDGExcelValues.Count = " + m_listCurTimezoneOffsetRDGExcelValues.Count, Logging.INDEX_MESSAGE.NOT_SET);
            }

            resQuery[(int)DbTSQLInterface.QUERY_TYPE.DELETE] = @"";

            Logging.Logg().Debug("AdminTransTG::setPPBRQuery ()", Logging.INDEX_MESSAGE.NOT_SET);

            return(resQuery);
        }