Commit ad1fa378 by Mac Stephens

Merge branch 'mac3' into cam2

parents dd57ce63 d00d0c68
...@@ -172,7 +172,7 @@ object FData: TFData ...@@ -172,7 +172,7 @@ object FData: TFData
SortSettings.HeaderColorTo = clWhite SortSettings.HeaderColorTo = clWhite
SortSettings.HeaderMirrorColor = clWhite SortSettings.HeaderMirrorColor = clWhite
SortSettings.HeaderMirrorColorTo = clWhite SortSettings.HeaderMirrorColorTo = clWhite
Version = '2.8.3.2' Version = '2.8.3.3'
AutoCreateColumns = True AutoCreateColumns = True
AutoRemoveColumns = True AutoRemoveColumns = True
Columns = < Columns = <
...@@ -753,7 +753,7 @@ object FData: TFData ...@@ -753,7 +753,7 @@ object FData: TFData
SortSettings.HeaderColorTo = clWhite SortSettings.HeaderColorTo = clWhite
SortSettings.HeaderMirrorColor = clWhite SortSettings.HeaderMirrorColor = clWhite
SortSettings.HeaderMirrorColorTo = clWhite SortSettings.HeaderMirrorColorTo = clWhite
Version = '2.8.3.2' Version = '2.8.3.3'
AutoCreateColumns = True AutoCreateColumns = True
AutoRemoveColumns = True AutoRemoveColumns = True
Columns = < Columns = <
...@@ -1510,7 +1510,7 @@ object FData: TFData ...@@ -1510,7 +1510,7 @@ object FData: TFData
Top = 459 Top = 459
end end
object dsGrid2: TDataSource object dsGrid2: TDataSource
DataSet = rptOrders.uqOrders DataSet = rptOrderList.uqOrders
Left = 348 Left = 348
Top = 472 Top = 472
end end
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// Authors: // Authors:
// Cameron Hayes // Cameron Hayes
// Elias Serraf // Elias Serraf
// Mac ... // Mac Stephens
unit Data; unit Data;
interface interface
...@@ -55,7 +55,7 @@ implementation ...@@ -55,7 +55,7 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uLibrary, rOrders; uses uLibrary, rOrderList;
procedure TFData.FormCreate(Sender: TObject); procedure TFData.FormCreate(Sender: TObject);
begin begin
...@@ -100,14 +100,14 @@ end; ...@@ -100,14 +100,14 @@ end;
procedure TFData.RunOrdersReport(searchOptions: string); procedure TFData.RunOrdersReport(searchOptions: string);
var var
rptOrders: TrptOrders; rptOrderList: TrptOrderList;
begin begin
rptOrders := TrptOrders.Create(nil); rptOrderList := TrptOrderList.Create(nil);
try try
rptOrders.PrepareReport(searchOptions); rptOrderList.PrepareReport(searchOptions);
dsGrid2.DataSet := rptOrders.uqOrders; dsGrid2.DataSet := rptOrderList.uqOrders;
finally finally
rptOrders.Free; rptOrderList.Free;
end; end;
end; end;
......
...@@ -339,7 +339,8 @@ type ...@@ -339,7 +339,8 @@ type
[HttpGet] function GetWebOrder(orderInfo: string): TWebOrder; [HttpGet] function GetWebOrder(orderInfo: string): TWebOrder;
[HttpGet] function GetCustomers(): TCustomerList; [HttpGet] function GetCustomers(): TCustomerList;
[HttpGet] function GetCustomer(ID: string): TCustomerItem; [HttpGet] function GetCustomer(ID: string): TCustomerItem;
[HttpGet] function GenerateReportPDF(searchOptions: string): string; [HttpGet] function GenerateOrderListPDF(searchOptions: string): string;
[HttpGet] function GenerateOrderCorrugatedPDF(orderID: string): string;
function AddUser(userInfo: string): string; function AddUser(userInfo: string): string;
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// file. // file.
// Authors: // Authors:
// Cameron Hayes // Cameron Hayes
// Mac ... // Mac Stephens
// Elias Sarraf // Elias Sarraf
unit Lookup.ServiceImpl; unit Lookup.ServiceImpl;
...@@ -19,7 +19,7 @@ uses ...@@ -19,7 +19,7 @@ uses
iexToolbars, iexUserInteractions, imageenio, imageenproc, QuickRpt, QRCtrls, iexToolbars, iexUserInteractions, imageenio, imageenproc, QuickRpt, QRCtrls,
dbimageen, Vcl.ExtCtrls, ieview, imageenview, IdBaseComponent, IdComponent, dbimageen, Vcl.ExtCtrls, ieview, imageenview, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP, IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP,
iexProcEffects, frxDBSet, frxExportBaseDialog, frCoreClasses, rOrders, Common.Logging; iexProcEffects, frxDBSet, frxExportBaseDialog, frCoreClasses, rOrderList, rOrderCorrugated, Common.Logging;
type type
...@@ -35,7 +35,8 @@ type ...@@ -35,7 +35,8 @@ type
function GetCustomers(): TCustomerList; function GetCustomers(): TCustomerList;
function GetCustomer(ID: string): TCustomerItem; function GetCustomer(ID: string): TCustomerItem;
function EditUser(const editOptions: string): string; function EditUser(const editOptions: string): string;
function GenerateReportPDF(searchOptions: string): string; function GenerateOrderListPDF(searchOptions: string): string;
function GenerateOrderCorrugatedPDF(orderID: string): string;
function AddUser(userInfo: string): string; function AddUser(userInfo: string): string;
function AddItem(itemInfo: string): string; function AddItem(itemInfo: string): string;
function DelUser(username: string): string; function DelUser(username: string): string;
...@@ -137,32 +138,49 @@ begin ...@@ -137,32 +138,49 @@ begin
end; end;
function TLookupService.GenerateReportPDF(searchOptions: string): string; function TLookupService.GenerateOrderListPDF(searchOptions: string): string;
// Generates a report pdf based on the last search (if any) Linked to rOrders // Generates a report pdf based on the last search (if any) Linked to rOrders
// file which does most of the work. // file which does most of the work.
var var
SQL: string; SQL: string;
rptOrders: TrptOrders; // Local instance of rptOrders rptOrderList: TrptOrderList; // Local instance of rptOrders
begin begin
// Create instance of rptOrders rptOrderList := TrptOrderList.Create(nil);
rptOrders := TrptOrders.Create(nil);
try try
// Generate SQL dynamically using the existing GetOrders logic
SQL := GenerateOrdersSQL(searchOptions).SQL; SQL := GenerateOrdersSQL(searchOptions).SQL;
result := rptOrderList.PrepareReport(SQL);
// Prepare the report dataset //rptOrderList.GeneratePDF;
result := rptOrders.PrepareReport(SQL);
// Generate the PDF report
//rptOrders.GeneratePDF;
// Optionally, log success // Optionally, log success
Logger.log(5, 'PDF Report successfully generated for searchOptions: ' + searchOptions); Logger.log(5, 'PDF Report successfully generated for searchOptions: ' + searchOptions);
finally finally
rptOrders.Free; rptOrderList.Free;
end; end;
end; end;
function TLookupService.GenerateOrderCorrugatedPDF(orderID: string): string;
var
SQL: string;
rptOrderCorrugated: TrptOrderCorrugated; // Local instance of the report
begin
rptOrderCorrugated := TrptOrderCorrugated.Create(nil);
try
// Generate SQL query for a single order
SQL := 'SELECT * FROM orders WHERE ORDER_ID = ' + QuotedStr(orderID);
// Prepare the report with the query
Result := rptOrderCorrugated.PrepareReport(SQL);
// Optionally log success
Logger.Log(5, 'PDF Report successfully generated for order ID: ' + orderID);
finally
rptOrderCorrugated.Free;
end;
end;
function TLookupService.generateSubQuery(currStatus: string): string; function TLookupService.generateSubQuery(currStatus: string): string;
// Generates the subquery in order to retrieve all the status due/done dates // Generates the subquery in order to retrieve all the status due/done dates
// This must be a subquery because there are at most 5 different entries which // This must be a subquery because there are at most 5 different entries which
...@@ -384,20 +402,30 @@ function TLookupService.getColorCount(colors: string): string; ...@@ -384,20 +402,30 @@ function TLookupService.getColorCount(colors: string): string;
var var
colorObject: TJSONObject; colorObject: TJSONObject;
colorList: TJSONArray; colorList: TJSONArray;
temp: string;
temp2: string;
begin begin
if colors = '' then if colors = '' then
result := '0' Result := '0'
else else
begin begin
colorObject := TJSONObject.ParseJSONValue(colors) as TJSONObject; colorObject := TJSONObject.ParseJSONValue(colors) as TJSONObject;
colorList := TJSONArray(colorObject.GetValue('items')); try
//temp := colorList.toString; if Assigned(colorObject) then
result := IntToStr(colorList.Count); begin
colorList := colorObject.GetValue<TJSONArray>('items');
if Assigned(colorList) then
Result := IntToStr(colorList.Count)
else
Result := '0';
end
else
Result := '0';
finally
colorObject.Free;
end;
end; end;
end; end;
function TLookupService.GetOrders(searchOptions: string): TOrderList; function TLookupService.GetOrders(searchOptions: string): TOrderList;
var var
SQL: string; SQL: string;
...@@ -405,69 +433,76 @@ var ...@@ -405,69 +433,76 @@ var
Order: TOrderItem; Order: TOrderItem;
colors: string; colors: string;
ColorType: string; ColorType: string;
SQLArray: TArray<string>;
SQLQuery: TSQLQuery; SQLQuery: TSQLQuery;
begin begin
SQLQuery := generateOrdersSQL(searchOptions); SQLQuery := generateOrdersSQL(searchOptions);
TXDataOperationContext.Current.Handler.ManagedObjects.Add(SQLQuery); // Added SQLQuery to ManagedObjects
SQL := SQLQuery.SQL; Result := TOrderList.Create;
whereSQL := SQLQuery.whereSQL; try
Result.data := TList<TOrderItem>.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result.data);
doQuery(ordersDB.UniQuery1, SQL); SQL := SQLQuery.SQL;
whereSQL := SQLQuery.whereSQL;
Result:= TOrderList.Create; doQuery(ordersDB.UniQuery1, SQL);
Result.data := TList<TOrderItem>.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add( Result.data ); while not ordersDB.UniQuery1.Eof do
while not ordersDB.UniQuery1.Eof do
begin
Order := TOrderItem.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add( Order );
Result.data.Add( Order );
order.ID := ordersDB.UniQuery1.FieldByName('ORDER_ID').AsString;
order.companyName := ordersDB.UniQuery1.FieldByName('COMPANY_NAME').AsString;
order.jobName := ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString;
order.orderDate := ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsString;
order.proofDue := ordersDB.UniQuery1.FieldByName('PROOF_DUE').AsString;
order.proofDone := ordersDB.UniQuery1.FieldByName('PROOF_DONE').AsString;
order.artDue := ordersDB.UniQuery1.FieldByName('ART_DUE').AsString;
order.artDone := ordersDB.UniQuery1.FieldByName('ART_DONE').AsString;
order.plateDue := ordersDB.UniQuery1.FieldByName('PLATE_DUE').AsString;
order.plateDone := ordersDB.UniQuery1.FieldByName('PLATE_DONE').AsString;
order.mountDue := ordersDB.UniQuery1.FieldByName('MOUNT_DUE').AsString;
order.mountDone := ordersDB.UniQuery1.FieldByName('MOUNT_DONE').AsString;
order.shipDue := ordersDB.UniQuery1.FieldByName('SHIP_DUE').AsString;
order.shipDone := ordersDB.UniQuery1.FieldByName('SHIP_DONE').AsString;
order.price := ordersDB.UniQuery1.FieldByName('PRICE').AsString;
order.qbRefNum := ordersDB.UniQuery1.FieldByName('QB_REF_NUM').AsString;
order.orderType := ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString.Replace('_', ' ');
if ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString = 'web_plate' then
begin
colorType := 'quantity_and_colors_qty_colors';
SQL := 'Select quantity_and_colors_qty_colors from web_plate_orders where order_id = ' + order.ID;
end
else
begin begin
colorType := 'colors_colors'; Order := TOrderItem.Create;
SQL := 'Select colors_colors from corrugated_plate_orders where order_id = ' + order.ID; TXDataOperationContext.Current.Handler.ManagedObjects.Add(Order);
end; Result.data.Add(Order);
Order.ID := ordersDB.UniQuery1.FieldByName('ORDER_ID').AsString;
Order.companyName := ordersDB.UniQuery1.FieldByName('COMPANY_NAME').AsString;
Order.jobName := ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString;
Order.orderDate := ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsString;
Order.proofDue := ordersDB.UniQuery1.FieldByName('PROOF_DUE').AsString;
Order.proofDone := ordersDB.UniQuery1.FieldByName('PROOF_DONE').AsString;
Order.artDue := ordersDB.UniQuery1.FieldByName('ART_DUE').AsString;
Order.artDone := ordersDB.UniQuery1.FieldByName('ART_DONE').AsString;
Order.plateDue := ordersDB.UniQuery1.FieldByName('PLATE_DUE').AsString;
Order.plateDone := ordersDB.UniQuery1.FieldByName('PLATE_DONE').AsString;
Order.mountDue := ordersDB.UniQuery1.FieldByName('MOUNT_DUE').AsString;
Order.mountDone := ordersDB.UniQuery1.FieldByName('MOUNT_DONE').AsString;
Order.shipDue := ordersDB.UniQuery1.FieldByName('SHIP_DUE').AsString;
Order.shipDone := ordersDB.UniQuery1.FieldByName('SHIP_DONE').AsString;
Order.price := ordersDB.UniQuery1.FieldByName('PRICE').AsString;
Order.qbRefNum := ordersDB.UniQuery1.FieldByName('QB_REF_NUM').AsString;
Order.orderType := ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString.Replace('_', ' ');
if ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString = 'web_plate' then
begin
ColorType := 'quantity_and_colors_qty_colors';
SQL := 'Select quantity_and_colors_qty_colors from web_plate_orders where order_id = ' + Order.ID;
end
else
begin
ColorType := 'colors_colors';
SQL := 'Select colors_colors from corrugated_plate_orders where order_id = ' + Order.ID;
end;
doQuery(ordersDB.UniQuery2, SQL); doQuery(ordersDB.UniQuery2, SQL);
colors := ordersDB.UniQuery2.FieldByName(ColorType).AsString; colors := ordersDB.UniQuery2.FieldByName(ColorType).AsString;
order.colors := getColorCount(colors); Order.colors := GetColorCount(colors);
ordersDB.UniQuery1.Next; ordersDB.UniQuery1.Next;
end; end;
ordersDB.UniQuery1.Close; ordersDB.UniQuery1.Close;
SQL := 'SELECT COUNT(*) AS total_count ' + whereSQL;
doQuery(ordersDB.UniQuery1, SQL); SQL := 'SELECT COUNT(*) AS total_count ' + whereSQL;
Result.count := ordersDB.UniQuery1.FieldByName('total_count').AsInteger; doQuery(ordersDB.UniQuery1, SQL);
Result.count := ordersDB.UniQuery1.FieldByName('total_count').AsInteger;
ordersDB.UniQuery1.Close; ordersDB.UniQuery1.Close;
except
Result.Free; // Cleaned up memory in case of exceptions
end;
end; end;
function TLookupService.GetOrder(orderInfo: string): TFullOrder; function TLookupService.GetOrder(orderInfo: string): TFullOrder;
// Gets on singular order from the database for the order entry page. // Gets on singular order from the database for the order entry page.
// orderInfo: the ORDER_ID. // orderInfo: the ORDER_ID.
...@@ -1000,18 +1035,126 @@ begin ...@@ -1000,18 +1035,126 @@ begin
ordersDB.UniQuery1.Close; ordersDB.UniQuery1.Close;
end; end;
// -- Keeping this here in case you need to revert to it for some reason.
// -- The new version handles the memory issue on the exception.
//function TLookupService.AddCorrugatedOrder(orderInfo: string): TJSONObject;
//var
// JSONData, ResponseData: TJSONObject;
// SQL: string;
// Pair: TJSONPair;
// Field: TField;
// DateFormat: TFormatSettings;
// ORDER_ID: integer;
// mode: string;
//begin
// DateFormat := TFormatSettings.Create;
// DateFormat.ShortDateFormat := 'yyyy-mm-dd';
// DateFormat.DateSeparator := '-';
// JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
// if JSONData = nil then
// raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception
// mode := JSONData.GetValue<string>('mode');
// if mode = 'ADD' then
// SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
// else
// begin
// ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
// SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
// end;
// doQuery(ordersDB.UniQuery1, SQL);
// try
// if mode = 'ADD' then
// ordersDB.UniQuery1.Insert
// else
// ordersDB.UniQuery1.Edit;
//
// for Pair in JSONData do
// begin
// Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset
// if Assigned(Field) then
// begin
// // handles any dates or datetimes
// if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
// TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
// else if Pair.JsonValue.Value <> '' then
// Field.AsString := Pair.JsonValue.Value;
// end;
// end;
//
// // Post the record to the database
// ordersDB.UniQuery1.Post;
//
// if mode = 'ADD' then
// begin
// SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0';
// doQuery(ordersDB.UniQuery1, SQL);
// ordersDB.UniQuery1.Insert;
// end
// else
// begin
// SQL := 'select * from orders where ORDER_ID = ' + IntToStr(ORDER_ID);
// doQuery(ordersDB.UniQuery1, SQL);
// end;
//
// ordersDB.UniQuery1.FieldByName('COMPANY_ID').AsString := JSONData.GetValue<string>('COMPANY_ID');
// ordersDB.UniQuery1.FieldByName('ORDER_TYPE').AsString := 'corrugated_plate';
//
// if mode = 'ADD' then
// ordersDB.UniQuery1.FieldByName('ORDER_DATE').AsDateTime := Now;
//
// if JSONData.GetValue<string>('staff_fields_price') = '' then
// ordersDB.UniQuery1.FieldByName('PRICE').AsString := '0'
// else
// ordersDB.UniQuery1.FieldByName('PRICE').AsString := JSONData.GetValue<string>('staff_fields_price');
//
// ordersDB.UniQuery1.FieldByName('JOB_NAME').AsString := JSONData.GetValue<string>('staff_fields_job_name');
// ordersDB.UniQuery1.FieldByName('USER_ID').AsString := JSONData.GetValue<string>('USER_ID');
// ordersDB.UniQuery1.FieldByName('LOCATION').AsString := JSONData.GetValue<string>('staff_fields_art_location');
//
// ordersDB.UniQuery1.Post;
//
// ordersDB.UniQuery1.Close;
// if mode = 'ADD' then
// begin
// ordersDB.UniQuery1.SQL.Text := 'SELECT LAST_INSERT_ID() AS OrderID'; // Use database's method to get the last inserted ID
// ordersDB.UniQuery1.Open;
// ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
// end;
//
// if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
// AddStatusSchedule('PROOF', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
// AddStatusSchedule('SHIP', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
// AddStatusSchedule('ART', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
// AddStatusSchedule('PLATE', JSONData, ORDER_ID);
// if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then
// AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
//
// Result := TJSONObject.Create.AddPair('status', 'success');
// TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
// except
// on E: Exception do
// begin
// Result := TJSONObject.Create.AddPair('error', E.Message);
// end;
// end;
//end;
function TLookupService.AddCorrugatedOrder(orderInfo: string): TJSONObject; function TLookupService.AddCorrugatedOrder(orderInfo: string): TJSONObject;
// Adds corrugated order to the database. This process is done in 3 different // Adds corrugated order to the database. This process is done in 3 different
// tables so if any changes are made make sure to check orders, corrugated_plate_orders // tables so if any changes are made make sure to check orders, corrugated_plate_orders
// and orders_status_schedule. This also functions as an edit function. // and orders_status_schedule. This also functions as an edit function.
// orderInfo - all the inputted order information from client side. // orderInfo - all the inputted order information from client side.
var var
JSONData, ResponseData: TJSONObject; JSONData: TJSONObject;
SQL: string; SQL: string;
Pair: TJSONPair; Pair: TJSONPair;
Field: TField; Field: TField;
DateFormat: TFormatSettings; DateFormat: TFormatSettings;
CurrDate: TDateTime;
ORDER_ID: integer; ORDER_ID: integer;
mode: string; mode: string;
temp: string; temp: string;
...@@ -1019,14 +1162,50 @@ begin ...@@ -1019,14 +1162,50 @@ begin
DateFormat := TFormatSettings.Create; DateFormat := TFormatSettings.Create;
DateFormat.ShortDateFormat := 'yyyy-mm-dd'; DateFormat.ShortDateFormat := 'yyyy-mm-dd';
DateFormat.DateSeparator := '-'; DateFormat.DateSeparator := '-';
// Initialize Result object and add it to ManagedObjects upfront
Result := TJSONObject.Create;
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject; JSONData := TJSONObject.ParseJSONValue(orderInfo) as TJSONObject;
if JSONData = nil then if JSONData = nil then
raise Exception.Create('Invalid JSON format'); // If parsing fails, raise an exception begin
Result.AddPair('error', 'Invalid JSON format'); // Populate error in Result
Exit;
end;
mode := JSONData.GetValue<string>('mode'); mode := JSONData.GetValue<string>('mode');
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
try
doQuery(ordersDB.UniQuery1, SQL);
// Add entry to Orders Table to retrieve the order ID if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
if mode = 'ADD' then for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value);
if Assigned(Field) then
begin
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value, DateFormat)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
ordersDB.UniQuery1.Post;
if mode = 'ADD' then
begin begin
SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0'; SQL := 'select * from orders where ORDER_ID = 0 and ORDER_ID <> 0';
doQuery(ordersDB.UniQuery1, SQL); doQuery(ordersDB.UniQuery1, SQL);
...@@ -1061,8 +1240,6 @@ begin ...@@ -1061,8 +1240,6 @@ begin
ordersDB.UniQuery1.Post; ordersDB.UniQuery1.Post;
ordersDB.UniQuery1.Close;
//Retrieve Order ID //Retrieve Order ID
if mode = 'ADD' then if mode = 'ADD' then
begin begin
...@@ -1071,61 +1248,66 @@ begin ...@@ -1071,61 +1248,66 @@ begin
ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger; ORDER_ID := ordersDB.UniQuery1.FieldByName('OrderID').AsInteger;
end; end;
// Second query
if mode = 'ADD' then
SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else
begin
ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
end;
doQuery(ordersDB.UniQuery1, SQL);
try
if mode = 'ADD' then if mode = 'ADD' then
ordersDB.UniQuery1.Insert SQL := 'select * from corrugated_plate_orders where ORDER_ID = 0 and ORDER_ID <> 0'
else else
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
begin begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value); // Checks if the field exists in the dataset ORDER_ID := JSONData.GetValue<integer>('ORDER_ID');
if Assigned(Field) then SQL := 'select * from corrugated_plate_orders where ORDER_ID = ' + IntToStr(ORDER_ID);
begin
// handles any dates or datetimes
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end; end;
ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID; doQuery(ordersDB.UniQuery1, SQL);
// Post the record to the database try
ordersDB.UniQuery1.Post; if mode = 'ADD' then
ordersDB.UniQuery1.Insert
else
ordersDB.UniQuery1.Edit;
for Pair in JSONData do
begin
Field := ordersDB.UniQuery1.FindField(Pair.JsonString.Value);
if Assigned(Field) then
begin
if (Field is TDateTimeField) and (Pair.JsonValue.Value <> '') then
TDateTimeField(Field).AsDateTime := StrToDate(Pair.JsonValue.Value)
else if Pair.JsonValue.Value <> '' then
Field.AsString := Pair.JsonValue.Value;
end;
end;
if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then ordersDB.UniQuery1.FieldByName('ORDER_ID').AsInteger := ORDER_ID;
AddStatusSchedule('PROOF', JSONData, ORDER_ID); ordersDB.UniQuery1.Post;
if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
AddStatusSchedule('SHIP', JSONData, ORDER_ID); if JSONData.GetValue<string>('staff_fields_proof_date') <> '' then
if JSONData.GetValue<string>('staff_fields_art_due') <> '' then AddStatusSchedule('PROOF', JSONData, ORDER_ID);
AddStatusSchedule('ART', JSONData, ORDER_ID); if JSONData.GetValue<string>('staff_fields_ship_date') <> '' then
if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then AddStatusSchedule('SHIP', JSONData, ORDER_ID);
AddStatusSchedule('PLATE', JSONData, ORDER_ID); if JSONData.GetValue<string>('staff_fields_art_due') <> '' then
if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then AddStatusSchedule('ART', JSONData, ORDER_ID);
AddStatusSchedule('MOUNT', JSONData, ORDER_ID); if JSONData.GetValue<string>('staff_fields_plate_due') <> '' then
AddStatusSchedule('PLATE', JSONData, ORDER_ID);
if JSONData.GetValue<string>('staff_fields_mount_due') <> '' then
AddStatusSchedule('MOUNT', JSONData, ORDER_ID);
// Updated so an object isn't being created in the exception for memory control
Result.AddPair('status', 'success');
finally
ordersDB.UniQuery1.Close;
end;
Result := TJSONObject.Create.AddPair('status', 'success'); except
TXDataOperationContext.Current.Handler.ManagedObjects.Add(Result);
except
on E: Exception do on E: Exception do
begin begin
Result := TJSONObject.Create.AddPair('error', E.Message); Result.AddPair('error', E.Message);
end; end;
end; end;
end; end;
function TLookupService.AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string; function TLookupService.AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string;
// Adds/edits orders_status_schedule table. // Adds/edits orders_status_schedule table.
// StatusType: name of the status getting added to the schedule. // StatusType: name of the status getting added to the schedule.
......
unit Main; unit Main;
//Authors: //Authors:
//Elias Sarraf //Elias Sarraf
//Mac ... //Mac Stephens
//Cameron Hayes //Cameron Hayes
interface interface
......
object rptOrderCorrugated: TrptOrderCorrugated
Height = 480
Width = 640
object uqOrderCorrugated: TUniQuery
Connection = ucKG
SQL.Strings = (
'SELECT '
' o.*, '
' c.NAME AS COMPANY_NAME '
'FROM corrugated_plate_orders o'
'JOIN customers c ON c.CUSTOMER_ID = o.COMPANY_ID'
'WHERE o.ORDER_ID = 401'
'')
Active = True
Left = 444
Top = 124
object uqOrderCorrugatedORDER_ID: TIntegerField
FieldName = 'ORDER_ID'
Required = True
end
object uqOrderCorrugatedCOMPANY_ID: TIntegerField
FieldName = 'COMPANY_ID'
Required = True
end
object uqOrderCorrugatedUSER_ID: TIntegerField
FieldName = 'USER_ID'
Required = True
end
object uqOrderCorrugatedORDER_DATE: TDateTimeField
FieldName = 'ORDER_DATE'
end
object uqOrderCorrugatedSTART_DATE: TDateField
FieldName = 'START_DATE'
end
object uqOrderCorrugatedEND_DATE: TDateField
FieldName = 'END_DATE'
end
object uqOrderCorrugatedORDER_STATUS: TStringField
FieldName = 'ORDER_STATUS'
Size = 10
end
object uqOrderCorrugatedSCHED_JSON: TStringField
FieldName = 'SCHED_JSON'
Size = 4096
end
object uqOrderCorrugatedstaff_fields_order_date: TDateField
FieldName = 'staff_fields_order_date'
end
object uqOrderCorrugatedstaff_fields_proof_date: TDateField
FieldName = 'staff_fields_proof_date'
end
object uqOrderCorrugatedstaff_fields_ship_date: TDateField
FieldName = 'staff_fields_ship_date'
end
object uqOrderCorrugatedstaff_fields_ship_via: TStringField
FieldName = 'staff_fields_ship_via'
Size = 45
end
object uqOrderCorrugatedstaff_fields_price: TStringField
FieldName = 'staff_fields_price'
Size = 10
end
object uqOrderCorrugatedstaff_fields_invoice_to: TStringField
FieldName = 'staff_fields_invoice_to'
Size = 128
end
object uqOrderCorrugatedstaff_fields_invoice_attention: TStringField
FieldName = 'staff_fields_invoice_attention'
Size = 256
end
object uqOrderCorrugatedstaff_fields_ship_to: TStringField
FieldName = 'staff_fields_ship_to'
Size = 128
end
object uqOrderCorrugatedstaff_fields_ship_attention: TStringField
FieldName = 'staff_fields_ship_attention'
Size = 256
end
object uqOrderCorrugatedstaff_fields_po_number: TStringField
FieldName = 'staff_fields_po_number'
Size = 16
end
object uqOrderCorrugatedstaff_fields_job_name: TStringField
FieldName = 'staff_fields_job_name'
Size = 45
end
object uqOrderCorrugatedstaff_fields_art_due: TDateField
FieldName = 'staff_fields_art_due'
end
object uqOrderCorrugatedstaff_fields_plate_due: TDateField
FieldName = 'staff_fields_plate_due'
end
object uqOrderCorrugatedstaff_fields_mount_due: TDateField
FieldName = 'staff_fields_mount_due'
end
object uqOrderCorrugatedplates_job_number: TStringField
FieldName = 'plates_job_number'
Size = 16
end
object uqOrderCorrugatedsupplied_by_customer_b_w_copy: TStringField
FieldName = 'supplied_by_customer_b_w_copy'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_color_copy: TStringField
FieldName = 'supplied_by_customer_color_copy'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_plates: TStringField
FieldName = 'supplied_by_customer_plates'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_sample_ca: TStringField
FieldName = 'supplied_by_customer_sample_ca'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_dimension: TStringField
FieldName = 'supplied_by_customer_dimension'
Size = 64
end
object uqOrderCorrugatedsupplied_by_customer_disk_or_cd: TStringField
FieldName = 'supplied_by_customer_disk_or_cd'
Size = 1
end
object uqOrderCorrugatedsupplied_by_customer_e_mail: TStringField
FieldName = 'supplied_by_customer_e_mail'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_ftp: TStringField
FieldName = 'supplied_by_customer_ftp'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_other: TStringField
FieldName = 'supplied_by_customer_other'
Size = 96
end
object uqOrderCorrugatedsupplied_by_customer_existing_: TStringField
FieldName = 'supplied_by_customer_existing_'
Size = 16
end
object uqOrderCorrugatedsupplied_by_customer_ref_art_p: TStringField
FieldName = 'supplied_by_customer_ref_art_p'
Size = 256
end
object uqOrderCorrugatedsupplied_by_customer_ref_art_a: TStringField
FieldName = 'supplied_by_customer_ref_art_a'
Size = 256
end
object uqOrderCorrugatedcut_die_cutdier: TStringField
FieldName = 'cut_die_cutdier'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdieb: TStringField
FieldName = 'cut_die_cutdieb'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdief: TStringField
FieldName = 'cut_die_cutdief'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdierkr: TStringField
FieldName = 'cut_die_cutdierkr'
Size = 10
end
object uqOrderCorrugatedcut_die_cutdiefkr: TStringField
FieldName = 'cut_die_cutdiefkr'
Size = 10
end
object uqOrderCorrugatedcut_die_cad_file: TStringField
FieldName = 'cut_die_cad_file'
Size = 128
end
object uqOrderCorrugatedcut_die_attached: TStringField
FieldName = 'cut_die_attached'
Size = 1
end
object uqOrderCorrugatedcut_die_boxpol250: TStringField
FieldName = 'cut_die_boxpol250'
Size = 10
end
object uqOrderCorrugatedcut_die_boxpol155: TStringField
FieldName = 'cut_die_boxpol155'
Size = 10
end
object uqOrderCorrugatedcut_die_boxpol125: TStringField
FieldName = 'cut_die_boxpol125'
Size = 10
end
object uqOrderCorrugatedcut_die_brub: TStringField
FieldName = 'cut_die_brub'
Size = 10
end
object uqOrderCorrugatedproofing_fax: TStringField
FieldName = 'proofing_fax'
Size = 16
end
object uqOrderCorrugatedproofing_fax_attn: TStringField
FieldName = 'proofing_fax_attn'
Size = 256
end
object uqOrderCorrugatedproofing_e_mail: TStringField
FieldName = 'proofing_e_mail'
Size = 256
end
object uqOrderCorrugatedproofing_e_mail_attn: TStringField
FieldName = 'proofing_e_mail_attn'
Size = 256
end
object uqOrderCorrugatedproofing_ship_to: TStringField
FieldName = 'proofing_ship_to'
Size = 1024
end
object uqOrderCorrugatedproofing_full_size_panel: TStringField
FieldName = 'proofing_full_size_panel'
Size = 1
end
object uqOrderCorrugatedproofing_print_card: TStringField
FieldName = 'proofing_print_card'
Size = 1
end
object uqOrderCorrugatedproofing_wide_format: TStringField
FieldName = 'proofing_wide_format'
Size = 1
end
object uqOrderCorrugatedproofing_pdf_file: TStringField
FieldName = 'proofing_pdf_file'
Size = 1
end
object uqOrderCorrugatedproofing_other: TStringField
FieldName = 'proofing_other'
Size = 64
end
object uqOrderCorrugatedproofing_art_approved_as_is: TStringField
FieldName = 'proofing_art_approved_as_is'
Size = 1
end
object uqOrderCorrugatedproofing_approved_date: TDateField
FieldName = 'proofing_approved_date'
end
object uqOrderCorrugatedproofing_changes_required: TStringField
FieldName = 'proofing_changes_required'
Size = 1
end
object uqOrderCorrugatedproofing_changes_date: TDateField
FieldName = 'proofing_changes_date'
end
object uqOrderCorrugatedlayout_rsc_l: TStringField
FieldName = 'layout_rsc_l'
Size = 10
end
object uqOrderCorrugatedlayout_rcs_w: TStringField
FieldName = 'layout_rcs_w'
Size = 10
end
object uqOrderCorrugatedlayout_rcs_d: TStringField
FieldName = 'layout_rcs_d'
Size = 10
end
object uqOrderCorrugatedlayout_die_cut_no: TStringField
FieldName = 'layout_die_cut_no'
Size = 45
end
object uqOrderCorrugatedlayout_accross_no: TStringField
FieldName = 'layout_accross_no'
Size = 10
end
object uqOrderCorrugatedlayout_around_no: TStringField
FieldName = 'layout_around_no'
Size = 10
end
object uqOrderCorrugatedlayout_cad_file: TStringField
FieldName = 'layout_cad_file'
Size = 45
end
object uqOrderCorrugatedlayout_excalibur_die: TStringField
FieldName = 'layout_excalibur_die'
Size = 1
end
object uqOrderCorrugatedmounting_loose: TStringField
FieldName = 'mounting_loose'
Size = 10
end
object uqOrderCorrugatedmounting_sticky_bak: TStringField
FieldName = 'mounting_sticky_bak'
Size = 1
end
object uqOrderCorrugatedmounting_full_mount: TStringField
FieldName = 'mounting_full_mount'
Size = 1
end
object uqOrderCorrugatedmounting_strip_mount: TStringField
FieldName = 'mounting_strip_mount'
Size = 10
end
object uqOrderCorrugatedcolors_cylinder_size: TStringField
FieldName = 'colors_cylinder_size'
Size = 45
end
object uqOrderCorrugatedcolors_machine_ident: TStringField
FieldName = 'colors_machine_ident'
Size = 45
end
object uqOrderCorrugatedmounting_standard_setup: TStringField
FieldName = 'mounting_standard_setup'
Size = 45
end
object uqOrderCorrugatedmounting_custom_backing: TStringField
FieldName = 'mounting_custom_backing'
Size = 96
end
object uqOrderCorrugatedmounting_custom_adhesive: TStringField
FieldName = 'mounting_custom_adhesive'
Size = 45
end
object uqOrderCorrugatedcolors_cross_hairs: TStringField
FieldName = 'colors_cross_hairs'
Size = 10
end
object uqOrderCorrugatedcolors_clemson: TStringField
FieldName = 'colors_clemson'
Size = 10
end
object uqOrderCorrugatedplates_thickness: TStringField
FieldName = 'plates_thickness'
Size = 5
end
object uqOrderCorrugatedplates_plate_material: TStringField
FieldName = 'plates_plate_material'
Size = 16
end
object uqOrderCorrugatedgeneral_special_instructions: TStringField
FieldName = 'general_special_instructions'
Size = 2048
end
object uqOrderCorrugatedcolors_colors: TStringField
FieldName = 'colors_colors'
Size = 4096
end
object uqOrderCorrugatedstaff_fields_quickbooks_item: TStringField
FieldName = 'staff_fields_quickbooks_item'
Size = 45
end
object uqOrderCorrugatedstaff_fields_quantity: TStringField
FieldName = 'staff_fields_quantity'
Size = 10
end
object uqOrderCorrugatedlayout_rsc_style: TStringField
FieldName = 'layout_rsc_style'
Size = 32
end
object uqOrderCorrugatedstaff_fields_art_location: TStringField
FieldName = 'staff_fields_art_location'
Size = 16
end
object uqOrderCorrugatedCOMPANY_NAME: TStringField
FieldName = 'COMPANY_NAME'
ReadOnly = True
Size = 90
end
end
object ucKG: TUniConnection
ProviderName = 'MySQL'
Database = 'kg_order_entry'
Username = 'root'
Server = '192.168.102.130'
Connected = True
LoginPrompt = False
Left = 289
Top = 119
EncryptedPassword = '9AFF92FF8CFF86FF8CFFCFFFCEFF'
end
object frxPDFExport1: TfrxPDFExport
UseFileCache = True
ShowProgress = True
OverwritePrompt = False
DataOnly = False
EmbedFontsIfProtected = False
InteractiveFormsFontSubset = 'A-Z,a-z,0-9,#43-#47 '
OpenAfterExport = False
PrintOptimized = False
Outline = False
Background = False
HTMLTags = True
Quality = 95
Author = 'FastReport'
Subject = 'FastReport PDF export'
Creator = 'FastReport'
ProtectionFlags = [ePrint, eModify, eCopy, eAnnot]
HideToolbar = False
HideMenubar = False
HideWindowUI = False
FitWindow = False
CenterWindow = False
PrintScaling = False
PdfA = False
PDFStandard = psNone
PDFVersion = pv17
Left = 294
Top = 188
end
object frxDBOrderCorrugated: TfrxDBDataset
UserName = 'frxDBOrderCorrugated'
CloseDataSource = False
DataSet = uqOrderCorrugated
BCDToCurrency = False
DataSetOptions = []
Left = 444
Top = 206
FieldDefs = <
item
FieldName = 'ORDER_ID'
end
item
FieldName = 'COMPANY_ID'
end
item
FieldName = 'USER_ID'
end
item
FieldName = 'ORDER_DATE'
FieldType = fftDateTime
end
item
FieldName = 'START_DATE'
FieldType = fftDateTime
end
item
FieldName = 'END_DATE'
FieldType = fftDateTime
end
item
FieldName = 'ORDER_STATUS'
FieldType = fftString
end
item
FieldName = 'SCHED_JSON'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_order_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_proof_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_date'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_ship_via'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_price'
FieldType = fftString
end
item
FieldName = 'staff_fields_invoice_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_invoice_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_ship_to'
FieldType = fftString
Size = 128
end
item
FieldName = 'staff_fields_ship_attention'
FieldType = fftString
Size = 256
end
item
FieldName = 'staff_fields_po_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'staff_fields_job_name'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_art_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_plate_due'
FieldType = fftDateTime
end
item
FieldName = 'staff_fields_mount_due'
FieldType = fftDateTime
end
item
FieldName = 'plates_job_number'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_b_w_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_color_copy'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_plates'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_sample_ca'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_dimension'
FieldType = fftString
Size = 64
end
item
FieldName = 'supplied_by_customer_disk_or_cd'
FieldType = fftString
end
item
FieldName = 'supplied_by_customer_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ftp'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_other'
FieldType = fftString
Size = 96
end
item
FieldName = 'supplied_by_customer_existing_'
FieldType = fftString
Size = 16
end
item
FieldName = 'supplied_by_customer_ref_art_p'
FieldType = fftString
Size = 256
end
item
FieldName = 'supplied_by_customer_ref_art_a'
FieldType = fftString
Size = 256
end
item
FieldName = 'cut_die_cutdier'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdieb'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdief'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdierkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cutdiefkr'
FieldType = fftString
end
item
FieldName = 'cut_die_cad_file'
FieldType = fftString
Size = 128
end
item
FieldName = 'cut_die_attached'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol250'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol155'
FieldType = fftString
end
item
FieldName = 'cut_die_boxpol125'
FieldType = fftString
end
item
FieldName = 'cut_die_brub'
FieldType = fftString
end
item
FieldName = 'proofing_fax'
FieldType = fftString
Size = 16
end
item
FieldName = 'proofing_fax_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_e_mail_attn'
FieldType = fftString
Size = 256
end
item
FieldName = 'proofing_ship_to'
FieldType = fftString
Size = 1024
end
item
FieldName = 'proofing_full_size_panel'
FieldType = fftString
end
item
FieldName = 'proofing_print_card'
FieldType = fftString
end
item
FieldName = 'proofing_wide_format'
FieldType = fftString
end
item
FieldName = 'proofing_pdf_file'
FieldType = fftString
end
item
FieldName = 'proofing_other'
FieldType = fftString
Size = 64
end
item
FieldName = 'proofing_art_approved_as_is'
FieldType = fftString
end
item
FieldName = 'proofing_approved_date'
FieldType = fftDateTime
end
item
FieldName = 'proofing_changes_required'
FieldType = fftString
end
item
FieldName = 'proofing_changes_date'
FieldType = fftDateTime
end
item
FieldName = 'layout_rsc_l'
FieldType = fftString
end
item
FieldName = 'layout_rcs_w'
FieldType = fftString
end
item
FieldName = 'layout_rcs_d'
FieldType = fftString
end
item
FieldName = 'layout_die_cut_no'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_accross_no'
FieldType = fftString
end
item
FieldName = 'layout_around_no'
FieldType = fftString
end
item
FieldName = 'layout_cad_file'
FieldType = fftString
Size = 45
end
item
FieldName = 'layout_excalibur_die'
FieldType = fftString
end
item
FieldName = 'mounting_loose'
FieldType = fftString
end
item
FieldName = 'mounting_sticky_bak'
FieldType = fftString
end
item
FieldName = 'mounting_full_mount'
FieldType = fftString
end
item
FieldName = 'mounting_strip_mount'
FieldType = fftString
end
item
FieldName = 'colors_cylinder_size'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_machine_ident'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_standard_setup'
FieldType = fftString
Size = 45
end
item
FieldName = 'mounting_custom_backing'
FieldType = fftString
Size = 96
end
item
FieldName = 'mounting_custom_adhesive'
FieldType = fftString
Size = 45
end
item
FieldName = 'colors_cross_hairs'
FieldType = fftString
end
item
FieldName = 'colors_clemson'
FieldType = fftString
end
item
FieldName = 'plates_thickness'
FieldType = fftString
end
item
FieldName = 'plates_plate_material'
FieldType = fftString
Size = 16
end
item
FieldName = 'general_special_instructions'
FieldType = fftString
Size = 2048
end
item
FieldName = 'colors_colors'
FieldType = fftString
Size = 4096
end
item
FieldName = 'staff_fields_quickbooks_item'
FieldType = fftString
Size = 45
end
item
FieldName = 'staff_fields_quantity'
FieldType = fftString
end
item
FieldName = 'layout_rsc_style'
FieldType = fftString
Size = 32
end
item
FieldName = 'staff_fields_art_location'
FieldType = fftString
Size = 16
end
item
FieldName = 'COMPANY_NAME'
FieldType = fftString
Size = 90
end>
end
object frxOrderCorrugated: TfrxReport
Version = '2024.2.1'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
DotMatrixReport = False
IniFile = '\Software\Fast Reports'
PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick, pbCopy, pbSelection]
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Default'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 45691.397221759300000000
ReportOptions.LastChange = 45691.419667534700000000
ScriptLanguage = 'PascalScript'
ScriptText.Strings = (
'begin'
''
'end.')
Left = 290
Top = 270
Datasets = <
item
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
end>
Variables = <>
Style = <>
object Data: TfrxDataPage
Height = 1000.000000000000000000
Width = 1000.000000000000000000
end
object Page1: TfrxReportPage
PaperWidth = 215.900000000000000000
PaperHeight = 279.400000000000000000
PaperSize = 1
LeftMargin = 10.000000000000000000
RightMargin = 10.000000000000000000
TopMargin = 10.000000000000000000
BottomMargin = 10.000000000000000000
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Frame.Width = 3.000000000000000000
MirrorMode = []
object Memo1: TfrxMemoView
AllowVectorExport = True
Width = 204.094619780000000000
Height = 22.677179770000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftTop, ftBottom]
HAlign = haCenter
Memo.UTF8W = (
'Order Type: Corrugated Plate')
ParentFont = False
VAlign = vaCenter
end
object Memo2: TfrxMemoView
AllowVectorExport = True
Left = 204.094619750000000000
Top = 0.000000050000000000
Width = 536.693245470000000000
Height = 22.677179290000000000
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -13
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftRight, ftTop, ftBottom]
HAlign = haRight
Memo.UTF8W = (
'Order ID: [frxDBOrderCorrugated."ORDER_ID"] ')
ParentFont = False
VAlign = vaCenter
end
object TableObject1: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 30.236240390000000000
object TableColumn1: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn2: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn3: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn4: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn5: TfrxTableColumn
Width = 122.078740157480000000
MaxWidth = 75.590600000000000000
end
object TableColumn6: TfrxTableColumn
Width = 56.692913385826800000
MaxWidth = 75.590600000000000000
end
object TableColumn7: TfrxTableColumn
Width = 56.692913385826800000
MaxWidth = 75.590600000000000000
end
object TableRow1: TfrxTableRow
Height = 18.897650000000000000
object TableCell1: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Order Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell2: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Proof Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell3: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship Date')
ParentFont = False
VAlign = vaCenter
end
object TableCell4: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship Via')
ParentFont = False
VAlign = vaCenter
end
object TableCell5: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Quickbooks Item')
ParentFont = False
VAlign = vaCenter
end
object TableCell26: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Quantity')
ParentFont = False
VAlign = vaCenter
end
object TableCell31: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Price')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow2: TfrxTableRow
Height = 18.897650000000000000
object TableCell6: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_order_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_order_date"]')
end
object TableCell7: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_proof_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_proof_date"]')
end
object TableCell8: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_date'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_date"]')
end
object TableCell9: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_via'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_via"]')
end
object TableCell10: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_quickbooks_item'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_quickbooks_item"]')
end
object TableCell27: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_quantity'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_quantity"]')
end
object TableCell32: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_price'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_price"]')
end
end
end
object TableObject2: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 71.811070390000000000
object TableColumn8: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableColumn9: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableRow3: TfrxTableRow
Height = 18.897650000000000000
object TableCell11: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Invoice To')
ParentFont = False
VAlign = vaCenter
end
object TableCell12: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Ship To')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow4: TfrxTableRow
Height = 94.488188976378000000
object TableCell18: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_invoice_to'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_invoice_to"]')
end
object TableCell19: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataField = 'staff_fields_ship_to'
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_ship_to"]')
end
end
end
object TableObject3: TfrxTableObject
AllowVectorExport = True
Left = 8.139315190000000000
Top = 188.976500390000000000
object TableColumn10: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableColumn11: TfrxTableColumn
Width = 361.889763779528000000
MaxWidth = 75.590600000000000000
end
object TableRow5: TfrxTableRow
Height = 18.897650000000000000
object TableCell20: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clNone
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'PO Number')
ParentFont = False
VAlign = vaCenter
end
object TableCell21: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Arial'
Font.Style = [fsBold]
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Fill.BackColor = cl3DLight
Memo.UTF8W = (
'Job Name')
ParentFont = False
VAlign = vaCenter
end
end
object TableRow6: TfrxTableRow
Height = 37.795275590551200000
object TableCell22: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_po_number"]')
end
object TableCell23: TfrxTableCell
AllowVectorExport = True
Restrictions = [rfDontDelete]
ContentScaleOptions.Constraints.MaxIterationValue = 0
ContentScaleOptions.Constraints.MinIterationValue = 0
DataSet = frxDBOrderCorrugated
DataSetName = 'frxDBOrderCorrugated'
Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom]
Memo.UTF8W = (
'[frxDBOrderCorrugated."staff_fields_job_name"]')
end
end
end
end
end
end
unit rOrderCorrugated;
interface
uses
System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet;
type
TrptOrderCorrugated = class(TDataModule)
uqOrderCorrugated: TUniQuery;
ucKG: TUniConnection;
frxPDFExport1: TfrxPDFExport;
frxDBOrderCorrugated: TfrxDBDataset;
uqOrderCorrugatedORDER_ID: TIntegerField;
uqOrderCorrugatedCOMPANY_ID: TIntegerField;
uqOrderCorrugatedUSER_ID: TIntegerField;
uqOrderCorrugatedORDER_DATE: TDateTimeField;
uqOrderCorrugatedSTART_DATE: TDateField;
uqOrderCorrugatedEND_DATE: TDateField;
uqOrderCorrugatedORDER_STATUS: TStringField;
uqOrderCorrugatedSCHED_JSON: TStringField;
uqOrderCorrugatedstaff_fields_order_date: TDateField;
uqOrderCorrugatedstaff_fields_proof_date: TDateField;
uqOrderCorrugatedstaff_fields_ship_date: TDateField;
uqOrderCorrugatedstaff_fields_ship_via: TStringField;
uqOrderCorrugatedstaff_fields_price: TStringField;
uqOrderCorrugatedstaff_fields_invoice_to: TStringField;
uqOrderCorrugatedstaff_fields_invoice_attention: TStringField;
uqOrderCorrugatedstaff_fields_ship_to: TStringField;
uqOrderCorrugatedstaff_fields_ship_attention: TStringField;
uqOrderCorrugatedstaff_fields_po_number: TStringField;
uqOrderCorrugatedstaff_fields_job_name: TStringField;
uqOrderCorrugatedstaff_fields_art_due: TDateField;
uqOrderCorrugatedstaff_fields_plate_due: TDateField;
uqOrderCorrugatedstaff_fields_mount_due: TDateField;
uqOrderCorrugatedplates_job_number: TStringField;
uqOrderCorrugatedsupplied_by_customer_b_w_copy: TStringField;
uqOrderCorrugatedsupplied_by_customer_color_copy: TStringField;
uqOrderCorrugatedsupplied_by_customer_plates: TStringField;
uqOrderCorrugatedsupplied_by_customer_sample_ca: TStringField;
uqOrderCorrugatedsupplied_by_customer_dimension: TStringField;
uqOrderCorrugatedsupplied_by_customer_disk_or_cd: TStringField;
uqOrderCorrugatedsupplied_by_customer_e_mail: TStringField;
uqOrderCorrugatedsupplied_by_customer_ftp: TStringField;
uqOrderCorrugatedsupplied_by_customer_other: TStringField;
uqOrderCorrugatedsupplied_by_customer_existing_: TStringField;
uqOrderCorrugatedsupplied_by_customer_ref_art_p: TStringField;
uqOrderCorrugatedsupplied_by_customer_ref_art_a: TStringField;
uqOrderCorrugatedcut_die_cutdier: TStringField;
uqOrderCorrugatedcut_die_cutdieb: TStringField;
uqOrderCorrugatedcut_die_cutdief: TStringField;
uqOrderCorrugatedcut_die_cutdierkr: TStringField;
uqOrderCorrugatedcut_die_cutdiefkr: TStringField;
uqOrderCorrugatedcut_die_cad_file: TStringField;
uqOrderCorrugatedcut_die_attached: TStringField;
uqOrderCorrugatedcut_die_boxpol250: TStringField;
uqOrderCorrugatedcut_die_boxpol155: TStringField;
uqOrderCorrugatedcut_die_boxpol125: TStringField;
uqOrderCorrugatedcut_die_brub: TStringField;
uqOrderCorrugatedproofing_fax: TStringField;
uqOrderCorrugatedproofing_fax_attn: TStringField;
uqOrderCorrugatedproofing_e_mail: TStringField;
uqOrderCorrugatedproofing_e_mail_attn: TStringField;
uqOrderCorrugatedproofing_ship_to: TStringField;
uqOrderCorrugatedproofing_full_size_panel: TStringField;
uqOrderCorrugatedproofing_print_card: TStringField;
uqOrderCorrugatedproofing_wide_format: TStringField;
uqOrderCorrugatedproofing_pdf_file: TStringField;
uqOrderCorrugatedproofing_other: TStringField;
uqOrderCorrugatedproofing_art_approved_as_is: TStringField;
uqOrderCorrugatedproofing_approved_date: TDateField;
uqOrderCorrugatedproofing_changes_required: TStringField;
uqOrderCorrugatedproofing_changes_date: TDateField;
uqOrderCorrugatedlayout_rsc_l: TStringField;
uqOrderCorrugatedlayout_rcs_w: TStringField;
uqOrderCorrugatedlayout_rcs_d: TStringField;
uqOrderCorrugatedlayout_die_cut_no: TStringField;
uqOrderCorrugatedlayout_accross_no: TStringField;
uqOrderCorrugatedlayout_around_no: TStringField;
uqOrderCorrugatedlayout_cad_file: TStringField;
uqOrderCorrugatedlayout_excalibur_die: TStringField;
uqOrderCorrugatedmounting_loose: TStringField;
uqOrderCorrugatedmounting_sticky_bak: TStringField;
uqOrderCorrugatedmounting_full_mount: TStringField;
uqOrderCorrugatedmounting_strip_mount: TStringField;
uqOrderCorrugatedcolors_cylinder_size: TStringField;
uqOrderCorrugatedcolors_machine_ident: TStringField;
uqOrderCorrugatedmounting_standard_setup: TStringField;
uqOrderCorrugatedmounting_custom_backing: TStringField;
uqOrderCorrugatedmounting_custom_adhesive: TStringField;
uqOrderCorrugatedcolors_cross_hairs: TStringField;
uqOrderCorrugatedcolors_clemson: TStringField;
uqOrderCorrugatedplates_thickness: TStringField;
uqOrderCorrugatedplates_plate_material: TStringField;
uqOrderCorrugatedgeneral_special_instructions: TStringField;
uqOrderCorrugatedcolors_colors: TStringField;
uqOrderCorrugatedstaff_fields_quickbooks_item: TStringField;
uqOrderCorrugatedstaff_fields_quantity: TStringField;
uqOrderCorrugatedlayout_rsc_style: TStringField;
uqOrderCorrugatedstaff_fields_art_location: TStringField;
uqOrderCorrugatedCOMPANY_NAME: TStringField;
frxOrderCorrugated: TfrxReport;
private
{ Private declarations }
public
function PrepareReport(SQL: string): string;
end;
var
rptOrderCorrugated: TrptOrderCorrugated;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
function TrptOrderCorrugated.PrepareReport(SQL: string): string;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
uqOrderCorrugated.Close;
uqOrderCorrugated.SQL.Text := SQL;
uqOrderCorrugated.Open;
// result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
end;
end.
object rptOrders: TrptOrders object rptOrderList: TrptOrderList
OnCreate = DataModuleCreate OnCreate = DataModuleCreate
Height = 480 Height = 480
Width = 640 Width = 640
object frxOrders: TfrxReport object frxOrderList: TfrxReport
Version = '2024.2.1' Version = '2024.2.1'
DotMatrixReport = False DotMatrixReport = False
IniFile = '\Software\Fast Reports' IniFile = '\Software\Fast Reports'
......
unit rOrders; unit rOrderList;
interface interface
...@@ -8,8 +8,8 @@ uses ...@@ -8,8 +8,8 @@ uses
MemDS, frxDBSet, frxTableObject, frCoreClasses, Common.Logging, System.IOUtils, JSON; MemDS, frxDBSet, frxTableObject, frCoreClasses, Common.Logging, System.IOUtils, JSON;
type type
TrptOrders = class(TDataModule) TrptOrderList = class(TDataModule)
frxOrders: TfrxReport; frxOrderList: TfrxReport;
frxPDFExport1: TfrxPDFExport; frxPDFExport1: TfrxPDFExport;
ucKG: TUniConnection; ucKG: TUniConnection;
uqOrders: TUniQuery; uqOrders: TUniQuery;
...@@ -46,7 +46,7 @@ type ...@@ -46,7 +46,7 @@ type
end; end;
var var
rptOrders: TrptOrders; rptOrderList: TrptOrderList;
implementation implementation
...@@ -57,7 +57,7 @@ uses ...@@ -57,7 +57,7 @@ uses
{$R *.dfm} {$R *.dfm}
procedure TrptOrders.DataModuleCreate(Sender: TObject); procedure TrptOrderList.DataModuleCreate(Sender: TObject);
begin begin
Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' ); Logger.Log( 3, 'TAuthDatabase.DataModuleCreate' );
LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' ); LoadDatabaseSettings( ucKG, 'kgOrdersServer.ini' );
...@@ -66,15 +66,15 @@ begin ...@@ -66,15 +66,15 @@ begin
except except
on E: Exception do on E: Exception do
begin begin
Logger.Log(3, '--TrptOrders.DataModuleCreate -Error connecting to database: ' + E.Message); Logger.Log(3, '--TrptOrderList.DataModuleCreate -Error connecting to database: ' + E.Message);
end; end;
end; end;
end; end;
function TrptOrders.PrepareReport(SQL: string): string; function TrptOrderList.PrepareReport(SQL: string): string;
begin begin
Logger.Log(5, 'Generated SQL for Prepare Report: ' + SQL); Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
uqOrders.Close; uqOrders.Close;
uqOrders.SQL.Text := SQL; uqOrders.SQL.Text := SQL;
...@@ -83,12 +83,12 @@ begin ...@@ -83,12 +83,12 @@ begin
result := GeneratePDF; result := GeneratePDF;
Logger.Log(5, 'Report preparation complete.'); Logger.Log(3, 'Report preparation complete.');
end; end;
procedure TrptOrders.uqOrdersCalcFields(DataSet: TDataSet); procedure TrptOrderList.uqOrdersCalcFields(DataSet: TDataSet);
var var
ColorType: string; ColorType: string;
SQL: string; SQL: string;
...@@ -119,7 +119,7 @@ begin ...@@ -119,7 +119,7 @@ begin
end; end;
//create new field called color count //create new field called color count
function TrptOrders.getColorCount(colors: string): string; function TrptOrderList.getColorCount(colors: string): string;
var var
colorObject: TJSONObject; colorObject: TJSONObject;
colorList: TJSONArray; colorList: TJSONArray;
...@@ -133,12 +133,12 @@ begin ...@@ -133,12 +133,12 @@ begin
colorList := TJSONArray(colorObject.GetValue('items')); colorList := TJSONArray(colorObject.GetValue('items'));
result := IntToStr(colorList.Count); result := IntToStr(colorList.Count);
finally finally
colorObject.Free; // Free TJSONObject to avoid leaks colorObject.Free;
end; end;
end; end;
end; end;
function TrptOrders.GeneratePDF: string; function TrptOrderList.GeneratePDF: string;
var var
ReportDir, ReportFileName: string; ReportDir, ReportFileName: string;
reportURL: string; reportURL: string;
...@@ -157,11 +157,11 @@ begin ...@@ -157,11 +157,11 @@ begin
frxPDFExport1.FileName := ReportFileName; frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False; frxPDFExport1.ShowDialog := False;
try try
frxOrders.PrepareReport; frxOrderList.PrepareReport;
frxOrders.Export(frxPDFExport1); frxOrderList.Export(frxPDFExport1);
//frxOrders.ShowPreparedReport; //frxOrders.ShowPreparedReport;
finally finally
frxOrders.Clear; // Clear the report to avoid memory bloat frxOrderList.Clear; // Clears the report to avoid memory bloat
end; end;
Logger.Log(5, 'PDF saved to: ' + ReportFileName); Logger.Log(5, 'PDF saved to: ' + ReportFileName);
......
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4196675347" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_order_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_order_date&#34;]"/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_proof_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_proof_date&#34;]"/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_date&#34;]"/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_via" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_via&#34;]"/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quickbooks_item" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quickbooks_item&#34;]"/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quantity" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quantity&#34;]"/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_price" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_price&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject2" AllowVectorExport="True" Left="8.13931519" Top="71.81107039">
<TfrxTableColumn Name="TableColumn8" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn9" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow3" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell11" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Invoice To"/>
<TfrxTableCell Name="TableCell12" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship To"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow4" MinHeight="0" MaxHeight="0" Height="94.488188976378">
<TfrxTableCell Name="TableCell18" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_invoice_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_invoice_to&#34;]"/>
<TfrxTableCell Name="TableCell19" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_to&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject3" AllowVectorExport="True" Left="8.13931519" Top="188.97650039">
<TfrxTableColumn Name="TableColumn10" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn11" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow5" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell20" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="PO Number"/>
<TfrxTableCell Name="TableCell21" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Job Name"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow6" MinHeight="0" MaxHeight="0" Height="37.7952755905512">
<TfrxTableCell Name="TableCell22" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_po_number&#34;]"/>
<TfrxTableCell Name="TableCell23" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_job_name&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4141871296" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_order_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_order_date&#34;]"/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_proof_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_proof_date&#34;]"/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_date" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_date&#34;]"/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_via" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_via&#34;]"/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quickbooks_item" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quickbooks_item&#34;]"/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_quantity" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_quantity&#34;]"/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_price" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_price&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject2" AllowVectorExport="True" Left="8.13931519" Top="71.81107039">
<TfrxTableColumn Name="TableColumn8" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn9" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow3" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell11" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Invoice To"/>
<TfrxTableCell Name="TableCell12" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship To"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow4" MinHeight="0" MaxHeight="0" Height="94.488188976378">
<TfrxTableCell Name="TableCell18" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_invoice_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_invoice_to&#34;]"/>
<TfrxTableCell Name="TableCell19" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataField="staff_fields_ship_to" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_ship_to&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
<TfrxTableObject Name="TableObject3" AllowVectorExport="True" Left="8.13931519" Top="188.97650039">
<TfrxTableColumn Name="TableColumn10" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn11" Width="361.889763779528" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow5" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell20" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="PO Number"/>
<TfrxTableCell Name="TableCell21" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Job Name"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow6" MinHeight="0" MaxHeight="0" Height="37.7952755905512">
<TfrxTableCell Name="TableCell22" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_po_number&#34;]"/>
<TfrxTableCell Name="TableCell23" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" Frame.Typ="15" Text="[frxDBOrderCorrugated.&#34;staff_fields_job_name&#34;]"/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<TfrxReport Version="2024.2.1" DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated" DotMatrixReport="False" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="167935" PreviewOptions.Zoom="1" PrintOptions.Printer="Default" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="45691.3972217593" ReportOptions.Description.Text="" ReportOptions.LastChange="45691.4088532755" ScriptLanguage="PascalScript" ScriptText.Text="begin&#13;&#10;&#13;&#10;end.">
<Datasets>
<item DataSet="frxDBOrderCorrugated" DataSetName="frxDBOrderCorrugated"/>
</Datasets>
<TfrxDataPage Name="Data" HGuides.Text="" VGuides.Text="" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" HGuides.Text="" VGuides.Text="" PaperWidth="215.9" PaperHeight="279.4" PaperSize="1" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" Frame.Typ="15" Frame.Width="3" MirrorMode="0">
<TfrxMemoView Name="Memo1" AllowVectorExport="True" Left="0" Top="0" Width="204.09461978" Height="22.67717977" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="13" HAlign="haCenter" ParentFont="False" VAlign="vaCenter" Text="Order Type: Corrugated Plate"/>
<TfrxMemoView Name="Memo2" AllowVectorExport="True" Left="204.09461975" Top="5E-8" Width="536.69324547" Height="22.67717929" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-13" Font.Name="Arial" Font.Style="1" Frame.Typ="14" HAlign="haRight" ParentFont="False" VAlign="vaCenter" Text="Order ID: [frxDBOrderCorrugated.&#34;ORDER_ID&#34;] "/>
<TfrxTableObject Name="TableObject1" AllowVectorExport="True" Left="8.13931519" Top="30.23624039">
<TfrxTableColumn Name="TableColumn1" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn2" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn3" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn4" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn5" Width="122.07874015748" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn6" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableColumn Name="TableColumn7" Width="56.6929133858268" MinWidth="0" MaxWidth="75.5906"/>
<TfrxTableRow Name="TableRow1" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell1" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="536870911" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Order Date"/>
<TfrxTableCell Name="TableCell2" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Proof Date"/>
<TfrxTableCell Name="TableCell3" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Date"/>
<TfrxTableCell Name="TableCell4" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Ship Via"/>
<TfrxTableCell Name="TableCell5" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quickbooks Item"/>
<TfrxTableCell Name="TableCell26" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Quantity"/>
<TfrxTableCell Name="TableCell31" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Font.Charset="1" Font.Color="0" Font.Height="-11" Font.Name="Arial" Font.Style="1" Frame.Typ="15" Fill.BackColor="-16777194" ParentFont="False" VAlign="vaCenter" Text="Price"/>
</TfrxTableRow>
<TfrxTableRow Name="TableRow2" MinHeight="0" MaxHeight="0" Height="18.89765">
<TfrxTableCell Name="TableCell6" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell7" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell8" AllowVectorExport="True" Restrictions="8" ContentScaleOptions.Constraints.MaxIterationValue="0" ContentScaleOptions.Constraints.MinIterationValue="0" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell9" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell10" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell27" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
<TfrxTableCell Name="TableCell32" AllowVectorExport="True" Restrictions="8" Frame.Typ="15" Text=""/>
</TfrxTableRow>
</TfrxTableObject>
</TfrxReportPage>
</TfrxReport>
...@@ -7,7 +7,6 @@ uses ...@@ -7,7 +7,6 @@ uses
procedure LoadDatabaseSettings( uc: TUniConnection; iniFilename: string ); procedure LoadDatabaseSettings( uc: TUniConnection; iniFilename: string );
procedure DoQuery( uq: TUniQuery; sql: string ); procedure DoQuery( uq: TUniQuery; sql: string );
function CalculateAge( const dob, dt: TDateTime ): Integer;
implementation implementation
...@@ -39,33 +38,5 @@ begin ...@@ -39,33 +38,5 @@ begin
uq.Open; uq.Open;
end; end;
function CalculateAge( const dob, dt: TDateTime): Integer;
var
age: Integer;
y1, m1, d1, y2, m2, d2: Word;
begin
Result := 0;
if dt < dob then
Exit;
DecodeDate( dob, y1, m1, d1);
DecodeDate( dt, y2, m2, d2);
age := y2 - y1;
// Feb 29
//if ( (m1=2) and (d1=29) ) and ( not IsLeapYear(y2) ) then
// d1 := 28;
if (m1 = 2) and (d1 = 29) and (not (IsLeapYear (y2))) then
begin
m1 := 3;
d1 := 1;
end;
if (m2 < m1) or ((m2 = m1) and (d2 < d1)) then
Dec(age);
Result := age
end;
end. end.
...@@ -22,7 +22,8 @@ uses ...@@ -22,7 +22,8 @@ uses
Lookup.ServiceImpl in 'Source\Lookup.ServiceImpl.pas', Lookup.ServiceImpl in 'Source\Lookup.ServiceImpl.pas',
App.Server.Module in 'Source\App.Server.Module.pas' {AppServerModule: TDataModule}, App.Server.Module in 'Source\App.Server.Module.pas' {AppServerModule: TDataModule},
Data in 'Source\Data.pas' {FData}, Data in 'Source\Data.pas' {FData},
rOrders in 'Source\rOrders.pas' {rptOrders: TDataModule}; rOrderList in 'Source\rOrderList.pas' {rptOrderList: TDataModule},
rOrderCorrugated in 'Source\rOrderCorrugated.pas' {rptOrderCorrugated: TDataModule};
type type
TMemoLogAppender = class( TInterfacedObject, ILogAppender ) TMemoLogAppender = class( TInterfacedObject, ILogAppender )
......
...@@ -165,8 +165,13 @@ ...@@ -165,8 +165,13 @@
<Form>FData</Form> <Form>FData</Form>
<FormType>dfm</FormType> <FormType>dfm</FormType>
</DCCReference> </DCCReference>
<DCCReference Include="Source\rOrders.pas"> <DCCReference Include="Source\rOrderList.pas">
<Form>rptOrders</Form> <Form>rptOrderList</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="Source\rOrderCorrugated.pas">
<Form>rptOrderCorrugated</Form>
<FormType>dfm</FormType> <FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
......
[Settings] [Settings]
MemoLogLevel=4 MemoLogLevel=4
FileLogLevel=5 FileLogLevel=5
LogFileNum=146 LogFileNum=150
webClientVersion=1.0.0 webClientVersion=1.0.0
[Database] [Database]
Server=192.168.159.132 --Server=192.168.159.132
--Server=192.168.102.130 Server=192.168.102.130
--Server=192.168.75.133 --Server=192.168.75.133
--Database= --Database=
--Username= --Username=
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment