Ejemplo n.º 1
0
 /// <summary>
 /// Построение дерева и создание ТБД "ПП"
 /// </summary>
 public static void BuiltTreeAndCreateFATable()
 {
     // загрузим данные из ТБД "Состав изделий"
     DatabaseLib.Select str = new DatabaseLib.Select();
     str.From("CompositionProducts");
     DataTable dt = DBWorker.dbf.Execute(str);
     // построим дерево классом для деревьев
     CompositionRow[] data = Converter.ConvertDataTableToCompositionRow(dt);
     Tree tr = new Tree(data);
     // подсчитаем полную применяемость изделий
     if (!tr.IsCalculated) // если еще не рассчитана полная применяемость
     {
         // подсчитаем кол-во деталей в изделиях
         FullApplicationRow[] calc = tr.CalculateFullApplication();
         // заполним таблицу БД ПП
         DBWorker.CreateAndFillFullApplicationTable(calc);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Выборка всех данных из таблицы по ей тегу
 /// </summary>
 /// <param name="TableTag">Тэг для определения таблицы из БД</param>
 /// <returns>Возвращает таблицу с данными System.Data.DataTable с содержимым таблицы из БД</returns>
 public static DataTable SelectDataFromTable(string TableTag)
 {
     DatabaseLib.Select str = new DatabaseLib.Select();
     // создание строки запроса
     switch (TableTag)
     {
         case "СВП":
             str.From("ReferenceProducts");
             break;
         case "СТП":
             str.From("ProductTypes");
             break;
         case "СПП":
             str.From("ReferenceSigns");
             break;
         case "СЕИ":
             str.From("ReferenceUnits");
             break;
         case "СНП":
             str.From("ProductNames");
             break;
         case "СТМ":
             str.From("ReferenceMaterials");
             break;
         case "СНиОД":
             str.From("ReferenceStandarts");
             break;
         case "СИ": // выборка из таблицы "Состав изделий"
             str.From("CompositionProducts");
             break;
         case "ПП": // выборка из таблицы "Полная применяемость"
             str.From("FullApplication");
             break;
         case "ПВИ": // выборка из таблицы "План выпуска изделий"
             str.From("PlanProducts");
             break;
         case "СНТИ": // выборка из таблицы "Сводная нормативная трудоемкость на изделие"
             str.From("Complexity");
             break;
         case "СНТИЦ": // выборка из таблицы "Сводная нормативная трудоемкость на изделие по цехам"
             str.From("ComplexityShop");
             break;
         case "НТПП": // выборка из таблицы "Нормативная трудоемкость производственной программы"
             str.From("ComplexityProgram");
             break;
         case "НТППЦ": // выборка из таблицы "Нормативная трудоемкость производственной программы по цехам"
             str.From("ComplexityShopProgram");
             break;
     }
     DataTable dt;
     if (flag != false && dbf != null)
     {
         dt = dbf.Execute(str);
     }
     else
         dt = null;
     return dt;
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Функция для определения количества и дат для ведомостей по потребности в материалах по месяцам
        /// </summary>
        /// <param name="count">Найденное количество дат (=>ведомостей)</param>
        /// <returns>Возвращает массив найденных дат</returns>
        public static MNDates[] GetMNDatesCount(ref int count)
        {
            // выберем данные из таблицы "ПВИ"
            DatabaseLib.Select sel = new DatabaseLib.Select();
            sel.From("PlanProducts");
            DataTable dt = DBWorker.dbf.Execute(sel);

            MNDates[] data = new MNDates[0];
            // подсчитаем количество уникальных месяцев для производства изделий
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                if (!IsItMNDate(data, dt.Rows[i])) // если нет такой даты,
                    AddMNDate(ref data, dt.Rows[i]); // то добавим ее в массив
            }

            count = data.Length;
            return data;
        }
Ejemplo n.º 4
0
 // загрузка данных в поля подстановки
 private void InitializeData()
 {
     // загрузка данных из таблицы СЕИ
     radMultiColumnComboBox3.DataSource = DBWorker.SelectDataFromTable("СЕИ");
     radMultiColumnComboBox3.EditorControl.Columns[0].IsVisible = false;
     radMultiColumnComboBox3.EditorControl.Columns[1].HeaderText = "Полное название";
     radMultiColumnComboBox3.EditorControl.Columns[1].Width = 100;
     radMultiColumnComboBox3.EditorControl.Columns[2].HeaderText = "Краткое название";
     radMultiColumnComboBox3.EditorControl.Columns[2].Width = 100;
     // данные из таблицы СНП (частично)
     DatabaseLib.Select str = new DatabaseLib.Select();
     str.From("ProductNames", "ProductKey,Name,Designation");
     radMultiColumnComboBox1.DataSource = DBWorker.dbf.Execute(str);
     radMultiColumnComboBox1.EditorControl.Columns[0].HeaderText = "Код продукции";
     radMultiColumnComboBox1.EditorControl.Columns[0].Width = 80;
     radMultiColumnComboBox1.EditorControl.Columns[1].HeaderText = "Наименование";
     radMultiColumnComboBox1.EditorControl.Columns[1].Width = 140;
     radMultiColumnComboBox1.EditorControl.Columns[2].HeaderText = "Обозначение";
     radMultiColumnComboBox1.EditorControl.Columns[2].Width = 150;
     // данные из таблицы СТМ
     radMultiColumnComboBox2.DataSource = DBWorker.SelectDataFromTable("СТМ");
     radMultiColumnComboBox2.EditorControl.Columns[0].HeaderText = "Код материала";
     radMultiColumnComboBox2.EditorControl.Columns[0].Width = 100;
     radMultiColumnComboBox2.EditorControl.Columns[1].HeaderText = "Наименование";
     radMultiColumnComboBox2.EditorControl.Columns[1].Width = 250;
     radMultiColumnComboBox2.EditorControl.Columns[2].IsVisible = false;
     // не выбран пункт в полях подстановки
     radMultiColumnComboBox1.SelectedIndex = -1;
     radMultiColumnComboBox2.SelectedIndex = -1;
     radMultiColumnComboBox3.SelectedIndex = -1;
 }