Esempio n. 1
0
        /// <summary>
        /// Сохранение документа в БД
        /// </summary>
        /// <param name="taxJournal">Журнал</param>
        private void SaveDocument(TaxJournal121Error taxJournal)
        {
            var dbAutomation = new AddObjectDb();

            dbAutomation.TaxJournal121Error(taxJournal);
            dbAutomation.Dispose();
        }
Esempio n. 2
0
 /// <summary>
 /// Если признак углубленной проверки не белый то Открыть Комплекс Мероприятий
 /// В противном случае Начать Углубленную Проверку
 /// </summary>
 /// <param name="libraryAutomation">Библиотека Автомата</param>
 /// <param name="taxJournal">Журнал</param>
 private void IsStartIsOpenKm(LibraryAutomations libraryAutomation, TaxJournal121Error taxJournal)
 {
     PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation,
                                                                  taxJournal.Color3 == "ffffff"
             ? Journal129AndJournal121.StartKnp
             : Journal129AndJournal121.OpenKnp);
 }
Esempio n. 3
0
 /// <summary>
 /// Сохранение журнала Ошибок
 /// </summary>
 /// <param name="journal">Журнал сохраняем</param>
 public void TaxJournal121Error(TaxJournal121Error journal)
 {
     if (!(from taxJournal121Error in Automation.TaxJournal121Error
           where taxJournal121Error.RegNumDeclaration == journal.RegNumDeclaration
           select new { TaxJournal121Error = taxJournal121Error }).Any())
     {
         Automation.TaxJournal121Error.Add(journal);
         Automation.SaveChanges();
     }
 }
Esempio n. 4
0
        /// <summary>
        /// Функция проверки декларации на нарушения и проставления нарушения
        /// </summary>
        /// <param name="libraryAutomation">Библиотека автоматизации</param>
        /// <param name="taxJournal">Журнал для проверок деклараций на наличие нарушений</param>
        /// <param name="pathTemp">Путь к сохранению документа</param>
        /// <param name="rowNumber">Номер обрабатываемой строки</param>
        public void IsErrorDeclaration(LibraryAutomations libraryAutomation, TaxJournal121Error taxJournal, string pathTemp, int rowNumber)
        {
            //Проверка декларации раскладка
            var sum = DeclarationIntelligenceUl(libraryAutomation, taxJournal.RegNumDeclaration, pathTemp);

            if (sum != null)
            {
                IsStartIsOpenKm(libraryAutomation, taxJournal);
                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, Journal129AndJournal121.EditP);
                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, Journal129AndJournal121.Avg);
                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, Journal129AndJournal121.SendAvg);
                while (true)
                {
                    if (libraryAutomation.IsEnableElements(Journal129AndJournal121.SendAvg, null, true) == null)
                    {
                        break;
                    }
                }
                var win = new WindowsAis3();
                AutoItX.MouseClick(ButtonConstant.MouseLeft, win.WindowsAis.X + win.WindowsAis.Width - 20, win.WindowsAis.Y + 160);
                if (sum == (decimal)0.00)
                {
                    libraryAutomation.ClickElements(Journal129AndJournal121.UpdateData121);
                    while (true)
                    {
                        if (string.IsNullOrWhiteSpace(PublicGlobalFunction.PublicGlobalFunction.GridNotDataIsWaitUpdate(libraryAutomation, Journal129AndJournal121.GridTaxJournal121)))
                        {
                            break;
                        }
                        libraryAutomation.ClickElements(Journal129AndJournal121.UpdateData121);
                    }
                    AutomationElement  automationElement;
                    LibraryAutomations libraryAutomationWin;
                    while ((automationElement =
                                libraryAutomation.IsEnableElements(
                                    string.Concat(Journal129AndJournal121.AllTaxJournal121, rowNumber), null, true, 30)) != null)
                    {
                        ParseDeclaration(libraryAutomation, automationElement, ref taxJournal);
                        if (taxJournal.Color5 != "ff")
                        {
                            IsStartIsOpenKm(libraryAutomation, taxJournal);
                            if (taxJournal.KorrectNumber != 0)
                            {
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation,
                                                                                             Journal129AndJournal121.PriznakDecl);
                                AutoItX.WinWait(Journal129AndJournal121.WinPriznakDecl);
                                AutoItX.WinActivate(Journal129AndJournal121.WinPriznakDecl);
                                libraryAutomationWin = new LibraryAutomations(Journal129AndJournal121.WinPriznakDecl);
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomationWin,
                                                                                             Journal129AndJournal121.PriznComboBox);
                                var memo = libraryAutomationWin.SelectAutomationColrction(
                                    libraryAutomationWin.FindFirstElement(Journal129AndJournal121.PanelComboBox));
                                var elemClick = memo.Cast <AutomationElement>().FirstOrDefault(x =>
                                                                                               x.Current.Name ==
                                                                                               "учтены результаты КНП (с учетом решений ВНО и судов)  по предыдущей декларации");
                                libraryAutomationWin.ClickElement(elemClick);
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomationWin,
                                                                                             Journal129AndJournal121.PriznakOk);
                                //Написать алгоритм для таких
                            }

                            if (taxJournal.DateCloseValidation == null && taxJournal.Color5 == "ffffff")
                            {
                                //Открыть или начать Проверку
                                DialogKnp(libraryAutomation, "Нарушения не выявлены");
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation,
                                                                                             Journal129AndJournal121.ClosedComplex121);
                                AutoItX.WinWait(Journal129AndJournal121.WinNameComplex);
                                AutoItX.WinActivate(Journal129AndJournal121.WinNameComplex);
                                libraryAutomationWin = new LibraryAutomations(Journal129AndJournal121.WinNameComplex);
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomationWin,
                                                                                             Journal129AndJournal121.WinOkCloseComplex);
                                AutoItX.Sleep(1000);
                                taxJournal.MessageInfoR1 = "Нарушения не выявлены";
                            }
                            else if (taxJournal.DateCloseValidation == null && taxJournal.Color5 != "ffffff")
                            {
                                DialogKnp(libraryAutomation, "Выявлены нарушения");
                                win = new WindowsAis3();
                                AutoItX.MouseClick(ButtonConstant.MouseLeft,
                                                   win.WindowsAis.X + win.WindowsAis.Width - 20, win.WindowsAis.Y + 160);
                                AutoItX.Sleep(1000);
                                taxJournal.MessageInfoR1 = "Выявлены нарушения";
                            }
                        }
                        else
                        {
                            taxJournal.MessageError = "Статус документа не позволяет проставить выявление нарушения!";
                        }
                        break;
                    }
                }
                else
                {
                    taxJournal.MessageError = $"Сумма по учёту расхождения равна {sum}. Дальнейшая обработка не возможна!";
                }
                SaveDocument(taxJournal);
                //Сохранение журнала
            }
            else
            {
                MessageBox.Show("Нет доступа к ветке " + Tree);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Полностью парсим декларацию
        /// </summary>
        /// <param name="libraryAutomation">Библиотека</param>
        /// <param name="automationElement">Элемент автоматизации</param>
        /// <param name="taxJournal">Журнал</param>
        private void ParseDeclaration(LibraryAutomations libraryAutomation, AutomationElement automationElement, ref TaxJournal121Error taxJournal)
        {
            automationElement.SetFocus();
            AutoItX.Sleep(1000);

            var status = libraryAutomation.SelectAutomationColrction(automationElement)
                         .Cast <AutomationElement>().Where(automationElemenst => automationElemenst.Current.Name == "")
                         .ToList();

            taxJournal.Color1 = libraryAutomation.GetColorPixel(status[0]);
            taxJournal.Color2 = libraryAutomation.GetColorPixel(status[1]);
            taxJournal.Color3 = libraryAutomation.GetColorPixel(status[2]);
            taxJournal.Color4 = libraryAutomation.GetColorPixel(status[3]);
            taxJournal.Color5 = libraryAutomation.GetColorPixel(status[4]);
        }