Дипломная работа: Автоматизация приема заявок на ремонт и модернизацию ПК в ООО "СЕРВИС ПК"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
123
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "UnitRep.h"
#include "UnitData.h"
#include "UnitMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormRep *FormRep;
//---------------------------------------------------------------------------
__fastcall TFormRep::TFormRep(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormRep::FormClose(TObject *Sender, TCloseAction
&Action)
{
FormMain->ot = true;
}
//---------------------------------------------------------------------------
124
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "UnitRez.h"
#include "UnitData.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormRez *FormRez;
//---------------------------------------------------------------------------
__fastcall TFormRez::TFormRez(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormRez::FormShow(TObject *Sender)
{
DataM->ADOQueryH->Close();
DataM->ADOQueryH->SQL->Clear();
DataM->ADOQueryH->SQL->Add("SELECT Rezult.ZayvkaK,
Zayvka.DateZ, Agent.Name, Product.Name, Unit.Unit, Rezult.CountR");
DataM->ADOQueryH->SQL->Add(" FROM Unit INNER JOIN (Agent
INNER JOIN (Product INNER JOIN (Zayvka INNER JOIN Rezult ON Zayvka.Key
= Rezult.ZayvkaK)");
DataM->ADOQueryH->SQL->Add(" ON Product.Key = Rezult.ProductK)
ON Agent.Key = Zayvka.AgentK) ON Unit.Key = Product.UnitK ORDER BY
Zayvka.DateZ, Rezult.ZayvkaK");
DataM->ADOQueryH->Open();
}
125
//---------------------------------------------------------------------------
void __fastcall TFormRez::FormClose(TObject *Sender, TCloseAction
&Action)
{
DataM->ADOQueryH->Close();
DataM->ADOQueryH->SQL->Clear();
DataM->Zayvka->Open();
DataM->ZayvkaTable->Open();
}
//---------------------------------------------------------------------------
void __fastcall TFormRez::N1Click(TObject *Sender)
{
if (DataM->ADOQueryH->RecordCount > 0)
{
DataM->ADOQuery->Close();
DataM->ADOQuery->SQL->Clear();
DataM->ADOQuery->SQL->Add("SELECT DISTINCT Zayvka.AgentK
FROM Zayvka INNER JOIN Rezult ON Zayvka.Key = Rezult.ZayvkaK");
DataM->ADOQuery->Open();
if (DataM->ADOQuery->RecordCount>0)
{
while (!DataM->ADOQuery->Eof)
{
DataM->ADOQueryO->Close();
DataM->ADOQueryO->SQL->Clear();
DataM->ADOQueryO->SQL->Add("Insert Into Document (NumberD,
DateD, Agent, Operat, StatusK) Values(:p1, :p2, :p3, :p4, :p5)");
DataM->ADOQueryO->Parameters->ParamByName("p1")->Value =
"###";
126
DataM->ADOQueryO->Parameters->ParamByName("p2")->Value =
FormatDateTime("dd/mm/yyyy", Now());
DataM->ADOQueryO->Parameters->ParamByName("p3")->Value =
DataM->ADOQuery->FieldByName("AgentK")->Value;
DataM->ADOQueryO->Parameters->ParamByName("p4")->Value =
false;
DataM->ADOQueryO->Parameters->ParamByName("p5")->Value =
2;
DataM->ADOQueryO->ExecSQL();
int KeyDoc = 0;
DataM->ADOQueryO->Close();
DataM->ADOQueryO->SQL->Clear();
DataM->ADOQueryO->SQL->Add("SELECT MAX(Key) AS MaxK
FROM Document");
DataM->ADOQueryO->Open();
KeyDoc = DataM->ADOQueryO->FieldByName("MaxK")->Value;
DataM->ADOQueryH->Close();
DataM->ADOQueryH->SQL->Clear();
DataM->ADOQueryH->SQL->Add("SELECT Rezult.ProductK,
Rezult.CountR FROM Zayvka");
DataM->ADOQueryH->SQL->Add("INNER JOIN Rezult ON
Zayvka.Key = Rezult.ZayvkaK WHERE Zayvka.AgentK = :p1");
DataM->ADOQueryH->Parameters->ParamByName("p1")->Value =
DataM->ADOQuery->FieldByName("AgentK")->Value;
DataM->ADOQueryH->Open();
while (!DataM->ADOQueryH->Eof)
{
DataM->ADOQueryO->Close();
127
DataM->ADOQueryO->SQL->Clear();
DataM->ADOQueryO->SQL->Add("Insert Into DocumentTable
(DocumentK, ProductK, CountD) Values(:p1, :p2, :p3)");
DataM->ADOQueryO->Parameters->ParamByName("p1")->Value =
KeyDoc;
DataM->ADOQueryO->Parameters->ParamByName("p2")->Value =
DataM->ADOQueryH->FieldByName("ProductK")->Value;
DataM->ADOQueryO->Parameters->ParamByName("p3")->Value =
DataM->ADOQueryH->FieldByName("CountR")->Value;
DataM->ADOQueryO->ExecSQL();
DataM->ADOQueryH->Next();
}
DataM->ADOQuery->Next();
}
//очищаем таблицу для расчетов
DataM->ADOQueryH->Close();
DataM->ADOQueryH->SQL->Clear();
DataM->ADOQueryH->SQL->Add("DELETE FROM REZULT");
DataM->ADOQueryH->ExecSQL();
}
Close();
}
else
MessageBox(0,"Нет данных для формирования
накладных.","Ошибка",0);
}
//---------------------------------------------------------------------------
Источник: https://baza.diplomsite.ru/previewfile/1940