Хранилища Subversion OpenInventory

Редакция

К новейшей редакции | Авторство | Сравнить с предыдущей | Последнее изменение | Открыть журнал | Скачать | RSS

#include "addmemoryform.h"
#include "mainwindowimpl.h"

// place your code here
addmemoryForm::addmemoryForm(  )
        : QWidget()
{
//      QStringList proizv_list; //ñïèñîê ïðîèçâîäèòåëåé ïàìÿòè
        setupUi(this);
//      proizv_list = getManufacturiesList();
//      comboBox->addItems(proizv_list);
        // TODO
}

QStringList addmemoryForm::getManufacturiesList(){
        QStringList mnfctrlist;
        QString mnfctSqlText, tmp;
        QSqlQuery qproiz;
        int field_proizvoditel;
        mnfctSqlText = tr("select * from an_db.proizvoditeli_pamyati");
//      QSqlQuery qns(tr("SET NAMES utf8"));
        qproiz.prepare(mnfctSqlText);
        qproiz.exec();
//      QSqlQuery qproiz("SELECT * FROM an_db.Ïðîèçâîäèòåëè_ïàìÿòè");
        field_proizvoditel = qproiz.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        mnfctrlist.clear();
        while (qproiz.next()){
                tmp = qproiz.value(field_proizvoditel).toString();
//      comboBox->addItem(tmp);
                mnfctrlist.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return mnfctrlist;
}


QStringList addmemoryForm::getManufacturiesListVIDEO(){
        QStringList mnfctrlist;
        QString mnfctSqlText, tmp;
        QSqlQuery qproiz;
        int field_proizvoditel;
        mnfctSqlText = tr("select * from an_db.proizvoditeli_video");
//      QSqlQuery qns(tr("SET NAMES utf8"));
        qproiz.prepare(mnfctSqlText);
        qproiz.exec();
//      QSqlQuery qproiz("SELECT * FROM an_db.Ïðîèçâîäèòåëè_ïàìÿòè");
        field_proizvoditel = qproiz.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        mnfctrlist.clear();
        while (qproiz.next()){
                tmp = qproiz.value(field_proizvoditel).toString();
//      comboBox->addItem(tmp);
                mnfctrlist.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return mnfctrlist;
}




QStringList addmemoryForm::getManufacturiesListMB(){
        QStringList mnfctrlist;
        QString mnfctSqlText, tmp;
        QSqlQuery qproiz;
        int field_proizvoditel;
        mnfctSqlText = tr("select * from an_db.proizvoditeli_mb");
//      QSqlQuery qns(tr("SET NAMES utf8"));
        qproiz.prepare(mnfctSqlText);
        qproiz.exec();
//      QSqlQuery qproiz("SELECT * FROM an_db.Ïðîèçâîäèòåëè_ïàìÿòè");
        field_proizvoditel = qproiz.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        mnfctrlist.clear();
        while (qproiz.next()){
                tmp = qproiz.value(field_proizvoditel).toString();
//      comboBox->addItem(tmp);
                mnfctrlist.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return mnfctrlist;
}


QStringList addmemoryForm::getManufacturiesListHDD(){
        QStringList mnfctrlist;
        QString mnfctSqlText, tmp;
        QSqlQuery qproiz;
        int field_proizvoditel;
        mnfctSqlText = tr("select * from an_db.proizvoditeli_hdd");
//      QSqlQuery qns(tr("SET NAMES utf8"));
        qproiz.prepare(mnfctSqlText);
        qproiz.exec();
//      QSqlQuery qproiz("SELECT * FROM an_db.Ïðîèçâîäèòåëè_ïàìÿòè");
        field_proizvoditel = qproiz.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        mnfctrlist.clear();
        while (qproiz.next()){
                tmp = qproiz.value(field_proizvoditel).toString();
//      comboBox->addItem(tmp);
                mnfctrlist.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return mnfctrlist;
}

QStringList addmemoryForm::getManufacturiesListCPU(){
        QStringList mnfctrlist;
        QString mnfctSqlText, tmp;
        QSqlQuery qproiz;
        int field_proizvoditel;
        mnfctSqlText = tr("select * from an_db.proizvoditeli_cpu");
//      QSqlQuery qns(tr("SET NAMES utf8"));
        qproiz.prepare(mnfctSqlText);
        qproiz.exec();
//      QSqlQuery qproiz("SELECT * FROM an_db.Ïðîèçâîäèòåëè_ïàìÿòè");
        field_proizvoditel = qproiz.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        mnfctrlist.clear();
        while (qproiz.next()){
                tmp = qproiz.value(field_proizvoditel).toString();
//      comboBox->addItem(tmp);
                mnfctrlist.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return mnfctrlist;
}



QStringList addmemoryForm::getModelListMB(QString proizvoditel){
        QStringList modelList;
        QString SqlText, tmp;
        QSqlQuery qmodel;
        int field_model;
        SqlText = tr("select * from an_db.Ìîäåëè_ìàòåðèíñêèõ_ïëàò where an_db.Ìîäåëè_ìàòåðèíñêèõ_ïëàò.Ïðîèçâîäèòåëü = \"");
        SqlText.append(proizvoditel);
        SqlText.append(tr("\""));
        qmodel.prepare(SqlText);
        qmodel.exec();
        field_model = qmodel.record().indexOf(tr("Ìîäåëü"));
        modelList.clear();
        while (qmodel.next()){
                tmp = qmodel.value(field_model).toString();
//      comboBox->addItem(tmp);
                modelList.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return modelList;
}



QStringList addmemoryForm::getModelListVIDEO(QString proizvoditel){
        QStringList modelList;
        QString SqlText, tmp;
        QSqlQuery qmodel;
        int field_model;
        SqlText = tr("select * from an_db.video_models where an_db.video_models.Ïðîèçâîäèòåëü = \"");
        SqlText.append(proizvoditel);
        SqlText.append(tr("\""));
        qmodel.prepare(SqlText);
        qmodel.exec();
        field_model = qmodel.record().indexOf(tr("Ìîäåëü"));
        modelList.clear();
        while (qmodel.next()){
                tmp = qmodel.value(field_model).toString();
//      comboBox->addItem(tmp);
                modelList.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return modelList;
}



QStringList addmemoryForm::getModelListCPU(QString proizvoditel){
        QStringList modelList;
        QString SqlText, tmp;
        QSqlQuery qmodel;
        int field_model;
        SqlText = tr("select * from an_db.processor_models where an_db.processor_models.Ïðîèçâîäèòåëü = \"");
        SqlText.append(proizvoditel);
        SqlText.append(tr("\""));
        qmodel.prepare(SqlText);
        qmodel.exec();
        field_model = qmodel.record().indexOf(tr("Ìîäåëü"));
        modelList.clear();
        while (qmodel.next()){
                tmp = qmodel.value(field_model).toString();
//      comboBox->addItem(tmp);
                modelList.append (tmp);
        }
//      comboBox->addItems(mnfctrlist);
        return modelList;
}


QStringList addmemoryForm::getSystemBlockList(){
        QStringList sysBlockList;
        bool b1, b2;
        QString tmp, SerialNum, InventarNum, DataPokypki, SrokGarantii, UserId, Identifikator;
        int field_identifikator, field_serial_num, field_inventar_num, field_data_pokypki, field_srok_garantii, field_user_id;
        QSqlQuery qysBlockList(tr("select * from an_db.system_blocks"));
        field_serial_num = qysBlockList.record().indexOf(tr("Ñåðèéíûé_íîìåð"));
        field_inventar_num = qysBlockList.record().indexOf(tr("Èíâåíòàðíûé_íîìåð"));
        field_data_pokypki = qysBlockList.record().indexOf(tr("Äàòà_ïîêóïêè"));
        field_srok_garantii = qysBlockList.record().indexOf(tr("Ñðîê_ãàðàíòèè"));
        field_user_id = qysBlockList.record().indexOf(tr("Èäåíòèôèêàòîð_îòâåòñòâåííîãî_ëèöà"));
        field_identifikator = qysBlockList.record().indexOf(tr("Èäåíòèôèêàòîð"));
        while (qysBlockList.next()){
        tmp = "";
        SerialNum = qysBlockList.value(field_serial_num).toString();
        InventarNum = qysBlockList.value(field_inventar_num).toString();
        DataPokypki = qysBlockList.value(field_data_pokypki).toString();
        SrokGarantii = qysBlockList.value(field_srok_garantii).toString();
        UserId = qysBlockList.value(field_user_id).toString();
        Identifikator = qysBlockList.value(field_identifikator).toString();
        b1 = (SerialNum !="");
        b2 = (SerialNum !=tr("Ñïèñàí"));
//      if (SerialNum == tr("Ñïèñàí")){continue;}
//      if (SerialNum == tr("Ñêëàä")){sysBlockList << tr("Íà ñêëàä"); continue;}
//      if (SerialNum !="") {tmp.append(tr("S/N: "));
//              tmp.append(SerialNum); }
        if (InventarNum == tr("Ñïèñàí")){continue;}
        if (InventarNum == tr("Ñêëàä")){sysBlockList << tr("Íà ñêëàä"); continue;}
        if (InventarNum !="") {tmp.append(tr("Èíâ.íîì:"));
                tmp.append(InventarNum); }
                tmp.append(addmemoryForm::getUserInfo(UserId));
//      if (InventarNum !=""){tmp.append(tr(" Èíâ.íîì: "));
//              tmp.append(InventarNum);}
        if (tmp !="") sysBlockList << tmp;

        }
        return sysBlockList;

}

QString addmemoryForm::getUserInfo(QString userID){
        QString rslt, tmp, sqlQueryText;
        QString identifikator_polzovatela, fio_polzovatela, identifikator_otdela;
        int field_identifikator, field_fio, field_id_otdela;
        QSqlQuery qSqlUserInfo;
        sqlQueryText = tr("select * from an_db.Ñîòðóäíèêè where Èäåíòèôèêàòîð = ");
        sqlQueryText.append(userID);
        qSqlUserInfo.prepare(sqlQueryText);
        qSqlUserInfo.exec();
        field_identifikator = qSqlUserInfo.record().indexOf(tr("Èäåíòèôèêàòîð"));
        field_fio = qSqlUserInfo.record().indexOf(tr("ÔÈÎ"));
        field_id_otdela = qSqlUserInfo.record().indexOf(tr("Èäåíòèôèêàòîð_îòäåëà"));
        tmp="";
        while(qSqlUserInfo.next()){
        identifikator_polzovatela =  qSqlUserInfo.value(field_identifikator).toString();
        fio_polzovatela = qSqlUserInfo.value(field_fio).toString();
        identifikator_otdela = qSqlUserInfo.value(field_id_otdela).toString();
        if (fio_polzovatela !="") {
        tmp.append(tr(" "));
        tmp.append(fio_polzovatela);
        tmp.append(addmemoryForm::getOtdelName(identifikator_otdela));
        }
       
        }
        rslt.append(tmp);
        return rslt;
       
}


QString addmemoryForm::getOtdelName(QString otdelID){
        QString otdel, sqlText, tmp;
        QSqlQuery query;
        int field_name;
        sqlText = (tr("select an_db.Îòäåëû.Íàçâàíèå from an_db.Îòäåëû where Èäåíòèôèêàòîð = "));
        sqlText.append(otdelID);
        query.prepare(sqlText);
        query.exec();
        field_name = query.record().indexOf(tr("Íàçâàíèå"));
        tmp="";
        while(query.next()){
                tmp.append(tr(" "));
                tmp.append( query.value(field_name).toString());
        }
        otdel = tmp;
        return otdel;
}

void addmemoryForm::initTreeWidgrt(){
int fieldName, fieldID;
        QTreeWidgetItem *otdelItem;
        QSqlQuery q(tr("select * from Îòäåëû"));// ïîëó÷àåì ñïèñîê îòäåëîâ
        QString otdel, otdel_id;
        fieldName = q.record().indexOf(tr("Íàçâàíèå"));
        fieldID = q.record().indexOf(tr("Èäåíòèôèêàòîð"));
        while (q.next()){
                otdel = q.value(fieldName).toString();
                otdel_id = q.value(fieldID).toString();
                otdelItem = new QTreeWidgetItem(addmemoryForm::treeWidget);
                otdelItem->setText(0, otdel);
                addmemoryForm::SotrydnikiOtdela(otdel_id, otdelItem);
                }
       
}

void addmemoryForm::SotrydnikiOtdela(QString id_otdela, QTreeWidgetItem * itemOtdela){
        int field_fio_sotrydnika, field_id_sotrydnika;
        QString fio_sotrydnika_otdela, id_sotrydnika_otdela, oboryd;
        QSqlQuery qsotrydnikiOtdela;
        QString sqlQueryString;
        QTreeWidgetItem *treeItem_sotrydnika;
        sqlQueryString = tr("select Èäåíòèôèêàòîð, ÔÈÎ from Ñîòðóäíèêè where Èäåíòèôèêàòîð_îòäåëà=");
        sqlQueryString.append(id_otdela);
        qsotrydnikiOtdela.prepare(sqlQueryString);
        qsotrydnikiOtdela.exec();
        field_fio_sotrydnika = qsotrydnikiOtdela.record().indexOf(tr("ÔÈÎ"));
        field_id_sotrydnika = qsotrydnikiOtdela.record().indexOf(tr("Èäåíòèôèêàòîð"));
        while (qsotrydnikiOtdela.next())
        {
                fio_sotrydnika_otdela = qsotrydnikiOtdela.value(field_fio_sotrydnika).toString();
                id_sotrydnika_otdela = qsotrydnikiOtdela.value(field_id_sotrydnika).toString();
                treeItem_sotrydnika = new QTreeWidgetItem(itemOtdela);
                treeItem_sotrydnika->setText(1, fio_sotrydnika_otdela );
//              treeItem_sotrydnika->setText(2, id_sotrydnika_otdela );
//              oboryd = oborydovanie(id_sotrydnika_otdela, treeItem_sotrydnika);
//              treeItem_sotrydnika->setText(3, oboryd );
        }
}

void addmemoryForm::on_pushButton_clicked(){
QSqlQuery q;
QString sqlText;
if (lineEdit->text() == "")
        {      
                QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
                                                                                this,                      // Ðîäèòåëüñêèé âèäæåò.
                                                                                QObject::tr("Îøèáêà ââîäà äàííûõ"),   // Çàãîëîâîê.  
                                                                                tr("Ââåäèòå èíâåíòàðíûé íîìåð"));          // Òåêñò ñîîáùåíèÿ.
                                                                                return;
                                                                        }
switch (tabWidget->currentIndex())
{
        case 0: //Ìîäóëè ïàìÿòè
        {
                QString id;
               
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into memory (Ïðîèçâîäèòåëü, Òèï, Îáúåì, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :tip, :obem, :sys_id, :inv_num, :serial_num)"));
//              q.bindValue(":ident", "default");
                q.bindValue(tr(":proizvoditel"), comboBox->currentText());
                q.bindValue(tr(":tip"), comboBox_3->currentText());
                q.bindValue(tr(":obem"), comboBox_2->currentText());
//              q.bindValue(tr(":chastota"), "default");
                q.bindValue(tr(":sys_id"), id);
                q.bindValue(tr(":inv_num"), lineEdit->text());
                q.bindValue(tr(":serial_num"), lineEdit_2->text());
//              query.bindValue(":surname", "Simpson");
//              sqlText = tr("insert into Ïàìÿòü vflue()");
                q.exec();
                add_mem_proizvoditel(comboBox->currentText()); //äîáàâèì ïðîèçâîäèòåëÿ â ñïèñîê, åñëè åãî òàì íåò
                emit componentAdd();
                close();
//              MainWindowImpl::initTreeWidget();
        }      
        break;

        case 1: //Âèí÷åñòåðû
        {
                QString id;
               
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into harddiscs (Ïðîèçâîäèòåëü, Èíòåðôåéñ, Îáúåì, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :interface, :obem, :sys_id, :inv_num, :serial_num)"));
//              q.bindValue(":ident", "default");
                q.bindValue(tr(":proizvoditel"), comboBox_13->currentText());
                q.bindValue(tr(":interface"), comboBox_14->currentText());
                q.bindValue(tr(":obem"), comboBox_15->currentText());
//              q.bindValue(tr(":chastota"), "default");
                q.bindValue(tr(":sys_id"), id);
                q.bindValue(tr(":inv_num"), lineEdit->text());
                q.bindValue(tr(":serial_num"), lineEdit_2->text());
//              query.bindValue(":surname", "Simpson");
//              sqlText = tr("insert into Ïàìÿòü vflue()");
                q.exec();
                add_hdd_proizvoditel(comboBox_13->currentText()); //äîáàâèì ïðîèçâîäèòåëÿ â ñïèñîê, åñëè åãî òàì íåò
                emit componentAdd();
                close();
//              MainWindowImpl::initTreeWidget();
        }      
        break;


        case 2: //Ïðîöåññîðû
        {
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into processors (Ïðîèçâîäèòåëü, Ìîäåëü, ×àñòîòà , Ñëîò, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :model, :fqr, :slot, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":proizvoditel"), comboBox_9->currentText());
                                        q.bindValue(tr(":model"), comboBox_12->currentText());
                                        q.bindValue(tr(":slot"), comboBox_11->currentText());
                                        q.bindValue(tr(":fqr"), comboBox_10->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_mb_proizvoditel(comboBox_5->currentText());
                                        add_cpu_proizvoditel(comboBox_9->currentText());
                                        add_mb_model(comboBox_5->currentText(), comboBox_6->currentText());
                                        add_cpu_model(comboBox_9->currentText(), comboBox_12->currentText());
                                         
                                        emit componentAdd();
                                        close();
        }
        break;
               
        case 3: //Ìàòåðèíñêèå ïëàòû
        {
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into matheboards (Ïðîèçâîäèòåëü, Ìîäåëü , Ñëîò, ×àñòîòà_øèíû, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :model, :slot, :bus_fqr, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":proizvoditel"), comboBox_5->currentText());
                                        q.bindValue(tr(":model"), comboBox_6->currentText());
                                        q.bindValue(tr(":slot"), comboBox_7->currentText());
                                        q.bindValue(tr(":bus_fqr"), comboBox_8->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_mb_proizvoditel(comboBox_5->currentText());
                                        add_mb_model(comboBox_5->currentText(), comboBox_6->currentText());
                                        emit componentAdd();
                                        close();
        }
        break;
       
        case 4: //CD/DVD ïðèâîäû
        {
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into cd_dvd (Òèï, Ïðîèçâîäèòåëü, Ñêîðîñòü, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:tip, :proizvoditel, :skorost, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":tip"), comboBox_16->currentText());
                                        q.bindValue(tr(":proizvoditel"), comboBox_17->currentText());
                                        q.bindValue(tr(":skorost"), comboBox_18->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_mb_proizvoditel(comboBox_5->currentText());
                                        add_mb_model(comboBox_5->currentText(), comboBox_6->currentText());
                                        emit componentAdd();
                                        close();
                                }
       
       
        break;
       
        case 5: //Âèäåîêàðòû
        {
               
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into videocards (Ïðîèçâîäèòåëü, Ìîäåëü , Èíòåðôåéñ, Ïàìÿòü, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :model, :interface, :memory, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":proizvoditel"), comboBox_19->currentText());
                                        q.bindValue(tr(":model"), comboBox_20->currentText());
                                        q.bindValue(tr(":interface"), comboBox_21->currentText());
                                        q.bindValue(tr(":memory"), comboBox_22->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_video_proizvoditel(comboBox_19->currentText());
                                        add_video_model(comboBox_19->currentText(), comboBox_20->currentText());
                                        emit componentAdd();
                                        close();
                                }
        break;
       
        case 6: //Çâóêîâûå êàðòû
        {
               
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into soundcards (Ïðîèçâîäèòåëü, Ìîäåëü , Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :model, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":proizvoditel"), comboBox_23->currentText());
                                        q.bindValue(tr(":model"), comboBox_24->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_mb_proizvoditel(comboBox_5->currentText());
                                        add_mb_model(comboBox_5->currentText(), comboBox_6->currentText());
                                        emit componentAdd();
                                        close();
               
        }
        break; 
        case 7: //Ñåòåâûå êàðòû
        {
               
        QString id;
                id = getIdentifikator(label_7->text());
                q.prepare(tr("insert into lancards (Ïðîèçâîäèòåëü, Ìîäåëü , Ñêîðîñòü_ïåðåäà÷è_äàííûõ, Èäåíòèôèêàòîð_ñèñòåìíîãî_áëîêà, Èíâåíòàðíûé_íîìåð, Ñåðèéíûé_íîìåð) "
                                        "values (:proizvoditel, :model, :spd, :sys_id, :inv_num, :serial_num)"));
                                        q.bindValue(tr(":proizvoditel"), comboBox_25->currentText());
                                        q.bindValue(tr(":model"), comboBox_26->currentText());
                                        q.bindValue(tr(":spd"), comboBox_27->currentText());
                                        q.bindValue(tr(":sys_id"), id);
                                        q.bindValue(tr(":inv_num"), lineEdit->text());
                                        q.bindValue(tr(":serial_num"), lineEdit_2->text());
                                        q.exec();
                                        add_mb_proizvoditel(comboBox_5->currentText());
                                        add_mb_model(comboBox_5->currentText(), comboBox_6->currentText());
                                        emit componentAdd();
                                        close();
               
        }
        break; 

        default:
       
       
        break;
}

void componentAdd();

       
       
       


}

QString addmemoryForm::getIdentifikator(QString inventar_num){
        QSqlQuery q;
        QString sqltext;
        int field_id;
        QString identifikator;
        if (inventar_num == tr("Íà ñêëàä")) return tr("1");
        sqltext = tr("select * from system_blocks where system_blocks.Èíâåíòàðíûé_íîìåð = \"");
        sqltext.append(inventar_num);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_id = q.record().indexOf(tr("Èäåíòèôèêàòîð"));
        if (q.next()) {identifikator = q.value(field_id).toString();}
        else { 
                QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
                                                                                this,                      // Ðîäèòåëüñêèé âèäæåò.
                                                                                QObject::tr("Îøèáêà ââîäà äàííûõ"),   // Çàãîëîâîê.  
                                                                                tr("Íåâîçìîæíî îïðåäåëèòü èäåíòèôèêàòîð ñèñòåìíîãî áëîêà"));          // Òåêñò ñîîáùåíèÿ.
                                                                                return identifikator;
               
               
                };
        return identifikator;
}






void addmemoryForm::add_video_proizvoditel(QString brend){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from proizvoditeli_video where proizvoditeli_video.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into proizvoditeli_video (Ïðîèçâîäèòåëü) "
                                        "values (:proizvoditel)"));
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}


void addmemoryForm::add_mem_proizvoditel(QString brend){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from proizvoditeli_pamyati where proizvoditeli_pamyati.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into proizvoditeli_pamyati (Ïðîèçâîäèòåëü) "
                                        "values (:proizvoditel)"));
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}


void addmemoryForm::add_mb_proizvoditel(QString brend){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from proizvoditeli_mb where proizvoditeli_mb.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into proizvoditeli_mb (Ïðîèçâîäèòåëü) "
                                        "values (:proizvoditel)"));
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}

void addmemoryForm::add_hdd_proizvoditel(QString brend){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from proizvoditeli_hdd where proizvoditeli_hdd.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into proizvoditeli_hdd (Ïðîèçâîäèòåëü) "
                                        "values (:proizvoditel)"));
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}

void addmemoryForm::add_cpu_proizvoditel(QString brend){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from proizvoditeli_cpu where proizvoditeli_hdd.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into proizvoditeli_cpu (Ïðîèçâîäèòåëü) "
                                        "values (:proizvoditel)"));
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}

void addmemoryForm::add_mb_model(QString brend, QString model){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from Ìîäåëè_ìàòåðèíñêèõ_ïëàò where Ìîäåëè_ìàòåðèíñêèõ_ïëàò.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\" and Ìîäåëè_ìàòåðèíñêèõ_ïëàò.Ìîäåëü = \""));
        sqltext.append(model);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into Ìîäåëè_ìàòåðèíñêèõ_ïëàò (Ìîäåëü, Ïðîèçâîäèòåëü) "
                                        "values (:model, :proizvoditel)"));
        q.bindValue(tr(":model"), model);
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}



void addmemoryForm::add_cpu_model(QString brend, QString model){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from processor_models where processor_models.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\" and processor_models.Ìîäåëü = \""));
        sqltext.append(model);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into processor_models (Ìîäåëü, Ïðîèçâîäèòåëü) "
                                        "values (:model, :proizvoditel)"));
        q.bindValue(tr(":model"), model);
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}

void addmemoryForm::add_video_model(QString brend, QString model){
        QSqlQuery q;
        QString sqltext;
        int field_proizvoditel;
        QString proizv;
        sqltext = tr("select * from video_models where video_models.Ïðîèçâîäèòåëü = \"");
        sqltext.append(brend);
        sqltext.append(tr("\" and video_models.Ìîäåëü = \""));
        sqltext.append(model);
        sqltext.append(tr("\""));
        q.prepare(sqltext);
        q.exec();
        field_proizvoditel = q.record().indexOf(tr("Ïðîèçâîäèòåëü"));
        if (q.next()) {return;}
        else {
        q.prepare(tr("insert into video_models (Ìîäåëü, Ïðîèçâîäèòåëü) "
                                        "values (:model, :proizvoditel)"));
        q.bindValue(tr(":model"), model);
        q.bindValue(tr(":proizvoditel"), brend);
        q.exec();
        }
       
}


//void addmemoryForm::hide (){
//      treeWidget->setEnabled(true);
//}

void addmemoryForm::closeEvent ( QCloseEvent * event )  {
        emit formClose();
}