/// <summary> /// Логика формирование листа записей отчета [Печать по изделиям в разрезе детале-операций(сжатая)] /// </summary> public static List <PrintingOfProsuctInContextOfDetalOperations> GetPrintingOfProsuctInContextOfDetalOperations( decimal code, WorkGuild workGuild) { var reportResultList = new List <PrintingOfProsuctInContextOfDetalOperations>(); var buildSqlQuery = string.Format(BodySqlQuery, code); if (workGuild != null) { buildSqlQuery += "AND " + string.Format(SqlQueryKc, workGuild.Id); } buildSqlQuery += SqlQueryGroup; var sqlResult = DataTableHelper.LoadDataTableByQuery(DbPathTrudnorm, buildSqlQuery, "SqlResult"); foreach (var row in sqlResult.Select()) { var productId = (decimal)row["kizd"]; var productMark = row["izdMark"] != DBNull.Value ? ((string)row["izdMark"]).Trim() : string.Empty; var productName = row["izdName"] != DBNull.Value ? ((string)row["izdName"]).Trim() : string.Empty; var detalId = (decimal)row["detal"]; var detalName = row["detalName"] != DBNull.Value ? ((string)row["detalName"]).Trim() : string.Empty; var detalMark = row["detalMark"] != DBNull.Value ? ((string)row["detalMark"]).Trim() : string.Empty; var kc = (decimal)row["kc"]; var vstk = (decimal)row["vstksum"]; var rstk = (decimal)row["rstksum"]; var kol = (decimal)row["kol"]; var operac = (decimal)row["operac"]; var tehnoper = (decimal)row["tehoper"]; var operationName = row["tehnoperName"] != DBNull.Value ? ((string)row["tehnoperName"]).Trim() : string.Empty; reportResultList.Add(new PrintingOfProsuctInContextOfDetalOperations() { ProductId = productId, ProductName = productName, ProductMark = productMark, DetalId = detalId, DetalName = detalName, DetalMark = detalMark, Kc = kc, Kol = kol, Operac = operac, Tehoper = tehnoper, OperationName = operationName, Vstk = vstk, Rstk = rstk, }); } reportResultList.Sort(); return(reportResultList); }
/// <summary> /// Логика формирование листа записей отчета [Расчет кол-ва рабочих по цехам на выпуск] /// </summary> public static List <CalculationNumberWorkguildWorkersRealase> GetCalculationNumberWorkguildWorkersRealases (WorkGuild workGuild, Area area) { var reportResultList = new List <CalculationNumberWorkguildWorkersRealase>(); var buildSqlQuery = BodySqlQuery; if (workGuild != null) { buildSqlQuery += string.Format(SqlQueryWorkGuild, workGuild.Id); } if (workGuild != null && area != null) { buildSqlQuery += string.Format(SqlQueryArea, area.Id); } buildSqlQuery += string.Format(SqlGroupQuery); var sqlResult = DataTableHelper.LoadDataTableByQuery(DbPathTrudnorm, buildSqlQuery, "SqlResult"); foreach (var row in sqlResult.Select()) { var productId = (decimal)row["kizd"]; var productMark = row["obozn"] != DBNull.Value ? ((string)row["obozn"]).Trim() : string.Empty; var productName = row["name"] != DBNull.Value ? ((string)row["name"]).Trim() : string.Empty; var professionId = (decimal)row["prof"]; var professionName = row["professionName"] != DBNull.Value ? ((string)row["professionName"]).Trim() : string.Empty; var vstk = (decimal)row["vstksum"]; var rstk = (decimal)row["rstksum"]; var prtnorm = (decimal)row["prtnormsum"]; var nadb = (decimal)row["nadbsum"]; var vypusk = (decimal)row["vypusk"]; reportResultList.Add(new CalculationNumberWorkguildWorkersRealase() { ProfessionId = professionId, ProfessionName = professionName, ProductId = productId, ProductMark = productMark, ProductName = productName, Vstk = vstk, Rstk = rstk, Prtnorm = prtnorm, Nadb = nadb, Vypusk = vypusk }); } reportResultList.Sort(); return(reportResultList); }
/// <summary> /// Получение коллекции [Цехов предприятия] /// </summary> public static List <WorkGuild> GetAll() { var dbFolder = Properties.Settings.Default.FoxProDbFolder_Foxpro_Trudnorm; const string query = "SELECT DISTINCT kc FROM [Advx03] WHERE kc=2 or kc=3 or kc=4 or kc=5"; var workGuilds = new List <WorkGuild>(); try { using (var connection = DbControl.GetConnection(dbFolder)) { connection.TryConnectOpen(); // Проверки наличия установленных кодировок в DBF-файлах и проверки соединений с этими файлами connection.VerifyInstalledEncoding("Advx03"); using (var oleDbCommand = new OleDbCommand(query, connection)) { using (var reader = oleDbCommand.ExecuteReader()) { while (reader != null && reader.Read()) { var id = reader.GetDecimal(0); var workGuild = new WorkGuild { Id = id }; workGuilds.Add(workGuild); } } } } return(workGuilds); } catch (DbException ex) { throw DbControl.HandleKnownDbFoxProAndMssqlServerExceptions(ex); } }
/// <summary> /// Нажатие кнопки [Подтверждение] /// </summary> private void ConfirmButton_OnClick(object senderIsButton, RoutedEventArgs eventArgs) { // Валидация полей if (_isPeriod) { var isMonthPeriod = MonthPeriodRadioButton.IsChecked == true; var isYearPeriod = YearPeriodRadioButton.IsChecked == true; var isPeriodDate = PeriodRadioButton.IsChecked == true; if (!isMonthPeriod && !isYearPeriod && !isPeriodDate) { const string errorMessage = "Выберите период"; const MessageBoxButton buttons = MessageBoxButton.OK; const MessageBoxImage messageType = MessageBoxImage.Error; MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType); return; } if (isMonthPeriod || isYearPeriod) { _specifiedDateTime = DatePicker.SelectedDate; } else { _specifiedDateTimeStart = DateStartPicker.SelectedDate; _specifiedDateTimeEnd = DateEndPicker.SelectedDate; } } if (_isMonthOrYear) { var isMonth = MonthRadioButton.IsChecked == true; var isYear = YearRadioButton.IsChecked == true; if (!isMonth && !isYear) { const string errorMessage = "Выберите период"; const MessageBoxButton buttons = MessageBoxButton.OK; const MessageBoxImage messageType = MessageBoxImage.Error; MessageBox.Show(errorMessage, PageLiterals.HeaderValidation, buttons, messageType); return; } } var isValidFields = IsValidFieldsWithShowMessageOtherwise(); if (!isValidFields) { return; } if (_isMonthOrYear) { var isMonth = MonthRadioButton.IsChecked == true; if (isMonth) { _monthOrYear = "m"; } else { _monthOrYear = "y"; } } if (_isWorkGuild) { const WorkGuild allWorkGuilds = null; var isAllWorkGuild = WarehouseAllRadioButton.IsChecked == true; _specifiedWorkGuild = isAllWorkGuild ? allWorkGuilds : WorkGuildsComboBox.SelectedItem as WorkGuild; } if (_isWarehouse) { const Warehouse allWarehouses = null; var isAllWarehouse = WarehouseAllRadioButton.IsChecked == true; _specifiedWarehouse = isAllWarehouse ? allWarehouses : WarehousesComboBox.SelectedItem as Warehouse; } if (_isDate) { _specifiedDateTime = DatePicker.SelectedDate ?? DateTime.Today; } if (_isDatePeriod) { _specifiedDateTimeStart = DateStartPicker.SelectedDate; _specifiedDateTimeEnd = DateEndPicker.SelectedDate; } if (_isMonthYear) { var nullableMonthKeyValuePair = MonthComboBox.SelectedItem as KeyValuePair <int, string>?; var month = nullableMonthKeyValuePair == null ? (int?)null : ((KeyValuePair <int, string>)nullableMonthKeyValuePair).Key; var year = YearIntegerUpDown.Value; _specifiedMonthAndYear = new Tuple <int?, int?>(month, year); } DialogResult = true; Close(); }
/// <summary> /// Логика формирование листа записей отчета [Печать по изделиям в разрезе деталей] /// </summary> public static List <PrintingOfProsuctInContextOfDetails> GetPrintingOfProsuctInContextOfDetails(Product product, WorkGuild workGuild) { var reportResultList = new List <PrintingOfProsuctInContextOfDetails>(); var buildSqlQuery = BodySqlQuery; if (product != null) { buildSqlQuery += "WHERE " + string.Format(SqlQueryKizd, product.Id); } if (workGuild != null && product == null) { buildSqlQuery += "WHERE " + string.Format(SqlQueryKc, workGuild.Id); } else if (workGuild != null) { buildSqlQuery += "AND " + string.Format(SqlQueryKc, workGuild.Id); } buildSqlQuery += SqlQueryGroup; var sqlResult = DataTableHelper.LoadDataTableByQuery(DbPathTrudnorm, buildSqlQuery, "SqlResult"); foreach (var row in sqlResult.Select()) { var productId = (decimal)row["kizd"]; var productMark = row["izdMark"] != DBNull.Value ? ((string)row["izdMark"]).Trim() : string.Empty; var productName = row["izdName"] != DBNull.Value ? ((string)row["izdName"]).Trim() : string.Empty; var detalId = (decimal)row["detal"]; var detalName = row["detalName"] != DBNull.Value ? ((string)row["detalName"]).Trim() : string.Empty; var detalMark = row["detalMark"] != DBNull.Value ? ((string)row["detalMark"]).Trim() : string.Empty; var kc = (decimal)row["kc"]; var vstk = (decimal)row["vstksum"]; var rstk = (decimal)row["rstksum"]; var kol = (decimal)row["kol"]; var flag = false; foreach (var item in reportResultList) { if (item.ProductId == productId && item.DetalId == detalId && item.Kc == kc) { item.Vstk += vstk; item.Rstk += rstk; flag = true; } } if (!flag) { reportResultList.Add(new PrintingOfProsuctInContextOfDetails() { ProductId = productId, ProductName = productName, ProductMark = productMark, DetalId = detalId, DetalName = detalName, DetalMark = detalMark, Kc = kc, Kol = kol, Vstk = vstk, Rstk = rstk }); } } reportResultList.Sort(); return(reportResultList); }