示例#1
0
        public void TestExcels()
        {
            DataBaseElementAdd dataBaseAdd = new DataBaseElementAdd();

            dataBaseAdd.AddDocPatent(new EfDatabaseAutomation.Automation.Base.Patent()
            {
                IdPatent = 1
            }, "C:\\Users\\7751-00-491\\Desktop\\tmp3C43.xlsx", "1");
        }
示例#2
0
        /// <summary>
        /// Обработка ветки Налоговое администрирование\Контрольная работа (налоговые проверки)\101. Мониторинг и обработка документов\Реестр документов НБО
        /// </summary>
        /// <param name="libraryAutomation">Библиотека автоматизации</param>
        /// <param name="regNumDeclaration">Регистрационный номер декларации</param>
        /// <param name="pathTemp">Путь к сохранению документа</param>
        private decimal?DeclarationIntelligenceUl(LibraryAutomations libraryAutomation, int regNumDeclaration, string pathTemp)
        {
            if (!libraryAutomation.IsEnableExpandTree(Tree))
            {
                return(null);
            }
            var sw       = Tree.Split('\\').Last();
            var fullTree = string.Concat(PublicElementName.FullTree, $"Name:{sw}");
            DataBaseElementAdd dataBaseAdd = new DataBaseElementAdd();
            WindowsAis3        win;

            libraryAutomation.FindFirstElement(fullTree, null, true);
            libraryAutomation.FindElement.SetFocus();
            libraryAutomation.ClickElements(fullTree, null, false, 25, 0, 0, 2);

            while (true)
            {
                if (libraryAutomation.FindFirstElement(string.Concat(TreeDataArea, 9), null, true) != null)
                {
                    libraryAutomation.FindFirstElement("Name:Значение", libraryAutomation.FindElement, true);
                    libraryAutomation.FindElement.SetFocus();
                    SendKeys.SendWait("{ENTER}");
                    AutoItX.Sleep(500);
                    SendKeys.SendWait(regNumDeclaration.ToString());
                    break;
                }
            }
            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, TreeUpdate);
            PublicGlobalFunction.PublicGlobalFunction.GridNotDataIsWaitUpdate(libraryAutomation, FullPathGrid);
            if (PublicGlobalFunction.PublicGlobalFunction.GridNotDataIsWaitUpdate(libraryAutomation, FullPathGrid) != "Данные, удовлетворяющие заданным условиям не найдены.")
            {
                var allReport = libraryAutomation
                                .SelectAutomationColrction(libraryAutomation.IsEnableElements(FullPathGrid))
                                .Cast <AutomationElement>().Where(elem => elem.Current.Name != "Data Area").Distinct().ToList();

                foreach (var element in allReport)
                {
                    var declarationAll = dataBaseAdd.AddDeclarationAll(libraryAutomation, element);
                    while (true)
                    {
                        PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementNameDeclaration.ReestrNbo);
                        PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementNameDeclaration.ViewDeclaretion);
                        AutoItX.Sleep(10000);
                        if (libraryAutomation.IsEnableElements(TreeExport) != null)
                        {
                            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, TreeExport);
                            break;
                        }
                    }
                    PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementNameDeclaration.ExportFileOk);
                    AutoItX.ProcessWait("EXCEL.EXE", 60000);
                    AutoItX.Sleep(Convert.ToInt32(ConfigurationManager.AppSettings["Sleepeng"]));
                    PublicGlobalFunction.PublicGlobalFunction.CloseProcessProgram("EXCEL");
                    var file = PublicGlobalFunction.PublicGlobalFunction.ReturnNameLastFileTemp(pathTemp, "*.xlsx");
                    dataBaseAdd.AddDeclarationDataAll(file.NamePath, declarationAll);
                    win = new WindowsAis3();
                    AutoItX.MouseClick(ButtonConstant.MouseLeft, win.WindowsAis.X + win.WindowsAis.Width - 20, win.WindowsAis.Y + 160);
                }
            }
            win = new WindowsAis3();
            AutoItX.MouseClick(ButtonConstant.MouseLeft, win.WindowsAis.X + win.WindowsAis.Width - 20, win.WindowsAis.Y + 160);
            return(dataBaseAdd.DeclarationSumError(regNumDeclaration));
            //Расчет и возврат суммы
        }
示例#3
0
        /// <summary>
        /// Сбор информации по СПН
        /// </summary>
        /// <param name="statusButton">Кнопка старт автомат</param>
        /// <param name="pathTemp">Путь сохранения Temp</param>
        public void LoadPatent(StatusButtonMethod statusButton, string pathTemp)
        {
            LibraryAutomations libraryAutomation = new LibraryAutomations(WindowsAis3.AisNalog3);
            var parametersModel = new ModelDataArea();

            if (!libraryAutomation.IsEnableExpandTree(modelTreePatent))
            {
                return;
            }
            DataBaseElementAdd dataBaseAdd = new DataBaseElementAdd();
            var sw       = modelTreePatent.Split('\\').Last();
            var fullTree = string.Concat(PublicElementName.FullTree, $"Name:{sw}");

            libraryAutomation.FindFirstElement(fullTree, null, true);
            libraryAutomation.FindElement.SetFocus();
            libraryAutomation.ClickElements(fullTree, null, false, 25, 0, 0, 2);
            parametersModel.DataArea.Parameters.First(parameters => parameters.NameParameters == "РегНомер патента").ParametersGrid = string.Join("/", dataBaseAdd.PatentExportFull().Select(x => x.RegNumPatent).ToArray());
            foreach (var dataAreaParameters in parametersModel.DataArea.Parameters)
            {
                while (true)
                {
                    if (libraryAutomation.FindFirstElement(string.Concat(parametersModel.DataArea.FullPathDataArea, parametersModel.DataArea.ListRowDataArea, dataAreaParameters.IndexParameters), null, true) != null)
                    {
                        libraryAutomation.FindFirstElement(dataAreaParameters.FindNameMemo, libraryAutomation.FindElement, true);
                        libraryAutomation.FindElement.SetFocus();
                        SendKeys.SendWait("{ENTER}");
                        AutoItX.Sleep(1000);
                        SendKeys.SendWait(dataAreaParameters.ParametersGrid);
                        SendKeys.SendWait("{ENTER}");
                        while (true)
                        {
                            libraryAutomation.FindFirstElement("Name:Условие", libraryAutomation.FindFirstElement(
                                                                   string.Concat(parametersModel.DataArea.FullPathDataArea,
                                                                                 parametersModel.DataArea.ListRowDataArea, dataAreaParameters.IndexParameters), null, true), true);
                            libraryAutomation.ClickElement(libraryAutomation.FindElement);
                            if (libraryAutomation.FindFirstElement("Name:DropDown") != null)
                            {
                                var memo      = libraryAutomation.SelectAutomationColrction(libraryAutomation.FindElement);
                                var elemClick = memo.Cast <AutomationElement>().FirstOrDefault(x => x.Current.Name == dataAreaParameters.FindSelectParameter);
                                libraryAutomation.ClickElement(elemClick);
                                break;
                            }
                        }
                        break;
                    }
                }
            }
            if (libraryAutomation.FindFirstElement(string.Concat(parametersModel.DataArea.FullPathDataArea, parametersModel.DataArea.Headers), null, true) != null)
            {
                var memo = libraryAutomation.SelectAutomationColrction(libraryAutomation.FindElement);
                libraryAutomation.ClickElement(memo[4]);
                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, parametersModel.DataArea.Update);
            }
            PublicGlobalFunction.PublicGlobalFunction.GridNotDataIsWaitUpdate(libraryAutomation, parametersModel.DataArea.FullPathGrid);
            var listMemo = libraryAutomation.SelectAutomationColrction(libraryAutomation.IsEnableElements(parametersModel.DataArea.FullPathGrid))
                           .Cast <AutomationElement>().Where(elem => elem.Current.Name.Contains("select0 row")).Distinct();

            foreach (var automationElement in listMemo)
            {
                if (statusButton.Iswork)
                {
                    automationElement.SetFocus();
                    AutoItX.Sleep(1000);
                    FlFaceMain face = new FlFaceMain()
                    {
                        Inn = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                .SelectAutomationColrction(automationElement)
                                                                                                .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("ИНН"))),
                        NameFull = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                     .SelectAutomationColrction(automationElement)
                                                                                                     .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Налогоплательщик"))),
                        OgrnIp = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                   .SelectAutomationColrction(automationElement)
                                                                                                   .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("ОГРНИП"))),
                        Address = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                    .SelectAutomationColrction(automationElement)
                                                                                                    .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Адрес места жительства"))),
                        Fid = Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                .SelectAutomationColrction(automationElement)
                                                                                                                .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("ФИД налогоплательщика"))))
                    };
                    Patent patent = new Patent()
                    {
                        DateStartPatent = Convert.ToDateTime(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                               .SelectAutomationColrction(automationElement)
                                                                                                                               .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Дата начала действия патента")))),
                        DateFinishPatent = Convert.ToDateTime(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                                .SelectAutomationColrction(automationElement)
                                                                                                                                .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Дата окончания действия патента")))),
                        CodeWork = Convert.ToInt32(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                     .SelectAutomationColrction(automationElement)
                                                                                                                     .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Код вида предпринимательской деятельности ПСН")))),
                        NameVid = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                    .SelectAutomationColrction(automationElement)
                                                                                                    .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Наименование вида предпринимательской деятельности ПСН"))),
                        CodeOkun = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                     .SelectAutomationColrction(automationElement)
                                                                                                     .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Код по ОКУН"))),
                        NameCodeOkun = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                         .SelectAutomationColrction(automationElement)
                                                                                                         .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Наименование по ОКУН"))),
                        CountMouth = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                       .SelectAutomationColrction(automationElement)
                                                                                                       .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Количество месяцев, на которое выдан патент"))),
                        CountDays = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                      .SelectAutomationColrction(automationElement)
                                                                                                      .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Количество дней, на которое выдан патент"))),
                        AvgPeople = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                      .SelectAutomationColrction(automationElement)
                                                                                                      .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Средняя численность наемных работников"))),
                        NalogStav = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                      .SelectAutomationColrction(automationElement)
                                                                                                      .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Налоговая ставка"))),
                        NormalCodex = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                        .SelectAutomationColrction(automationElement)
                                                                                                        .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Норма закона субъекта РФ"))),
                        DateWaitResh = Convert.ToDateTime(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                            .SelectAutomationColrction(automationElement)
                                                                                                                            .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Ожидаемая дата принятия решения")))),
                        DateResh = Convert.ToDateTime(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                        .SelectAutomationColrction(automationElement)
                                                                                                                        .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Дата принятия решения")))),
                        DateCancel = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                       .SelectAutomationColrction(automationElement)
                                                                                                       .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Дата отмены действия"))),
                        RegNumInfoVz = string.IsNullOrWhiteSpace(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation.SelectAutomationColrction(automationElement)
                                                                                                                                   .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер заявления на патент, выписанного взамен")))) ? (long?)null :
                                       Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                         .SelectAutomationColrction(automationElement)
                                                                                                                         .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер заявления на патент, выписанного взамен")))),
                        RegNumPatentVz = string.IsNullOrWhiteSpace(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation.SelectAutomationColrction(automationElement)
                                                                                                                                     .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента, выписанного взамен")))) ? (long?)null :
                                         Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                           .SelectAutomationColrction(automationElement)
                                                                                                                           .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента, выписанного взамен")))),
                        DateObjectNot = libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                          .SelectAutomationColrction(automationElement)
                                                                                                          .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("Дата признания объекта не актуальным"))),
                        IdObjectPsn = Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                        .SelectAutomationColrction(automationElement)
                                                                                                                        .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("УН объекта ПСН")))),
                        RegNumInfo = string.IsNullOrWhiteSpace(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation.SelectAutomationColrction(automationElement)
                                                                                                                                 .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента")))) ? (long?)null :
                                     Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                       .SelectAutomationColrction(automationElement)
                                                                                                                       .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента")))),
                        RegNumPatent = string.IsNullOrWhiteSpace(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation.SelectAutomationColrction(automationElement)
                                                                                                                                   .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента")))) ? (long?)null :
                                       Convert.ToInt64(libraryAutomation.ParseElementLegacyIAccessiblePatternIdentifiers(libraryAutomation
                                                                                                                         .SelectAutomationColrction(automationElement)
                                                                                                                         .Cast <AutomationElement>().First(elem => elem.Current.Name.Contains("РегНомер патента"))))
                    };
                    var parseModel = dataBaseAdd.AddFlFaceAndPatent(face, ref patent);
                    parseModel.IsParseFullPatent = true;
                    GetFile file;
                    var     sheetName = "Sheet";
                    parametersModel.DataAreaModel.First(param => param.Headers == "Документы объекта ПСН").IsParseModel                       = parseModel.IsParseDocPatent;
                    parametersModel.DataAreaModel.First(param => param.Headers == "Сведения об обособленных объектах").IsParseModel           = parseModel.IsParseSvedObject;
                    parametersModel.DataAreaModel.First(param => param.Headers == "Сведения о месте осуществления деятельности").IsParseModel = parseModel.IsParsePlaceOfBusiness;
                    parametersModel.DataAreaModel.First(param => param.Headers == "Параметры расчета налога").IsParseModel                    = parseModel.IsParseParametrNalog;
                    parametersModel.DataAreaModel.First(param => param.Headers == "Сведения о транспортных средствах").IsParseModel           = parseModel.IsParseSvedTr;
                    parametersModel.DataAreaModel.First(param => param.Headers == "Сведения по фактическому действию патента").IsParseModel   = parseModel.IsParseSvedFactPatent;
                    foreach (var parameter in parametersModel.DataAreaModel)
                    {
                        if (!parameter.IsParseModel)
                        {
                            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, parameter.Riborn);
                            while (true)
                            {
                                var grid = PublicGlobalFunction.PublicGlobalFunction.GridNotDataIsWaitUpdate(libraryAutomation, parameter.FullPathGrid);

                                if (string.IsNullOrWhiteSpace(grid))
                                {
                                    PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, parameter.Export);
                                    while (true)
                                    {
                                        if (libraryAutomation.IsEnableElements(PreCheckElementName.WinExport, null, true) != null)
                                        {
                                            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementName.WinExport);
                                            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementName.ExportMenuXlsx);
                                            libraryAutomation.FindFirstElement(PreCheckElementName.ExportNameList);
                                            libraryAutomation.SetValuePattern(sheetName);
                                            PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, PreCheckElementName.Export);
                                            PublicGlobalFunction.PublicGlobalFunction.ExcelSaveAndClose();
                                            file = PublicGlobalFunction.PublicGlobalFunction.ReturnNameLastFileTemp(pathTemp, "*.xlsx");
                                            break;
                                        }
                                    }
                                    switch (parameter.Headers)
                                    {
                                    case "Документы объекта ПСН":
                                        dataBaseAdd.AddDocPatent(patent, file.NamePath, sheetName);
                                        break;

                                    case "Сведения об обособленных объектах":
                                        dataBaseAdd.AddSvedObject(patent, file.NamePath, sheetName);
                                        break;

                                    case "Сведения о месте осуществления деятельности":
                                        dataBaseAdd.AddPlaceOfBusiness(patent, file.NamePath, sheetName);
                                        break;

                                    case "Параметры расчета налога":
                                        dataBaseAdd.AddParametrNalog(patent, file.NamePath, sheetName);
                                        break;

                                    case "Сведения о транспортных средствах":
                                        dataBaseAdd.AddSvedTr(patent, file.NamePath, sheetName);
                                        break;

                                    case "Сведения по фактическому действию патента":
                                        dataBaseAdd.AddSvedFactPatent(patent, file.NamePath, sheetName);
                                        break;
                                    }
                                    File.Delete(file.NamePath);
                                    break;
                                }
                                if (grid == "Данные, удовлетворяющие заданным условиям не найдены.")
                                {
                                    break;
                                }
                                PublicGlobalFunction.PublicGlobalFunction.WindowElementClick(libraryAutomation, parameter.Update);
                            }
                            switch (parameter.Headers)
                            {
                            case "Документы объекта ПСН":
                                parseModel.IsParseDocPatent = true;
                                break;

                            case "Сведения об обособленных объектах":
                                parseModel.IsParseSvedObject = true;
                                break;

                            case "Сведения о месте осуществления деятельности":
                                parseModel.IsParsePlaceOfBusiness = true;
                                break;

                            case "Параметры расчета налога":
                                parseModel.IsParseParametrNalog = true;
                                break;

                            case "Сведения о транспортных средствах":
                                parseModel.IsParseSvedTr = true;
                                break;

                            case "Сведения по фактическому действию патента":
                                parseModel.IsParseSvedFactPatent = true;
                                break;
                            }
                            dataBaseAdd.UpdateIsParseModel(parseModel);
                            WindowsAis3 win = new WindowsAis3();
                            AutoItX.MouseClick(ButtonConstant.MouseLeft, win.WindowsAis.X + win.WindowsAis.Width - 20, win.WindowsAis.Y + 160);
                        }
                    }
                }
                else
                {
                    break;
                }
            }
            WindowsAis3 winFullClose = new WindowsAis3();

            AutoItX.MouseClick(ButtonConstant.MouseLeft, winFullClose.WindowsAis.X + winFullClose.WindowsAis.Width - 20, winFullClose.WindowsAis.Y + 160);
        }