public void _Назад() { // проверим, что список мест пустой // если не пустой, то запросим подтверждение if (СписокГрузовыхМест.Items.Count > 0) { // запросить подтверждение string message = "Внимание! Остались необработанные места. Сохранить данные для восстановления при следующем открытии?"; string caption = "Подтверждение"; // отобразить MessageBox. DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result != System.Windows.Forms.DialogResult.Yes) { Данные.УдалитьФайл(); } } else { Данные.УдалитьФайл(); } this.Close(); ОбщиеФункции.УдалитьТекущуюОперацию(); }
private void ЗаполнитьСписокСотрудников() { // сбросим список сотрудников Сотрудники.Список.Clear(); // получим данные сервера Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ОбработкаТТН_ПолучитьСотрудников", ТТНСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // заполним список сотрудников try { foreach (string[] str in ОтветСервера) { Сотрудники.Добавить(str[0], str[1], str[2]); } ОбщиеФункции.ДобавитьТекущуюОперацию("ВыгрузкаМашины", Сотрудники); } catch { //... } }
private void ОбработкаГрузовыхМест_Load(object sender, EventArgs e) { if (Данные.ВосстановитьИзФайла()) { foreach (var str in Данные.СписокГрузовыхМест) { string[] row = { str.МестоНомер, str.МестоАналог }; var НоваяСтрока = СписокГрузовыхМест.Items.Add(new ListViewItem(row)); } СписокГрузовыхМест.Focus(); } else { // получим текущего пользователя ОтветСервера = Обмен.ПослатьСтроку("ОбработкаГрузовыхМест_ПолучитьТекущегоПользователя"); if (ОтветСервера != null && ОтветСервера[0][0] == "ДобавитьСотрудника") { Данные.Сотрудники.Добавить(ОтветСервера[0][1], ОтветСервера[0][2], ОтветСервера[0][3]); ОбщиеФункции.ДобавитьТекущуюОперацию("ОбработкаГрузовыхМест", Данные.Сотрудники); } } УстановитьДоступностьЭлементовФормы(); УстановитьТекстПодсказки(); }
// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование товаров --------------------------------------------------------------------------------------------------------------------------------- private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПодбораПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Считанного товара нет в заданиях!"); return; } if (СтрокаТаблицы.КоличествоСобрано == СтрокаТаблицы.КоличествоТребуется || СтрокаТаблицы.КоличествоВычерк > 0) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.КоличествоТребуется.ToString()); return; } СтрокаТаблицы.КоличествоСобрано += 1; СтрокаТаблицы.СекундПодбора += ВзятьВремя(); ОбработатьКоличествоСтроки(СтрокаТаблицы); }
private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } if (СтрокаТаблицы.Количество == СтрокаТаблицы.КоличествоОстатокАдреса) { Инфо.Ошибка("Недостаточно товара на полке."); return; } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ public virtual void _Назад() { // удалим текущую операцию ОбщиеФункции.УдалитьТекущуюОперацию(); // перейдем к выбору ТТН Form Окно = new азгрузка_ВыборТТН(); Окно.Show(); this.Close(); }
public virtual void _Назад() { // удалим текущую операцию ОбщиеФункции.УдалитьТекущуюОперацию(); // переходим в форму выбора ТТН Form Окно = new ФормаВыборТТН(); Окно.Show(); this.Close(); return; }
private void СотрудникиРедактироватьСписок() { ФормаВыбораСотрудников фСотрудники = new ФормаВыбораСотрудников(Сотрудники); DialogResult d = фСотрудники.ShowDialog(); if (d == DialogResult.OK) { Сотрудники = фСотрудники.Список; аботаСоСканером.Звук.Ок(); // список отредактирован // необходимо передать список на сервер для отображения текущий операции ОбщиеФункции.ДобавитьТекущуюОперацию("ПогрузкаМашины", Сотрудники); } }
private void СотрудникиРедактироватьСписок() { ФормаВыбораСотрудников фСотрудники = new ФормаВыбораСотрудников(Данные.Сотрудники); DialogResult d = фСотрудники.ShowDialog(); if (d == DialogResult.OK) { Данные.Сотрудники = фСотрудники.Список; Данные.СохранитьВФайл(); аботаСоСканером.Звук.Ок(); // список отредактирован // необходимо передать список на сервер для отображения текущий операции ОбщиеФункции.ДобавитьТекущуюОперацию("ОбработкаГрузовыхМест", Данные.Сотрудники); } }
private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МногоТоваров && МассивТоваров.Count() == 0) { var ДанныеПолучены = ЗаполнитьТаблицыПоТовару(СтрокаСкан, Код); if (!ДанныеПолучены) { return; } // Подтверждаем успешное добавление звуком аботаСоСканером.Звук.Ок(); МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); } if (МассивТоваров.Count() == 0) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } string ВыбранныйТовар = null; if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } else { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (ВыбранныйТовар == null) { return; } var СтрокаТаблицы = НайтиСтрокуТаблицыПеремещенияПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { Инфо.Ошибка("Выбранного товара нет на остатках адреса!"); return; } if (СтрокаТаблицы.Количество == СтрокаТаблицы.Остаток) { Инфо.Ошибка("Необходимо ввести количество не более " + СтрокаТаблицы.Остаток); return; } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
// ------------------------------------------------------------------------------------------------------------------------------------------------------ // Сканирование ----------------------------------------------------------------------------------------------------------------------------------------- private void ОбработатьСканТовара(string СтрокаСкан) { string Код = ""; // Проверка на ЕАН8 и преобразование к коду по базе if (СтрокаСкан.Length == 8) { var ЕАН8 = ОбщиеФункции.ПроверитьЕАН8(СтрокаСкан); if (ЕАН8) // Если символ контрольной суммы верный, преобразуем ЕАН8 к семизначному коду по базе { Код = СтрокаСкан.Substring(0, 7); } } var МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); if (МассивТоваров.Count() == 0) { var ДанныеПолучены = ЗаполнитьТаблицыПоТовару(СтрокаСкан, Код); if (!ДанныеПолучены) { return; } // Подтверждаем успешное добавление звуком аботаСоСканером.Звук.Ок(); МассивТоваров = НайтиТоварПоЕАН(СтрокаСкан, Код); } string ВыбранныйТовар = null; if (МассивТоваров.Count() == 1) { ВыбранныйТовар = МассивТоваров.FirstOrDefault()[2]; } if (МассивТоваров.Count() > 1) { ВыбранныйТовар = ВыборТовараИзМножества.ВыбратьТоварИзМножества(МассивТоваров); } if (ВыбранныйТовар == null) { Инфо.Ошибка("Выбранный товар не найден!"); return; } var СтрокаТаблицы = НайтиСтрокуТаблицыИнвентаризацииПоГуиду(ВыбранныйТовар); // Гуид if (СтрокаТаблицы == null) { // Если товара нет в таблице инвентаризации, добавляем строку из данных таблицы ЕАН foreach (var Строка in МассивТоваров) { if (Строка[2] == ВыбранныйТовар) { СтрокаТаблицыИнвентаризации НоваяСтрокаТаблицы = new СтрокаТаблицыИнвентаризации(); НоваяСтрокаТаблицы.Код = Строка[0]; НоваяСтрокаТаблицы.Товар = Строка[1]; НоваяСтрокаТаблицы.Гуид = Строка[2]; НоваяСтрокаТаблицы.Количество = 1; ТаблицаИнвентаризации.Add(НоваяСтрокаТаблицы); ОбработатьКоличествоСтроки(НоваяСтрокаТаблицы); return; } } } СтрокаТаблицы.Количество += 1; ОбработатьКоличествоСтроки(СтрокаТаблицы); }
public bool ВосстановитьИзФайла() { try { if (!File.Exists(ПолноеИмяФайла)) { return(false); } // запросим подтверждение восстановления данных string message = "Восстановить данные предыдущего сеанса работы?"; string caption = "Подтверждение"; // отобразить MessageBox. DialogResult result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); if (result != System.Windows.Forms.DialogResult.Yes) { return(false); } // заполним список грузовых мест XmlSerializer reader = new XmlSerializer(typeof(ДанныеФормы)); StreamReader file = new StreamReader(ПолноеИмяФайла); ДанныеФормы tmp = (ДанныеФормы)reader.Deserialize(file); this.СписокГрузовыхМест.Clear(); foreach (var str in tmp.СписокГрузовыхМест) { this.СписокГрузовыхМест.Add(str); } // заполним список сотрудников this.Сотрудники.Список.Clear(); if (tmp.Сотрудники.Список.Count > 0) { foreach (var str in tmp.Сотрудники.Список) { this.Сотрудники.Добавить(str); } ОбщиеФункции.ДобавитьТекущуюОперацию("ОбработкаГрузовыхМест", this.Сотрудники); } // заполним время начала this.ВремяНачала = tmp.ВремяНачала; file.Close(); return(true); } catch { this.СписокГрузовыхМест.Clear(); return(false); } }
private void ФормаВыборФилиала_Load(object sender, EventArgs e) { // заполним подсказку пользователю ПодсказкаПользователю.Text = НомерТС + "\nВЫБЕРИТЕ ФИЛИАЛ ПОГРУЗКИ"; // получить список филиалов по ТТН Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ВыборФилиалаПолучитьСписокФилиалов", ТТНСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // заполним список Филиалов try { foreach (string[] str in ОтветСервера) { string[] row = { str[0], str[1], str[2] }; ListViewItem НоваяСтрока = СписокФилиалов.Items.Add(new ListViewItem(row)); if (Convert.ToInt32(НоваяСтрока.SubItems[2].Text) > 0) { НоваяСтрока.BackColor = Color.LightGreen; } } } catch { Инфо.Ошибка("Нет филиалов на погрузку."); this.Close(); return; } // установим курсор в первую строку if (СписокФилиалов.Items.Count > 0) { СписокФилиалов.Focus(); СписокФилиалов.Items[0].Focused = true; } // заполним список сотрудников if (Сотрудники.Список.Count == 0) { // если список пустой, то попытаемся получить данные сервера Cursor.Current = Cursors.WaitCursor; ОтветСервера = Обмен.ПослатьСтроку("ВыборФилиалаПолучитьСписокСотрудников", ТТНСсылка); Cursor.Current = Cursors.Default; if (ОтветСервера == null) { return; } // заполним список сотрудников try { foreach (string[] str in ОтветСервера) { Сотрудники.Добавить(str[0], str[1], str[2]); } if (Сотрудники.Список.Count > 0) { ОбщиеФункции.ДобавитьТекущуюОперацию("ПогрузкаМашины", Сотрудники); } } catch { } } }