Диплом: Автоматизация рабочего места инженера по ремонту вычислительной техники (на примере ООО "Эллис")

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
62
bms2=false;
while (!recset.IsEOF())
{
recset.GetFieldValue("Тип оборудования", m2tek.Tip);
recset.GetFieldValue("Марка", m2tek.marka);
recset.GetFieldValue("Модель", m2tek.model);
recset.GetFieldValue("SN", m2tek.SN);
recset.GetFieldValue("Дата приема", m2tek.dtpriem);
recset.GetFieldValue("Признаки неисправности", m2tek.neisp);
recset.GetFieldValue("Результат диагностики", m2tek.diagnis);
recset.MoveNext();
if (bms)
{
bms = false;
m2per.Tip = m2tek.Tip;
m2per.marka = m2tek.marka;
m2per.model = m2tek.model;
m2per.SN = m2tek.SN;
m2per.dtpriem = m2tek.dtpriem;
m2per.neisp = m2tek.neisp;
m2per.diagnis = m2tek.diagnis;
}
else
{
bms2 = true;
m2pro.Tip = m2per.Tip;
m2pro.marka = m2per.marka;
m2pro.model = m2per.model;
m2pro.SN = m2per.SN;
m2pro.dtpriem = m2per.dtpriem;
m2pro.neisp = m2per.neisp;
m2pro.diagnis = m2per.diagnis;
m2per.Tip = m2tek.Tip;
m2per.marka = m2tek.marka;
m2per.model = m2tek.model;
m2per.SN = m2tek.SN;
m2per.dtpriem = m2tek.dtpriem;
m2per.neisp = m2tek.neisp;
m2per.diagnis = m2tek.diagnis;
}
if ((m2tek.SN == tekn) && bms2)
{
SetDlgItemText(IDC_EDIT5, m2pro.Tip);
Buff = m2pro.marka + " " + m2pro.model;
SetDlgItemText(IDC_EDIT6, Buff);
SetDlgItemText(IDC_EDIT7, m2pro.SN);
SetDlgItemText(IDC_EDIT8, m2pro.neispravnost());
SetDlgItemText(IDC_EDIT9, m2pro.stadija());
tekn = m2pro.SN;
goto _m2;}}
SetDlgItemText(IDC_EDIT5, m2per.Tip);
Buff = m2per.marka + " " + m2per.model;
63
SetDlgItemText(IDC_EDIT6, Buff);
SetDlgItemText(IDC_EDIT7, m2per.SN);
SetDlgItemText(IDC_EDIT8, m2per.neispravnost());
SetDlgItemText(IDC_EDIT9, m2per.stadija());
tekn = m2pro.SN;}
_m2:
recset.Close();
CATCH_ALL(e)
{}
END_CATCH_ALL
db.Close();
}
void CMyView::OnButton4()
{
TRY
{ db.OpenEx(lpszConnect, CDatabase::noOdbcDialog);
zSQL = "SELECT Оборудование.[Тип оборудования], Оборудование.Марка,
Оборудование.Модель, Оборудование.SN, Неисправность.[Признаки неисправности],
Диагностика.[Результат диагностики], [Ремонт оборудования].[Дата приема] "
"FROM (Диагностика RIGHT JOIN Неисправность ON Диагностика.[Номер
диагностики] = Неисправность.Диагностика) RIGHT JOIN (Оборудование INNER JOIN
([Описание ремонта] RIGHT JOIN [Ремонт оборудования] ON [Описание ремонта].[Код
ремонта] = [Ремонт оборудования].Описание_ремонта) ON Оборудование.[Код
оборудования] = [Ремонт оборудования].Оборудование) ON Неисправность.[Код
неисправности] = [Ремонт оборудования].[Код неисправности]"
"WHERE ((([Ремонт оборудования].Выполнено)=False));";
recset.Open(CRecordset::forwardOnly, zSQL, CRecordset::readOnly);
bms = true;
while (!recset.IsEOF())
{ recset.GetFieldValue("Тип оборудования", m2tek.Tip);
recset.GetFieldValue("Марка", m2tek.marka);
recset.GetFieldValue("Модель", m2tek.model);
recset.GetFieldValue("SN", m2tek.SN);
recset.GetFieldValue("Дата приема", m2tek.dtpriem);
recset.GetFieldValue("Признаки неисправности", m2tek.neisp);
recset.GetFieldValue("Результат диагностики", m2tek.diagnis);
recset.MoveNext();
if (bms)
{ bms = false;
m2per.Tip = m2tek.Tip;
m2per.marka = m2tek.marka;
m2per.model = m2tek.model;
m2per.SN = m2tek.SN;
m2per.dtpriem = m2tek.dtpriem;
m2per.neisp = m2tek.neisp;
m2per.diagnis = m2tek.diagnis;
}
if (tekn == m2tek.SN)
{
if (recset.IsEOF())
{
goto _m3;
64
}
else
{
recset.GetFieldValue("Тип оборудования", m2tek.Tip);
recset.GetFieldValue("Марка", m2tek.marka);
recset.GetFieldValue("Модель", m2tek.model);
recset.GetFieldValue("SN", m2tek.SN);
recset.GetFieldValue("Дата приема", m2tek.dtpriem);
recset.GetFieldValue("Признаки неисправности", m2tek.neisp);
recset.GetFieldValue("Результат диагностики", m2tek.diagnis);
SetDlgItemText(IDC_EDIT5, m2tek.Tip);
Buff = m2tek.marka + " " + m2tek.model;
SetDlgItemText(IDC_EDIT6, Buff);
SetDlgItemText(IDC_EDIT7, m2tek.SN);
SetDlgItemText(IDC_EDIT8, m2tek.neispravnost());
SetDlgItemText(IDC_EDIT9, m2tek.stadija());
tekn = m2tek.SN;
goto _m1;}}}
_m3:
SetDlgItemText(IDC_EDIT5, m2per.Tip);
Buff = m2per.marka + " " + m2per.model;
SetDlgItemText(IDC_EDIT6, Buff);
SetDlgItemText(IDC_EDIT7, m2per.SN);
SetDlgItemText(IDC_EDIT8, m2per.neispravnost());
SetDlgItemText(IDC_EDIT9, m2per.stadija());
tekn = m2per.SN;}
_m1:
recset.Close();
CATCH_ALL(e)
{
}
END_CATCH_ALL
db.Close();
}
void CMyView::OnButton10()
{ GetDlgItemText(IDC_EDIT7,Buff);
TRY
{ result = db.OpenEx(lpszConnect, CDatabase::noOdbcDialog);
zSQL = "SELECT [Ремонт оборудования].*, Оборудование.*,
Неисправность.[Признаки неисправности], Неисправность.[Распространение гарантии],
Диагностика.*, Инженер.*, [Описание ремонта].[Описание ремонта], [Описание
ремонта].[Дата ремонта], Гарантии.*, [Описание ремонта].[Стоимость ремонта]"
" FROM Гарантии RIGHT JOIN (Диагностика RIGHT JOIN (Инженер RIGHT JOIN
(Неисправность RIGHT JOIN (Оборудование RIGHT JOIN ([Описание ремонта] RIGHT JOIN
[Ремонт оборудования] ON [Описание ремонта].[Код ремонта] = [Ремонт
оборудования].[Описание_ремонта]) ON Оборудование.[Код оборудования] = [Ремонт
оборудования].Оборудование) ON Неисправность.[Код неисправности] = [Ремонт
оборудования].[Код неисправности]) ON Инженер.[Код инженера] = [Ремонт
оборудования].Инженер) ON Диагностика.[Номер диагностики] =
Неисправность.Диагностика) ON Гарантии.[Номер гарантийного талона] = [Ремонт
оборудования].[Гарантия до ремонта]"
" WHERE (((Оборудование.SN)=" + Buff + "));";
65
recset.Open(CRecordset::forwardOnly, zSQL, CRecordset::readOnly);
if (recset.IsEOF())
{
AfxMessageBox(("Расписка не найдена"),MB_OK);
}
else
{
ofstream outfile("C:\\Program Files\\АРМ оператора СЦ\\Отчет по неисправности.txt");
outfile << "Расписка №" << AddToFile("Номер расписки") << "\n" << AddToFile("Тип
оборудования") << AddToFile("Марка") << AddToFile("Модель");
outfile << "\nДата приема:" << AddToFile("Дата приема") << "(" << AddToFile("Ф И
О") << ")\n\nОписание поломки:\nЖалобы клиента:\n\t" << AddToFile("Признаки
неисправности") ;
recset.GetFieldValue("Номер диагностики", Buff2);
if (Buff2 != "")
outfile << "\nРезультат диагностики(" << AddToFile("Дата проведения") << "№" <<
Buff << "):\n\t" <<AddToFile("Результат диагностики");
else
outfile << "\nДиагностика не проводилась.";
outfile << "\n\nОписание ремонта:\n";
recset.GetFieldValue("Описание ремонта", Buff2);
if (Buff2 != "")
{
outfile << "Выполненые работы:\n\t" << Buff2 << "\nСтоимость ремонта составила " <<
AddToFile("Стоимость ремонта") << "руб.\n";
recset.GetFieldValue("Гарантия до ремонта", Buff2);
if (Buff2 == "")
{
outfile << "Данное оборудование было на гарантийном обслуживании (№" << Buff2 <<
" до " << AddToFile("Срок гарантии") << ")";
}
else
{
outfile << "Данное оборудование не было на гарантийном обслуживании ";
}
}
else
outfile << "Ремонт не проводился.\n";
outfile.close();}}
ShellExecute (NULL, "open", "C:/Program Files/АРМ оператора СЦ/Отчет по
неисправности.txt",NULL, NULL, SW_SHOWNORMAL);
recset.Close();
CATCH_ALL(e)
{}
END_CATCH_ALL
db.Close();}
void CMyView::OnButton5()
{ CWinAddZajav a;
a.DoModal();}
void CMyView::OnButton7()
{
CWinAddObr a;
66
a.DoModal();
}
void CMyView::OnButton8()
{ CWinDiag a;
a.DoModal();}
void CMyView::OnButton9()
{
CWinRem a;
a.DoModal();}
void CMyView::OnButton11()
{
CString aa = "C:/Program Files/АРМ оператора СЦ/База данных.mdb";
CString bb = "C:/Program Files/АРМ оператора СЦ/РК/База данных.mdb";
BOOL t=false;
CopyFileA(aa, bb, t);
}
void CMyView::OnButton12()
{
CString aa = "C:/Program Files/АРМ оператора СЦ/РК/База данных.mdb";
CString bb = "C:/Program Files/АРМ оператора СЦ/База данных.mdb";
BOOL t=false;
CopyFileA(aa, bb, t);
}
//Файл «WinAddZajav.cpp»
#include "stdafx.h"
#include "АМР оператора СЦ.h"
#include "WinAddZajav.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CString lpszConnect =
_T("Driver={Microsoft Access Driver (*.mdb)};DSN='';DBQ=C:\\Program Files\\АРМ
оператора СЦ\\База данных.mdb;");
class Zakaz
{
public:
int iZajav;
int iKlient;
int KL;
CString szKlient;
CString szDtPriem;
CString sxDtSrok;
CString szDtVipoln;
};
void CWinAddZajav::OnOK()
{
Zakaz zak;
CString zSQL,Buff,Buff2;
BOOL result = TRUE;
CDatabase db;
67
CRecordset recset(&db);
TRY
{
result = db.OpenEx(lpszConnect, CDatabase::noOdbcDialog);
GetDlgItemText(IDC_EDIT4,zak.szDtPriem);
GetDlgItemText(IDC_EDIT5,zak.sxDtSrok);
GetDlgItemText(IDC_EDIT1,Buff);
if (Buff == "")
{
AfxMessageBox(("Поле номера записи не заполнено!"),MB_OK);
goto __Kon;
}
else
{
zSQL = "SELECT Заявка.Номер_заявки FROM Заявка WHERE
(((Заявка.Номер_заявки)=" + Buff + "));";
recset.Open(CRecordset::forwardOnly, zSQL, CRecordset::readOnly);
if(!recset.IsEOF())
{
AfxMessageBox(("Заявка с данным номером уже существует!"),MB_OK);
goto __Kon;
}
}
recset.Close();
zak.iZajav = atoi(Buff);
GetDlgItemText(IDC_EDIT2,Buff);
if (Buff == "")
{
AfxMessageBox(("Поле компании клиента не заполнено!"),MB_OK);
goto __Kon;
}
else
{
zSQL = "SELECT Клиенты.[Код_компании] FROM Клиенты WHERE
(((Клиенты.Название)='" + Buff + "'));";
recset.Open(CRecordset::forwardOnly, zSQL, CRecordset::readOnly);
if(!recset.IsEOF())
recset.GetFieldValue("Код_компании", Buff);
else
{
AfxMessageBox(("Компания клиент не найдена!"),MB_OK);
goto __Kon;
}
zak.iKlient = atoi(Buff);
}
recset.Close();
if (Buff == "")
{
AfxMessageBox(("Поле контактного лица не заполнено!"),MB_OK);
goto __Kon;
}
else
68
{
zSQL = "SELECT [Контактные лица].[Код контактного лица], [Контактные лица].[Код
предприятия] FROM [Контактные лица] WHERE ((([Контактные лица].ФИО)='" + Buff +
"'));";
recset.Open(CRecordset::forwardOnly, zSQL, CRecordset::readOnly);
if(!recset.IsEOF())
{
recset.GetFieldValue("Код контактного лица", Buff);
recset.GetFieldValue("Код предприятия", Buff2);
}
else
{
AfxMessageBox(("Контактное лицо не найдено!"),MB_OK);
goto __Kon;
}
if(atoi(Buff2) != zak.iKlient)
{
AfxMessageBox(("Контактное лицо является представителем другой
компании!"),MB_OK);
goto __Kon;
}
else
{
zak.KL = atoi(Buff);
}
}
recset.Close();
/////////////////Добавление в базу данных
Buff.Format(_T("%d"), zak.iZajav);
zSQL = "INSERT INTO Заявка
(Номер_заявки,Код_клиента,Код_контактного_лица,Дата_получения,Срок_выполнения)
VALUES (" + Buff + ",";
Buff.Format(_T("%d"), zak.iKlient);
zSQL = zSQL + Buff + ",";
Buff.Format(_T("%d"), zak.KL);
zSQL = zSQL + Buff + ",'" + zak.szDtPriem + "','" + zak.sxDtSrok + "')";
db.ExecuteSQL(zSQL);
}
CATCH_ALL(e)
{
}
END_CATCH_ALL
__Kon:
db.Close();
}
void CWinAddZajav::OnCancel()
{
CDialog::OnCancel();
}
//Файл «WinAddObr.cpp»
#include "stdafx.h"
#include "АМР оператора СЦ.h"
69
#include "WinAddObr.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CString Buff3, Buff4,zSQL2,Obor,Ingen;
CDatabase db2;
CRecordset recset2(&db2);
bool bms3;
CString lpszConnect2 =
_T("Driver={Microsoft Access Driver (*.mdb)};DSN='';DBQ=C:\\Program Files\\АРМ
оператора СЦ\\База данных.mdb;");
void CWinAddObr::OnButton1()
{
GetDlgItemText(IDC_EDIT9,Buff3);
if (Buff3 == "")
{AfxMessageBox(("Заполните поле серийного номера"),MB_OK);
}
else
{
TRY
{
db2.OpenEx(lpszConnect2, CDatabase::noOdbcDialog);
zSQL2 = "SELECT Оборудование.SN, Оборудование.[Тип оборудования],
Оборудование.Марка, Оборудование.Модель"
" FROM Оборудование"
" WHERE (((Оборудование.SN)=" + Buff3 + "));";
recset2.Open(CRecordset::forwardOnly, zSQL2, CRecordset::readOnly);
if (!recset2.IsEOF())
{
recset2.GetFieldValue("Тип оборудования", Buff4);
SetDlgItemText(IDC_EDIT6,Buff4);
recset2.GetFieldValue("Марка", Buff4);
SetDlgItemText(IDC_EDIT7,Buff4);
recset2.GetFieldValue("Модель", Buff4);
SetDlgItemText(IDC_EDIT8,Buff4);
}
else
{
AfxMessageBox(("Оборудование не найдено"),MB_OK);
SetDlgItemText(IDC_EDIT9,"");
}
}
recset2.Close();
CATCH_ALL(e)
{
}
END_CATCH_ALL
db2.Close();
}
}
70
void CWinAddObr::OnButton2()
{
bms3 = true;
GetDlgItemText(IDC_EDIT6,Buff3);
if (Buff3 == "")
{bms3 = false;}
GetDlgItemText(IDC_EDIT7,Buff3);
if (Buff3 == "")
{
bms3 = false;
}
GetDlgItemText(IDC_EDIT8,Buff3);
if (Buff3 == "")
{
bms3 = false;
}
GetDlgItemText(IDC_EDIT9,Buff3);
if (Buff3 == "")
{bms3 = false;}
if (!bms3)
{AfxMessageBox(("Не все поля заполнены"),MB_OK);}
else
{
TRY
{
zSQL2 = "SELECT Оборудование.SN"
" FROM Оборудование"
" WHERE (((Оборудование.SN)=[]));";
db2.ExecuteSQL(zSQL2);
if (!recset2.IsEOF())
{
recset2.Close();
AfxMessageBox(("Оборудование с данным серийным номером уже существует в базе
данных.\n Для просмотра нажмите поиск."),MB_OK);
}
else
{
recset2.Close();
db2.OpenEx(lpszConnect2, CDatabase::noOdbcDialog);
GetDlgItemText(IDC_EDIT6,Buff3);
zSQL2 = "INSERT INTO Оборудование ([Тип оборудования], Марка, Модель, SN)
VALUES ('" + Buff3 + "','";
GetDlgItemText(IDC_EDIT7,Buff3);
zSQL2 = zSQL2 + Buff3 + "','";
GetDlgItemText(IDC_EDIT8,Buff3);
zSQL2 = zSQL2 + Buff3 + "','";
GetDlgItemText(IDC_EDIT9,Buff3);
zSQL2 = zSQL2 + Buff3 + "')";
db2.ExecuteSQL(zSQL2);
}
}
CATCH_ALL(e)
71
{
}
END_CATCH_ALL
db2.Close();
AfxMessageBox(("Оборудование добавлено"),MB_OK);
}
}
void CWinAddObr::OnButton3()
{
SetDlgItemText(IDC_EDIT6,"");
SetDlgItemText(IDC_EDIT7,"");
SetDlgItemText(IDC_EDIT8,"");
SetDlgItemText(IDC_EDIT9,"");
}
void CWinAddObr::OnButton4()
{
SetDlgItemText(IDC_EDIT10,"");
SetDlgItemText(IDC_EDIT11,"");
SetDlgItemText(IDC_EDIT12,"");
}
void CWinAddObr::OnButton5()
{
bms3 = true;
GetDlgItemText(IDC_EDIT10,Buff3);
if (Buff3 == "")
{
bms3 = false;
}
GetDlgItemText(IDC_EDIT11,Buff3);
if (Buff3 == "")
{
bms3 = false;
}
GetDlgItemText(IDC_EDIT12,Buff3);
if (Buff3 == "")
{
bms3 = false;
}
if (!bms3)
{
AfxMessageBox(("Не все поля заполнены"),MB_OK);
}
else
{
TRY
{
db2.OpenEx(lpszConnect2, CDatabase::noOdbcDialog);
GetDlgItemText(IDC_EDIT10,Buff3);
zSQL2 = "SELECT Гарантии.[Номер гарантийного талона] "
"FROM Гарантии "
"WHERE (((Гарантии.[Номер гарантийного талона])=" + Buff3 + "));";
recset2.Open(CRecordset::forwardOnly, zSQL2, CRecordset::readOnly);

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)