예제 #1
0
void EditInspectionDialogueCompressors::loadTabs(const QString &inspection_date)
{
    Compressor compressors_rec(QString(), MTDictionary(QStringList() << "customer_id" << "circuit_id",
                                                       QStringList() << customer_id << circuit_id));
    ListOfVariantMaps compressors = compressors_rec.listAll();

    for (int i = 0; i < compressors.count(); ++i) {
        InspectionCompressorTab *tab = addTab(compressors.at(i).value("id").toInt(), compressors.at(i).value("name").toString());

        if (!inspection_date.isEmpty()) {
            InspectionsCompressor inspection_compressor_rec(QString(), MTDictionary(QStringList() << "customer_id" << "circuit_id" << "date" << "compressor_id",
                QStringList() << customer_id << circuit_id << inspection_date << compressors.at(i).value("id").toString()));
            QVariantMap inspection_compressor = inspection_compressor_rec.list();
            if (!inspection_compressor.isEmpty()) {
                tab->setRecordId(inspection_compressor.value("id").toInt());
                former_ids.append(inspection_compressor.value("id").toInt());
                tab->init(inspection_compressor);
            } else {
                tab->init();
            }
        } else {
            tab->init();
        }
    }
}
예제 #2
0
QString CircuitUnitTypesView::renderHTML()
{
    QString highlighted_id = settings->selectedCircuitUnitType();

    QString html; MTTextStream out(&html);

    if (settings->mainWindowSettings().serviceCompanyInformationVisible()) {
        HTMLTable *service_company = writeServiceCompany();
        out << service_company->html();
        delete service_company;
        out << "<br>";
    }

    CircuitUnitType all_items("");
    if (!settings->toolBarStack()->isFilterEmpty()) {
        all_items.addFilter(settings->toolBarStack()->filterColumn(), settings->toolBarStack()->filterKeyword());
    }
    ListOfVariantMaps items = all_items.listAll("*", settings->mainWindowSettings().orderByForView(LinkParser::AllCircuitUnitTypes));

    out << "<table cellspacing=\"0\" cellpadding=\"4\" style=\"width:100%;\" class=\"highlight\">";
    QString thead = "<tr>"; int thead_colspan = 2;
    for (int n = 0; n < CircuitUnitType::attributes().count(); ++n) {
        thead.append("<th><a href=\"allcircuitunittypes:/order_by:"
                     + CircuitUnitType::attributes().key(n) + "\">"
                     + CircuitUnitType::attributes().value(n) + "</a></th>");
        thead_colspan++;
    }
    thead.append("</tr>");
    out << "<tr><th colspan=\"" << thead_colspan << "\" style=\"font-size: medium;\">" << tr("Circuit Unit Types") << "</th></tr>";
    out << thead;
    QString id;
    for (int i = 0; i < items.count(); ++i) {
        id = items.at(i).value("id").toString();
        out << QString("<tr id=\"%1\" onclick=\"executeLink(this, '%1');\"").arg("circuitunittype:" + id);
        if (highlighted_id == id)
            out << " class=\"selected\"";
        out << " style=\"cursor: pointer;\"><td>" << id << "</td>";
        for (int n = 1; n < CircuitUnitType::attributes().count(); ++n) {
            out << "<td>";
            QString key = CircuitUnitType::attributes().key(n);
            if (key == "location")
                out << CircuitUnitType::locationToString(items.at(i).value("location").toInt());
            else if (key == "oil")
                out << items.at(i).value(key).toString().toUpper();
            else if (key == "output")
                out << escapeString(QString("%L1 %2").arg(FLOAT_ARG(items.at(i).value("output").toDouble())).arg(items.at(i).value("output_unit").toString()));
            else if (key.endsWith("_price") || key.endsWith("_amount") || key == "discount" || key == "output_t0_tc")
                out << items.at(i).value(key).toDouble();
            else
                out << escapeString(items.at(i).value(key).toString());
            out << "</td>";
        }
        out << "</tr>";
    }
    out << "</table>";
    return viewTemplate("circuit_unit_types").arg(html);
}