Subversion Repositories OpenInventory

Rev

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

Rev Author Line No. Line
6 pingvin 1
#include "mainwindowimpl.h"
2
// place your code here
3
// проверка
4
 
5
void MainWindowImpl::addNewMemory(){
6
QStringList proizv_list; //список производителей пам€ти
7
QStringList user_list;
8
//      addmemFrm = new addmemoryForm;
9
//      QString temp;
10
//      int lsize;
11
        addmemFrm.treeWidget->clear();
12
        addmemFrm.comboBox->clear();
13
        addmemFrm.comboBox_4->clear();
14
        proizv_list = addmemFrm.getManufacturiesList();
15
        user_list = addmemFrm.getSystemBlockList();
16
 
17
//      lsize = proizv_list.size();
18
//for (int i = 0; i < lsize; ++i){
19
//      temp = proizv_list.at(i); }
20
        addmemFrm.comboBox->addItems(proizv_list);
21
        addmemFrm.comboBox_4->addItems(user_list);
22
        addmemFrm.show();
23
}
24
 
25
void MainWindowImpl::addNewMemory(QString inventar_num){
26
QStringList proizv_list; //список производителей пам€ти
27
QStringList mb_proizv_list; //список производителей материнских плат
28
QStringList hdd_proizv_list; //список производителей винчестеров
29
QStringList cpu_proizv_list; //список производителей винчестеров
30
QStringList video_proizv_list; //список производителей видеокарт
31
QStringList mb_model_list;//список моделей материнских плат
32
QStringList user_list;
33
QString currProizvoditel;
34
//      addmemFrm = new addmemoryForm;
35
//      QString temp;
36
//      int lsize;
37
        treeWidget->setEnabled(false);
38
 
39
        addmemFrm.label_7->setText(inventar_num);
40
        addmemFrm.treeWidget->clear();
41
        addmemFrm.comboBox->clear();
42
        addmemFrm.comboBox_4->clear();
43
        addmemFrm.comboBox_5->clear();
44
        addmemFrm.comboBox_6->clear();
45
        addmemFrm.comboBox_13->clear();//производители HDD 
46
        addmemFrm.comboBox_9->clear();//производители CPU
47
        addmemFrm.comboBox_19->clear();//производители VIDEO
48
        addmemFrm.comboBox_20->clear();//модели видеокарт
49
        addmemFrm.lineEdit_2->clear();
50
        addmemFrm.lineEdit->clear();
51
 
52
        proizv_list = addmemFrm.getManufacturiesList();
53
        mb_proizv_list = addmemFrm.getManufacturiesListMB();
54
        hdd_proizv_list = addmemFrm.getManufacturiesListHDD();
55
        cpu_proizv_list = addmemFrm.getManufacturiesListCPU();
56
        video_proizv_list = addmemFrm.getManufacturiesListVIDEO();
57
 
58
        user_list = addmemFrm.getSystemBlockList();
59
 
60
 
61
//      lsize = proizv_list.size();
62
//for (int i = 0; i < lsize; ++i){
63
//      temp = proizv_list.at(i); }
64
        addmemFrm.comboBox->addItems(proizv_list);
65
        addmemFrm.comboBox_5->addItems(mb_proizv_list);
66
        addmemFrm.comboBox_13->addItems(hdd_proizv_list);
67
        addmemFrm.comboBox_9->addItems(cpu_proizv_list);
68
        addmemFrm.comboBox_19->addItems(video_proizv_list);
69
        currProizvoditel = addmemFrm.comboBox_5->currentText();
70
//      mb_model_list = addmemFrm.getModelListMB(currProizvoditel);
71
//      addmemFrm.comboBox_6->addItems(mb_model_list);
72
        addmemFrm.comboBox_4->addItems(user_list);
73
 
74
        addmemFrm.show();
75
}
76
 
77
 
78
QString MainWindowImpl::get_info_from_system_block(QString inventar_num){
79
 
80
        QSqlQuery query;
81
        int field_id, field_serial_num, field_inventar_num, field_data_pokypki, field_srok_garantii, field_id_otv_lica;
82
        QString sql_query_text, tmp;
83
        QString identifikator, serial_num, data_pokypki, srok_garantii, id_otv_lica ;
84
 
85
        sql_query_text = tr("select —истемные_блоки.* from  —истемные_блоки where —истемные_блоки.»нвентарный_номер = ");
86
        sql_query_text.append(inventar_num);
87
        query.prepare(sql_query_text);
88
        query.exec();
89
 
90
        field_id = query.record().indexOf(tr("»дентификатор"));
91
        field_serial_num = query.record().indexOf(tr("—ерийный_номер"));
92
        field_data_pokypki = query.record().indexOf(tr("ƒата_покупки"));
93
        field_srok_garantii = query.record().indexOf(tr("—рок_гарантии"));
94
        field_id_otv_lica = query.record().indexOf(tr("»дентификатор_ответственного_лица"));
95
 
96
        identifikator = query.value(field_id).toString();
97
        serial_num = query.value(field_serial_num).toString();
98
        data_pokypki = query.value(field_data_pokypki).toString();
99
        srok_garantii = query.value(field_srok_garantii).toString();
100
        id_otv_lica = query.value(field_id_otv_lica).toString();
101
 
102
        tmp = "»нв. ном: ";
103
        tmp.append(inventar_num);
104
 
105
 
106
        return tmp;
107
}
108
 
109
void  MainWindowImpl::on_treeWidget_itemSelectionChanged (){
110
        if (fEnable_component_add || fEnable_naznachit_otvetstv) {
111
                delete_all_actions();
112
                return;
113
        }
114
        QTreeWidgetItem *currItm;
115
        QString txt;
116
        QString id_otv_lica;
117
        int i;
118
        i++;
119
        currItm = treeWidget-> currentItem ();
120
        txt = currItm->text(2);
121
        id_otv_lica = currItm->text(14);
122
        if (txt==tr("ќтдел")){
123
                delete_all_actions();
124
                add_actions_for_otdel();
125
//              treeWidget->removeAction(MB_na_skladAction);
126
//              treeWidget->removeAction(addMemoryAction);
127
//              treeWidget->removeAction(novoe_oborydovanieAction);
128
                }
129
        else if (txt==tr("—отрудник")) {
130
                delete_all_actions();
131
                add_actions_for_sotrydnik();
132
//              treeWidget->removeAction(addMemoryAction);
133
//              treeWidget->removeAction(MB_na_skladAction);
134
//              treeWidget->removeAction(new_sotrydnikAction);
135
                }
136
        else if (txt==tr("—клад")) {
137
                delete_all_actions();
138
//              treeWidget->removeAction(MB_na_skladAction);
139
//              treeWidget->removeAction(addMemoryAction);
140
                add_actions_for_sklad();
141
                }
142
        else if (txt==tr("—истемный блок") && id_otv_lica != tr("1")){
143
                delete_all_actions();
144
                add_actions_for_system_block();
145
//              treeWidget->removeAction(new_sotrydnikAction);
146
                }
147
        else if (txt==tr("—истемный блок") && id_otv_lica == tr("1")){
148
                delete_all_actions();
149
                add_actions_for_sklad_system_block();
150
//              treeWidget->removeAction(new_sotrydnikAction);
151
                }      
152
        else if (txt==tr("ћј“≈–»Ќ— »≈ ѕЋј“џ")){
153
                delete_all_actions();
154
                add_actions_for_sklad_MB();
155
//              treeWidget->removeAction(new_sotrydnikAction);
156
                }
157
        else if (txt==tr("ћќƒ”Ћ» ѕјћя“»")){
158
                delete_all_actions();
159
                add_actions_for_sklad_RAM();
160
//              treeWidget->removeAction(new_sotrydnikAction);
161
                }
162
 
163
        else if (txt==tr("ѕ–ќ÷≈——ќ–џ")){
164
                delete_all_actions();
165
                add_actions_for_sklad_CPU();
166
//              treeWidget->removeAction(new_sotrydnikAction);
167
                }              
168
 
169
        else if (txt==tr("¬»Ќ„≈—“≈–џ")){
170
                delete_all_actions();
171
                add_actions_for_sklad_HDD();
172
//              treeWidget->removeAction(new_sotrydnikAction);
173
                }              
174
 
175
        else if (txt==tr("ѕ–»¬ќƒџ")){
176
                delete_all_actions();
177
                add_actions_for_sklad_CD_DVD();
178
//              treeWidget->removeAction(new_sotrydnikAction);
179
                }      
180
 
181
        else if (txt==tr("¬»ƒ≈ќ ј–“џ")){
182
                delete_all_actions();
183
                add_actions_for_sklad_VIDEO();
184
//              treeWidget->removeAction(new_sotrydnikAction);
185
                }      
186
 
187
        else if (txt==tr("«¬” ќ¬џ≈  ј–“џ")){
188
                delete_all_actions();
189
                add_actions_for_sklad_SoundCard();
190
//              treeWidget->removeAction(new_sotrydnikAction);
191
                }      
192
 
193
        else if (txt==tr("—≈“≈¬џ≈  ј–“џ")){
194
                delete_all_actions();
195
                add_actions_for_sklad_LAN();
196
//              treeWidget->removeAction(new_sotrydnikAction);
197
                }      
198
 
199
else if (txt==tr("—»—“≈ћЌџ≈ ЅЋќ »")){
200
                delete_all_actions();
201
                add_actions_for_sklad_SB();
202
//              treeWidget->removeAction(new_sotrydnikAction);
203
                }      
204
 
205
 
206
/*      else if (txt==tr("ћатеринска€ плата") && id_otv_lica == tr("1")){
207
                delete_all_actions();
208
                add_actions_for_insert_MB_to_system_block();
209
//              treeWidget->removeAction(new_sotrydnikAction);
210
                } */
211
 
212
 
213
        else if (id_otv_lica != tr("1")){treeWidget->addAction(addMemoryAction); //не склад
214
                delete_all_actions();
215
                add_actions_for_kompletyushie();
216
//              treeWidget->addAction(SpliterAction);
217
 
218
//              SpliterAction->setSeparator (true);
219
//              treeWidget->addAction(MB_na_skladAction);
220
                }
221
 
222
        else {treeWidget->addAction(addMemoryAction); // склад
223
                delete_all_actions();
224
                add_actions_for_insert_MB_to_system_block();//название функции надо помен€ть, это ко всем комплектующим относитс€
225
//              treeWidget->addAction(SpliterAction);
226
 
227
//              SpliterAction->setSeparator (true);
228
//              treeWidget->addAction(MB_na_skladAction);
229
                }
230
 
231
//      if (txt==tr("—истемный блок")) {i++;}
232
}
233
 
234
 
235
 
236
 
237
 
238
 
239
void  MainWindowImpl::novoe_oborydovanie(){
240
 
241
}
242
 
243
 
244
void  MainWindowImpl::pereimenovft_otdel(){
245
 
246
}
247
 
248
void MainWindowImpl::yvolit_sotrydnika(){
249
 
250
}
251
 
252
void MainWindowImpl::perevesti_sotrydnika_v_drygo1_otdel(){
253
        int i;
254
        i++;
255
}
256
 
257
void  MainWindowImpl::naznachit_otvetstvennim_za_oborydovanie(){
258
 
259
}
260
 
261
void  MainWindowImpl::ystanovit_novie_complektyushie(){
262
        QString inventar_num;
263
        QTreeWidgetItem * currItem;
264
        int currColomn;
265
        int top_item_index;
266
        lineEdit->insert(tr("–едактировать"));
267
        currItem = treeWidget->currentItem ();
268
        top_item_index = treeWidget->indexOfTopLevelItem(currItem);
269
        currColomn = treeWidget->currentColumn();
270
        MainWindowImpl::on_treeWidget_itemClicked(currItem, 3); //выводим номер системника на форму
271
//      inventar_num = tr("»нв.ном: ");
272
        inventar_num.append(currItem ->text(3));
273
        if (currColomn == 1){
274
                addmemFrm.tabWidget->setCurrentIndex(4);
275
                addmemFrm.show();
276
        };
277
        if (inventar_num == "") return;
278
        lineEdit->insert(currItem ->text(currColomn));
279
switch(currColomn)
280
        {
281
                case 1://—отрудники
282
                {
283
                addmemFrm.tabWidget->setCurrentIndex(4);
284
                addNewMemory(inventar_num);
285
 
286
                }
287
                break;
288
 
289
 
290
                case 4: //ѕроцессор
291
                {
292
                addmemFrm.tabWidget->setCurrentIndex(2);
293
                addNewMemory(inventar_num);
294
                }  
295
                break;
296
 
297
                case 5: //ћатеринские платы
298
                {
299
                addmemFrm.tabWidget->setCurrentIndex(3);
300
                addNewMemory(inventar_num);
301
                }  
302
                break;
303
 
304
                case 6: //ѕам€ть
305
                {
306
                addmemFrm.tabWidget->setCurrentIndex(0);
307
                addNewMemory(inventar_num);
308
//              addmemFrm.show();
309
                }  
310
                break;
311
 
312
                case 7: //¬инчестер
313
                {
314
                addmemFrm.tabWidget->setCurrentIndex(1);
315
                addNewMemory(inventar_num);
316
                }
317
                break;
318
 
319
 
320
//              case 2: break;
321
                default : {
322
                addmemFrm.tabWidget->setCurrentIndex(0);
323
                addNewMemory(inventar_num);
324
                }              
325
 
326
                break;
327
        }
328
        addmemFrm.treeWidget->clear();
329
 
330
 
331
 
332
 
333
 
334
        addmemFrm.treeWidget->clear();
335
}
336
 
337
 
338
 
339
 
340
 
341
 
342
 
343
void  MainWindowImpl::on_addmemoryForm_formClose(){
344
        treeWidget->setEnabled(true);
345
}
346
 
347
 
348
 
349
 
350
 
351
void MainWindowImpl::insert_MB_to_system_block(){ // устанавливаем компоненты со склада
352
        QTreeWidgetItem * currItem;
353
        QString tip_komplekt;
354
        QString identifikator_kimplekt; // идентификатор комплектующего в таблице
355
        currItem = treeWidget->currentItem ();
356
        tip_komplekt = currItem->text(2);
357
        identifikator_kimplekt = currItem->text(12);
358
        if (tip_komplekt == tr("ћатеринска€ плата")){
359
                component_table = tr("matheboards");
360
                component_id = identifikator_kimplekt;
361
                fEnable_component_add = true;
362
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
363
                                                                                this,                      // –одительский виджет.
364
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
365
//                                                                              db.lastError().text());          // “екст сообщени€.
366
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который хотите установить материнскую плату."));
367
 
368
        }
369
        else if (tip_komplekt == tr("ћодуль пам€ти")){
370
                component_table = tr("memory");
371
                component_id = identifikator_kimplekt;
372
                fEnable_component_add = true;
373
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
374
                                                                                this,                      // –одительский виджет.
375
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
376
//                                                                              db.lastError().text());          // “екст сообщени€.
377
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить модуль пам€ти."));
378
        }
379
 
380
        else if (tip_komplekt == tr("ѕроцессор")){
381
                component_table = tr("processors");
382
                component_id = identifikator_kimplekt;
383
                fEnable_component_add = true;
384
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
385
                                                                                this,                      // –одительский виджет.
386
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
387
//                                                                              db.lastError().text());          // “екст сообщени€.
388
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить процессор."));
389
        }
390
 
391
        else if (tip_komplekt == tr("¬идеокарта")){
392
                component_table = tr("videocards");
393
                component_id = identifikator_kimplekt;
394
                fEnable_component_add = true;
395
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
396
                                                                                this,                      // –одительский виджет.
397
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
398
//                                                                              db.lastError().text());          // “екст сообщени€.
399
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить видеокарту."));
400
        }
401
 
402
        else if (tip_komplekt == tr("ѕривод")){
403
                component_table = tr("cd_dvd");
404
                component_id = identifikator_kimplekt;
405
                fEnable_component_add = true;
406
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
407
                                                                                this,                      // –одительский виджет.
408
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
409
//                                                                              db.lastError().text());          // “екст сообщени€.
410
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить привод."));
411
        }
412
 
413
        else if (tip_komplekt == tr("«вукова€ карта")){
414
                component_table = tr("soundcards");
415
                component_id = identifikator_kimplekt;
416
                fEnable_component_add = true;
417
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
418
                                                                                this,                      // –одительский виджет.
419
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
420
//                                                                              db.lastError().text());          // “екст сообщени€.
421
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить звуковую карту."));
422
        }
423
 
424
        else if (tip_komplekt == tr("—етева€ карта")){
425
                component_table = tr("lancards");
426
                component_id = identifikator_kimplekt;
427
                fEnable_component_add = true;
428
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
429
                                                                                this,                      // –одительский виджет.
430
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
431
//                                                                              db.lastError().text());          // “екст сообщени€.
432
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить сетевую карту."));
433
        }
434
 
435
        else if (tip_komplekt == tr("∆есткий диск")){
436
                component_table = tr("harddiscs");
437
                component_id = identifikator_kimplekt;
438
                fEnable_component_add = true;
439
                QMessageBox::information( // ƒиалог с сообщением об ошибке.
440
                                                                                this,                      // –одительский виджет.
441
                                                                                QObject::tr("”кажите системный блок "),   // «аголовок.  
442
//                                                                              db.lastError().text());          // “екст сообщени€.
443
                                                                                tr("“еперь виберите системный блок (двойным кликом мышки), в который требуетс€ установить жесткий диск."));
444
        }
445
 
446
 // select an_db.ќтделы.Ќазвание, an_db.—отрудники.‘»ќ, an_db.—истемные_блоки.»нвентарный_номер from an_db.ќтделы , an_db.—отрудники, an_db.—истемные_блоки  where an_db.ќтделы.»дентификатор = an_db.—отрудники.»дентификатор_отдела and an_db.—отрудники.»дентификатор = an_db.—истемные_блоки.»дентификатор_ответственного_лица;
447
//  select an_db.ќтделы.Ќазвание, an_db.—отрудники.‘»ќ, an_db.—истемные_блоки.»нвентарный_номер, an_db.—истемные_блоки.»дентификатор from an_db.ќтделы , an_db.—отрудники, an_db.—истемные_блоки  where an_db.ќтделы.»дентификатор = an_db.—отрудники.»дентификатор_отдела and an_db.—отрудники.»дентификатор = an_db.—истемные_блоки.»дентификатор_ответственного_лица and an_db.—истемные_блоки.»дентификатор != 1 and an_db.ќтделы.Ќазвание = "—јѕ–";
448
 
449
 
450
        int i;
451
        i++;
452
 
453
 
454
}
455
 
456
void MainWindowImpl::dblClick(QTreeWidgetItem *item, int column)
457
{
458
        lineEdit->insert(item->text(column));
459
 
460
 
461
}
462
 
463
void  MainWindowImpl::move_to_sklad(){
464
        QString SqlText;
465
        QString currID;
466
        QString typeOdorydovaniya;
467
        QString tableName;
468
        QTreeWidgetItem * currItem;
469
        QString TipOborydovaniya;
470
        QSqlQuery UpdateSqlQuery;
471
        currItem = treeWidget->currentItem ();
472
        currID = currItem->text(12);
473
        typeOdorydovaniya = currItem->text(2);
474
 
475
//      tableName = 
476
        if (typeOdorydovaniya == tr("ћодуль пам€ти")){
477
                tableName = tr("memory");
478
        }
479
        else if (typeOdorydovaniya == tr("ћатеринска€ плата")){
480
                tableName = tr("matheboards");
481
        }
482
        else if (typeOdorydovaniya == tr("ѕроцессор")){
483
                tableName = tr("processors");
484
        }
485
        else if (typeOdorydovaniya == tr("¬идеокарта")){
486
                tableName = tr("videocards");
487
        }
488
        else if (typeOdorydovaniya == tr("ѕривод")){
489
                tableName = tr("cd_dvd");
490
        }
491
        else if (typeOdorydovaniya == tr("«вукова€ карта")){
492
                tableName = tr("soundcards");
493
        }
494
        else if (typeOdorydovaniya == tr("∆есткий диск")){
495
                tableName = tr("harddiscs");
496
        }
497
        else if (typeOdorydovaniya == tr("—етева€ карта")){
498
                tableName = tr("lancards");
499
        }
500
 
501
        else return;
502
        SqlText = tr("update ");
503
        SqlText.append(tableName);
504
        SqlText.append(tr(" set »дентификатор_системного_блока = 1 where »дентификатор = "));
505
        SqlText.append(currID);
506
        UpdateSqlQuery.prepare(SqlText);
507
        UpdateSqlQuery.exec();
508
        initTreeWidget();
509
}
510
 
511
 
512
 
513
void MainWindowImpl::on_treeWidget_itemActivated(QTreeWidgetItem *item, int column)// событие наступает при двойном клике мышки
514
{
515
        if (fEnable_naznachit_otvetstv) {
516
                QString SqlText;
517
                QSqlQuery UpdateSqlQuery;
518
                QString id_sotrydnika;         
519
                if (item ->text(2) == tr("—отрудник")) {
520
                        id_sotrydnika = item ->text(14);
521
                        SqlText = tr("update system_blocks set »дентификатор_ответственного_лица = ");
522
                        SqlText.append(id_sotrydnika);
523
                        SqlText.append(tr(" where system_blocks.»дентификатор = "));
524
                        SqlText.append(tr(curr_sys_block_id));
525
                        UpdateSqlQuery.prepare(SqlText);
526
                        UpdateSqlQuery.exec();
527
                        initTreeWidget();                      
528
                        fEnable_naznachit_otvetstv = false;
529
 
530
                }
531
        }
532
 
533
        else if (!fEnable_component_add)        lineEdit->insert(item->text(column));
534
        else {
535
                QString SqlText;
536
                QSqlQuery UpdateSqlQuery;
537
                QString id_sys_block;
538
//              QTreeWidgetItem * currItem;
539
//              currItem = treeWidget->currentItem ();
540
                if (item ->text(2) == tr("—истемный блок")) {
541
                        id_sys_block = item ->text(12);
542
                        SqlText = tr("update ");
543
                        SqlText.append(component_table);
544
                        SqlText.append(tr(" set »дентификатор_системного_блока = "));
545
                        SqlText.append(id_sys_block);
546
                        SqlText.append(tr(" where »дентификатор = "));
547
                        SqlText.append(tr(component_id));
548
                        UpdateSqlQuery.prepare(SqlText);
549
                        UpdateSqlQuery.exec();
550
                        initTreeWidget();
551
                        fEnable_component_add = false;
552
                }
553
 
554
                else return;
555
 
556
 
557
        }
558
 
559
}
560
 
561
void addmemoryForm::on_comboBox_5_currentIndexChanged (QString newText){
562
        QStringList mb_model_list;
563
        comboBox_6->clear();
564
        mb_model_list = getModelListMB(newText);
565
        comboBox_6->addItems(mb_model_list);
566
 
567
//      int i;
568
//      i++;
569
//      i++;
570
}
571
 
572
void addmemoryForm::on_comboBox_19_currentIndexChanged (QString newText){
573
        QStringList video_model_list;
574
        comboBox_20->clear();
575
        video_model_list = getModelListVIDEO(newText);
576
        comboBox_20->addItems(video_model_list);
577
 
578
//      int i;
579
//      i++;
580
//      i++;
581
}
582
 
583
 
584
void addmemoryForm::on_comboBox_9_currentIndexChanged (QString newText){
585
        QStringList mb_model_list;
586
        comboBox_12->clear();
587
        mb_model_list = getModelListCPU(newText);
588
        comboBox_12->addItems(mb_model_list);
589
 
590
//      int i;
591
//      i++;
592
//      i++;
593
}
594
 
595
void MainWindowImpl::on_createButton_clicked(){
596
//      int i;
597
//      i++;
598
//      i++;
599
        bool ok;
600
QSqlQuery q;
601
//q.prepare(tr("set NAMES cp1251"));
602
//ok = q.exec();
603
// q.clear();
604
 
605
//—оздаем таблицу отделов
606
 
607
 
17 pingvin 608
q.prepare(tr("CREATE TABLE otdeli ( »дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 609
                        "Ќазвание CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задано\", "
610
                        "—правка CHAR(255) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"нет\", "
611
                        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
612
 
613
 ok = q.exec();
614
 
615
 
616
//—оздаем таблицу сотрудников
617
 
618
q.clear();
619
 
17 pingvin 620
q.prepare(tr("CREATE TABLE sotrydniki ( »дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 621
                        "‘»ќ CHAR(80) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задано\", "
622
                        "»дентификатор_отдела INTEGER UNSIGNED, "
623
                        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
624
 
625
ok = q.exec();
626
 
627
q.clear();
628
 
629
//—оздаем таблицу системных блоков
630
 
17 pingvin 631
q.prepare(tr("CREATE TABLE system_blocks ( »дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 632
                        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
633
                        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
634
                        "ƒата_покупки DATE, "
635
                        "—рок_гарантии INTEGER UNSIGNED NOT NULL DEFAULT 0, "
636
                        "»дентификатор_ответственного_лица INTEGER UNSIGNED DEFAULT 1, "
637
                        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
638
 
639
ok = q.exec();
640
 
641
q.clear();
642
 
643
//—оздаем таблицу материнских плат
644
 
17 pingvin 645
q.prepare(tr("CREATE TABLE matheboards ( »дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 646
                        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
647
                        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
648
                        "—лот CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестно\", "
649
                        "„астота_шины INTEGER UNSIGNED DEFAULT 100, "
650
                        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
651
                        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
652
                        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
653
                        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
654
 
655
ok = q.exec();
656
 
657
q.clear();
658
 
659
//—оздаем таблицу модулей пам€ти
660
 
17 pingvin 661
ok = q.prepare(tr("CREATE TABLE memory ( »дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 662
                        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
663
                        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
664
                        "“ип ENUM(\"DIM\",\"DDR\",\"DDRII\",\"RIMM\",\"SIMM\") DEFAULT \"DDRII\", "
665
                        "ќбъем INTEGER UNSIGNED, "
666
                        "„астота_шины INTEGER UNSIGNED, "
667
                        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
668
                        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
669
                        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
670
                        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
671
 
672
ok = q.exec();
673
 
674
q.clear();
675
 
17 pingvin 676
ok = q.prepare(tr("CREATE TABLE proizvoditeli_pamyati (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 677
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
678
 
679
ok = q.exec();
680
 
681
q.clear();
682
 
17 pingvin 683
ok = q.prepare(tr("CREATE TABLE processors (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 684
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
685
        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
686
        "„астота INTEGER UNSIGNED, "
687
        "—лот CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известен\", "
688
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
689
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
690
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
691
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
692
 
693
ok = q.exec();
694
 
695
q.clear();
696
 
17 pingvin 697
ok = q.prepare(tr("CREATE TABLE processor_models (ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
6 pingvin 698
                        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известен\""
699
                        ") ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
700
 
701
ok = q.exec();
702
 
703
q.clear();
704
 
705
 
706
 
707
 
17 pingvin 708
ok = q.prepare(tr("CREATE TABLE harddiscs (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 709
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
710
        "»нтерфейс CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
711
        "ќбъем INTEGER UNSIGNED, "
712
        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
713
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
714
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
715
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
716
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
717
 
718
ok = q.exec();
719
 
720
q.clear();
721
 
722
 
17 pingvin 723
ok = q.prepare(tr("CREATE TABLE proizvoditeli_hdd (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 724
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
725
 
726
ok = q.exec();
727
 
728
q.clear();
729
 
730
 
17 pingvin 731
ok = q.prepare(tr("CREATE TABLE proizvoditeli_mb (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 732
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
733
 
734
ok = q.exec();
735
 
736
q.clear();
737
 
738
 
739
 
740
 
17 pingvin 741
ok = q.prepare(tr("CREATE TABLE proizvoditeli_cpu (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 742
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
743
 
744
ok = q.exec();
745
 
746
q.clear();
747
 
748
 
749
 
750
 
751
 
17 pingvin 752
ok = q.prepare(tr("CREATE TABLE proizvoditeli_mb (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 753
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
754
 
755
ok = q.exec();
756
 
757
q.clear();
758
 
759
 
760
 
761
 
762
 
17 pingvin 763
ok = q.prepare(tr("CREATE TABLE proizvoditeli_video (ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL, "
6 pingvin 764
                        "PRIMARY KEY ( ѕроизводитель )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
765
 
766
ok = q.exec();
767
 
768
q.clear();
769
 
770
 
771
 
17 pingvin 772
ok = q.prepare(tr("CREATE TABLE video_models (ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известна\", "
6 pingvin 773
                        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не известен\""
774
                        ") ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
775
 
776
ok = q.exec();
777
 
778
q.clear();
779
 
780
 
781
 
782
 
783
 
17 pingvin 784
ok = q.prepare(tr("CREATE TABLE cd_dvd (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 785
        "“ип CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
786
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
787
        "—корость CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестена\", "
788
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
789
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
790
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
791
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
792
 
793
ok = q.exec();
794
 
795
q.clear();
796
 
797
 
17 pingvin 798
ok = q.prepare(tr("CREATE TABLE videocards (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 799
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
800
        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестена\", "
801
        "»нтерфейс CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
802
        "ѕам€ть INTEGER UNSIGNED, "
803
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
804
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
805
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
806
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
807
 
808
ok = q.exec();
809
 
810
q.clear();
811
 
17 pingvin 812
ok = q.prepare(tr("CREATE TABLE soundcards (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 813
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
814
        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестена\", "
815
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
816
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
817
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
818
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
819
 
820
ok = q.exec();
821
 
822
q.clear();
823
 
17 pingvin 824
ok = q.prepare(tr("CREATE TABLE lancards (»дентификатор INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, "
6 pingvin 825
        "ѕроизводитель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
826
        "ћодель CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестена\", "
827
        "—корость_передачи_данных INTEGER UNSIGNED DEFAULT 100, "
828
        "»дентификатор_системного_блока INTEGER UNSIGNED DEFAULT 1, "
829
        "»нвентарный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"не задан\", "
830
        "—ерийный_номер CHAR(30) CHARACTER SET cp1251 COLLATE cp1251_general_ci DEFAULT \"неизвестен\", "
831
        "PRIMARY KEY ( »дентификатор )) ENGINE = MyISAM CHARACTER SET cp1251 COLLATE cp1251_general_ci"));
832
 
833
ok = q.exec();
834
 
835
q.clear();
836
 
17 pingvin 837
ok = q.prepare(tr("INSERT INTO otdeli  VALUES( default, \"—клад\", \"—клад\")"));
6 pingvin 838
 
839
ok = q.exec();
840
 
841
q.clear();
842
 
843
 
844
 
845
//sotrydniki
846
 
847
q.prepare(tr("insert into sotrydniki (‘»ќ, »дентификатор_отдела) "
848
                                        "values (:fio, :id_otd)"));
849
        q.bindValue(tr(":fio"), tr(" ладовщик"));
850
        q.bindValue(tr(":id_otd"), tr("1"));
851
 
852
ok = q.exec();
853
 
854
 
855
}
856
 
857
 
858
 
859
void MainWindowImpl::on_exportButton_clicked(){
860
 
861
raportFrm.show();
862
/*
863
 
864
int ch;
865
QChar qch = 'ѕ';
866
 
867
char ch_arr[32];
868
ch_arr[0] = char('ј');
869
ch_arr[1] = char('н');
870
ch_arr[2] = char('д');
871
ch_arr[3] = char('р');
872
ch_arr[4] = char('е');
873
 
874
ch = qch.unicode();
875
 
876
//      int y;
877
//      y = 20 / 0;
878
        if (!(myfun())){
879
 
880
        //connecttoregistry();
881
        //initcomponentcontext();
882
        //send();
883
 
884
        QMessageBox::information( // ƒиалог с сообщением об ошибке.
885
                                                                                this,                      // –одительский виджет.
886
                                                                                QObject::tr("ќшибка подключени€ "),   // «аголовок.  
887
//                                                                              db.lastError().text());          // “екст сообщени€.
888
                                                                                tr("Ќе удалось подключитьс€ к серверу OpenOffice."));  
889
                                                                        }
890
 
891
 
892
 
893
if (!(connecttoregistry())){
894
 
895
        //connecttoregistry();
896
        //initcomponentcontext();
897
        //send();
898
 
899
        QMessageBox::information( // ƒиалог с сообщением об ошибке.
900
                                                                                this,                      // –одительский виджет.
901
                                                                                QObject::tr("ќшибка подключени€ "),   // «аголовок.  
902
//                                                                              db.lastError().text());          // “екст сообщени€.
903
                                                                                tr("Ќе удалось подключитьс€ к серверу OpenOffice."));  
904
                                                                        }
905
if (!(initcomponentcontext())){
906
 
907
        //connecttoregistry();
908
        //initcomponentcontext();
909
        //send();
910
 
911
        QMessageBox::information( // ƒиалог с сообщением об ошибке.
912
                                                                                this,                      // –одительский виджет.
913
                                                                                QObject::tr("ќшибка подключени€ "),   // «аголовок.  
914
//                                                                              db.lastError().text());          // “екст сообщени€.
915
                                                                                tr("Ќе удалось подключитьс€ к серверу OpenOffice."));  
916
                                                                        }
917
 
918
        if (!(send(10))){
919
 
920
        //connecttoregistry();
921
        //initcomponentcontext();
922
        //send();
923
 
924
        QMessageBox::information( // ƒиалог с сообщением об ошибке.
925
                                                                                this,                      // –одительский виджет.
926
                                                                                QObject::tr("ќшибка подключени€ "),   // «аголовок.  
927
//                                                                              db.lastError().text());          // “екст сообщени€.
928
                                                                                tr("Ќе удалось подключитьс€ к серверу OpenOffice."));  
929
                                                                        }
930
 
931
 
932
 
933
 
934
 
935
*/
936
 
937
};
938
 
939
 
940
void MainWindowImpl::on_wmiButton_clicked(){
941
 
942
//      QString program = tr(" wmic -U јдминистратор%Patr10t //192.168.0.135 \"select * from Win32_ComputerSystem\"");
943
        QString program = tr("wmic");
944
        QStringList arguments;
945
 
946
//      arguments << tr(" -U јдминистратор%Patr10t //192.168.0.135 \"select * from Win32_ComputerSystem\"");    
947
        program.append(tr(" -U јдминистратор%Patr10t //192.168.0.135 \"select * from Win32_ComputerSystem\""));
948
        int i;
949
        i++;
950
        process.start(program);
951
 
952
}
953
 
954
 
955
void MainWindowImpl::addNewOtdel(){
956
        int i=0;
957
        i++;
958
        addotdelFrm.lineEdit->clear();
959
        addotdelFrm.lineEdit_2->clear();
960
        treeWidget->setEnabled(false);
961
        addotdelFrm.show();
962
 
963
}
964
 
965
void  MainWindowImpl::new_sotrydnik(){
966
        QTreeWidgetItem *currItm;
967
        currItm = treeWidget-> currentItem ();
968
        int i=0;
969
        i++;
970
        addsotrydnikFrm.lineEdit->clear();
971
        addsotrydnikFrm.IdOtdela = currItm->text(12);
972
        treeWidget->setEnabled(false);
973
        addsotrydnikFrm.show();
974
 
975
}
976
 
977
void MainWindowImpl::novaya_SYSTEM_BLOCK_na_sklad(){
978
        int i=0;
979
        i++;
980
        treeWidget->setEnabled(false);
981
        addsysblockFrm.show();
982
 
983
}
984
 
985
void MainWindowImpl::readStandartProcessOutput(){
986
        QByteArray arr;
987
        QStringList result;
988
        QString str1, str2;
989
        int i;
990
        arr = process.readAllStandardOutput();
991
        QTextCodec *codecUTF = QTextCodec::codecForName("utf8");
992
        QTextCodec *codec = QTextCodec::codecForName("cp1251");
993
        QTextCodec::setCodecForTr(codecUTF);
994
        str1 = QString(tr(arr));
995
        QTextCodec::setCodecForTr(codec);
996
        result << QStringList(arr);
997
//      str2 << arr;
998
        i = result.size();
999
//      str1 = result.at(0);
1000
        i++;
1001
        lineEdit->insert(str1);
1002
 
1003
}
1004
 
1005
void MainWindowImpl::readStandartProcessError(){
1006
        QByteArray arr;
1007
        arr = process.readAllStandardError();
1008
 
1009
}