Example #1
0
void Importer::parseOKATOTEL(const QString line)
{
    QString utfLine = line;
    QString sOKATO = WINtoUnicode("Код ОКАТО");
    addParametr("OKATO", utfLine.mid(utfLine.indexOf(sOKATO) + sOKATO.length() + 1, 12).trimmed());

    QString sTel = WINtoUnicode("Телефон");
    addParametr("Tel", utfLine.right(utfLine.length() - utfLine.indexOf(sTel) - sTel.length()));
}
Example #2
0
void Importer::parseCodeDocSeriesNum(const QString line)
{
    QString subStr = WINtoUnicode("Код док-та, удост. личность -");
    addParametr("CodeDoc", line.mid(line.indexOf(subStr) + subStr.length() + 1, 3).trimmed());

    subStr = WINtoUnicode("документа");
    addParametr("SeriesAndNumberDoc", line.right(line.length() - line.indexOf(subStr) - subStr.length()).trimmed());

}
Example #3
0
void Importer::parseStatusDrGr(const QString line)
{
    addParametr("Status", line.mid(12, 3).trimmed());

    QString sBirthday = WINtoUnicode("Дата рождения");
    addParametr("Birthday", line.mid(line.indexOf(sBirthday) + sBirthday.length() + 1, 15).trimmed());

    addParametr("Grajdanstvo", line.right(3));
}
Example #4
0
void Importer::parseOrgname(const QString line, int start)
{
    QString utfLine = line;//OEMtoUnicode(line);
    QString sOrgTitle = WINtoUnicode("Наименование организации");
    if (start == 0)
        addParametr("Orgname", utfLine.right(utfLine.length() - utfLine.indexOf(sOrgTitle) - sOrgTitle.length()).trimmed());
    else
        addParametr("Orgname", utfLine.trimmed());

}
Example #5
0
void Importer::parseIndexRegCode(const QString line)
{
    QString subStr = WINtoUnicode("Почтовый индекс");
    addParametr("Index", line.mid(line.indexOf(subStr) + subStr.length() + 1, 6).trimmed());

    subStr = WINtoUnicode("Код региона");
    addParametr("RegCode", line.mid(line.indexOf(subStr) + subStr.length() + 1, 2).trimmed());

    subStr = WINtoUnicode("Район");
    addParametr("Raion", line.mid(line.indexOf(subStr) + subStr.length() + 1, 28).trimmed());
}
Example #6
0
void Importer::parseHomeFlat(const QString line)
{
    QString subStr = WINtoUnicode("Дом");
    addParametr("Дом", line.mid(line.indexOf(subStr) + subStr.length() + 1, 6).trimmed());

    subStr = WINtoUnicode("Корпус");
    addParametr("Корпус", line.mid(line.indexOf(subStr) + subStr.length() + 1, 3).trimmed());

    subStr = WINtoUnicode("Квартира");
    addParametr("Квартира", line.mid(line.indexOf(subStr) + subStr.length() + 1, 3).trimmed());

}
Example #7
0
void Importer::parseTitle(QString line)
{
    QString utfLine = line;//OEMtoUnicode(line);

    addParametr("Year", utfLine.mid(38, 4));
    addParametr("Number", utfLine.mid(49, 2));
    addParametr("Date", utfLine.mid(55, 10));

    QString sIfns = WINtoUnicode("ИФНС");

    //addParametr("IFNS", utfLine.mid(utfLine.indexOf(sIfns, 55) + sIfns.length() + 1, 4));
    addParametr("IFNS", utfLine.mid(utfLine.indexOf(sIfns) + sIfns.length() + 1, 4).trimmed());

}
Example #8
0
void Importer::parseIncomeTable(const QString n, const QString line)
{
    QStringList list1 = line.split(QChar(0x2502));
    //
    addParametr("Строка_" + n + "_Столбец_1", list1[1].trimmed());
    addParametr("Строка_" + n + "_Столбец_2", list1[2].trimmed());
    addParametr("Строка_" + n + "_Столбец_3", list1[3].trimmed());
    addParametr("Строка_" + n + "_Столбец_4", list1[4].trimmed());
    addParametr("Строка_" + n + "_Столбец_5", list1[5].trimmed());

    addParametr("Строка_" + n + "_Столбец_6", list1[7].trimmed());
    addParametr("Строка_" + n + "_Столбец_7", list1[8].trimmed());
    addParametr("Строка_" + n + "_Столбец_8", list1[9].trimmed());
    addParametr("Строка_" + n + "_Столбец_9", list1[10].trimmed());
    addParametr("Строка_" + n + "_Столбец_10",list1[11].trimmed());

}
Example #9
0
void Importer::parseTaxDeductions(const QString line)
{
    //QStringList list1 = line.split(" ");
    addParametr("Код4.1", line.mid(2, 4).trimmed());
    addParametr("СуммаВычета4.1", line.mid(8, 12).trimmed());

    addParametr("Код4.2", line.mid(22, 3).trimmed());
    addParametr("СуммаВычета4.2", line.mid(27, 12).trimmed());

    addParametr("Код4.3", line.mid(41, 3).trimmed());
    addParametr("СуммаВычета4.3", line.mid(46, 12).trimmed());

    addParametr("Код4.4", line.mid(60, 3).trimmed());
    addParametr("СуммаВычета4.4", line.mid(65, 12).trimmed());
}
Example #10
0
void Importer::parsePara42(const QString line)
{
    addParametr("НомерУведомления", line.right(8).trimmed());
}
Example #11
0
void Importer::parseBottom(const QString line)
{   
    addParametr("Должность", line.mid(17, 20).trimmed());
    addParametr("ФИОАгента", line.mid(57, 20).trimmed());
}
Example #12
0
void Importer::parsePara510Sum(const QString line)
{
    addParametr("ТекстП5.10", line.mid(1, 64).trimmed());
    addParametr("СуммаП5.10", line.mid(66, 12).trimmed());
}
Example #13
0
void Importer::parse()
{
    QFile file(inputFile);

    if (!file.open(QFile::ReadOnly))
        return;
    QTextStream in(&file);
    in.setCodec("IBM 866");

    numberDoc = 1;
    while (!in.atEnd())
    {
        QString line;
        in.readLine(); // шапка
        in.readLine(); //
        in.readLine();
        in.readLine(); // Код формы по КНД 1151078

        parsePriznak(in.readLine()); // Признак

        parseTitle(in.readLine()); // Строка с датой и номером справки
        in.readLine(); //
        in.readLine(); // п. 1
        parseINNCPP(in.readLine());  // п. 1.1
        parseOrgname(in.readLine()); // п. 1.2
        if (params[QString::number(numberDoc) + "_Orgname"].isEmpty())
                parseOrgname(in.readLine(), 1);
        in.readLine();
        parseOKATOTEL(in.readLine()); // п. 1.3 п. 1.4
        in.readLine(); // п. 2
        parseINN(in.readLine()); // п. 2.1
        in.readLine();
        parseFIOTBN(in.readLine()); // п. 2.2
        parseStatusDrGr(in.readLine()); // п. 2.3 - п. 2.5
        parseCodeDocSeriesNum(in.readLine()); // п. 2.6 - п. 2.7
        in.readLine(); // п. 2.8
        parseIndexRegCode(in.readLine());

        fillAddress();
        line = in.readLine();
        while (!line.contains(WINtoUnicode("Дом")))
        {                        
            if (line.contains(WINtoUnicode("Город")))
                parseCity(line);
            else if (line.contains(WINtoUnicode("Улица")))
                parseStreet(line);
            else if (line.contains(WINtoUnicode("Населенный пункт")))
                parseLocality(line);
            line = in.readLine();
        }
        parseHomeFlat(line);

        in.readLine();
        fillPara29();
        line = in.readLine();
        if (line.left(3) == "2.9")
        {
            parseCoutryCode(line);
            parseAddress(in.readLine());
            in.readLine();
            line = in.readLine();
        }
        parseTax(line); // п. 3
        in.readLine();
        in.readLine();
        in.readLine();
        in.readLine();
        in.readLine();

        line = in.readLine();
        QChar sym(0x2514);

        int incomeTableRowsCount = 1;
        while (line[0] != sym)
        {          
            parseIncomeTable(QString::number(incomeTableRowsCount++), line);
            line = in.readLine();           
        }
        addParametr("incomeTableRowsCount", QString::number(incomeTableRowsCount));

        in.readLine();

        fillPara4();
        line = in.readLine(); // п. 4

        while (line.left(3) != " 5.")
        {
            QString para = line.left(3);
            if (para == "")
            {
            }
            else if (para == "4. ")
            {
            }
            else if (para == "4.1")
            {
                in.readLine();
                line = in.readLine();
                parseTaxDeductions(line);
            }
            else if (para == "4.2")
            {
                parsePara42(line);
            }
            else if ((para == "4.3") || (para == "4.4"))
            {
                parsePara43_44(line);
            }           
            else if (para == "4.5")
            {
                parsePara45(line);
            }
            else if (para == "4.6")
            {
                parsePara46(line);
            }
            line = in.readLine();
        }

        //in.readLine(); // п. 5       
        fillPara5();
        line = in.readLine();
        while (line[0] != sym)
        {
            QString para = line.mid(1, 4);

            if (para == "5.1.")
                parseAmountIncome(line);   // п. 5.1
            else if (para == "5.2.")
                parseTaxableAmountIncome(line); // п. 5.2
            else if (para == "5.3.")
                parseAmountOfTaxCalculated(line); // п. 5.3
            else if (para == "5.4.")
                parseAmountOfTaxWithheld(line); // п. 5.4
            else if (para == "5.5.")
                parsePara55Sum(line);  // п. 5.5
            else if (para == "5.6.")
                parsePara56Sum(line);  // п. 5.6
            else if (para == "5.7.")
                parsePara57Sum(line);  // п. 5.7
            else if (para == "5.8.")
                parsePara58Sum(line);  // п. 5.8
            else if (para == "5.9.")
                parsePara59Sum(line);  // п. 5.9
            else if (para == "5.10")
                parsePara510Sum(line);  // п. 5.10
            line = in.readLine();
        }

        in.readLine();
        in.readLine();
        parseBottom(in.readLine());

        QChar pageBreak(0x0C);
        line = in.readLine();
        while (!in.atEnd() && line != pageBreak)        
            line = in.readLine();

        numberDoc++;
    }
    file.close();

}
Example #14
0
void Importer::parseAmountOfTaxWithheld(const QString line)
{
    addParametr("ТекстП5.4", line.mid(1, 64).trimmed());
    addParametr("СуммаП5.4", line.mid(66, 12).trimmed());
}
Example #15
0
void Importer::parseTaxableAmountIncome(const QString line)
{
    addParametr("ТекстП5.2", line.mid(1, 64).trimmed());
    addParametr("ОблагаемаяСуммаДоходов", line.mid(66, 12).trimmed());
}
Example #16
0
void Importer::parseINN(const QString line)
{
     addParametr("INN", line.mid(9, 12));
}
Example #17
0
void Importer::parseINNCPP(const QString line)
{
    addParametr("INN/CPP", line.mid(25, 22));
}
Example #18
0
void Importer::parsePara46(const QString line)
{
    addParametr("СуммаИмущественныхНалВычетов", line.right(14).trimmed());
}
Example #19
0
void Importer::parseAddress(const QString line)
{
    addParametr("АдресВСтранеПроживания", line.trimmed());
}
Example #20
0
void Importer::parseStreet(const QString line)
{
    addParametr("Street", line.right(line.length() - 10).trimmed());
}
Example #21
0
void Importer::parseLocality(const QString line)
{
    addParametr("НасПункт", line.right(line.length() - 22).trimmed());
}
Example #22
0
void Importer::parseCity(const QString line)
{
    addParametr("City", line.right(line.length() - 10).trimmed());
}
Example #23
0
void Importer::parsePara43_44(const QString line)
{
    addParametr("ДатаВыдачиУведомления", line.mid(16, 14).trimmed());
    addParametr("КодИФНСУведомления", line.right(6).trimmed());
}
Example #24
0
void Importer::parseAmountIncome(const QString line)
{
    addParametr("ТекстП5.1", line.mid(1, 64).trimmed());
    addParametr("СуммаДоходов", line.mid(66, 12).trimmed());
}
Example #25
0
void Importer::parsePara45(const QString line)
{
    addParametr("СуммаНалВычетов", line.right(14).trimmed());
}
Example #26
0
void Importer::parseFIOTBN(const QString line)
{

    addParametr("FIO", line.left(50).trimmed());
    addParametr("TBN", line.right(4).trimmed());
}
Example #27
0
void Importer::parseCoutryCode(const QString line)
{
    addParametr("КодСтраныПроживания", line.mid(43, 3).trimmed());
}
Example #28
0
void Importer::parseTax(const QString line)
{
    addParametr("СтавкаНалога", line.mid(40, 4).trimmed());

}
void SendSelectionDialog::sl_OK() {
    QString error = ca_c->validate();
    if (!error.isEmpty()) {
        QMessageBox::critical(NULL, tr("Error"), error);
        return;
    }
    retries = retrySpinBox->value();
    db = dataBase->currentText();
    if(db!="cdd") {
        requestParameters = "CMD=Put";
        addParametr(requestParameters,ReqParams::program,db);

        double eValue = evalueSpinBox->value();
        if(shortSequenceCheckBox->isChecked())
            eValue = 1000;
        addParametr(requestParameters,ReqParams::expect,eValue);

        if(false == entrezQueryEdit->text().isEmpty())
            addParametr(requestParameters, ReqParams::entrezQuery, entrezQueryEdit->text());

        int maxHit = quantitySpinBox->value();
        addParametr(requestParameters,ReqParams::hits,maxHit);

        if(megablastCheckBox->isChecked()) {
            addParametr(requestParameters,ReqParams::megablast,"true");
        }

        addParametr(requestParameters,ReqParams::database,dbComboBox->currentText().split(" ").last());

        QString filter="";
        if(lowComplexityFilterCheckBox->isChecked()&&!shortSequenceCheckBox->isChecked()) {
            filter.append("L");
        }
        if(repeatsCheckBox->isChecked()) {
            filter.append("R");
        }
        if(lookupMaskCheckBox->isChecked()) {
            filter.append("m");
        }
        if(!filter.isEmpty()) {
            addParametr(requestParameters,ReqParams::filter,filter);
        }

        addParametr(requestParameters,ReqParams::gapCost,costsComboBox->currentText());
        if(db == "blastn"){
            addParametr(requestParameters,ReqParams::matchScore,scoresComboBox->currentText().split(" ").first());
            addParametr(requestParameters,ReqParams::mismatchScore,scoresComboBox->currentText().split(" ").last());
        }

        if(shortSequenceCheckBox->isChecked()) {
            QString wordSize = wordSizeComboBox->currentText().toInt()>7 ? "7" : wordSizeComboBox->currentText();
            addParametr(requestParameters,ReqParams::wordSize, wordSize);
        }
        else {
            addParametr(requestParameters,ReqParams::wordSize,wordSizeComboBox->currentText());
        }

        if(lowerCaseCheckBox->isChecked()) {
            addParametr(requestParameters,ReqParams::lowCaseMask,"yes");
        }

        if(db=="blastp") {
            if(!isAminoSeq) {
                translateToAmino = true;
            }

            addParametr(requestParameters,ReqParams::matrix,matrixComboBox->currentText());
            addParametr(requestParameters,ReqParams::service,serviceComboBox->currentText());
            if(serviceComboBox->currentText()=="phi") {
                addParametr(requestParameters,ReqParams::phiPattern,phiPatternEdit->text());
            }
        }
    }

    else { //CDD
        requestParameters = "CMD=Put";
        db = "blastp";
        addParametr(requestParameters,ReqParams::program, db);

        addParametr(requestParameters,ReqParams::expect, evalueSpinBox->value());

        addParametr(requestParameters,ReqParams::hits,quantitySpinBox->value());

        QString dbName = dbComboBox->currentText().split(" ").last();
        addParametr(requestParameters,ReqParams::database, dbName.toLower());
        addParametr(requestParameters,ReqParams::service, "rpsblast");
    }

    if(translateToAmino) {
        QObjectScopedPointer<QMessageBox> msg = new QMessageBox(this);
        msg->setText(tr("You chose to search nucleotide sequence in protein database. This sequence will be converted into 6 sequences(3 translations for both strands)."
            "Therefore this search may take some time. Continue?"));
        msg->setWindowTitle(windowTitle());
        msg->setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
        msg->setDefaultButton(QMessageBox::Yes);
        msg->exec();
        CHECK(!msg.isNull(), );

        if (msg->result() == QMessageBox::Cancel) {
            return;
        }
    }

    int filterResults = 0;
    filterResults |= (int)accessionCheckBox->isChecked();
    filterResults |= (int)defCheckBox->isChecked() << 1;
    filterResults |= (int)idCheckBox->isChecked() << 2;
    cfg.filterResult = filterResults;
    cfg.useEval = evalueRadioButton->isChecked();
    cfg.retries = retrySpinBox->value();
    cfg.params = requestParameters;
    cfg.dbChoosen = db;

    saveSettings();
    accept();
}
Example #30
0
void Importer::parsePriznak(const QString line)
{
    QString utfLine = line;//OEMtoUnicode(line);
    QString sPriznak = WINtoUnicode("признак");
    addParametr("Priznak", utfLine.right(utfLine.length() - utfLine.indexOf(sPriznak, Qt::CaseInsensitive) - sPriznak.length()).trimmed());
}