Subversion Repositories OpenInventory

Rev

Rev 16 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6 pingvin 1
#include "mainwindowimpl.h"
2
//проверка
3
MainWindowImpl::MainWindowImpl( QWidget * parent, Qt::WFlags f)
4
        : QMainWindow(parent, f)
5
{
6
 
7
 
8
 
9
        setupUi(this);
10
        fEnable_component_add = false; //режим добовлени€ компонента отключен 
11
        fEnable_naznachit_otvetstv = false;
12
        curr_task = no_task;
13
        readSettings();
14
        lineEdit->insert(baseName);
15
        metaDataAction = new QAction(tr("»зменить"), treeWidget);
16
        addMemoryAction = new QAction(tr("Ќовый модуль пам€ти"), treeWidget);
17
        MB_na_skladAction = new QAction(tr("—дать на склад"), treeWidget);
18
        new_sotrydnikAction = new QAction(tr("Ќовый сотрудник"), treeWidget);
19
        novoe_oborydovanieAction = new QAction(tr("Ќовое оборудование"), treeWidget);
20
        pereimenovat_otdelAction = new QAction(tr("ѕереименовать отдел"), treeWidget);
21
        perevesti_sotrydnika_v_drygo1_otdelAction = new QAction(tr("ѕеревести в другой отдел"), treeWidget);
22
        yvolit_sotrydnikaAction = new QAction(tr("”волить сотрудника"), treeWidget);
23
        SpliterAction = new QAction(tr("ѕерсонал"), treeWidget);
24
        naznachit_otvetstvennim_za_oborydovanieAction = new QAction(tr("Ќазначить ответственным за оборудование"), treeWidget);
25
        ystanovit_novie_complektyushieAction = new QAction(tr("”становить новые комплектующие"), treeWidget);
26
        sozdat_otdelAction = new QAction(tr("—оздать новый отдел"), treeWidget);
27
 
28
        novaya_SYSTEM_BLOCK_na_skladAction = new QAction(tr("ƒобавить новый системный блок на склад"), treeWidget);
29
        novaya_MB_na_skladAction = new QAction(tr("ƒобавить новую материнскую плату на склад"), treeWidget);
30
        novaya_RAM_na_skladAction = new QAction(tr("ƒобавить новый модуль пам€ти на склад"),  treeWidget);
31
        novaya_CPU_na_skladAction = new QAction(tr("ƒобавить новый процессор на склад"),  treeWidget);
32
        novaya_HDD_na_skladAction = new QAction(tr("ƒобавить новый винчестер на склад"),  treeWidget);
33
        novaya_CD_DVD_na_skladAction = new QAction(tr("ƒобавить новый привод на склад"),  treeWidget);
34
        novaya_VIDEO_na_skladAction = new QAction(tr("ƒобавить новую видеокарту на склад"),  treeWidget);
35
        novaya_SoundCard_na_skladAction = new QAction(tr("ƒобавить новую звуковую карту на склад"),  treeWidget);
36
        novaya_LAN_na_skladAction = new QAction(tr("ƒобавить новую сетевую карту на склад"),  treeWidget);
37
        peredat_sys_block_pod_otveystvennostAction = new QAction(tr("ѕередать системный блок под ответственность сотрудника"),  treeWidget);
38
 
39
 
40
//      novaya_SoundCard_na_skladAction = new QAction(tr("ƒобавить новую звуковую карту на склад"),  treeWidget);
41
//      novaya_LAN_na_skladAction = new QAction(tr("ƒобавить новую сетевую карту на склад"),  treeWidget);
42
 
43
        insert_MB_to_system_blockAction = new QAction(tr("”становить в системный блок"), treeWidget);
44
 
45
        treeWidget->addAction(metaDataAction);
46
        treeWidget->addAction(addMemoryAction);
47
 
48
 
49
        connect(insert_MB_to_system_blockAction, SIGNAL(triggered()), SLOT(insert_MB_to_system_block()));
50
        connect(novaya_MB_na_skladAction, SIGNAL(triggered()), SLOT(novaya_MB_na_sklad()));
51
        connect(novaya_RAM_na_skladAction, SIGNAL(triggered()), SLOT(novaya_RAM_na_sklad()));
52
        connect(novaya_CPU_na_skladAction, SIGNAL(triggered()), SLOT(novaya_CPU_na_sklad()));
53
        connect(novaya_HDD_na_skladAction, SIGNAL(triggered()), SLOT(novaya_HDD_na_sklad()));
54
        connect(novaya_CD_DVD_na_skladAction, SIGNAL(triggered()), SLOT(novaya_CD_DVD_na_sklad()));
55
        connect(novaya_VIDEO_na_skladAction, SIGNAL(triggered()), SLOT(novaya_VIDEO_na_sklad()));
56
        connect(novaya_SoundCard_na_skladAction, SIGNAL(triggered()), SLOT(novaya_SoundCard_na_sklad()));
57
        connect(novaya_LAN_na_skladAction, SIGNAL(triggered()), SLOT(novaya_LAN_na_sklad()));
58
        connect(novaya_SYSTEM_BLOCK_na_skladAction, SIGNAL(triggered()), SLOT(novaya_SYSTEM_BLOCK_na_sklad()));
59
 
60
        connect(peredat_sys_block_pod_otveystvennostAction, SIGNAL(triggered()), SLOT(peredat_sys_block_pod_otveystvennost()));
61
 
62
        connect(sozdat_otdelAction, SIGNAL(triggered()), SLOT(addNewOtdel()));
63
 
64
 
65
        connect(metaDataAction, SIGNAL(triggered()), SLOT(editTreeWidget()));
66
        connect(addMemoryAction, SIGNAL(triggered()), SLOT(addNewMemory()));
67
        connect(MB_na_skladAction, SIGNAL(triggered()), SLOT(move_to_sklad()));
68
        connect(new_sotrydnikAction, SIGNAL(triggered()), SLOT(new_sotrydnik()));
69
        connect(novoe_oborydovanieAction, SIGNAL(triggered()), SLOT(novoe_oborydovanie()));
70
        connect(pereimenovat_otdelAction, SIGNAL(triggered()), SLOT(pereimenovft_otdel()));
71
        connect(yvolit_sotrydnikaAction, SIGNAL(triggered()), SLOT(yvolit_sotrydnika()));
72
        connect(naznachit_otvetstvennim_za_oborydovanieAction, SIGNAL(triggered()), SLOT(naznachit_otvetstvennim_za_oborydovanie()));
73
        connect(ystanovit_novie_complektyushieAction, SIGNAL(triggered()), SLOT(ystanovit_novie_complektyushie()));
74
        treeWidget->setContextMenuPolicy(Qt::ActionsContextMenu);      
75
        connect(openBaseAct, SIGNAL(triggered()), this, SLOT(openBase()));
76
        connect(openMemoryTableAct, SIGNAL(triggered()), this, SLOT(openMemoryTable()));
77
        connect(getsettingAct, SIGNAL(triggered()), this, SLOT(getSetting()));
78
        connect(addStringAct, SIGNAL(triggered()), this, SLOT(addString()));
79
        connect(delStringAct, SIGNAL(triggered()), this, SLOT(delString()));
80
        connect(FiltrButton, SIGNAL(clicked()), this, SLOT(filter()));
81
        connect(hiddenButton, SIGNAL(clicked()), this, SLOT(hiddenRow()));
82
        connect(showButton, SIGNAL(clicked()), this, SLOT(showRow()));
83
        connect(appyButton, SIGNAL(clicked()), this, SLOT(dbUpdate()));
84
        connect(treeWidget, SIGNAL(itemActivated(QTreeWidgetItem *item, int column)), this, SLOT(dblClick(QTreeWidgetItem *item, int column)));
85
        connect(&addmemFrm, SIGNAL(componentAdd()), this, SLOT(refreshTree()));//при закрытии формы addmemFrm обновл€ем treeWidget
86
        connect(&addotdelFrm, SIGNAL(componentAdd()), this, SLOT(refreshTree()));//при закрытии формы addotdelFrm обновл€ем treeWidget
87
        connect(&addsotrydnikFrm, SIGNAL(componentAdd()), this, SLOT(refreshTree()));//при закрытии формы addsotFrm обновл€ем treeWidget
88
        connect(&addsysblockFrm, SIGNAL(componentAdd()), this, SLOT(refreshTree()));//при закрытии формы addsysblockFrm обновл€ем treeWidget
89
 
90
        connect(&addmemFrm, SIGNAL(formClose()), this, SLOT(on_addmemoryForm_formClose()));
91
        connect(&addotdelFrm, SIGNAL(formClose()), this, SLOT(on_addmemoryForm_formClose()));
92
        connect(&addsotrydnikFrm, SIGNAL(formClose()), this, SLOT(on_addmemoryForm_formClose()));
93
        connect(&addsysblockFrm, SIGNAL(formClose()), this, SLOT(on_addmemoryForm_formClose()));
94
 
95
        connect(&process, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandartProcessOutput()));
96
 
97
        comp_icon.addFile("./pc.png");
98
/////   hdd_icon.addFile("./gnome-dev-harddisk.png");
99
        hdd_icon.addFile("./hdd5.png");
100
        memory_icon.addFile("./memory1.png");
101
        cd_dvd_icon.addFile("./cd_dvd3.png");
102
//      memory_icon.addFile("./gnome-dev-memory.png");
103
        matheboard_icon.addFile("./icon_motherboard.png");
104
        cpu_icon.addFile("./cpu3.png");
105
        vidio_card_icon.addFile("./vidiocard2.png");
106
        sound_card_icon.addFile("./soundcard1.png");
107
        lan_card_icon.addFile("./lan1.png");
108
        appyButton->setIcon(comp_icon);
14 pingvin 109
        wmiFrm.show();
6 pingvin 110
/////    for (int i = 0; i < 10; ++i)
111
/////     items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
112
/////    treeWidget->insertTopLevelItems(0, items);
113
//////items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("—√—’ћ: %1")).arg(0))));
114
/////////items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("—√—’ћ:")))));
115
/////////items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("«јќ:")))));
116
/////////treeWidget->insertTopLevelItems(0, items);
117
 
118
//->itm = new QTreeWidgetItem(treeWidget);
119
//->itm->setText(0, tr("—√—’ћ"));
120
/////////itm->setText(1, "hello1");
121
//->QTreeWidgetItem *itm1 = new QTreeWidgetItem(itm);
122
//->itm1->setText(1, tr("M1"));
123
//->QTreeWidgetItem *itm1_1 = new QTreeWidgetItem(itm1);
124
//->itm1_1->setText(2, tr("ёрченко"));
125
//->QTreeWidgetItem *itm1_2 = new QTreeWidgetItem(itm1);
126
//->itm1_2->setText(2, tr("ёшков"));
127
 
128
//->QTreeWidgetItem *itm2 = new QTreeWidgetItem(itm);
129
//->itm2->setText(1, tr("M2"));
130
//////treeWidget->insertTopLevelItem(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString(tr("—√—’ћ:")))));
131
}
132
 
133
MainWindowImpl::~MainWindowImpl()
134
{
135
        db.close();
16 pingvin 136
        delete pdb;
6 pingvin 137
//      delete setFrm;
138
}
139
 
140
 
141
void MainWindowImpl::delString()
142
{
143
        QModelIndex index;
144
        int column, row;
145
        QSqlRecord record;
146
        index=view.currentIndex();
147
        column=view.currentIndex().column();
148
        row=view.currentIndex().row();
149
        record = model->record(row);
150
        int UserNameIndex = record.indexOf(tr("ѕользователь"));
151
        QString ls_UserName=record.value(UserNameIndex).toString();
152
        model->removeRows(row, 1);
153
}
154
 
155
//
156
void MainWindowImpl::openBase()
157
{
158
        lineEdit->insert(tr("ќткрыть базу "));
159
//      db = new QSqlDatabase("QMYSQL");
160
        db = QSqlDatabase::addDatabase("QMYSQL");
161
        pdb = &db;
162
        raportFrm.pdb = &db;
163
//      db->addDatabase("QMYSQL");
164
//db = QSqlDatabase::addDatabase("QSQLITE");
165
        pdb->setHostName(hostName);
166
        pdb->setDatabaseName(baseName);
167
        pdb->setUserName(userName);
168
        pdb->setPassword(password);
169
        bool ok = pdb->open();
170
        if (!ok) {
171
                                QMessageBox::critical( // ƒиалог с сообщением об ошибке.
172
                                                                                this,                      // –одительский виджет.
173
                                                                                QObject::tr("Database Error"),   // «аголовок.  
174
                                                                                pdb->lastError().text());          // “екст сообщени€.
175
                         }
176
        if (ok)  
177
        {lineEdit-> insert(tr("Ѕаза успешно открыта"));
178
        }
179
        else {lineEdit-> insert(tr("Ѕаза недоступна.  од ошибки: "));
180
                  lineEdit-> insert(pdb->lastError().text());
181
                 }
182
//      QSqlQuery q;
183
//      q.prepare(tr("set NAMES cp1251"));
184
 
185
//      ok = q.exec();
125 pingvin 186
        model = new QSqlTableModel(this);
187
        model->setTable(tableName);
188
//        model->setQuery(tr("select ѕроизводитель, ћодель, “ип, ќбъем from memory"));
6 pingvin 189
 
125 pingvin 190
  //***      model->setEditStrategy(QSqlTableModel::OnFieldChange);
191
        model->setEditStrategy(QSqlTableModel::OnManualSubmit);
6 pingvin 192
        model->setSort(0, Qt::AscendingOrder);
125 pingvin 193
 //       model->setFilter(tr("»дентификатор_системного_блока = '7' and »нвентарный_номер = 'i09090909'"));
6 pingvin 194
        model->select();
195
//      model->setHeaderData(0, Qt::Horizontal,
196
//                              QObject::tr("»м€\nпользовател€"));
197
//      model->setHeaderData(1, Qt::Horizontal,
198
//                             QObject::tr("ќтдел"));
199
//      model->setHeaderData(2, Qt::Horizontal,
200
//                             QObject::tr("IP адрес"));
201
//      model->setHeaderData(3, Qt::Horizontal,
202
//                             QObject::tr("»нвентанный\nномер"));
203
//      model->setHeaderData(4, Qt::Horizontal,
204
//                             QObject::tr("ќперационна€\nсистема"));
205
//      view = new QTableView();
125 pingvin 206
 
207
        QSqlField field(tr("age"), QVariant::Int);
208
        field.setValue(QString(tr("123")));
209
 
210
        bool okey;
211
        int index;
212
        QSqlRecord record;
213
  //      record = model->record();
214
  //      record.append(field);
215
  //      model->setRecord(0,record);
216
  //     */
217
     //   model->record().append(field);
218
 // // //       model->insertColumn(1);
219
 // // //        model->setHeaderData(1, Qt::Horizontal, tr("“ест"));
220
        //, model->index(0,0));
221
   ///     model->setData(model->index(1,1), "12345");
222
        tableView->setModel(model);
223
        view.setModel(model);
224
        //QItemDelegate mydelegate = new QItemDelegate ();
225
       // view.setItemDelegateForColumn(2, mydelegate);
226
 
227
        tableView->setAlternatingRowColors(true);
228
        view.setAlternatingRowColors(true);
229
 
230
        tableView->resizeColumnsToContents();
231
 
6 pingvin 232
//      view->resizeRowsToContents();
233
        view.resizeColumnsToContents();
125 pingvin 234
 
235
        tableView->show();
236
  //       tableView->hideColumn(0);
237
  //       tableView->hideColumn(5);
238
   //      tableView->hideColumn(6);
239
 
240
         view.show();
241
   //     view.hideColumn(0);
242
 
243
  //      view.hideColumn(5);
244
   //     view.hideColumn(6);
245
 
246
 
247
        initTreeWidget();
6 pingvin 248
}
249
 
250
void MainWindowImpl::openMemoryTable()
251
{
252
        memory_model = new QSqlTableModel();
253
        memory_model->setTable(tr("ѕам€ть"));
254
//      memory_model->setTable(tableName);
255
        memory_model->setEditStrategy(QSqlTableModel::OnFieldChange);
256
//      model->setEditStrategy(QSqlTableModel::OnManualSubmit);
257
        memory_model->setSort(0, Qt::AscendingOrder);
258
        memory_model->select();
259
        tableView->setModel(memory_model);
260
        tableView->setAlternatingRowColors(true);
261
        tableView->resizeColumnsToContents();
262
        tableView->show();
263
/////   memory_view.setModel(memory_model);
264
/////   memory_view.setAlternatingRowColors(true);
265
//      view->resizeRowsToContents();
266
/////           memory_view.resizeColumnsToContents();
267
/////   memory_view.show();
268
}
269
 
270
 
271
void MainWindowImpl::applySetting()
272
{
273
        int i;
274
        i=5;
275
        lineEdit->insert(tr("Ќастройки получены!"));
276
        baseName = setFrm->lineEdit->text();
277
        userName = setFrm->lineEdit_2->text();
278
        password = setFrm->lineEdit_3->text();
279
        tableName = setFrm->lineEdit_4->text();
280
        hostName = setFrm->lineEdit_5->text();
281
        i+=1;
282
        writeSettings();
283
        setFrm->close();
284
        delete setFrm;
285
}
286
 
287
void MainWindowImpl::writeSettings()
288
{
289
        QSettings settings("Trolltech", "Application Example");
290
        settings.setValue("baseName", baseName);
291
        settings.setValue("userName", userName);
292
        settings.setValue("password", password);
293
        settings.setValue("tableName", tableName);
294
        settings.setValue("hostName", hostName);
295
}
296
 
297
 
298
void MainWindowImpl::readSettings()
299
{
300
        QSettings settings("Trolltech", "Application Example");
301
        baseName = settings.value("baseName", "an_db").toString();
302
        userName = settings.value("userName", "an").toString();
303
        password = settings.value("password", "393939").toString();
304
        tableName = settings.value("tableName", "inventar").toString();
305
        hostName = settings.value("hostName", "server").toString();
306
//     resize(size);
307
//     move(pos);tableName
308
}
309
 
310
void MainWindowImpl::getSetting()
311
{
312
        setFrm = new settingForm;
313
        connect(setFrm->pushButton, SIGNAL(clicked()), this, SLOT(applySetting()));
314
        setFrm->lineEdit->setText(baseName);
315
        setFrm->lineEdit_2->setText(userName);
316
        setFrm->lineEdit_3->setText(password);
317
        setFrm->lineEdit_4->setText(tableName);
318
        setFrm->lineEdit_5->setText(hostName);
319
        setFrm->show();
320
 
321
 
322
 
323
}
324
 
325
 
326
void MainWindowImpl::addString()
327
{
328
        QString query_begin=(tr("INSERT INTO "));
329
//      QString query_end=(tr(" VALUES('не задано','не задано','не задано','не задано',default)"));
330
        QString query_end=(tr(" VALUES()"));
331
        query_begin.append(tableName);
332
        query_begin.append(query_end);
333
        QSqlQuery query;
334
        query.prepare(query_begin);
335
//      query.prepare(tr("INSERT INTO inventar VALUES('не задано','не задано','не задано','не задано',default)"));
336
//      query.bindValue(":tab", "inventar");
337
//       if (!query.execBatch())
338
//              qDebug() << query.lastError();
339
        query.exec();
340
        model->select();
341
//      view->close();
342
        view.setModel(model);
343
        //view->show();
344
        lineEdit->insert(tr("ƒобавить строку!"));
345
}
346
 
347
//ѕроцедура приминени€ филтрации 
348
void MainWindowImpl::filter()
349
{
350
//      int i;
351
//      i++;
352
        model->setFilter(tr("ѕримечани€='ћихайленко'"));
353
        model->select();
354
//      view->close();
355
        view.setModel(model);
356
}
357
//TEST CVS gh
358
void MainWindowImpl::hiddenRow()
359
{
360
        int n;
361
        for(n=0;n<20;n++) view.setRowHidden(n,true);
362
}
363
 
364
 
365
void MainWindowImpl::showRow()
366
{
367
        int n;
368
        for(n=0;n<20;n++) view.setRowHidden(n,false);
369
}
370
 
371
void MainWindowImpl::dbUpdate()
372
{
373
        model->submitAll();
374
        addString();
375
}
376
 
377
 
378
void  MainWindowImpl::novaya_MB_na_sklad(){
379
        addmemFrm.tabWidget->setCurrentIndex(3);
380
        addmemFrm.pushButton->setEnabled(true);
381
        addmemFrm.show();
382
        addmemFrm.label_7->setText(tr("Ќа склад"));
383
        addNewMemory(tr("Ќа склад"));
384
 
385
 
386
}
387
 
388
void  MainWindowImpl::novaya_HDD_na_sklad(){
389
        addmemFrm.tabWidget->setCurrentIndex(1);
390
        addmemFrm.pushButton->setEnabled(true);
391
        addmemFrm.show();
392
        addmemFrm.label_7->setText(tr("Ќа склад"));
393
        addNewMemory(tr("Ќа склад"));
394
 
395
 
396
}
397
 
398
 
399
void  MainWindowImpl::novaya_CD_DVD_na_sklad(){
400
        addmemFrm.tabWidget->setCurrentIndex(4);
401
        addmemFrm.pushButton->setEnabled(true);
402
        addmemFrm.show();
403
        addmemFrm.label_7->setText(tr("Ќа склад"));
404
        addNewMemory(tr("Ќа склад"));
405
 
406
 
407
}
408
 
409
void  MainWindowImpl::novaya_VIDEO_na_sklad(){
410
        addmemFrm.tabWidget->setCurrentIndex(5);
411
        addmemFrm.pushButton->setEnabled(true);
412
        addmemFrm.show();
413
        addmemFrm.label_7->setText(tr("Ќа склад"));
414
        addNewMemory(tr("Ќа склад"));
415
 
416
 
417
}
418
 
419
 
420
void  MainWindowImpl::novaya_RAM_na_sklad(){
421
        addmemFrm.tabWidget->setCurrentIndex(0);
422
        addmemFrm.pushButton->setEnabled(true);
423
        addmemFrm.show();
424
        addmemFrm.label_7->setText(tr("Ќа склад"));
425
        addNewMemory(tr("Ќа склад"));
426
 
427
 
428
}
429
 
430
 
431
void  MainWindowImpl::novaya_SoundCard_na_sklad(){
432
        addmemFrm.tabWidget->setCurrentIndex(6);
433
        addmemFrm.pushButton->setEnabled(true);
434
        addmemFrm.show();
435
        addmemFrm.label_7->setText(tr("Ќа склад"));
436
        addNewMemory(tr("Ќа склад"));
437
 
438
 
439
}
440
 
441
void  MainWindowImpl::novaya_LAN_na_sklad(){
442
        addmemFrm.tabWidget->setCurrentIndex(7);
443
        addmemFrm.pushButton->setEnabled(true);
444
        addmemFrm.show();
445
        addmemFrm.label_7->setText(tr("Ќа склад"));
446
        addNewMemory(tr("Ќа склад"));
447
}
448
 
449
 
450
 
451
 
452
void  MainWindowImpl::novaya_CPU_na_sklad(){
453
        addmemFrm.tabWidget->setCurrentIndex(2);
454
        addmemFrm.pushButton->setEnabled(true);
455
        addmemFrm.show();
456
        addmemFrm.label_7->setText(tr("Ќа склад"));
457
        addNewMemory(tr("Ќа склад"));
458
 
459
 
460
}
461
 
462
void  MainWindowImpl::peredat_sys_block_pod_otveystvennost(){
463
 
464
        QMessageBox::information( // ƒиалог с сообщением об ошибке.
465
                                                                                this,                      // –одительский виджет.
466
                                                                                QObject::tr("”кажите сотрудника "),   // «аголовок.  
467
//                                                                              db.lastError().text());          // “екст сообщени€.
468
                                                                                tr("“еперь виберите сотрудника (двойным кликом мышки), который будет ответственнен за системный блок."));
469
        fEnable_naznachit_otvetstv = true;
470
        curr_sys_block_id = treeWidget-> currentItem ()->text(12);
471
}
472
 
473
 
474
 
475
void MainWindowImpl::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
476
{
477
        QString tmp;
478
        tmp = item->text(3);
479
        if (tmp !=""){
480
                addmemFrm.pushButton->setEnabled(true);
481
                }
482
        else addmemFrm.pushButton->setEnabled(false);
483
        addmemFrm.label_7->setText(tmp);
484
}
485
 
486
 
487
 
488
void MainWindowImpl::editTreeWidget()
489
{
490
        QString inventar_num;
491
        QTreeWidgetItem * currItem;
492
        int currColomn;
493
        int top_item_index;
494
        lineEdit->insert(tr("–едактировать"));
495
        currItem = treeWidget->currentItem ();
496
        top_item_index = treeWidget->indexOfTopLevelItem(currItem);
497
        currColomn = treeWidget->currentColumn();
498
        MainWindowImpl::on_treeWidget_itemClicked(currItem, 3); //выводим номер системника на форму
499
//      inventar_num = tr("»нв.ном: ");
500
        inventar_num.append(currItem ->text(3));
501
        if (currColomn == 1){
502
                addmemFrm.tabWidget->setCurrentIndex(4);
503
                addmemFrm.show();
504
        };
505
        if (inventar_num == "") return;
506
        lineEdit->insert(currItem ->text(currColomn));
507
        switch(currColomn)
508
        {
509
                case 1://—отрудники
510
                {
511
                addmemFrm.tabWidget->setCurrentIndex(4);
512
                addmemFrm.show();
513
 
514
                }
515
                break;
516
 
517
 
518
                case 4: //ѕроцессор
519
                {
520
                addmemFrm.tabWidget->setCurrentIndex(2);
521
                addmemFrm.show();
522
                }  
523
                break;
524
 
525
                case 5: //ћатеринские платы
526
                {
527
                addmemFrm.tabWidget->setCurrentIndex(3);
528
                addmemFrm.show();
529
                }  
530
                break;
531
 
532
                case 6: //ѕам€ть
533
                {
534
                addmemFrm.tabWidget->setCurrentIndex(0);
535
                addNewMemory(inventar_num);
536
//              addmemFrm.show();
537
                }  
538
                break;
539
 
540
                case 7: //¬инчестер
541
                {
542
                addmemFrm.tabWidget->setCurrentIndex(1);
543
                addmemFrm.show();      
544
                }
545
                break;
546
 
547
 
548
                case 2: break;
549
                defaul: break;
550
        }
551
        addmemFrm.treeWidget->clear();
552
//      addmemFrm.initTreeWidgrt();
553
}
554
 
555
void MainWindowImpl::initTreeWidget()//настраиваем виджет
556
{
557
        QStringList treeHeaders;//список заголовков treeWidget
558
        treeWidget->setColumnCount(15);
559
        treeHeaders << tr("ќтделы")                                     //0  столбец
560
                                << tr("ѕерсонал")                               //1  столбец
561
                                << tr("ќписание")                       //2  столбец
562
                                << tr("ќборудование")                   //3  столбец
563
                                << tr("ѕроцессор")                                      //4  столбец
564
                                << tr("ћатеринка")                                      //5  столбец
565
                                << tr("ѕам€ть")                                         //6  столбец
566
                                << tr("¬инчестер")                                      //7  столбец
567
                                << tr("ѕривод")                                         //8  столбец
568
                                << tr("¬идеокарта")                                     //9  столбец
569
                                << tr("«вукова€ карта")                         //10 столбец
570
                                << tr("—етева€ карта")                          //11 столбец
571
                                << tr("»дентификатор")                          //12 столбец
572
                                << tr("»дентификатор систеного блока")  //13 столбец
573
                                << tr("ID ответствнного лица"); //14 столбец
574
        treeWidget->setHeaderLabels(QStringList (treeHeaders));
575
//      treeWidget->setColumnHidden(2, true);
576
//      treeWidget->setColumnHidden(12, true);
577
//      treeWidget->setColumnHidden(13, true);
578
        treeWidget->clear();
579
        addOtdels();
580
        treeWidget->sortItems(0, Qt::AscendingOrder);
581
}
582
 
583
void MainWindowImpl::addOtdels()
584
{
585
        int fieldName, fieldID;
586
        QTreeWidgetItem *otdelItem;
587
        QSqlQuery q(tr("select * from otdeli"));// получаем список отделов
588
        QString otdel, otdel_id;
589
        fieldName = q.record().indexOf(tr("Ќазвание"));
590
        fieldID = q.record().indexOf(tr("»дентификатор"));
591
        while (q.next()){
592
                otdel = q.value(fieldName).toString();
593
                otdel_id = q.value(fieldID).toString();
594
                otdelItem = new QTreeWidgetItem(treeWidget);
595
                if (otdel == tr("—клад")) { otdelItem->setText(0, otdel);
596
                        otdelItem->setText(2, tr("—клад"));
597
                        otdelItem->setText(12, otdel_id);
598
                        SotrydnikiOtdela(otdel_id, otdelItem);
599
                        continue;
600
                         }
601
                otdelItem->setText(0, otdel);
602
                otdelItem->setText(2, tr("ќтдел"));
603
                otdelItem->setText(12, otdel_id);
604
                SotrydnikiOtdela(otdel_id, otdelItem);
605
        }
606
}
607
 
608
 
609
void MainWindowImpl::SotrydnikiOtdela(QString id_otdela, QTreeWidgetItem * itemOtdela) // формируем список сотрудников отдела
610
{
611
        int field_fio_sotrydnika, field_id_sotrydnika;
612
        int kolichestvo_sotrudnikov=0;
613
        QString fio_sotrydnika_otdela, id_sotrydnika_otdela, oboryd;
614
        QSqlQuery qsotrydnikiOtdela;
615
        QString sqlQueryString;
616
        QTreeWidgetItem *treeItem_sotrydnika;
617
        sqlQueryString = tr("select »дентификатор, ‘»ќ from sotrydniki where »дентификатор_отдела=");
618
        sqlQueryString.append(id_otdela);
619
        qsotrydnikiOtdela.prepare(sqlQueryString);
620
        qsotrydnikiOtdela.exec();
621
        field_fio_sotrydnika = qsotrydnikiOtdela.record().indexOf(tr("‘»ќ"));
622
        field_id_sotrydnika = qsotrydnikiOtdela.record().indexOf(tr("»дентификатор"));
623
        while (qsotrydnikiOtdela.next())
624
        {
625
                fio_sotrydnika_otdela = qsotrydnikiOtdela.value(field_fio_sotrydnika).toString();
626
                id_sotrydnika_otdela = qsotrydnikiOtdela.value(field_id_sotrydnika).toString();
627
 
628
 
629
                treeItem_sotrydnika = new QTreeWidgetItem(itemOtdela);
630
                treeItem_sotrydnika->setText(1, fio_sotrydnika_otdela );
631
                treeItem_sotrydnika->setText(2, tr("—отрудник"));
632
                treeItem_sotrydnika->setText(14, id_sotrydnika_otdela );
633
                if (id_sotrydnika_otdela == "1"){
634
                        itm_sklad_system_blocks = new QTreeWidgetItem(treeItem_sotrydnika);
635
                        itm_sklad_system_blocks->setText(2, tr("—»—“≈ћЌџ≈ ЅЋќ »"));
636
                        itm_sklad_orgtehnika = new QTreeWidgetItem(treeItem_sotrydnika);
637
                        itm_sklad_orgtehnika->setText(2, tr("ќ–√“≈’Ќ» ј"));
638
                        itm_sklad_orgtehnika_printers =  new QTreeWidgetItem(itm_sklad_orgtehnika);
639
                        itm_sklad_orgtehnika_printers->setText(2, tr("ѕ–»Ќ“≈–џ"));
640
                        itm_sklad_orgtehnika_mfy =   new QTreeWidgetItem(itm_sklad_orgtehnika);
641
                        itm_sklad_orgtehnika_mfy->setText(2, tr("ћ‘”"));
642
                        itm_sklad_komplectyushie = new QTreeWidgetItem(treeItem_sotrydnika);
643
                        itm_sklad_komplectyushie->setText(2, tr(" ќћѕЋ≈ “”ёў»≈"));
644
                        itm_sklad_orgtehnika_scaners = new QTreeWidgetItem(itm_sklad_orgtehnika);
645
                        itm_sklad_orgtehnika_scaners->setText(2, tr("— јЌ≈–џ"));
646
                        itm_sklad_rashodniki = new QTreeWidgetItem(treeItem_sotrydnika);
647
                        itm_sklad_rashodniki->setText(2, tr("–ј—’ќƒЌџ≈ ћј“≈–»јЋџ"));
648
                }
649
                oboryd = oborydovanie(id_sotrydnika_otdela, treeItem_sotrydnika);
650
//              treeItem_sotrydnika->setText(3, oboryd );
651
                ++kolichestvo_sotrudnikov;
652
        }
653
        itemOtdela->setText(13, QVariant(kolichestvo_sotrudnikov).toString());
654
}
655
 
656
QString MainWindowImpl::oborydovanie(QString id_sotrydnika, QTreeWidgetItem * itemSotrydnika){
657
        QString result, prResult;
658
        QString sqlQueryText;
659
        QString serial_num, inventar_num, proizvoditel, model, system_block_id;
660
        QSqlQuery quer;
661
        QString MB_information, Memory_information, CPU_information, HDD_information, CD_DVD_information, Vidio_information;
662
        QString Sound_card_information, Lan_card_information;
663
        int field_serialNum, field_inventarNum, field_proizvoditel, field_model, field_system_block_id;
664
//      QSqlQuery qns(tr("SET NAMES utf8"));// получаем список отделов
665
        QTreeWidgetItem *itemSysBlock;
666
//      sqlQueryText.reserve(300);
667
        sqlQueryText = tr("select system_blocks.—ерийный_номер, system_blocks.»нвентарный_номер, system_blocks.»дентификатор"
668
        " from system_blocks"
669
        " where system_blocks.»дентификатор_ответственного_лица =");
670
        sqlQueryText.append(id_sotrydnika);
671
//      sqlQueryText.append(tr(" AND ћатеринские_платы.»дентификатор_системного_блока = —истемные_блоки.»дентификатор"));
672
        quer.prepare(sqlQueryText);
673
//      quer.prepare(tr("select —истемные_блоки.—ерийный_номер, —истемные_блоки.»нвентарный_номер,ћатеринские_платы.ѕроизводитель, ћатеринские_платы.ћодель from —истемные_блоки,ћатеринские_платы where —истемные_блоки.»дентификатор_ответственного_лица = 4 AND ћатеринские_платы.»дентификатор_системного_блока = —истемные_блоки.»дентификатор;"));
674
        quer.exec();
675
        field_serialNum = quer.record().indexOf(tr("—ерийный_номер"));
676
        field_inventarNum = quer.record().indexOf(tr("»нвентарный_номер"));
677
        field_system_block_id = quer.record().indexOf(tr("»дентификатор"));
678
//      field_proizvoditel = quer.record().indexOf(tr("ѕроизводитель"));
679
//      field_model = quer.record().indexOf(tr("ћодель"));
680
        while(quer.next()){
681
        system_block_id = quer.value(field_system_block_id).toString();                                 //идентификатор системного блока
682
        prResult = ""; 
683
        serial_num = quer.value(field_serialNum).toString();
684
        inventar_num = quer.value(field_inventarNum).toString();
685
////    if (serial_num != "") {prResult.append(tr("s/n: "));
686
////            prResult.append(serial_num);}
687
        if (inventar_num != "") {
688
////    prResult.append(tr(" инв.ном: "));
689
        prResult.append(inventar_num);
690
////    prResult.append(tr(" "));
691
}
692
 
693
//      result.append(q.value(field_proizvoditel).toString());
694
//      result.append(tr(" "));
695
//      result.append(q.value(field_model).toString());
696
 
697
 
698
 
699
 
700
 
701
//      if (id_sotrydnika == "1" & system_block_id == "1") itemSysBlock->setText(2, tr(" омплектующие"));// это склад 
702
        if (id_sotrydnika == "1" && system_block_id == "1") itemSysBlock = itm_sklad_komplectyushie;// это склад 
703
        else if (id_sotrydnika == "1" ){
704
                itemSysBlock = new QTreeWidgetItem(itm_sklad_system_blocks); // на склад системник
705
                itemSysBlock->setText(2, tr("—истемный блок"));
706
                itemSysBlock->setIcon(3, comp_icon);
707
                if (system_block_id !="") itemSysBlock->setText(12, system_block_id);  
708
                if (id_sotrydnika !="") itemSysBlock->setText(14, id_sotrydnika);
709
        }
710
 
711
        else {
712
                itemSysBlock = new QTreeWidgetItem(itemSotrydnika);
713
                itemSysBlock->setText(2, tr("—истемный блок"));
714
                itemSysBlock->setIcon(3, comp_icon);
715
                if (system_block_id !="") itemSysBlock->setText(12, system_block_id);  
716
                if (id_sotrydnika !="") itemSysBlock->setText(14, id_sotrydnika);
717
 
718
                }
719
 
720
        MB_information = addMatheBoardInformation (id_sotrydnika, system_block_id, itemSysBlock);               //получаем информацию о материнской плате
721
////    prResult.append(MB_information);
722
        Memory_information = addMemoryInformation(id_sotrydnika, system_block_id, itemSysBlock);                //получаем информацию о пам€ти
723
////    prResult.append(Memory_information);
724
        CPU_information = addCpuInformation(id_sotrydnika, system_block_id, itemSysBlock);
725
////    prResult.append(CPU_information);
726
        HDD_information = addHDDInformation(id_sotrydnika, system_block_id, itemSysBlock);
727
////    prResult.append(HDD_information);
728
        CD_DVD_information = add_CD_DVD_Information(id_sotrydnika, system_block_id, itemSysBlock);
729
////    prResult.append(CD_DVD_information);
730
        Vidio_information = add_Vidio_Information(id_sotrydnika, system_block_id, itemSysBlock);
731
        Sound_card_information = add_Sound_Card_Information(id_sotrydnika, system_block_id, itemSysBlock);
732
        Lan_card_information = add_Lan_Card_Information(id_sotrydnika, system_block_id, itemSysBlock);
733
        if (system_block_id != "1"){
734
 
735
                itemSysBlock->setText(3, prResult);      
736
                result.append(prResult);
737
}
738
 
739
 
740
        }
741
        return result;
742
}
743
 
744
QString MainWindowImpl::addMatheBoardInformation(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock)
745
{
746
        QString result, tmp;
747
        QString MB_proizvoditel, MB_model, MB_identifikator, MB_serial_num, MB_inventar_num;
748
        QString MatheBoardSqlQueryText;
749
        QSqlQuery MatheBoardQuery;
750
        int field_proizvoditel, field_model, field_identifikator, field_serial_num, field_inventar_num;
751
        QTreeWidgetItem *itemMB, *itmMB_block;
752
        MatheBoardSqlQueryText = tr("select * "
753
        " from matheboards where matheboards.»дентификатор_системного_блока = "
754
        );
755
        MatheBoardSqlQueryText.append(id_systemBlock);
756
        MatheBoardQuery.prepare(MatheBoardSqlQueryText);
757
        MatheBoardQuery.exec();
758
        field_identifikator = MatheBoardQuery.record().indexOf(tr("»дентификатор"));
759
        field_proizvoditel = MatheBoardQuery.record().indexOf(tr("ѕроизводитель"));
760
        field_model = MatheBoardQuery.record().indexOf(tr("ћодель"));
761
        field_serial_num = MatheBoardQuery.record().indexOf(tr("—ерийный_номер"));
762
        field_inventar_num = MatheBoardQuery.record().indexOf(tr("»нвентарный_номер"));
763
 
764
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
765
                itmMB_block = new QTreeWidgetItem(itm_sklad_komplectyushie);
766
                itmMB_block->setText(2, tr("ћј“≈–»Ќ— »≈ ѕЋј“џ"));
767
//              itmMB_block->setIcon(3, matheboard_icon);
768
                }
769
 
770
        while(MatheBoardQuery.next()){
771
                tmp = "";
772
                MB_identifikator = MatheBoardQuery.value(field_identifikator).toString();
773
                MB_proizvoditel = MatheBoardQuery.value(field_proizvoditel).toString();
774
                MB_model = MatheBoardQuery.value(field_model).toString();
775
                MB_serial_num = MatheBoardQuery.value(field_serial_num).toString();
776
                MB_inventar_num = MatheBoardQuery.value(field_inventar_num).toString();
777
 
778
        if (MB_proizvoditel != "") {
779
//              tmp.append(tr("MB: "));
780
                tmp.append(MB_proizvoditel);
781
                }
782
        if (MB_model != "") {tmp.append(tr(" "));
783
        tmp.append(MB_model);
784
        tmp.append(tr(" "));}
785
        result.append(tmp);
786
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1") {itemMB = new QTreeWidgetItem(itmMB_block);
787
        }
788
        else itemMB = new QTreeWidgetItem(itemSysBlock);
789
        itemMB->setIcon(4, matheboard_icon);
790
        itemMB->setText(4, tmp);
791
        itemMB->setText(12, MB_identifikator);
792
        itemMB->setText(13, id_systemBlock);
793
        itemMB->setText(14, id_otvetstvennogo_lica);
794
        itemMB->setText(2, tr("ћатеринска€ плата"));
795
        itemMB->setText(3, MB_inventar_num);
796
        if (id_systemBlock !="1") itemSysBlock->setText(5, tmp);
797
 
798
                }
799
        return result;
800
}
801
 
802
 
803
QString MainWindowImpl::addMemoryInformation(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock)
804
{
805
        QString result, tmp;
806
        QString Memiry_id, Memory_proizvoditel, Memory_type, Memory_obem, Memory_inventar_num, Memory_serial_num;
807
        QString MemorySqlQueryText;
808
        QSqlQuery MemoryQuery;
809
        int field_proizvoditel, field_type, field_obem, field_id, field_inventar_num, field_sereal_num;
810
        QTreeWidgetItem *itemMemory, *itemMemory_block;
811
        MemorySqlQueryText = tr("select memory.* "
812
        " from memory where memory.»дентификатор_системного_блока = "
813
        );
814
        MemorySqlQueryText.append(id_systemBlock);
815
        MemoryQuery.prepare(MemorySqlQueryText);
816
        MemoryQuery.exec();
817
        field_id = MemoryQuery.record().indexOf(tr("»дентификатор"));
818
        field_proizvoditel = MemoryQuery.record().indexOf(tr("ѕроизводитель"));
819
        field_type = MemoryQuery.record().indexOf(tr("“ип"));
820
        field_obem = MemoryQuery.record().indexOf(tr("ќбъем"));
821
        field_inventar_num = MemoryQuery.record().indexOf(tr("»нвентарный_номер"));
822
        field_sereal_num = MemoryQuery.record().indexOf(tr("—ерийный_номер"));
823
                if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
824
                itemMemory_block = new QTreeWidgetItem(itm_sklad_komplectyushie);
825
                itemMemory_block->setText(2, tr("ћќƒ”Ћ» ѕјћя“»"));
826
        }
827
        while(MemoryQuery.next()){
828
//              tmp = tr("RAM: ");
829
                tmp = tr("");
830
                Memiry_id = MemoryQuery.value(field_id).toString();
831
                Memory_proizvoditel = MemoryQuery.value(field_proizvoditel).toString();
832
                Memory_type = MemoryQuery.value(field_type).toString();
833
                Memory_obem = MemoryQuery.value(field_obem).toString();
834
                Memory_inventar_num = MemoryQuery.value(field_inventar_num).toString();
835
                Memory_serial_num = MemoryQuery.value(field_sereal_num).toString();
836
////    if (Memory_proizvoditel != "") {
837
////            tmp.append(Memory_proizvoditel);}
838
        if (Memory_type != "") {tmp.append(tr(" "));
839
        tmp.append(Memory_type);
840
        tmp.append(tr(" "));}
841
        if (Memory_obem != "") {tmp.append(tr(" "));
842
        tmp.append(Memory_obem);
843
        tmp.append(tr("MB; "));}
844
        result.append(tmp);
845
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
846
                itemMemory = new QTreeWidgetItem(itemMemory_block);
847
        }
848
        else itemMemory = new QTreeWidgetItem(itemSysBlock);
849
        itemMemory->setIcon(4, memory_icon);
850
        itemMemory->setText(4, tmp);
851
 
852
        itemMemory->setText(2, tr("ћодуль пам€ти"));
853
        itemMemory->setText(12, Memiry_id);
854
        itemMemory->setText(13, id_systemBlock);
855
        itemMemory->setText(14, id_otvetstvennogo_lica);
856
        itemMemory->setText(3, Memory_inventar_num);
857
 
858
                }
859
        if (id_systemBlock !="1") itemSysBlock->setText(6, result);
860
        return result;
861
}
862
 
863
 
864
QString MainWindowImpl::addCpuInformation(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock)
865
{
866
        QString result, tmp;
867
        QString CPU_id, CPU_proizvoditel, CPU_slot, CPU_fqr, CPU_inventar_num, CPU_serial_num;
868
        QString CpuSqlQueryText;
869
        QSqlQuery CpuQuery;
870
        int field_id, field_proizvoditel, field_slot, field_fqr, field_inventar_num, field_serial_num;
871
        QTreeWidgetItem *itemCpu, *itemCpu_block;
872
        CpuSqlQueryText = tr("select processors.* "
873
        " from processors where processors.»дентификатор_системного_блока = "
874
        );
875
        CpuSqlQueryText.append(id_systemBlock);
876
        CpuQuery.prepare(CpuSqlQueryText);
877
        CpuQuery.exec();
878
        field_id = CpuQuery.record().indexOf(tr("»дентификатор"));
879
        field_proizvoditel = CpuQuery.record().indexOf(tr("ѕроизводитель"));
880
        field_slot = CpuQuery.record().indexOf(tr("—лот"));
881
        field_fqr = CpuQuery.record().indexOf(tr("„астота"));
882
        field_inventar_num = CpuQuery.record().indexOf(tr("»нвентарный_номер"));
883
        field_serial_num = CpuQuery.record().indexOf(tr("—ерийный_номер"));
884
 
885
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
886
                itemCpu_block = new QTreeWidgetItem(itemSysBlock);
887
                itemCpu_block->setText(2, tr("ѕ–ќ÷≈——ќ–џ"));
888
                itemCpu_block->setText(14, id_otvetstvennogo_lica);
889
        }
890
 
891
 
892
        while(CpuQuery.next()){
893
//              tmp = tr("CPU: ");
894
        tmp = tr("");
895
                CPU_id = CpuQuery.value(field_id).toString();
896
                CPU_proizvoditel = CpuQuery.value(field_proizvoditel).toString();
897
                CPU_slot = CpuQuery.value(field_slot).toString();
898
                CPU_fqr = CpuQuery.value(field_fqr).toString();
899
                CPU_inventar_num =  CpuQuery.value(field_inventar_num).toString();
900
                CPU_serial_num = CpuQuery.value(field_serial_num).toString();
901
 
902
        if (CPU_proizvoditel != "") {
903
                tmp.append(CPU_proizvoditel);}
904
//      if (CPU_slot != "") {tmp.append(tr(" "));
905
//      tmp.append(CPU_slot);
906
//      tmp.append(tr(" "));}
907
        if (CPU_fqr != "") {tmp.append(tr(" "));
908
        tmp.append(CPU_fqr);
909
        tmp.append(tr("MGz "));}
910
        result.append(tmp);
911
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
912
                itemCpu = new QTreeWidgetItem(itemCpu_block);
913
        }
914
        else itemCpu = new QTreeWidgetItem(itemSysBlock);
915
 
916
 
917
//      itemCpu = new QTreeWidgetItem(itemSysBlock);
918
        itemCpu->setText(2, tr("ѕроцессор"));
919
        itemCpu->setText(12, CPU_id);
920
        itemCpu->setText(13, id_systemBlock);
921
        itemCpu->setText(14, id_otvetstvennogo_lica);
922
 
923
        itemCpu->setIcon(4, cpu_icon);
924
        itemCpu->setText(4, tmp);
925
 
926
        itemCpu->setText(3, CPU_inventar_num);
927
                }
928
        if (id_systemBlock !="1") itemSysBlock->setText(4, tmp);
929
        return result;
930
}
931
 
932
QString MainWindowImpl::addHDDInformation(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock)
933
{
934
        QString result, tmp;
935
        QString HDD_id, HDD_proizvoditel, HDD_interfeis, HDD_obem, HDD_inventar_num, HDD_serial_num;
936
        QString HDDSqlQueryText;
937
        QSqlQuery HDDQuery;
938
        int field_id, field_proizvoditel, field_interfeis, field_obem, field_inventar_num, field_serial_num;
939
        QTreeWidgetItem *itemHDD;
940
        QTreeWidgetItem *itemHDD_block;
941
        HDDSqlQueryText = tr("select harddiscs.* "
942
        " from harddiscs where harddiscs.»дентификатор_системного_блока = "
943
        );
944
        HDDSqlQueryText.append(id_systemBlock);
945
        HDDQuery.prepare(HDDSqlQueryText);
946
        HDDQuery.exec();
947
        field_id = HDDQuery.record().indexOf(tr("»дентификатор"));
948
        field_proizvoditel = HDDQuery.record().indexOf(tr("ѕроизводитель"));
949
        field_interfeis = HDDQuery.record().indexOf(tr("»нтерфейс"));
950
        field_obem = HDDQuery.record().indexOf(tr("ќбъем"));
951
        field_inventar_num = HDDQuery.record().indexOf(tr("»нвентарный_номер"));
952
        field_serial_num = HDDQuery.record().indexOf(tr("—ерийный_номер"));
953
 
954
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
955
                itemHDD_block = new QTreeWidgetItem(itemSysBlock);
956
                itemHDD_block->setText(2, tr("¬»Ќ„≈—“≈–џ"));
957
                itemHDD_block->setText(14, id_otvetstvennogo_lica);
958
        }
959
 
960
 
961
        while(HDDQuery.next()){
962
//              tmp = tr("HDD: ");
963
                tmp = tr("");
964
                HDD_id = HDDQuery.value(field_id).toString();
965
                HDD_proizvoditel = HDDQuery.value(field_proizvoditel).toString();
966
                HDD_interfeis = HDDQuery.value(field_interfeis).toString();
967
                HDD_obem = HDDQuery.value(field_obem).toString();
968
                HDD_inventar_num =  HDDQuery.value(field_inventar_num).toString();
969
                HDD_serial_num = HDDQuery.value(field_serial_num).toString();
970
        if (HDD_proizvoditel != "") {
971
                tmp.append(HDD_proizvoditel);}
972
        if (HDD_interfeis != "") {tmp.append(tr(" "));
973
        tmp.append(HDD_interfeis);
974
        tmp.append(tr(" "));}
975
        if (HDD_obem != "") {tmp.append(tr(" "));
976
        tmp.append(HDD_obem);
977
        tmp.append(tr("GB; "));}
978
        result.append(tmp);
979
 
980
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
981
                itemHDD  = new QTreeWidgetItem(itemHDD_block);
982
        }
983
        else itemHDD  = new QTreeWidgetItem(itemSysBlock);
984
 
985
 
986
//      itemHDD = new QTreeWidgetItem(itemSysBlock);
987
 
988
        itemHDD->setText(2, tr("∆есткий диск"));
989
        itemHDD->setText(12, HDD_id);
990
        itemHDD->setText(13, id_systemBlock);
991
        itemHDD->setText(14, id_otvetstvennogo_lica);
992
 
993
        itemHDD->setIcon(4, hdd_icon);
994
        itemHDD->setText(4, tmp);
995
        itemHDD->setText(3, HDD_inventar_num);
996
                }
997
//      if (result!="") itemSysBlock->setIcon(7, hdd_icon);
998
        if (id_systemBlock !="1") itemSysBlock->setText(7, result);
999
        return result;
1000
}
1001
 
1002
QString MainWindowImpl::add_CD_DVD_Information(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock)
1003
{
1004
        QString result, tmp;
1005
        QString CD_DVD_id, CD_DVD_proizvoditel, CD_DVD_type, CD_DVD_speed, CD_DVD_serial_num, CD_DVD_inventar_num;
1006
        QString CD_DVD_SqlQueryText;
1007
        QSqlQuery CD_DVD_Query;
1008
        int field_id, field_proizvoditel, field_type, field_speed, field_serial_num, field_inventar_num;
1009
        QTreeWidgetItem *item_CD_DVD;
1010
        QTreeWidgetItem *item_CD_DVD_block;
1011
        CD_DVD_SqlQueryText = tr("select cd_dvd.* "
1012
        " from cd_dvd where cd_dvd.»дентификатор_системного_блока = "
1013
        );
1014
        CD_DVD_SqlQueryText.append(id_systemBlock);
1015
        CD_DVD_Query.prepare(CD_DVD_SqlQueryText);
1016
        CD_DVD_Query.exec();
1017
        field_id = CD_DVD_Query.record().indexOf(tr("»дентификатор"));
1018
        field_proizvoditel = CD_DVD_Query.record().indexOf(tr("ѕроизводитель"));
1019
        field_type = CD_DVD_Query.record().indexOf(tr("“ип"));
1020
        field_speed = CD_DVD_Query.record().indexOf(tr("—корость"));
1021
        field_inventar_num = CD_DVD_Query.record().indexOf(tr("»нвентарный_номер"));
1022
        field_serial_num = CD_DVD_Query.record().indexOf(tr("—ерийный_номер"));
1023
 
1024
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1025
                item_CD_DVD_block = new QTreeWidgetItem(itemSysBlock);
1026
                item_CD_DVD_block->setText(2, tr("ѕ–»¬ќƒџ"));
1027
                item_CD_DVD_block->setText(14, id_otvetstvennogo_lica);
1028
        }
1029
 
1030
 
1031
        while(CD_DVD_Query.next()){
1032
//              tmp = tr("CD/DVD: ");
1033
        tmp = tr("");
1034
                CD_DVD_id = CD_DVD_Query.value(field_id).toString();
1035
                CD_DVD_proizvoditel = CD_DVD_Query.value(field_proizvoditel).toString();
1036
                CD_DVD_type = CD_DVD_Query.value(field_type).toString();
1037
                CD_DVD_speed = CD_DVD_Query.value(field_speed).toString();
1038
                CD_DVD_serial_num = CD_DVD_Query.value(field_serial_num).toString();
1039
                CD_DVD_inventar_num = CD_DVD_Query.value(field_inventar_num).toString();
1040
 
1041
        if (CD_DVD_type != "") {
1042
                tmp.append(CD_DVD_type);}
1043
        if (CD_DVD_proizvoditel != "") {tmp.append(tr(" "));
1044
        tmp.append(CD_DVD_proizvoditel);
1045
        tmp.append(tr(" "));}
1046
        if (CD_DVD_speed != "") {tmp.append(tr(" "));
1047
        tmp.append(CD_DVD_speed);
1048
        tmp.append(tr(" "));}
1049
        result.append(tmp);
1050
 
1051
if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1052
                item_CD_DVD  = new QTreeWidgetItem(item_CD_DVD_block);
1053
        }
1054
        else item_CD_DVD = new QTreeWidgetItem(itemSysBlock);
1055
 
1056
        item_CD_DVD->setText(2, tr("ѕривод"));
1057
        item_CD_DVD->setText(12, CD_DVD_id);
1058
        item_CD_DVD->setText(13, id_systemBlock);
1059
        item_CD_DVD->setText(14, id_otvetstvennogo_lica);
1060
        item_CD_DVD->setIcon(4, cd_dvd_icon);
1061
        item_CD_DVD->setText(4, tmp);
1062
        item_CD_DVD->setText(3, CD_DVD_inventar_num);
1063
                }
1064
        if (id_systemBlock !="1") itemSysBlock->setText(8, result);
1065
        return result;
1066
}
1067
 
1068
QString MainWindowImpl::add_Vidio_Information(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock){
1069
 
1070
        QString result, tmp;
1071
        QString Vidio_id, Vidio_proizvoditel, Vidio_model, Vidio_interfeis, Vidio_ram, Vidio_inventar_num, Vidio_sereal_num;
1072
        QString Vidio_SqlQueryText;
1073
        QSqlQuery Vidio_Query;
1074
        int field_id, field_proizvoditel, field_model, field_interfeis, field_ram, field_inventar_num, field_sereal_num;
1075
        QTreeWidgetItem *item_Vidio, *item_Vidio_block;
1076
        Vidio_SqlQueryText = tr("select videocards.* "
1077
        " from videocards where videocards.»дентификатор_системного_блока = "
1078
        );
1079
        Vidio_SqlQueryText.append(id_systemBlock);
1080
        Vidio_Query.prepare(Vidio_SqlQueryText);
1081
        Vidio_Query.exec();
1082
        field_id = Vidio_Query.record().indexOf(tr("»дентификатор"));
1083
        field_proizvoditel = Vidio_Query.record().indexOf(tr("ѕроизводитель"));
1084
        field_model = Vidio_Query.record().indexOf(tr("ћодель"));
1085
        field_interfeis  = Vidio_Query.record().indexOf(tr("»нтерфейс"));
1086
        field_ram = Vidio_Query.record().indexOf(tr("ѕам€ть"));
1087
        field_inventar_num = Vidio_Query.record().indexOf(tr("»нвентарный_номер"));
1088
        field_sereal_num = Vidio_Query.record().indexOf(tr("—ерийный_номер"));
1089
 
1090
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1091
                item_Vidio_block = new QTreeWidgetItem(itemSysBlock);
1092
                item_Vidio_block->setText(2, tr("¬»ƒ≈ќ ј–“џ"));
1093
                item_Vidio_block->setText(14, id_otvetstvennogo_lica);
1094
        }
1095
 
1096
 
1097
 
1098
        while(Vidio_Query.next()){
1099
//              tmp = tr("CD/DVD: ");
1100
        tmp = tr("");
1101
                Vidio_id = Vidio_Query.value(field_id).toString();
1102
                Vidio_proizvoditel = Vidio_Query.value(field_proizvoditel).toString();
1103
                Vidio_model = Vidio_Query.value(field_model).toString();
1104
                Vidio_interfeis = Vidio_Query.value(field_interfeis).toString();
1105
                Vidio_ram = Vidio_Query.value(field_ram).toString();
1106
                Vidio_inventar_num = Vidio_Query.value(field_inventar_num).toString();
1107
                Vidio_sereal_num =  Vidio_Query.value(field_sereal_num).toString();
1108
        if (Vidio_interfeis != "") {tmp.append(tr(" "));
1109
        tmp.append(Vidio_interfeis);}
1110
        if (Vidio_proizvoditel != "") {tmp.append(tr(" "));
1111
        tmp.append(Vidio_proizvoditel);}
1112
        if (Vidio_model != "") {tmp.append(tr(" "));
1113
                tmp.append(Vidio_model);}
1114
 
1115
        if (Vidio_ram !=""){tmp.append(tr(" "));
1116
        tmp.append(Vidio_ram);
1117
        tmp.append(tr(" Mb"));
1118
 
1119
        }
1120
        result.append(tmp);
1121
 
1122
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1123
                item_Vidio  = new QTreeWidgetItem(item_Vidio_block);
1124
        }
1125
        else item_Vidio = new QTreeWidgetItem(itemSysBlock);
1126
 
1127
 
1128
//      item_Vidio = new QTreeWidgetItem(itemSysBlock);
1129
 
1130
        item_Vidio->setText(2, tr("¬идеокарта"));
1131
        item_Vidio->setText(12, Vidio_id);
1132
        item_Vidio->setText(13, id_systemBlock);
1133
        item_Vidio->setText(14, id_otvetstvennogo_lica);
1134
        item_Vidio->setIcon(4, vidio_card_icon);
1135
        item_Vidio->setText(4, tmp);
1136
        item_Vidio->setText(3, Vidio_inventar_num);
1137
                }
1138
        if (id_systemBlock !="1") itemSysBlock->setText(9, result);
1139
        return result;
1140
}
1141
 
1142
 
1143
QString MainWindowImpl::add_Sound_Card_Information(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock){
1144
 
1145
 
1146
        QString result, tmp;
1147
        QString Sound_card_id, Sound_card_proizvoditel, Sound_card_model, Sound_card_inventar_num, Sound_card_serial_num;
1148
        QString Sound_card_SqlQueryText;
1149
        QSqlQuery Sound_card_Query;
1150
        int field_id, field_proizvoditel, field_model, field_inventar_num, field_serial_num;
1151
        QTreeWidgetItem *item_Sound_card, *item_Sound_card_block;
1152
        Sound_card_SqlQueryText = tr("select soundcards.* "
1153
        " from soundcards where soundcards.»дентификатор_системного_блока = "
1154
        );
1155
        Sound_card_SqlQueryText.append(id_systemBlock);
1156
        Sound_card_Query.prepare(Sound_card_SqlQueryText);
1157
        Sound_card_Query.exec();
1158
        field_id = Sound_card_Query.record().indexOf(tr("»дентификатор"));
1159
        field_proizvoditel = Sound_card_Query.record().indexOf(tr("ѕроизводитель"));
1160
        field_model = Sound_card_Query.record().indexOf(tr("ћодель"));
1161
        field_inventar_num =  Sound_card_Query.record().indexOf(tr("»нвентарный_номер"));
1162
        field_serial_num = Sound_card_Query.record().indexOf(tr("—ерийный_номер"));
1163
 
1164
 
1165
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1166
                item_Sound_card_block = new QTreeWidgetItem(itemSysBlock);
1167
                item_Sound_card_block->setText(2, tr("«¬” ќ¬џ≈  ј–“џ"));
1168
                item_Sound_card_block->setText(14, id_otvetstvennogo_lica);
1169
        }
1170
 
1171
        while(Sound_card_Query.next()){
1172
//              tmp = tr("CD/DVD: ");
1173
        tmp = tr("");
1174
                Sound_card_id = Sound_card_Query.value(field_id).toString();
1175
                Sound_card_proizvoditel = Sound_card_Query.value(field_proizvoditel).toString();
1176
                Sound_card_model = Sound_card_Query.value(field_model).toString();
1177
                Sound_card_inventar_num = Sound_card_Query.value(field_inventar_num).toString();
1178
                Sound_card_serial_num = Sound_card_Query.value(field_serial_num).toString();
1179
 
1180
//              Vidio_interfeis = Vidio_Query.value(field_interfeis).toString();
1181
//              Vidio_ram = Vidio_Query.value(field_ram).toString();
1182
        if (Sound_card_proizvoditel != "") {tmp.append(tr(" "));
1183
        tmp.append(Sound_card_proizvoditel);}
1184
 
1185
        if (Sound_card_model != "") {tmp.append(tr(" "));
1186
                tmp.append(Sound_card_model);}
1187
 
1188
///     if (Vidio_ram !=""){tmp.append(tr(" "));
1189
///     tmp.append(Vidio_ram);
1190
///     tmp.append(tr(" Mb"));
1191
 
1192
///     }
1193
        result.append(tmp);
1194
 
1195
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1196
                item_Sound_card  = new QTreeWidgetItem(item_Sound_card_block);
1197
        }
1198
        else item_Sound_card = new QTreeWidgetItem(itemSysBlock);
1199
 
1200
 
1201
//      item_Sound_card = new QTreeWidgetItem(itemSysBlock);
1202
 
1203
 
1204
        item_Sound_card->setText(2, tr("«вукова€ карта"));
1205
        item_Sound_card->setText(12, Sound_card_id);
1206
        item_Sound_card->setText(13, id_systemBlock);
1207
        item_Sound_card->setText(14, id_otvetstvennogo_lica);
1208
        item_Sound_card->setIcon(4, sound_card_icon);
1209
        item_Sound_card->setText(4, tmp);
1210
        item_Sound_card->setText(3, Sound_card_inventar_num);
1211
                }
1212
        if (id_systemBlock !="1") itemSysBlock->setText(10, result);
1213
        return result; 
1214
 
1215
}
1216
 
1217
QString MainWindowImpl::add_Lan_Card_Information(QString id_otvetstvennogo_lica, QString id_systemBlock, QTreeWidgetItem * itemSysBlock){
1218
 
1219
 
1220
        QString result, tmp;
1221
        QString Lan_card_id, Lan_card_proizvoditel, Lan_card_model, Lan_speed, Lan_inventar_num, Lan_serial_num;
1222
        QString Lan_card_SqlQueryText;
1223
        QSqlQuery Lan_card_Query;
1224
        int field_id, field_proizvoditel, field_model, field_speed, field_serial_num, field_inventar_num;
1225
        QTreeWidgetItem *item_Lan_card, *item_Lan_card_block;
1226
        Lan_card_SqlQueryText = tr("select lancards.* "
1227
        " from lancards where lancards.»дентификатор_системного_блока = "
1228
        );
1229
        Lan_card_SqlQueryText.append(id_systemBlock);
1230
        Lan_card_Query.prepare(Lan_card_SqlQueryText);
1231
        Lan_card_Query.exec();
1232
        field_id = Lan_card_Query.record().indexOf(tr("»дентификатор"));
1233
        field_proizvoditel = Lan_card_Query.record().indexOf(tr("ѕроизводитель"));
1234
        field_model = Lan_card_Query.record().indexOf(tr("ћодель"));
1235
        field_speed = Lan_card_Query.record().indexOf(tr("—корость_передачи_данных"));
1236
        field_serial_num = Lan_card_Query.record().indexOf(tr("—ерийный_номер"));
1237
        field_inventar_num = Lan_card_Query.record().indexOf(tr("»нвентарный_номер"));
1238
 
1239
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1240
                item_Lan_card_block = new QTreeWidgetItem(itemSysBlock);
1241
                item_Lan_card_block->setText(2, tr("—≈“≈¬џ≈  ј–“џ"));
1242
                item_Lan_card_block->setText(14, id_otvetstvennogo_lica);
1243
        }
1244
 
1245
        while(Lan_card_Query.next()){
1246
//              tmp = tr("CD/DVD: ");
1247
        tmp = tr("");
1248
                Lan_card_id = Lan_card_Query.value(field_id).toString();
1249
                Lan_card_proizvoditel = Lan_card_Query.value(field_proizvoditel).toString();
1250
                Lan_card_model = Lan_card_Query.value(field_model).toString();
1251
                Lan_speed = Lan_card_Query.value(field_speed).toString();
1252
                Lan_inventar_num =  Lan_card_Query.value(field_inventar_num).toString();
1253
                Lan_serial_num = Lan_card_Query.value(field_serial_num).toString();
1254
 
1255
 
1256
//              Vidio_interfeis = Vidio_Query.value(field_interfeis).toString();
1257
//              Vidio_ram = Vidio_Query.value(field_ram).toString();
1258
        if (Lan_card_proizvoditel != "") {tmp.append(tr(" "));
1259
        tmp.append(Lan_card_proizvoditel);}
1260
 
1261
        if (Lan_card_model != "") {tmp.append(tr(" "));
1262
                tmp.append(Lan_card_model);}
1263
 
1264
        if (Lan_speed != "") {tmp.append(tr(" "));
1265
                tmp.append(Lan_speed);
1266
                tmp.append(tr(" Mbit"));}
1267
 
1268
///     if (Vidio_ram !=""){tmp.append(tr(" "));
1269
///     tmp.append(Vidio_ram);
1270
///     tmp.append(tr(" Mb"));
1271
 
1272
///     }
1273
        result.append(tmp);
1274
 
1275
        if (id_otvetstvennogo_lica == "1" && id_systemBlock == "1"){
1276
                item_Lan_card  = new QTreeWidgetItem(item_Lan_card_block);
1277
        }
1278
        else item_Lan_card = new QTreeWidgetItem(itemSysBlock);
1279
 
1280
//      item_Lan_card = new QTreeWidgetItem(itemSysBlock);
1281
 
1282
 
1283
        item_Lan_card->setText(2, tr("—етева€ карта"));
1284
        item_Lan_card->setText(12, Lan_card_id);
1285
        item_Lan_card->setText(13, id_systemBlock);
1286
        item_Lan_card->setText(14, id_otvetstvennogo_lica);
1287
        item_Lan_card->setIcon(4, lan_card_icon);
1288
        item_Lan_card->setText(4, tmp);
1289
        item_Lan_card->setText(3, Lan_inventar_num);
1290
                }
1291
        if (id_systemBlock !="1") itemSysBlock->setText(11, result);
1292
        return result; 
1293
 
1294
}
1295
 
1296
void MainWindowImpl::refreshTree(){
1297
 
1298
        initTreeWidget();
1299
}
1300
 
1301
int MainWindowImpl::select_system_block(){
1302
        return 1;
1303
}
1304
 
1305