Диплом: Автоматизация процесса приема техники на ремонтные работы в ОАО "Samsung Service"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
95
FAnalysisDish.Connection := FConnection;
FAnalysisDish.TableName := 'Анализ_Блюда';
FAnalysisProduct :=TADOTable.Create (nil);
FAnalysisProduct.Connection := FConnection;
FAnalysisProduct.TableName := 'Анализ_Продукты';
end;
procedureTAnalysisSaver.ActiveTables (Value : Boolean);
begin
//
FAnalysis.Active := Value;
FAnalysisDish.Active := Value;
FAnalysisProduct.Active := Value;
end;
destructorTAnalysisSaver.Destroy;
begin
//
end;
procedureTAnalysisSaver.AddDishProducts (Date : TDate; DishID : Integer ;
Count : Integer);
var
//
Q :TADOQuery;
I : Integer;
VA : array of Variant;
begin
//
96
try
Q :=GetQuery('SELECT * FROM Состав_блюда WHERE Код_Блюдо = ' +
IntToStr (DishID) + ';');
for I := 1 to Q.RecordCount do
begin
//
Q.RecNo := I;
SetLength(VA, 3);
VA[0] := Date;
VA[1] := Q.FieldByName('Код_Продукт').AsInteger;
VA[2] := Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.Filter := 'Дата = ' + #39 + DateToStr(Date) + #39 + ' and
Код_Продукт = ' + IntToStr (Q.FieldByName('Код_Продукт').AsInteger) + ' and
Код_Единица = ' + IntToStr (Q.FieldByName('Код_Единица').AsInteger);
FAnalysisProduct.Filtered := True;
ifFAnalysisProduct.RecordCount = 0 then
begin
FAnalysisProduct.Insert;
FAnalysisProduct.FieldByName ('Дата').AsDateTime := Date;
FAnalysisProduct.FieldByName ('Код_Продукт').Value :=
Q.FieldByName('Код_Продукт').AsInteger;
FAnalysisProduct.FieldByName ('Код_Единица').Value :=
Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.FieldByName ('Количество').Value :=
Q.FieldByName('Количество').AsFloat*(Count + 0.0);
FAnalysisProduct.Post;
end
else
begin
//
97
FAnalysisProduct.Edit;
FAnalysisProduct.FieldByName ('Количество').AsFloat :=
FAnalysisProduct.FieldByName ('Количество').AsFloat +
Q.FieldByName('Количество').AsFloat*Count;
FAnalysisProduct.Post;
end;
end;
finally
//
FAnalysisProduct.Filtered := false;
if (Q <> nil) then Q.Free;
SetLength(VA, 0);
end;
end;
procedureTAnalysisSaver.Clear;
var
//
J : Integer;
begin
//
for J := FAnalysis.RecordCountdownto 1 do
begin
//
FAnalysis.RecNo := J;
FAnalysis.Delete;
end;
end;
98
procedureTAnalysisSaver.CreateAnalysis (FirstDate : TDateTime; DaysCount :
Integer);
var
//
I : Integer;
begin
//
try
FAnalysis.Open;
Clear;
for I := 0 to DaysCount - 1 do
begin
FAnalysis.Insert;
FAnalysis.FieldByName ('Дата').Value := Int(FirstDate) + I;
FAnalysis.Post;
end;
finally
ActiveTables(false);
end;
end;
procedure TAnalysisSaver.Save (Date : TDate; DishID : Integer; Count : Integer);
begin
//
try
ActiveTables(true);
FAnalysisDish.Insert;
FAnalysisDish.FieldByName ('Дата').AsDateTime := Date;
FAnalysisDish.FieldByName ('Код_Блюдо').AsInteger := DishID;
FAnalysisDish.FieldByName ('Количество').AsInteger := Count;
99
FAnalysisDish.Post;
AddDishProducts (Date, DishID, Count);
finally
//
ActiveTables(false);
end;
end;
end.
unituConnectionInfo;
//
***********************************************************************
****
//
***********************************************************************
****
//
***********************************************************************
****
//
***********************************************************************
****
// *************************** Режимсервера
****************************
100
//
***********************************************************************
****
//
***********************************************************************
****
//
***********************************************************************
****
//
***********************************************************************
****
{
Модуль содержит класс, который описывает установленное соединение;
}
interface
uses Classes, SysUtils, Datasnap.DSTCPServerTransport;
type
// Класс для хранения информации о подключенных пользователях;
TConnectionInfo = class
//
private
// Уникальныйключ;
FKey : Integer;
// Дата и время создания;
FDateTime :TDateTime;
// IP адрес;
FIP : String;
101
// Канал;
FChannel :TDSTCPChannel;
// Кодпользователя;
FUserKey : Integer;
//
FUserTypeKey : Integer;
public
// Конструкторкласса;
constructor Create (Key : Integer);
// Деструкторкласса;
destructor Destroy; overload;
property Key : Integer read FKey;
propertyDateTime : TDateTime read FDateTime;
property IP : String read FIP write FIP;
property Channel : TDSTCPChannel read FChannel write FChannel;
propertyUserKey : Integer read FUserKey write FUserKey;
propertyUserTypeKey : Integer read FUserTypeKey write FUserTypeKey;
end;
implementation
constructorTConnectionInfo.Create (Key : Integer);
begin
//
inherited Create;
FKey := Key;
FDateTime := Now;
102
FUserKey := 0;
end;
destructorTConnectionInfo.Destroy;
begin
//
inherited Destroy;
end;
end.

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

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