} // ToModeSetInicialization private bool RSCSetInicialization(string IDD) { if (IsSC(IDD, "Сотрудники")) { return(ReactionCancel()); } else if (!IsSC(IDD, "Секции") || !Const.BoxSetOn) { FExcStr = "Нет действий с данным штрихкодом!"; return(false); } BoxForSet = new RefSection(this); BoxForSet.FoundIDD(IDD); if (BoxForSet.Type != 12) { FExcStr = "Неверный тип адреса! Отсканируйте коробку!"; return(false); } OnChangeMode(new ChangeModeEventArgs(Mode.SetInicialization)); //Чтобы вызвать обновление экранной формы return(true); }
} // ToModeSetCompleteAfterBox private bool RSCSetComplete(string IDD) { if (IsSC(IDD, "Сотрудники")) { return(ReactionCancel()); } else if (IsSC(IDD, "Принтеры")) { if (!Printer.FoundIDD(IDD)) { return(false); } return(true); } else if (!IsSC(IDD, "Секции")) { FExcStr = "Нужна коробка и адрес предкомплектации, а не это!"; return(false); } if (Printer.Path == null) { FExcStr = "Не выбран принтер!"; return(false); } RefSection Adress = new RefSection(this); if (!Adress.FoundIDD(IDD)) { return(false); } if (DocSet.ID == null) { //Документа еще нет - значит ждем коробку if (Adress.Type != 12) { FExcStr = "Для начала нужна коробка!"; return(false); } //Это таки коробка return(ToModeSetCompleteAfrerBox(Adress)); } else if (!BoxOk && Adress.Type == 12) { //Документ уже есть, но может меняем его? return(ToModeSetCompleteAfrerBox(Adress)); } //Эти действия уже с адресом предкомплектации должны быть if (Adress.Type == 12) { FExcStr = "Отсканируйте адрес предкопмплектации!"; return(false); } if (!BoxOk) { FExcStr = "Подтвердите места по 'зеленой'!"; return(false); } Dictionary <string, object> DataMapWrite = new Dictionary <string, object>(); DataMapWrite["Спр.СинхронизацияДанных.ДокументВход"] = ExtendID(DocSet.ID, "КонтрольНабора"); DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход1"] = ExtendID(Employer.ID, "Спр.Сотрудники"); DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход2"] = ExtendID(Adress.ID, "Спр.Секции"); DataMapWrite["Спр.СинхронизацияДанных.ДатаВход1"] = DocSet.Boxes.ToString(); DataMapWrite["Спр.СинхронизацияДанных.ДатаВход2"] = Printer.Path; Dictionary <string, object> DataMapRead; List <string> FieldList = new List <string>(); FieldList.Add("Спр.СинхронизацияДанных.ДатаРез1"); if (!ExecCommand("PicingComplete", DataMapWrite, FieldList, out DataMapRead)) { return(false); } if ((int)(decimal)DataMapRead["Спр.СинхронизацияДанных.ФлагРезультата"] == -3) { FExcStr = DataMapRead["Спр.СинхронизацияДанных.ДатаРез1"].ToString(); return(false); } if ((int)(decimal)DataMapRead["Спр.СинхронизацияДанных.ФлагРезультата"] != 3) { FExcStr = "Не известный ответ робота... я озадачен..."; return(false); } FExcStr = DataMapRead["Спр.СинхронизацияДанных.ДатаРез1"].ToString(); QuitModesSet(); return(ToModeSetInicialization()); //MM = new SetInicialization(this, tmpMM); //return MM.Init(); } // RSCSetComplete
private bool RSCSampleSet(string IDDorID, bool thisID) { if (!thisID) { if (IsSC(IDDorID, "Сотрудники")) { return(ReactionCancel()); } else if (IsSC(IDDorID, "Секции")) { RefSection Adress = new RefSection(this); if (!Adress.FoundIDD(IDDorID)) { return(false); } if (CurrentAction == ActionSet.ScanAdress) { //СКАНИРОВАНИЕ АДРЕСА if (Adress.Type == 12) { FExcStr = "Неверно! " + WhatUNeed(); return(false); } if (Adress.ID != CCItem.AdressID) { return(RDSampleSet(DocSet.ID, Adress.ID)); } if (CCItem.Details > 0 && Const.ImageOn) { CurrentAction = ActionSet.ScanPart; } else { CurrentAction = ActionSet.ScanItem; } FExcStr = WhatUNeed(); return(true); } else { //Какой-то другой режим вероятно? FExcStr = "Неверно! " + WhatUNeed(); } } else if (IsSC(IDDorID, "Принтеры")) { if (!Printer.FoundIDD(IDDorID)) { return(false); } //завершаем набор образцов и посылаем задание 1с Dictionary <string, object> DataMapWrite = new Dictionary <string, object>(); DataMapWrite["Спр.СинхронизацияДанных.ДокументВход"] = ExtendID(ATDoc.ID, "АдресПеремещение"); DataMapWrite["Спр.СинхронизацияДанных.ДатаСпрВход1"] = ExtendID(Printer.ID, "Спр.Принтеры"); Dictionary <string, object> DataMapRead; List <string> FieldList = new List <string>(); FieldList.Add("Спр.СинхронизацияДанных.ДатаРез1"); if (!ExecCommand("PicingSampleComplete", DataMapWrite, FieldList, out DataMapRead)) { return(false); } if ((int)(decimal)DataMapRead["Спр.СинхронизацияДанных.ФлагРезультата"] == -3) { FExcStr = DataMapRead["Спр.СинхронизацияДанных.ДатаРез1"].ToString(); return(false); } if ((int)(decimal)DataMapRead["Спр.СинхронизацияДанных.ФлагРезультата"] != 3) { FExcStr = "Не известный ответ робота... я озадачен..."; return(false); } //отбор образцов окончен, выйдем в меню Выбора работы (образцы) CurrentMode = Mode.ChoiseWorkSample; OnChangeMode(new ChangeModeEventArgs(MM)); } else { FExcStr = "Неверно! " + WhatUNeed(); return(false); } return(true); } else { FExcStr = "Нет действий с данным штрихкодом!"; return(false); } }
internal virtual ABaseMode ReactionBarcodeBase(string Barcode) { JumpCounter = 0; FResult = MMResult.None; ResultObject = this; ThereHandler = false; Dictionary<string, string> dicBarcode = Helper.DisassembleBarcode(Barcode); bool IsRef = false; bool IsObject = false; //Это реально существующий объект //Это может быть справочник! ARef Ref = null; if (Barcode.Substring(0, 2) == "25" && dicBarcode["Type"] == "113") { Ref = new RefEmployer(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCEmployers(Ref as RefEmployer); } if (!IsRef) { Ref = new RefSection(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCSection(Ref as RefSection); } } if (!IsRef) { Ref = new RefPrinter(SS); if (Ref.FoundIDD(dicBarcode["IDD"])) { IsRef = true; OnReactionSCPrinter(Ref as RefPrinter); } } } else if (dicBarcode["Type"] == "6") { Ref = new RefBox(SS); if (Ref.FoundID(dicBarcode["ID"])) { IsRef = true; OnReactionSCBox(Ref as RefBox); } } else if (Barcode.Substring(0, 2) == "26" && dicBarcode["Type"] == "113") { Doc Doc = new Doc(SS); if (Doc.FoundIDD(dicBarcode["IDD"])) { IsObject = true; OnReactionDoc(Doc); } } else if (dicBarcode["Type"] == "pallete") { //ВОТ ЭТА ХУЕТА НИ КАК НЕ УЧИТЫВАЕТСЯ (КАК ОБЪЕКТ, ВСМЫСЛЕ) // ТАК ЧТО ПОТЕНЦИАЛЬНО МОГУТ БЫТЬ ПРОБЛЕМЫ НА ВСЯКИЙ СЛУЧАЙ ВЗВОДИМ ФЛАГ IsObject = true; //OnReactionPallete(Convert.ToInt32(dicBarcode["pallete"])); OnReactionPallete(Barcode); } IsObject = IsRef ? true : IsObject; //Если это справочник, то полюбому объект if (!IsObject) { //Товаром он может быть при любом раскладе, так что если не определился как объект, то будем искать товар Ref = new RefItem(SS); if ((Ref as RefItem).FoundBarcode(Barcode)) { { IsRef = true; OnReactionSCItem(new ReactionSCEventArgs(Barcode, Ref)); } } } if (IsRef) { //Вверху обрабатывали только справочники и в какой-то из них попали OnReactionSC(new ReactionSCEventArgs(Barcode, Ref)); } OnReactionBarcode(Barcode); // просто реакция на штрихкод if (!ThereHandler) { //никакой обработчик не сработал! Отобъем исходя из настроек по умолчанию FExcStr = "Нет действий с этим ШК в данном режиме!"; FResult = MMResult.Negative; } return ResultObject; }
} // QuitModesSet private bool RSCSet(string IDDorID, bool thisID) { if (!thisID) { if (IsSC(IDDorID, "Сотрудники")) { return(ReactionCancel()); } else if (IsSC(IDDorID, "Секции")) { RefSection Adress = new RefSection(this); if (!Adress.FoundIDD(IDDorID)) { return(false); } if (CurrentAction == ActionSet.ScanAdress) { //СКАНИРОВАНИЕ АДРЕСА if (Adress.Type == 12) { FExcStr = "Неверно! " + WhatUNeed(); return(false); } if (Adress.ID != CCItem.AdressID) { //Переход на другую строку return(ToModeSet(Adress.ID, null)); } if (CCItem.Details > 0 && Const.ImageOn) { CurrentAction = ActionSet.ScanPart; } else { CurrentAction = ActionSet.ScanItem; } FExcStr = WhatUNeed(); return(true); } else if (CurrentAction == ActionSet.ScanBox) { //СКАНИРОВАНИЕ КОРОБКИ if (Adress.Type != 12) { FExcStr = "Неверно! " + WhatUNeed(); return(false); } if (Adress.ID != DocSet.BoxID) { FExcStr = "Неверная коробка! " + WhatUNeed(); return(false); } return(CompleteLineSet()); //ВСЕ ЗАВЕРШАЕМ СТРОКУ ТУТ } else { //Какой-то другой режим вероятно? FExcStr = "Неверно! " + WhatUNeed(); return(false); } } else if (IsSC(IDDorID, "Принтеры")) { if (!Printer.FoundIDD(IDDorID)) { return(false); } } else { FExcStr = "Неверно! " + WhatUNeed(); return(false); } return(true); } else { FExcStr = "Нет действий с данным штрихкодом!"; return(false); } } // RSCSet