Commit c99cd8f1 by Elias Sarraf

Merge commit '9f3d6ebb'

parents e11cfb9f 9f3d6ebb
...@@ -926,17 +926,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -926,17 +926,6 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object btnEdit: TWebButton
Left = 870
Top = 560
Width = 96
Height = 25
Caption = 'Edit'
ChildOrder = 79
ElementID = 'btnedit'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 764 Left = 764
Top = 560 Top = 560
...@@ -996,6 +985,18 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated ...@@ -996,6 +985,18 @@ object FOrderEntryCorrugated: TFOrderEntryCorrugated
DataField = 'plates_thickness' DataField = 'plates_thickness'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object btnPDF: TWebButton
Left = 877
Top = 560
Width = 96
Height = 25
Caption = 'PDF'
ChildOrder = 77
ElementID = 'btnpdf'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btnPDFClick
end
object XDataWebClient1: TXDataWebClient object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
Left = 160 Left = 160
......
...@@ -306,7 +306,7 @@ ...@@ -306,7 +306,7 @@
<button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button> <button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button id="btnedit" class="btn btn-primary btn-sm float-end my-2">Edit</button> <button id="btnpdf" class="btn btn-primary btn-sm float-end my-2">PDF</button>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -186,7 +186,6 @@ type ...@@ -186,7 +186,6 @@ type
WebDBComboBox1: TWebDBComboBox; WebDBComboBox1: TWebDBComboBox;
cbEmail: TWebCheckBox; cbEmail: TWebCheckBox;
XDataWebDataSet1supplied_by_customer_order_date: TStringField; XDataWebDataSet1supplied_by_customer_order_date: TStringField;
btnEdit: TWebButton;
btnCancel: TWebButton; btnCancel: TWebButton;
WebDBComboBox2: TWebDBComboBox; WebDBComboBox2: TWebDBComboBox;
wdsQBItem: TWebDataSource; wdsQBItem: TWebDataSource;
...@@ -194,6 +193,7 @@ type ...@@ -194,6 +193,7 @@ type
xdwdsQBItemname: TStringField; xdwdsQBItemname: TStringField;
WebDBComboBox3: TWebDBComboBox; WebDBComboBox3: TWebDBComboBox;
WebDBComboBox4: TWebDBComboBox; WebDBComboBox4: TWebDBComboBox;
btnPDF: TWebButton;
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure HideNotification(); procedure HideNotification();
procedure ShowNotification(Notification: string); procedure ShowNotification(Notification: string);
...@@ -205,7 +205,9 @@ type ...@@ -205,7 +205,9 @@ type
procedure addColorRow(num, Color, LPI, Size: string); procedure addColorRow(num, Color, LPI, Size: string);
procedure btnConfirmClick(Sender: TObject); procedure btnConfirmClick(Sender: TObject);
[async] procedure AddCorrugatedOrder(orderJSON: TJSONObject); [async] procedure AddCorrugatedOrder(orderJSON: TJSONObject);
[async] procedure GenerateReportPDF;
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure btnPDFClick(Sender: TObject);
private private
FAgencyCode: string; FAgencyCode: string;
FCurrentReportType: string; FCurrentReportType: string;
...@@ -366,6 +368,30 @@ begin ...@@ -366,6 +368,30 @@ begin
FViewMain.ViewOrders('Success:Order Successfully Added'); FViewMain.ViewOrders('Success:Order Successfully Added');
end; end;
procedure TFOrderEntryCorrugated.btnPDFClick(Sender: TObject);
begin
GenerateReportPDF
end;
[async] procedure TFOrderEntryCorrugated.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results
var
xdcResponse: TXDataClientResponse;
searchOptions, pdfURL: string;
jsObject: TJSObject;
begin
// Call the server method to generate the PDF
console.log(orderID);
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateOrderCorrugatedPDF', [orderID]));
jsObject := JS.TJSObject(xdcResponse.Result);
pdfURL := JS.toString(jsObject.Properties['value']);
// Open the PDF in a new browser tab without needing a different form
// This method is much faster too, even for large datasets
window.open(pdfURL, '_blank');
end;
procedure TFOrderEntryCorrugated.AddCorrugatedOrder(orderJSON: TJSONObject); procedure TFOrderEntryCorrugated.AddCorrugatedOrder(orderJSON: TJSONObject);
// sends the order JSON object to the server // sends the order JSON object to the server
var var
......
...@@ -188,19 +188,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -188,19 +188,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
DataField = 'staff_fields_job_name' DataField = 'staff_fields_job_name'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object edtQuickBooksItem: TWebDBEdit
Left = 26
Top = 514
Width = 121
Height = 23
AutoSize = True
ChildOrder = 79
ElementID = 'edtquickbooksitem'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
DataField = 'staff_fields_quickbooks_item'
DataSource = WebDataSource1
end
object edtSpecialInstructions: TWebDBEdit object edtSpecialInstructions: TWebDBEdit
Left = 835 Left = 835
Top = 185 Top = 185
...@@ -247,7 +234,7 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -247,7 +234,7 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ChildOrder = 5 ChildOrder = 5
ElementPosition = epRelative ElementPosition = epRelative
Role = 'alert' Role = 'alert'
TabOrder = 16 TabOrder = 15
object lblMessage: TWebLabel object lblMessage: TWebLabel
Left = 28 Left = 28
Top = 9 Top = 9
...@@ -287,6 +274,32 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -287,6 +274,32 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
DataField = 'NAME' DataField = 'NAME'
DataSource = WebDataSource1 DataSource = WebDataSource1
end end
object wcbQBItem: TWebDBComboBox
Left = 26
Top = 515
Width = 145
Height = 23
ElementID = 'wcbqbitem'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
ItemIndex = -1
DataField = 'staff_fields_quickbooks_item'
DataSource = WebDataSource1
ListField = 'name'
ListSource = wdsQBItem
end
object btnPDF: TWebButton
Left = 710
Top = 610
Width = 96
Height = 25
Caption = 'PDF'
ChildOrder = 77
ElementID = 'btnpdf'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = btnPDFClick
end
object WebDataSource1: TWebDataSource object WebDataSource1: TWebDataSource
DataSet = XDataWebDataSet1 DataSet = XDataWebDataSet1
Left = 22 Left = 22
...@@ -344,12 +357,18 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -344,12 +357,18 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
object XDataWebDataSet1staff_fields_ship_date: TStringField object XDataWebDataSet1staff_fields_ship_date: TStringField
FieldName = 'staff_fields_ship_date' FieldName = 'staff_fields_ship_date'
end end
object XDataWebDataSet1ORDER_ID: TStringField
FieldName = 'ORDER_ID'
end
object XDataWebDataSet1NAME: TStringField object XDataWebDataSet1NAME: TStringField
FieldName = 'NAME' FieldName = 'NAME'
end end
object XDataWebDataSet1staff_fields_quickbooks_item: TStringField
FieldName = 'staff_fields_quickbooks_item'
end
object XDataWebDataSet1general_special_instructions: TStringField
FieldName = 'general_special_instructions'
end
object XDataWebDataSet1staff_fields_quantity: TStringField
FieldName = 'staff_fields_quantity'
end
end end
object XDataWebClient1: TXDataWebClient object XDataWebClient1: TXDataWebClient
Connection = DMConnection.ApiConnection Connection = DMConnection.ApiConnection
...@@ -368,10 +387,22 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie ...@@ -368,10 +387,22 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Top = 436 Top = 436
end end
object xdwdsShipTo: TXDataWebDataSet object xdwdsShipTo: TXDataWebDataSet
Left = 192 Left = 270
Top = 486 Top = 436
object xdwdsShipToADDRESS: TStringField object xdwdsShipToADDRESS: TStringField
FieldName = 'ADDRESS' FieldName = 'ADDRESS'
end end
end end
object wdsQBItem: TWebDataSource
DataSet = xdwdsQBItem
Left = 230
Top = 554
end
object xdwdsQBItem: TXDataWebDataSet
Left = 190
Top = 548
object xdwdsQBItemname: TStringField
FieldName = 'name'
end
end
end end
...@@ -67,8 +67,8 @@ ...@@ -67,8 +67,8 @@
<input id="edtjobname" class="form-control input-sm" width='50%'/> <input id="edtjobname" class="form-control input-sm" width='50%'/>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<label for="wdbe_first_name" style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QuickBooks Item:</label> <label style="font-weight: 700; font-size: 15px;" class="form-label mt-2">QuickBooks Item:</label>
<input id="edtquickbooksitem" class="form-control input-sm" width='50%'/> <select id="wcbqbitem" class='form-select'></select>
</div> </div>
</div> </div>
<h4 class="custom-h4 mt-3">General</h4> <h4 class="custom-h4 mt-3">General</h4>
...@@ -86,5 +86,8 @@ ...@@ -86,5 +86,8 @@
<div class="col-auto"> <div class="col-auto">
<button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button> <button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button>
</div> </div>
<div class="col-auto">
<button id="btnpdf" class="btn btn-primary btn-sm float-end my-2">PDF</button>
</div>
</div> </div>
</div> </div>
...@@ -45,7 +45,6 @@ type ...@@ -45,7 +45,6 @@ type
wdbcbShipTo: TWebDBComboBox; wdbcbShipTo: TWebDBComboBox;
edtPONumber: TWebDBEdit; edtPONumber: TWebDBEdit;
edtJobName: TWebDBEdit; edtJobName: TWebDBEdit;
edtQuickBooksItem: TWebDBEdit;
wdsShipTo: TWebDataSource; wdsShipTo: TWebDataSource;
xdwdsShipTo: TXDataWebDataSet; xdwdsShipTo: TXDataWebDataSet;
xdwdsShipToADDRESS: TStringField; xdwdsShipToADDRESS: TStringField;
...@@ -57,8 +56,15 @@ type ...@@ -57,8 +56,15 @@ type
lblMessage: TWebLabel; lblMessage: TWebLabel;
btnCloseNotification: TWebButton; btnCloseNotification: TWebButton;
edtCompanyName: TWebDBEdit; edtCompanyName: TWebDBEdit;
XDataWebDataSet1ORDER_ID: TStringField;
XDataWebDataSet1NAME: TStringField; XDataWebDataSet1NAME: TStringField;
XDataWebDataSet1staff_fields_quickbooks_item: TStringField;
XDataWebDataSet1general_special_instructions: TStringField;
XDataWebDataSet1staff_fields_quantity: TStringField;
wdsQBItem: TWebDataSource;
xdwdsQBItem: TXDataWebDataSet;
xdwdsQBItemname: TStringField;
wcbQBItem: TWebDBComboBox;
btnPDF: TWebButton;
procedure btnConfirmClick(Sender: TObject); procedure btnConfirmClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
...@@ -69,6 +75,8 @@ type ...@@ -69,6 +75,8 @@ type
[async] procedure GetCustomer(customerID: string); [async] procedure GetCustomer(customerID: string);
procedure tmrScrollTopTimer(Sender: TObject); procedure tmrScrollTopTimer(Sender: TObject);
[async] procedure AddCuttingDieOrder(orderJSON: TJSONObject); [async] procedure AddCuttingDieOrder(orderJSON: TJSONObject);
procedure btnPDFClick(Sender: TObject);
[async] procedure GenerateReportPDF;
private private
FAgencyCode: string; FAgencyCode: string;
FCurrentReportType: string; FCurrentReportType: string;
...@@ -133,14 +141,40 @@ begin ...@@ -133,14 +141,40 @@ begin
XDataWebDataSet1.Next; XDataWebDataSet1.Next;
end; end;
orderJSON.AddPair('COMPANY_ID', customerID); orderJSON.AddPair('COMPANY_ID', customerID);
orderJSON.AddPair('USER_ID', '1011'); orderJSON.AddPair('USER_ID', JS.toString(AuthService.TokenPayload.Properties['user_id']));
orderJSON.AddPair('mode', mode); orderJSON.AddPair('mode', mode);
if mode = 'EDIT' then if mode = 'EDIT' then
orderJSON.AddPair('ORDER_ID', orderID); orderJSON.AddPair('ORDER_ID', orderID);
console.log(orderJSON.GetValue('ORDER_ID'));
console.log(orderJSON);
AddCuttingDieOrder(orderJSON); AddCuttingDieOrder(orderJSON);
FViewMain.ViewOrders('Success'); FViewMain.ViewOrders('Success');
end; end;
procedure TFOrderEntryCuttingDie.btnPDFClick(Sender: TObject);
begin
GenerateReportPDF;
end;
[async] procedure TFOrderEntryCuttingDie.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results
var
xdcResponse: TXDataClientResponse;
searchOptions, pdfURL: string;
jsObject: TJSObject;
begin
// Call the server method to generate the PDF
console.log(orderID);
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateOrderCuttingPDF', [orderID]));
jsObject := JS.TJSObject(xdcResponse.Result);
pdfURL := JS.toString(jsObject.Properties['value']);
// Open the PDF in a new browser tab without needing a different form
// This method is much faster too, even for large datasets
window.open(pdfURL, '_blank');
end;
procedure TFOrderEntryCuttingDie.AddCuttingDieOrder(orderJSON: TJSONObject); procedure TFOrderEntryCuttingDie.AddCuttingDieOrder(orderJSON: TJSONObject);
// sends the order JSON object to the server // sends the order JSON object to the server
var var
...@@ -191,9 +225,9 @@ var ...@@ -191,9 +225,9 @@ var
orderList : TJSObject; orderList : TJSObject;
i: integer; i: integer;
data: TJSArray; data: TJSArray;
order: TJSObject; order, items: TJSObject;
begin begin
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetOrder', xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GetCuttingDieOrder',
[Order_ID])); [Order_ID]));
order := TJSObject(xdcResponse.Result); order := TJSObject(xdcResponse.Result);
data := TJSArray(order['data']); data := TJSArray(order['data']);
...@@ -222,6 +256,19 @@ begin ...@@ -222,6 +256,19 @@ begin
CustomerID := XDataWebDataSet1COMPANY_ID.AsString; CustomerID := XDataWebDataSet1COMPANY_ID.AsString;
console.log(CustomerID); console.log(CustomerID);
if mode = 'EDIT' then
begin
CustomerID := XDataWebDataSet1COMPANY_ID.AsString;
xdwdsShipTo.Close;
xdwdsShipTo.SetJSONData(order['ADDRESS_LIST']);
xdwdsShipTo.Open;
end;
xdwdsQBItem.Close;
items := TJSObject(order['ITEMS']);
xdwdsQBItem.SetJsonData(items['data']);
xdwdsQBITEM.Open;
end; end;
procedure TFOrderEntryCuttingDie.getCustomer(customerID: string); procedure TFOrderEntryCuttingDie.getCustomer(customerID: string);
......
...@@ -1085,16 +1085,17 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1085,16 +1085,17 @@ object FOrderEntryWeb: TFOrderEntryWeb
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnConfirmClick OnClick = btnConfirmClick
end end
object btnEdit: TWebButton object btnPDF: TWebButton
Left = 867 Left = 867
Top = 568 Top = 568
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Edit' Caption = 'PDF'
ChildOrder = 79 ChildOrder = 79
ElementID = 'btnedit' ElementID = 'btnpdf'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnPDFClick
end end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 761 Left = 761
...@@ -1106,6 +1107,7 @@ object FOrderEntryWeb: TFOrderEntryWeb ...@@ -1106,6 +1107,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
ElementID = 'btncancel' ElementID = 'btncancel'
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
OnClick = btnCancelClick
end end
object wcbQBItem: TWebDBComboBox object wcbQBItem: TWebDBComboBox
Left = 26 Left = 26
......
...@@ -363,7 +363,7 @@ ...@@ -363,7 +363,7 @@
<button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button> <button id="btncancel" class="btn btn-primary btn-sm float-end my-2">Cancel</button>
</div> </div>
<div class="col-auto"> <div class="col-auto">
<button id="btnedit" class="btn btn-primary btn-sm float-end my-2">Edit</button> <button id="btnpdf" class="btn btn-primary btn-sm float-end my-2">PDF</button>
</div> </div>
</div> </div>
</div> </div>
...@@ -127,7 +127,7 @@ type ...@@ -127,7 +127,7 @@ type
WebLabel11: TWebLabel; WebLabel11: TWebLabel;
Comments: TWebDBEdit; Comments: TWebDBEdit;
btnConfirm: TWebButton; btnConfirm: TWebButton;
btnEdit: TWebButton; btnPDF: TWebButton;
btnCancel: TWebButton; btnCancel: TWebButton;
XDataWebDataSet1plates_job_number: TStringField; XDataWebDataSet1plates_job_number: TStringField;
XDataWebDataSet1supplied_by_customer_plates: TStringField; XDataWebDataSet1supplied_by_customer_plates: TStringField;
...@@ -210,6 +210,8 @@ type ...@@ -210,6 +210,8 @@ type
procedure btnConfirmClick(Sender: TObject); procedure btnConfirmClick(Sender: TObject);
[async] procedure AddWebOrder(orderJSON: TJSONObject); [async] procedure AddWebOrder(orderJSON: TJSONObject);
procedure btnCancelClick(Sender: TObject); procedure btnCancelClick(Sender: TObject);
procedure btnPDFClick(Sender: TObject);
[async] procedure GenerateReportPDF;
private private
FAgencyCode: string; FAgencyCode: string;
FCurrentReportType: string; FCurrentReportType: string;
...@@ -325,6 +327,31 @@ begin ...@@ -325,6 +327,31 @@ begin
FViewMain.ViewOrders(info); FViewMain.ViewOrders(info);
end; end;
procedure TFOrderEntryWeb.btnPDFClick(Sender: TObject);
begin
GenerateReportPDF;
end;
[async] procedure TFOrderEntryWeb.GenerateReportPDF;
// sends the search to the server which then sends back a pdf of the results
var
xdcResponse: TXDataClientResponse;
searchOptions, pdfURL: string;
jsObject: TJSObject;
begin
// Call the server method to generate the PDF
console.log(orderID);
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateOrderWebPDF', [orderID]));
jsObject := JS.TJSObject(xdcResponse.Result);
pdfURL := JS.toString(jsObject.Properties['value']);
// Open the PDF in a new browser tab without needing a different form
// This method is much faster too, even for large datasets
window.open(pdfURL, '_blank');
console.log(pdfURL);
end;
procedure TFOrderEntryWeb.AddWebOrder(orderJSON: TJSONObject); procedure TFOrderEntryWeb.AddWebOrder(orderJSON: TJSONObject);
// sends the order JSON object to the server // sends the order JSON object to the server
var var
...@@ -455,10 +482,12 @@ begin ...@@ -455,10 +482,12 @@ begin
if XDataWebDataSet1quantity_and_colors_qty_colors.Value <> '' then if XDataWebDataSet1quantity_and_colors_qty_colors.Value <> '' then
begin begin
colorObject := TJSObject(TJSJSON.parse(XDataWebDataSet1quantity_and_colors_qty_colors.Value)); colorObject := TJSObject(TJSJSON.parse(XDataWebDataSet1quantity_and_colors_qty_colors.Value));
console.log(colorObject);
colorList := TJSArray(colorObject['items']); colorList := TJSArray(colorObject['items']);
for I := 0 to colorList.length -1 do for I := 0 to colorList.length -1 do
begin begin
color := TJSObject(colorList[i]); color := TJSObject(colorList[i]);
console.log(color);
addColorRow(String(color['#']), string(color['Color']), string(color['LPI']), string(color['Size'])); addColorRow(String(color['#']), string(color['Color']), string(color['LPI']), string(color['Size']));
end; end;
end; end;
......
...@@ -126,6 +126,9 @@ uses ...@@ -126,6 +126,9 @@ uses
procedure TFViewOrders.btnPDFClick(Sender: TObject); procedure TFViewOrders.btnPDFClick(Sender: TObject);
begin begin
asm
startSpinner();
end;
GenerateReportPDF; GenerateReportPDF;
end; end;
...@@ -139,13 +142,16 @@ begin ...@@ -139,13 +142,16 @@ begin
searchOptions := GenerateSearchOptions; searchOptions := GenerateSearchOptions;
// Call the server method to generate the PDF // Call the server method to generate the PDF
xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateReportPDF', [searchOptions])); xdcResponse := await(XDataWebClient1.RawInvokeAsync('ILookupService.GenerateOrderListPDF', [searchOptions]));
jsObject := JS.TJSObject(xdcResponse.Result); jsObject := JS.TJSObject(xdcResponse.Result);
pdfURL := JS.toString(jsObject.Properties['value']); pdfURL := JS.toString(jsObject.Properties['value']);
// Open the PDF in a new browser tab without needing a different form // Open the PDF in a new browser tab without needing a different form
// This method is much faster too, even for large datasets // This method is much faster too, even for large datasets
window.open(pdfURL, '_blank'); window.open(pdfURL, '_blank');
asm
endSpinner();
end;
end; end;
...@@ -310,6 +316,7 @@ procedure TFViewOrders.ShowSetStatusForm(); ...@@ -310,6 +316,7 @@ procedure TFViewOrders.ShowSetStatusForm();
var var
newform: TFSetStatus; newform: TFSetStatus;
begin begin
console.log('set status');
newform := TFSetStatus.CreateNew; newform := TFSetStatus.CreateNew;
newform.Caption := 'Input Search Options'; newform.Caption := 'Input Search Options';
...@@ -317,10 +324,24 @@ begin ...@@ -317,10 +324,24 @@ begin
newForm.Border := fbDialog; newForm.Border := fbDialog;
newForm.OrderID := OrderID; newForm.OrderID := OrderID;
newForm.JobName := wdbtcOrders.Cells[2, row]; newForm.JobName := wdbtcOrders.Cells[2, row];
newForm.ShipDue := StrToDateTime(wdbtcOrders.Cells[13, row]); if wdbtcOrders.Cells[13, row] <> '' then
newForm.MountDue := StrToDateTime(wdbtcOrders.Cells[11, row]); newForm.ShipDue := StrToDateTime(wdbtcOrders.Cells[13, row])
newForm.PlateDue := StrToDateTime(wdbtcOrders.Cells[9, row]); else
newForm.ArtDue := StrToDateTime(wdbtcOrders.Cells[7, row]); newForm.MountDue := 0;
if wdbtcOrders.Cells[11, row] <> '' then
newForm.MountDue := StrToDateTime(wdbtcOrders.Cells[11, row])
else
newForm.MountDue := 0;
if wdbtcOrders.Cells[9, row] <> '' then
newForm.PlateDue := StrToDateTime(wdbtcOrders.Cells[9, row])
else
newForm.PlateDue := 0;
if wdbtcOrders.Cells[7, row] <> '' then
newForm.ArtDue := StrToDateTime(wdbtcOrders.Cells[7, row])
else
newForm.ArtDue := 0 ;
newForm.OrderType := OrderType;
console.log(OrderType);
// used to manage Back button handling to close subform // used to manage Back button handling to close subform
window.location.hash := 'subform'; window.location.hash := 'subform';
...@@ -372,6 +393,7 @@ procedure TFViewOrders.wdbtcOrdersClickCell(Sender: TObject; ACol, ...@@ -372,6 +393,7 @@ procedure TFViewOrders.wdbtcOrdersClickCell(Sender: TObject; ACol,
ARow: Integer); ARow: Integer);
begin begin
OrderID := wdbtcOrders.Cells[0, ARow]; OrderID := wdbtcOrders.Cells[0, ARow];
OrderType := wdbtcOrders.Cells[3, ARow];
row := ARow; row := ARow;
end; end;
......
...@@ -219,49 +219,6 @@ object FSearch: TFSearch ...@@ -219,49 +219,6 @@ object FSearch: TFSearch
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object pnlMessage: TWebPanel
Left = 92
Top = 637
Width = 121
Height = 33
ElementClassName = 'card'
ElementID = 'pnl_message'
ChildOrder = 5
ElementBodyClassName = 'card-body'
ElementFont = efCSS
ElementPosition = epRelative
Role = 'alert'
TabOrder = 0
object lblMessage: TWebLabel
Left = 26
Top = 11
Width = 44
Height = 14
Caption = 'Message'
ElementID = 'pnl_message'
ElementFont = efCSS
ElementPosition = epRelative
HeightStyle = ssAuto
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
end
object btnCloseNotification: TWebButton
Left = 96
Top = 3
Width = 22
Height = 25
ChildOrder = 1
ElementClassName = 'btn btn-light'
ElementID = 'view.login.message.button'
ElementFont = efCSS
ElementPosition = epRelative
HeightStyle = ssAuto
HeightPercent = 100.000000000000000000
Role = 'button'
WidthStyle = ssAuto
WidthPercent = 100.000000000000000000
end
end
object wcbFilterType1: TWebComboBox object wcbFilterType1: TWebComboBox
Left = 8 Left = 8
Top = 462 Top = 462
...@@ -393,6 +350,7 @@ object FSearch: TFSearch ...@@ -393,6 +350,7 @@ object FSearch: TFSearch
Items.Strings = ( Items.Strings = (
'Corrugated' 'Corrugated'
'Web' 'Web'
'Cutting Die'
'Any') 'Any')
end end
object wcbFilterType2: TWebComboBox object wcbFilterType2: TWebComboBox
...@@ -472,7 +430,7 @@ object FSearch: TFSearch ...@@ -472,7 +430,7 @@ object FSearch: TFSearch
Height = 233 Height = 233
ParentDoubleBuffered = False ParentDoubleBuffered = False
DoubleBuffered = True DoubleBuffered = True
TabOrder = 12 TabOrder = 11
DefaultRowHeight = 40.000000000000000000 DefaultRowHeight = 40.000000000000000000
FixedColumns = 0 FixedColumns = 0
ColumnCount = 4 ColumnCount = 4
......
...@@ -17,9 +17,6 @@ uses ...@@ -17,9 +17,6 @@ uses
type type
TFSearch = class(TWebForm) TFSearch = class(TWebForm)
pnlMessage: TWebPanel;
lblMessage: TWebLabel;
btnCloseNotification: TWebButton;
wcbFilterType1: TWebComboBox; wcbFilterType1: TWebComboBox;
btnConfirm: TWebButton; btnConfirm: TWebButton;
edtOrderID: TWebEdit; edtOrderID: TWebEdit;
......
...@@ -92,9 +92,9 @@ object FSetStatus: TFSetStatus ...@@ -92,9 +92,9 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel6: TWebLabel object lblMount: TWebLabel
Left = 326 Left = 324
Top = 140 Top = 200
Width = 62 Width = 62
Height = 14 Height = 14
Caption = 'Mount Due:' Caption = 'Mount Due:'
...@@ -107,9 +107,9 @@ object FSetStatus: TFSetStatus ...@@ -107,9 +107,9 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel7: TWebLabel object lblMountNew: TWebLabel
Left = 484 Left = 482
Top = 140 Top = 200
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -122,7 +122,7 @@ object FSetStatus: TFSetStatus ...@@ -122,7 +122,7 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel8: TWebLabel object lblPlate: TWebLabel
Left = 11 Left = 11
Top = 200 Top = 200
Width = 54 Width = 54
...@@ -137,7 +137,7 @@ object FSetStatus: TFSetStatus ...@@ -137,7 +137,7 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel9: TWebLabel object lblPlateNew: TWebLabel
Left = 169 Left = 169
Top = 200 Top = 200
Width = 78 Width = 78
...@@ -152,9 +152,9 @@ object FSetStatus: TFSetStatus ...@@ -152,9 +152,9 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel10: TWebLabel object lblArt: TWebLabel
Left = 324 Left = 324
Top = 200 Top = 142
Width = 44 Width = 44
Height = 14 Height = 14
Caption = 'Art Due:' Caption = 'Art Due:'
...@@ -167,9 +167,9 @@ object FSetStatus: TFSetStatus ...@@ -167,9 +167,9 @@ object FSetStatus: TFSetStatus
ParentFont = False ParentFont = False
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
end end
object WebLabel11: TWebLabel object lblArtNew: TWebLabel
Left = 482 Left = 482
Top = 200 Top = 142
Width = 78 Width = 78
Height = 14 Height = 14
Caption = 'New Due Date:' Caption = 'New Due Date:'
...@@ -226,8 +226,8 @@ object FSetStatus: TFSetStatus ...@@ -226,8 +226,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object btnConfirm: TWebButton object btnConfirm: TWebButton
Left = 11 Left = 14
Top = 271 Top = 273
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Confirm' Caption = 'Confirm'
...@@ -242,8 +242,8 @@ object FSetStatus: TFSetStatus ...@@ -242,8 +242,8 @@ object FSetStatus: TFSetStatus
OnClick = btnConfirmClick OnClick = btnConfirmClick
end end
object btnCancel: TWebButton object btnCancel: TWebButton
Left = 133 Left = 125
Top = 271 Top = 273
Width = 96 Width = 96
Height = 25 Height = 25
Caption = 'Cancel' Caption = 'Cancel'
...@@ -349,8 +349,8 @@ object FSetStatus: TFSetStatus ...@@ -349,8 +349,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpMountDue: TWebDateTimePicker object dtpMountDue: TWebDateTimePicker
Left = 326 Left = 324
Top = 160 Top = 220
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -362,8 +362,8 @@ object FSetStatus: TFSetStatus ...@@ -362,8 +362,8 @@ object FSetStatus: TFSetStatus
Text = '' Text = ''
end end
object dtpNewMountDue: TWebDateTimePicker object dtpNewMountDue: TWebDateTimePicker
Left = 484 Left = 482
Top = 160 Top = 220
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -400,7 +400,7 @@ object FSetStatus: TFSetStatus ...@@ -400,7 +400,7 @@ object FSetStatus: TFSetStatus
end end
object dtpArtDue: TWebDateTimePicker object dtpArtDue: TWebDateTimePicker
Left = 324 Left = 324
Top = 220 Top = 162
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
...@@ -413,7 +413,7 @@ object FSetStatus: TFSetStatus ...@@ -413,7 +413,7 @@ object FSetStatus: TFSetStatus
end end
object dtpNewArtDue: TWebDateTimePicker object dtpNewArtDue: TWebDateTimePicker
Left = 482 Left = 482
Top = 220 Top = 162
Width = 145 Width = 145
Height = 22 Height = 22
BorderStyle = bsSingle BorderStyle = bsSingle
......
...@@ -24,17 +24,17 @@ type ...@@ -24,17 +24,17 @@ type
dtpShipDue: TWebDateTimePicker; dtpShipDue: TWebDateTimePicker;
WebLabel5: TWebLabel; WebLabel5: TWebLabel;
dtpNewShipDue: TWebDateTimePicker; dtpNewShipDue: TWebDateTimePicker;
WebLabel6: TWebLabel; lblMount: TWebLabel;
dtpMountDue: TWebDateTimePicker; dtpMountDue: TWebDateTimePicker;
WebLabel7: TWebLabel; lblMountNew: TWebLabel;
dtpNewMountDue: TWebDateTimePicker; dtpNewMountDue: TWebDateTimePicker;
WebLabel8: TWebLabel; lblPlate: TWebLabel;
dtpPlateDue: TWebDateTimePicker; dtpPlateDue: TWebDateTimePicker;
WebLabel9: TWebLabel; lblPlateNew: TWebLabel;
dtpNewPlateDue: TWebDateTimePicker; dtpNewPlateDue: TWebDateTimePicker;
WebLabel10: TWebLabel; lblArt: TWebLabel;
dtpArtDue: TWebDateTimePicker; dtpArtDue: TWebDateTimePicker;
WebLabel11: TWebLabel; lblArtNew: TWebLabel;
dtpNewArtDue: TWebDateTimePicker; dtpNewArtDue: TWebDateTimePicker;
procedure WebFormShow(Sender: TObject); procedure WebFormShow(Sender: TObject);
procedure btnConfirmClick(Sender: TObject); procedure btnConfirmClick(Sender: TObject);
...@@ -46,7 +46,7 @@ type ...@@ -46,7 +46,7 @@ type
public public
{ Public declarations } { Public declarations }
confirm: boolean; confirm: boolean;
OrderID, JobName: string; OrderID, JobName, OrderType: string;
ShipDue, MountDue, PlateDue, ArtDue: TDateTime; ShipDue, MountDue, PlateDue, ArtDue: TDateTime;
end; end;
...@@ -66,6 +66,10 @@ procedure TFSetStatus.btnConfirmClick(Sender: TObject); ...@@ -66,6 +66,10 @@ procedure TFSetStatus.btnConfirmClick(Sender: TObject);
begin begin
if ( (dtpDate.Date = 0 ) or ( wlcbStatus.value = '' ) ) then if ( (dtpDate.Date = 0 ) or ( wlcbStatus.value = '' ) ) then
ShowNotification('Failure:Please fill in all information') ShowNotification('Failure:Please fill in all information')
else if ( ( OrderType = 'web plate' ) and ( wlcbStatus.Value = 'MOUNT' ) ) then
ShowNotification('Failure:Web Plate Orders do not have Mount Due/Done dates')
else if ( ( OrderType = 'cutting die' ) and ( wlcbStatus.Value = 'MOUNT' ) or ( wlcbStatus.Value = 'ART' ) or (wlcbStatus.Value = 'PLATE') ) then
ShowNotification('Failure:Cutting Die Orders do not have Art/Plate/Mount Due or Done Dates')
else else
begin begin
confirm := true; confirm := true;
...@@ -87,6 +91,34 @@ begin ...@@ -87,6 +91,34 @@ begin
dtpNewMountDue.Date := 0; dtpNewMountDue.Date := 0;
dtpNewPlateDue.Date := 0; dtpNewPlateDue.Date := 0;
dtpNewArtDue.Date := 0; dtpNewArtDue.Date := 0;
if orderType = 'web plate' then
begin
dtpNewMountDue.Visible := false;
dtpMountDue.Visible := false;
lblMount.Visible := false;
lblMountNew.Visible := false;
end
else if orderType = 'cutting die' then
begin
dtpNewMountDue.Visible := false;
dtpMountDue.Visible := false;
lblMount.Visible := false;
lblMountNew.Visible := false;
dtpPlateDue.Visible := false;
dtpNewPlateDue.Visible := false;
lblPlate.Visible := false;
lblPlateNew.Visible := false;
dtpArtDue.Visible := false;
dtpNewArtDue.Visible := false;
lblArt.Visible := false;
lblArtNew.Visible := false;
end;
end; end;
procedure TFSetStatus.HideNotification; procedure TFSetStatus.HideNotification;
......
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{DB6F5DBF-7E4B-45DA-AFFA-6C8DF15BA740}</ProjectGuid> <ProjectGuid>{DB6F5DBF-7E4B-45DA-AFFA-6C8DF15BA740}</ProjectGuid>
<ProjectVersion>20.1</ProjectVersion> <ProjectVersion>20.2</ProjectVersion>
<FrameworkType>VCL</FrameworkType> <FrameworkType>VCL</FrameworkType>
<MainSource>webKGOrders.dpr</MainSource> <MainSource>webKGOrders.dpr</MainSource>
<Base>True</Base> <Base>True</Base>
...@@ -225,33 +225,13 @@ ...@@ -225,33 +225,13 @@
<Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages> </Excluded_Packages>
</Delphi.Personality> </Delphi.Personality>
<Deployment Version="4"> <Deployment Version="5">
<DeployFile LocalName="Win32\Debug\webCharms.exe" Configuration="Debug" Class="ProjectOutput"/> <DeployFile LocalName="Win32\Debug\webCharms.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="Win32\Debug\webKGOrders.exe" Configuration="Debug" Class="ProjectOutput"> <DeployFile LocalName="Win32\Debug\webKGOrders.exe" Configuration="Debug" Class="ProjectOutput"/>
<Platform Name="Win32"> <DeployFile LocalName="config\config.json" Configuration="Debug" Class="ProjectFile"/>
<RemoteName>webKGOrders.exe</RemoteName> <DeployFile LocalName="css\app.css" Configuration="Debug" Class="ProjectFile"/>
<Overwrite>true</Overwrite> <DeployFile LocalName="index.html" Configuration="Debug" Class="ProjectFile"/>
</Platform>
</DeployFile>
<DeployFile LocalName="config\config.json" Configuration="Debug" Class="ProjectFile">
<Platform Name="Win32">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="css\app.css" Configuration="Debug" Class="ProjectFile">
<Platform Name="Win32">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="index.html" Configuration="Debug" Class="ProjectFile"/> <DeployFile LocalName="index.html" Configuration="Debug" Class="ProjectFile"/>
<DeployFile LocalName="index.html" Configuration="Debug" Class="ProjectFile">
<Platform Name="Win32">
<RemoteDir>.\</RemoteDir>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
<DeployFile LocalName="template\bootstrap\bootstrap.min.css" Configuration="Debug" Class="ProjectFile"/> <DeployFile LocalName="template\bootstrap\bootstrap.min.css" Configuration="Debug" Class="ProjectFile"/>
<DeployFile LocalName="template\bootstrap\bootstrap.min.js" Configuration="Debug" Class="ProjectFile"/> <DeployFile LocalName="template\bootstrap\bootstrap.min.js" Configuration="Debug" Class="ProjectFile"/>
<DeployFile LocalName="template\bootstrap\dataTables.bootstrap.css" Configuration="Debug" Class="ProjectFile"/> <DeployFile LocalName="template\bootstrap\dataTables.bootstrap.css" Configuration="Debug" Class="ProjectFile"/>
...@@ -276,16 +256,6 @@ ...@@ -276,16 +256,6 @@
<Operation>0</Operation> <Operation>0</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidClasses">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider"> <DeployClass Name="AndroidFileProvider">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>res\xml</RemoteDir> <RemoteDir>res\xml</RemoteDir>
...@@ -296,12 +266,6 @@ ...@@ -296,12 +266,6 @@
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile"> <DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir> <RemoteDir>library\lib\armeabi</RemoteDir>
......
...@@ -33,8 +33,8 @@ object ApiDatabase: TApiDatabase ...@@ -33,8 +33,8 @@ object ApiDatabase: TApiDatabase
Connection = ucKG Connection = ucKG
SQL.Strings = ( SQL.Strings = (
'select * from corrugated_plate_orders') 'select * from corrugated_plate_orders')
Left = 263 Left = 257
Top = 156 Top = 148
object uqOrdersORDER_ID: TIntegerField object uqOrdersORDER_ID: TIntegerField
FieldName = 'ORDER_ID' FieldName = 'ORDER_ID'
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
...@@ -36,10 +36,99 @@ type ...@@ -36,10 +36,99 @@ type
edtEmailAddress: TEdit; edtEmailAddress: TEdit;
btnPDF: TButton; btnPDF: TButton;
Timer1: TTimer; Timer1: TTimer;
Button1: TButton;
uqWeb: TUniQuery;
ucKG: TUniConnection;
uqWebORDER_ID: TIntegerField;
uqWebCOMPANY_ID: TIntegerField;
uqWebUSER_ID: TIntegerField;
uqWebORDER_DATE: TDateTimeField;
uqWebSTART_DATE: TDateField;
uqWebEND_DATE: TDateField;
uqWebORDER_STATUS: TStringField;
uqWebSCHED_JSON: TStringField;
uqWebstaff_fields_order_date: TDateField;
uqWebstaff_fields_proof_date: TDateField;
uqWebstaff_fields_ship_date: TDateField;
uqWebstaff_fields_ship_via: TStringField;
uqWebstaff_fields_price: TStringField;
uqWebstaff_fields_invoice_to: TStringField;
uqWebstaff_fields_invoice_attention: TStringField;
uqWebstaff_fields_ship_to: TStringField;
uqWebstaff_fields_ship_attention: TStringField;
uqWebstaff_fields_po_number: TStringField;
uqWebstaff_fields_job_name: TStringField;
uqWebstaff_fields_art_due: TDateField;
uqWebstaff_fields_plate_due: TDateField;
uqWebplates_job_number: TStringField;
uqWebsupplied_by_customer_b_w_or_co: TStringField;
uqWebsupplied_by_customer_plates: TStringField;
uqWebsupplied_by_customer_sample: TStringField;
uqWebsupplied_by_customer_dimension: TStringField;
uqWebsupplied_by_customer_other: TStringField;
uqWebsupplied_by_customer_disk: TStringField;
uqWebsupplied_by_customer_e_mail: TStringField;
uqWebsupplied_by_customer_ftp: TStringField;
uqWebplates_plate_material: TStringField;
uqWebplates_thickness: TStringField;
uqWebsupplied_by_customer_total_inc: TStringField;
uqWebsupplied_by_customer_sheets_us: TStringField;
uqWebsupplied_by_customer_initials: TStringField;
uqWebproofing_pdf: TStringField;
uqWebproofing_pdf_to: TStringField;
uqWebproofing_pdf_date_1: TDateField;
uqWebproofing_pdf_date_2: TDateField;
uqWebproofing_pdf_date_3: TDateField;
uqWebproofing_full_size_ink_jet_for: TStringField;
uqWebproofing_ink_jet_to: TStringField;
uqWebproofing_ink_jet_to_2: TStringField;
uqWebproofing_ink_jet_date_1: TDateField;
uqWebproofing_ink_jet_date_2: TDateField;
uqWebproofing_ink_jet_date_3: TDateField;
uqWebproofing_color_contract: TStringField;
uqWebproofing_color_contrac_to: TStringField;
uqWebproofing_color_contrac_date_1: TDateField;
uqWebproofing_color_contrac_date_2: TDateField;
uqWebproofing_digital_color_key: TStringField;
uqWebproofing_digital_color_to: TStringField;
uqWebproofing_digital_color_date_1: TDateField;
uqWebquantity_and_colors_press_name: TStringField;
uqWebquantity_and_colors_anilox_info: TStringField;
uqWebplate_marks_microdots: TStringField;
uqWebplate_marks_microdots_comments: TStringField;
uqWebplate_marks_crosshairs: TStringField;
uqWebplate_marks_crosshairs_comments: TStringField;
uqWebplate_marks_color_bars: TStringField;
uqWebplate_marks_color_bars_comments: TStringField;
uqWebplate_marks_other: TStringField;
uqWebplate_marks_other_comments: TStringField;
uqWebprint_orientation_print_orient: TStringField;
uqWeblayout_around: TStringField;
uqWeblayout_accross: TStringField;
uqWeblayout_surface_print: TStringField;
uqWeblayout_reverse_print: TStringField;
uqWeblayout_cylinder_repeat: TStringField;
uqWeblayout_cutoff_dimension: TStringField;
uqWeblayout_pitch: TStringField;
uqWeblayout_teeth: TStringField;
uqWeblayout_bleed: TStringField;
uqWeblayout_cutback: TStringField;
uqWeblayout_minimum_trap_dim: TStringField;
uqWeblayout_maximum_trap_dim: TStringField;
uqWebupc_size: TStringField;
uqWebupc_bar_width_reduction: TStringField;
uqWebquantity_and_colors_qty_colors: TStringField;
uqWebgeneral_comments: TStringField;
uqWebstaff_fields_quickbooks_item: TStringField;
uqWebstaff_fields_quantity: TStringField;
uqWebupc_distortion_percent: TStringField;
uqWebupc_distortion_amount: TStringField;
uqWebstaff_fields_art_location: TStringField;
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
procedure btnFindClick(Sender: TObject); procedure btnFindClick(Sender: TObject);
procedure btnPDFClick(Sender: TObject); procedure btnPDFClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject); procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
private private
kgDB: TApiDatabase; kgDB: TApiDatabase;
accountSID: string; accountSID: string;
...@@ -55,7 +144,7 @@ implementation ...@@ -55,7 +144,7 @@ implementation
{$R *.dfm} {$R *.dfm}
uses uLibrary, rOrders; uses uLibrary, rOrderList, rOrderWeb, rOrderCorrugated;
procedure TFData.FormCreate(Sender: TObject); procedure TFData.FormCreate(Sender: TObject);
begin begin
...@@ -80,6 +169,22 @@ begin ...@@ -80,6 +169,22 @@ begin
end; end;
procedure TFData.Button1Click(Sender: TObject);
var
Field: TField;
SQL: string;
begin
for Field in uqWeb.Fields do
begin
SQL := 'SELECT ORDER_ID, ORDER_DATE, ' + Field.FieldName + ', LENGTH( ' + Field.FieldName +
') AS max_length FROM web_plate_orders ORDER BY max_length DESC LIMIT 1';
doQuery(uqUsers, SQL);
memo1.Lines.Add(Field.FieldName + ', ' + uqUsers.FieldByName('ORDER_ID').AsString +
', ' + uqUsers.FieldByName('max_length').AsString + ', ' + uqUsers.FieldByName('ORDER_DATE').AsString);
end;
end;
procedure TFData.btnFindClick(Sender: TObject); procedure TFData.btnFindClick(Sender: TObject);
// Retrieves calls from a specific number from the database. // Retrieves calls from a specific number from the database.
// SQL: SQL statement to retrieve calls from the database // SQL: SQL statement to retrieve calls from the database
...@@ -100,14 +205,14 @@ end; ...@@ -100,14 +205,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;
......
...@@ -327,6 +327,35 @@ type ...@@ -327,6 +327,35 @@ type
general_comments: string; general_comments: string;
end; end;
TCuttingDie = class
public
// Company
COMPANY_ID: integer;
NAME: string;
SHORT_NAME: string;
inQuickBooks: string;
ADDRESS_LIST: TList<TAddressItem>;
ITEMS: TItemList;
// Staff Fields:
staff_fields_order_date: string;
staff_fields_proof_date: string;
staff_fields_ship_date: string;
staff_fields_ship_via: string;
staff_fields_quantity: string;
staff_fields_price: string;
staff_fields_invoice_to: string;
staff_fields_ship_to: string;
staff_fields_po_number: string;
staff_fields_job_name: string;
staff_fields_quickbooks_item: string;
// General
general_special_instructions: string;
end;
type type
[ServiceContract, Model(API_MODEL)] [ServiceContract, Model(API_MODEL)]
...@@ -337,9 +366,13 @@ type ...@@ -337,9 +366,13 @@ type
[HttpGet] function GetOrders(searchOptions: string): TOrderList; [HttpGet] function GetOrders(searchOptions: string): TOrderList;
[HttpGet] function GetOrder(orderInfo: string): TFullOrder; [HttpGet] function GetOrder(orderInfo: string): TFullOrder;
[HttpGet] function GetWebOrder(orderInfo: string): TWebOrder; [HttpGet] function GetWebOrder(orderInfo: string): TWebOrder;
[HttpGet] function GetCuttingDieOrder(orderInfo: string): TCuttingDie;
[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;
[HttpGet] function GenerateOrderWebPDF(orderID: string): string;
[HttpGet] function GenerateOrderCuttingPDF(orderID: string): string;
function AddUser(userInfo: string): string; function AddUser(userInfo: string): string;
...@@ -348,6 +381,7 @@ type ...@@ -348,6 +381,7 @@ type
function EditUser(const editOptions: string): string; function EditUser(const editOptions: string): string;
function AddCorrugatedOrder(orderInfo: string): TJSONObject; function AddCorrugatedOrder(orderInfo: string): TJSONObject;
function AddWebOrder(orderInfo: string): TJSONObject; function AddWebOrder(orderInfo: string): TJSONObject;
function AddCuttingDieOrder(orderInfo: string): TJSONObject;
function AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string; function AddStatusSchedule(StatusType: string; order: TJSONObject; ORDER_ID: integer): string;
function SetStatus(statusOptions: string): string; function SetStatus(statusOptions: string): string;
end; end;
......
unit Main; unit Main;
//Authors: //Authors:
//Elias Sarraf //Elias Sarraf
//Mac ... //Mac Stephens
//Cameron Hayes //Cameron Hayes
interface interface
......
This source diff could not be displayed because it is too large. You can view the blob instead.
unit rOrderCorrugated;
interface
uses
System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet, JS, JSON,
frxTableObject, frxUtils;
type
TrptOrderCorrugated = class(TDataModule)
ucKG: TUniConnection;
frxPDFExport1: TfrxPDFExport;
frxDBOrderCorrugated: TfrxDBDataset;
frxOrderCorrugated: TfrxReport;
uqOrderCorrugated: TUniQuery;
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;
private
{ Private declarations }
public
function PrepareReport(SQL: string): string;
function GeneratePDF: string;
procedure PopulateColorTable();
end;
var
rptOrderCorrugated: TrptOrderCorrugated;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
uses
uLibrary, Common.Config;
procedure TrptOrderCorrugated.PopulateColorTable;
var
row: TfrxCustomTableRow;
colorArray: TJSONArray;
colorsObject, colorObject: TJSONObject;
colorsString: string;
i, rowIndex: Integer;
temp: TObject;
begin
logger.Log(1, 'Adding Color Rows');
colorsString := uqOrderCorrugated.FieldByName('colors_colors').AsString;
colorsObject := TJSONObject.ParseJSONValue(colorsString) as TJSONObject;
colorArray := TJSONArray(colorsObject.GetValue<TJSONArray>('items'));
for i := 0 to colorArray.Count - 1 do
begin
row := frxOrderCorrugated.FindObject('ColorRow' + IntToStr(i + 1)) as TfrxCustomTableRow;
colorObject := colorArray.Items[i] as TJSONObject;
row.Cells[0].Text := colorObject.GetValue<string>('#');
row.Cells[1].Text := colorObject.GetValue<string>('Color');
row.Cells[2].Text := colorObject.GetValue<string>('LPI');
row.Cells[3].Text := colorObject.GetValue<string>('Size');
end;
colorsObject.Free;
end;
function TrptOrderCorrugated.PrepareReport(SQL: string): string;
var
orderList : TJSObject;
i: integer;
data: TJSArray;
order: TJSObject;
callListLength: integer;
tempString, strColorList: string;
colorObject: TJSONObject;
colorList: TJSArray;
colorLength: integer;
color: TJSObject;
colorJSON: TJSONObject;
colorListJSON: TJSONArray;
items: TJSObject;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
//SQL := 'select * from corrugated_plate_orders where ORDER_ID = 18381';
doQuery(uqOrderCorrugated, SQL);
if ( string( uqOrderCorrugated.FieldByName('colors_colors').AsString ) ) <> '' then
begin
PopulateColorTable();
end;
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
end;
function TrptOrderCorrugated.GeneratePDF: string;
var
ReportDir, ReportFileName: string;
reportURL: string;
begin
ReportDir := ServerConfig.reportsFolder;
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports\' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
ReportFileName := reportDir + reportUrl;
frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False;
try
frxOrderCorrugated.PrepareReport;
frxOrderCorrugated.Export(frxPDFExport1);
//frxOrders.ShowPreparedReport;
finally
frxOrderCorrugated.Clear; // Clears the report to avoid memory bloat
end;
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
result := reportURL;
end;
end.
unit rOrderCutting;
interface
uses
System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet, JS, JSON,
frxTableObject, frxUtils;
type
TrptOrderCutting = class(TDataModule)
ucKG: TUniConnection;
frxPDFExport1: TfrxPDFExport;
frxDBOrderCutting: TfrxDBDataset;
frxOrderCutting: TfrxReport;
uqOrderCutting: TUniQuery;
uqOrderCuttingORDER_ID: TIntegerField;
uqOrderCuttingCOMPANY_ID: TIntegerField;
uqOrderCuttingUSER_ID: TIntegerField;
uqOrderCuttingORDER_DATE: TDateTimeField;
uqOrderCuttingstaff_fields_order_date: TDateField;
uqOrderCuttingstaff_fields_proof_date: TDateField;
uqOrderCuttingstaff_fields_ship_date: TDateField;
uqOrderCuttingstaff_fields_ship_via: TStringField;
uqOrderCuttingstaff_fields_quantity: TStringField;
uqOrderCuttingstaff_fields_price: TStringField;
uqOrderCuttingstaff_fields_invoice_to: TStringField;
uqOrderCuttingstaff_fields_ship_to: TStringField;
uqOrderCuttingstaff_fields_po_number: TStringField;
uqOrderCuttingstaff_fields_job_name: TStringField;
uqOrderCuttingstaff_fields_quickbooks_item: TStringField;
uqOrderCuttinggeneral_special_instructions: TStringField;
private
{ Private declarations }
public
{ Public declarations }
function PrepareReport(SQL: string): string;
function GeneratePDF: string;
end;
var
rptOrderCutting: TrptOrderCutting;
implementation
uses
uLibrary, Common.Config;
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
function TrptOrderCutting.PrepareReport(SQL: string): string;
var
orderList : TJSObject;
i: integer;
data: TJSArray;
order: TJSObject;
callListLength: integer;
tempString, strColorList: string;
colorObject: TJSONObject;
colorList: TJSArray;
colorLength: integer;
color: TJSObject;
colorJSON: TJSONObject;
colorListJSON: TJSONArray;
items: TJSObject;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
//SQL := 'select * from corrugated_plate_orders where ORDER_ID = 18381';
doQuery(uqOrderCutting, SQL);
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
end;
function TrptOrderCutting.GeneratePDF: string;
var
ReportDir, ReportFileName: string;
reportURL: string;
begin
ReportDir := ServerConfig.reportsFolder;
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports\' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
ReportFileName := reportDir + reportUrl;
frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False;
try
frxOrderCutting.PrepareReport;
frxOrderCutting.Export(frxPDFExport1);
//frxOrders.ShowPreparedReport;
finally
frxOrderCutting.Clear; // Clears the report to avoid memory bloat
end;
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
result := reportURL;
end;
end.
unit rOrders; unit rOrderList;
interface interface
uses uses
System.SysUtils, System.Classes, frxClass, frxExportBaseDialog, frxExportPDF, System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
Data.DB, DBAccess, Uni, UniProvider, MySQLUniProvider, System.IniFiles, Vcl.Forms, frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet, JS, JSON,
MemDS, frxDBSet, frxTableObject, frCoreClasses, Common.Logging, System.IOUtils, JSON; frxTableObject, frxUtils, DateUtils;
type type
TrptOrders = class(TDataModule) TrptOrderList = class(TDataModule)
frxOrders: TfrxReport; frxOrderList: TfrxReport;
frxPDFExport1: TfrxPDFExport; frxPDFExport1: TfrxPDFExport;
ucKG: TUniConnection; ucKG: TUniConnection;
uqOrders: TUniQuery; uqOrders: TUniQuery;
...@@ -34,6 +34,14 @@ type ...@@ -34,6 +34,14 @@ type
uqOrdersQB_REF_NUM: TStringField; uqOrdersQB_REF_NUM: TStringField;
uqOrdersCOLORS: TStringField; uqOrdersCOLORS: TStringField;
uqColors: TUniQuery; uqColors: TUniQuery;
uqOrderspo_number: TStringField;
uqOrdersquickbooks_item: TStringField;
uqOrdersNEW_ORDER_DATE: TStringField;
uqOrdersNEW_PROOF_DONE: TStringField;
uqOrdersNEW_ART_DONE: TStringField;
uqOrdersNEW_PLATE_DONE: TStringField;
uqOrdersNEW_MOUNT_DONE: TStringField;
uqOrdersNEW_SHIP_DONE: TStringField;
procedure DataModuleCreate(Sender: TObject); procedure DataModuleCreate(Sender: TObject);
procedure uqOrdersCalcFields(DataSet: TDataSet); procedure uqOrdersCalcFields(DataSet: TDataSet);
...@@ -41,12 +49,12 @@ type ...@@ -41,12 +49,12 @@ type
function getColorCount(colors: string): string; function getColorCount(colors: string): string;
public public
function PrepareReport(SQL: string): string; function PrepareReport(SQL, CompanyName: string): string;
function GeneratePDF: string; function GeneratePDF: string;
end; end;
var var
rptOrders: TrptOrders; rptOrderList: TrptOrderList;
implementation implementation
...@@ -57,7 +65,7 @@ uses ...@@ -57,7 +65,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,29 +74,51 @@ begin ...@@ -66,29 +74,51 @@ 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, CompanyName: string): string;
var
memo: TFrxMemoView;
temp: TDateTime;
DateFormat: TFormatSettings;
tempStr: 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;
uqOrders.Open; uqOrders.Open;
uqOrders.Edit;
memo := frxOrderList.FindObject('CompanyName') as TFrxMemoView;
memo.Text := CompanyName;
DateFormat := TFormatSettings.Create;
DateFormat.ShortDateFormat := 'mm/dd/yyyy';
DateFormat.DateSeparator := '/';
DateFormat.TimeSeparator := ':';
DateFormat.ShortTimeFormat := 'HH:nn';
tempStr := FormatDateTime('m/d/yyyy HH:nn', uqOrdersORDER_DATE.AsDateTime);
temp := StrToDateTime(FormatDateTime('m/d/yyyy HH:nn', uqOrdersORDER_DATE.AsDateTime), DateFormat);
uqOrdersORDER_DATE.AsDateTime := RecodeSecond(uqOrdersORDER_DATE.AsDateTime, 0);
uqOrders.Post;
//FormatDateTime('yyyy-mm-dd hh:nn', myDate);
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;
...@@ -116,10 +146,40 @@ begin ...@@ -116,10 +146,40 @@ begin
finally finally
uqColors.Close; // Ensure it is closed uqColors.Close; // Ensure it is closed
end; end;
if uqOrdersORDER_DATE.AsString <> '' then
uqOrdersNEW_ORDER_DATE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersORDER_DATE.AsDateTime)
else
uqOrdersNEW_ORDER_DATE.AsString := '';
if uqOrdersPROOF_DONE.AsString <> '' then
uqOrdersNEW_PROOF_DONE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersPROOF_DONE.AsDateTime)
else
uqOrdersNEW_PROOF_DONE.AsString := '';
if uqOrdersART_DONE.AsString <> '' then
uqOrdersNEW_ART_DONE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersART_DONE.AsDateTime)
else
uqOrdersNEW_ART_DONE.AsString := '';
if uqOrdersPLATE_DONE.AsString <> '' then
uqOrdersNEW_PLATE_DONE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersPLATE_DONE.AsDateTime)
else
uqOrdersNEW_PLATE_DONE.AsString := '';
if uqOrdersMOUNT_DONE.AsString <> '' then
uqOrdersNEW_MOUNT_DONE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersMOUNT_DONE.AsDateTime)
else
uqOrdersNEW_MOUNT_DONE.AsString := '';
if uqOrdersSHIP_DONE.AsString <> '' then
uqOrdersNEW_SHIP_DONE.AsString := FormatDateTime('m/d/yyyy HH:nn', uqOrdersSHIP_DONE.AsDateTime)
else
uqOrdersNEW_SHIP_DONE.AsString := '';
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;
...@@ -138,7 +198,7 @@ begin ...@@ -138,7 +198,7 @@ begin
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 +217,11 @@ begin ...@@ -157,11 +217,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; // Clears 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);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
unit rOrderWeb;
interface
uses
System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, Uni, Common.Logging,
frxClass, frxExportBaseDialog, frxExportPDF, frCoreClasses, frxDBSet, JS, JSON,
frxTableObject, frxUtils;
type
TrptOrderWeb = class(TDataModule)
ucKG: TUniConnection;
frxPDFExport1: TfrxPDFExport;
frxDBOrderWeb: TfrxDBDataset;
frxOrderWeb: TfrxReport;
uqOrderWeb: TUniQuery;
uqOrderWebORDER_ID: TIntegerField;
uqOrderWebCOMPANY_ID: TIntegerField;
uqOrderWebUSER_ID: TIntegerField;
uqOrderWebORDER_DATE: TDateTimeField;
uqOrderWebSTART_DATE: TDateField;
uqOrderWebEND_DATE: TDateField;
uqOrderWebORDER_STATUS: TStringField;
uqOrderWebSCHED_JSON: TStringField;
uqOrderWebstaff_fields_order_date: TDateField;
uqOrderWebstaff_fields_proof_date: TDateField;
uqOrderWebstaff_fields_ship_date: TDateField;
uqOrderWebstaff_fields_ship_via: TStringField;
uqOrderWebstaff_fields_price: TStringField;
uqOrderWebstaff_fields_invoice_to: TStringField;
uqOrderWebstaff_fields_invoice_attention: TStringField;
uqOrderWebstaff_fields_ship_to: TStringField;
uqOrderWebstaff_fields_ship_attention: TStringField;
uqOrderWebstaff_fields_po_number: TStringField;
uqOrderWebstaff_fields_job_name: TStringField;
uqOrderWebstaff_fields_art_due: TDateField;
uqOrderWebstaff_fields_plate_due: TDateField;
uqOrderWebplates_job_number: TStringField;
uqOrderWebsupplied_by_customer_b_w_or_co: TStringField;
uqOrderWebsupplied_by_customer_plates: TStringField;
uqOrderWebsupplied_by_customer_sample: TStringField;
uqOrderWebsupplied_by_customer_dimension: TStringField;
uqOrderWebsupplied_by_customer_other: TStringField;
uqOrderWebsupplied_by_customer_disk: TStringField;
uqOrderWebsupplied_by_customer_e_mail: TStringField;
uqOrderWebsupplied_by_customer_ftp: TStringField;
uqOrderWebplates_plate_material: TStringField;
uqOrderWebplates_thickness: TStringField;
uqOrderWebsupplied_by_customer_total_inc: TStringField;
uqOrderWebsupplied_by_customer_sheets_us: TStringField;
uqOrderWebsupplied_by_customer_initials: TStringField;
uqOrderWebproofing_pdf: TStringField;
uqOrderWebproofing_pdf_to: TStringField;
uqOrderWebproofing_pdf_date_1: TDateField;
uqOrderWebproofing_pdf_date_2: TDateField;
uqOrderWebproofing_pdf_date_3: TDateField;
uqOrderWebproofing_full_size_ink_jet_for: TStringField;
uqOrderWebproofing_ink_jet_to: TStringField;
uqOrderWebproofing_ink_jet_to_2: TStringField;
uqOrderWebproofing_ink_jet_date_1: TDateField;
uqOrderWebproofing_ink_jet_date_2: TDateField;
uqOrderWebproofing_ink_jet_date_3: TDateField;
uqOrderWebproofing_color_contract: TStringField;
uqOrderWebproofing_color_contrac_to: TStringField;
uqOrderWebproofing_color_contrac_date_1: TDateField;
uqOrderWebproofing_color_contrac_date_2: TDateField;
uqOrderWebproofing_digital_color_key: TStringField;
uqOrderWebproofing_digital_color_to: TStringField;
uqOrderWebproofing_digital_color_date_1: TDateField;
uqOrderWebquantity_and_colors_press_name: TStringField;
uqOrderWebquantity_and_colors_anilox_info: TStringField;
uqOrderWebplate_marks_microdots: TStringField;
uqOrderWebplate_marks_microdots_comments: TStringField;
uqOrderWebplate_marks_crosshairs: TStringField;
uqOrderWebplate_marks_crosshairs_comments: TStringField;
uqOrderWebplate_marks_color_bars: TStringField;
uqOrderWebplate_marks_color_bars_comments: TStringField;
uqOrderWebplate_marks_other: TStringField;
uqOrderWebplate_marks_other_comments: TStringField;
uqOrderWebprint_orientation_print_orient: TStringField;
uqOrderWeblayout_around: TStringField;
uqOrderWeblayout_accross: TStringField;
uqOrderWeblayout_surface_print: TStringField;
uqOrderWeblayout_reverse_print: TStringField;
uqOrderWeblayout_cylinder_repeat: TStringField;
uqOrderWeblayout_cutoff_dimension: TStringField;
uqOrderWeblayout_pitch: TStringField;
uqOrderWeblayout_teeth: TStringField;
uqOrderWeblayout_bleed: TStringField;
uqOrderWeblayout_cutback: TStringField;
uqOrderWeblayout_minimum_trap_dim: TStringField;
uqOrderWeblayout_maximum_trap_dim: TStringField;
uqOrderWebupc_size: TStringField;
uqOrderWebupc_bar_width_reduction: TStringField;
uqOrderWebquantity_and_colors_qty_colors: TStringField;
uqOrderWebgeneral_comments: TStringField;
uqOrderWebstaff_fields_quickbooks_item: TStringField;
uqOrderWebstaff_fields_quantity: TStringField;
uqOrderWebupc_distortion_percent: TStringField;
uqOrderWebupc_distortion_amount: TStringField;
uqOrderWebstaff_fields_art_location: TStringField;
uqOrderWebQB_REF_NUM: TStringField;
private
{ Private declarations }
public
{ Public declarations }
function PrepareReport(SQL: string): string;
function GeneratePDF: string;
procedure PopulateColorTable();
end;
var
rptOrderWeb: TrptOrderWeb;
implementation
{%CLASSGROUP 'Vcl.Controls.TControl'}
{$R *.dfm}
uses
uLibrary, Common.Config;
procedure TrptOrderWeb.PopulateColorTable;
var
row: TfrxCustomTableRow;
colorArray: TJSONArray;
colorsObject, colorObject: TJSONObject;
colorsString: string;
i, rowIndex: Integer;
temp: TObject;
begin
logger.Log(1, 'Adding Color Rows');
colorsString := uqOrderWeb.FieldByName('quantity_and_colors_qty_colors').AsString;
colorsObject := TJSONObject.ParseJSONValue(colorsString) as TJSONObject;
colorArray := TJSONArray(colorsObject.GetValue<TJSONArray>('items'));
for i := 0 to colorArray.Count - 1 do
begin
row := frxOrderWeb.FindObject('ColorRow' + IntToStr(i + 1)) as TfrxCustomTableRow;
colorObject := colorArray.Items[i] as TJSONObject;
row.Cells[0].Text := colorObject.GetValue<string>('#');
row.Cells[1].Text := colorObject.GetValue<string>('Color');
row.Cells[2].Text := colorObject.GetValue<string>('LPI');
row.Cells[3].Text := colorObject.GetValue<string>('Size');
end;
colorsObject.Free;
end;
function TrptOrderWeb.PrepareReport(SQL: string): string;
var
orderList : TJSObject;
i: integer;
data: TJSArray;
order: TJSObject;
callListLength: integer;
tempString, strColorList: string;
colorObject: TJSONObject;
colorList: TJSArray;
colorLength: integer;
color: TJSObject;
colorJSON: TJSONObject;
colorListJSON: TJSONArray;
items: TJSObject;
begin
Logger.Log(3, 'Generated SQL for Prepare Report: ' + SQL);
//SQL := 'select * from corrugated_plate_orders where ORDER_ID = 18381';
doQuery(uqOrderWeb, SQL);
if ( string( uqOrderWeb.FieldByName('quantity_and_colors_qty_colors').AsString ) ) <> '' then
begin
PopulateColorTable();
end;
result := GeneratePDF;
Logger.Log(3, 'Report preparation complete.');
end;
function TrptOrderWeb.GeneratePDF: string;
var
ReportDir, ReportFileName: string;
reportURL: string;
begin
ReportDir := ServerConfig.reportsFolder;
if not DirectoryExists(ReportDir) then
begin
ForceDirectories(ReportDir);
Logger.Log(5, 'Reports directory created: ' + ReportDir);
end;
reportURL := 'reports\' + FormatDateTime('yyyymmdd_hhnnss', Now) + '.pdf';
ReportFileName := reportDir + reportUrl;
frxPDFExport1.FileName := ReportFileName;
frxPDFExport1.ShowDialog := False;
try
frxOrderWeb.PrepareReport;
frxOrderWeb.Export(frxPDFExport1);
//frxOrderWeb.ShowPreparedReport;
finally
frxOrderWeb.Clear; // Clears the report to avoid memory bloat
end;
Logger.Log(5, 'PDF saved to: ' + ReportFileName);
result := reportURL;
end;
end.
<?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>
...@@ -22,7 +22,10 @@ uses ...@@ -22,7 +22,10 @@ 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},
rOrderWeb in 'Source\rOrderWeb.pas' {rptOrderWeb: TDataModule},
rOrderCutting in 'Source\rOrderCutting.pas' {rptOrderCutting: TDataModule};
type type
TMemoLogAppender = class( TInterfacedObject, ILogAppender ) TMemoLogAppender = class( TInterfacedObject, ILogAppender )
......
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<ProjectGuid>{2A3028D9-BC39-4625-9BA5-0338012E2824}</ProjectGuid> <ProjectGuid>{2A3028D9-BC39-4625-9BA5-0338012E2824}</ProjectGuid>
<ProjectVersion>20.1</ProjectVersion> <ProjectVersion>20.2</ProjectVersion>
<FrameworkType>VCL</FrameworkType> <FrameworkType>VCL</FrameworkType>
<Base>True</Base> <Base>True</Base>
<Config Condition="'$(Config)'==''">Debug</Config> <Config Condition="'$(Config)'==''">Debug</Config>
...@@ -165,8 +165,23 @@ ...@@ -165,8 +165,23 @@
<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>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="Source\rOrderWeb.pas">
<Form>rptOrderWeb</Form>
<FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="Source\rOrderCutting.pas">
<Form>rptOrderCutting</Form>
<FormType>dfm</FormType> <FormType>dfm</FormType>
<DesignClass>TDataModule</DesignClass> <DesignClass>TDataModule</DesignClass>
</DCCReference> </DCCReference>
...@@ -197,7 +212,8 @@ ...@@ -197,7 +212,8 @@
<Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages> <Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
</Excluded_Packages> </Excluded_Packages>
</Delphi.Personality> </Delphi.Personality>
<Deployment Version="4"> <Deployment Version="5">
<DeployFile LocalName="kgOrdersServer.exe" Configuration="Debug" Class="ProjectOutput"/>
<DeployFile LocalName="kgOrdersServer.exe" Configuration="Debug" Class="ProjectOutput"> <DeployFile LocalName="kgOrdersServer.exe" Configuration="Debug" Class="ProjectOutput">
<Platform Name="Win32"> <Platform Name="Win32">
<RemoteName>kgOrdersServer.exe</RemoteName> <RemoteName>kgOrdersServer.exe</RemoteName>
...@@ -216,16 +232,6 @@ ...@@ -216,16 +232,6 @@
<Operation>0</Operation> <Operation>0</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidClasses">
<Platform Name="Android">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
<Platform Name="Android64">
<RemoteDir>classes</RemoteDir>
<Operation>64</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidFileProvider"> <DeployClass Name="AndroidFileProvider">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>res\xml</RemoteDir> <RemoteDir>res\xml</RemoteDir>
...@@ -236,12 +242,6 @@ ...@@ -236,12 +242,6 @@
<Operation>1</Operation> <Operation>1</Operation>
</Platform> </Platform>
</DeployClass> </DeployClass>
<DeployClass Name="AndroidGDBServer">
<Platform Name="Android">
<RemoteDir>library\lib\armeabi-v7a</RemoteDir>
<Operation>1</Operation>
</Platform>
</DeployClass>
<DeployClass Name="AndroidLibnativeArmeabiFile"> <DeployClass Name="AndroidLibnativeArmeabiFile">
<Platform Name="Android"> <Platform Name="Android">
<RemoteDir>library\lib\armeabi</RemoteDir> <RemoteDir>library\lib\armeabi</RemoteDir>
......
[Settings] [Settings]
MemoLogLevel=4 MemoLogLevel=4
FileLogLevel=5 FileLogLevel=5
LogFileNum=147 LogFileNum=303
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