Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
KGOrders
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Cam Hayes
KGOrders
Commits
344aa169
Commit
344aa169
authored
Jul 17, 2025
by
emsys
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Made Changes to the way we retrieve info for an empty order and a customer
parent
ca4825e6
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
149 additions
and
122 deletions
+149
-122
AddCustomer.dfm
kgOrdersClient/AddCustomer.dfm
+1
-1
AddCustomer.pas
kgOrdersClient/AddCustomer.pas
+11
-5
View.OrderEntryCuttingDie.dfm
kgOrdersClient/View.OrderEntryCuttingDie.dfm
+48
-41
View.OrderEntryCuttingDie.pas
kgOrdersClient/View.OrderEntryCuttingDie.pas
+41
-44
View.OrderEntryWeb.dfm
kgOrdersClient/View.OrderEntryWeb.dfm
+1
-0
Lookup.Service.pas
kgOrdersServer/Source/Lookup.Service.pas
+18
-3
Lookup.ServiceImpl.pas
kgOrdersServer/Source/Lookup.ServiceImpl.pas
+27
-26
kgOrdersServer.ini
kgOrdersServer/kgOrdersServer.ini
+2
-2
No files found.
kgOrdersClient/AddCustomer.dfm
View file @
344aa169
...
...
@@ -6,7 +6,7 @@ object FViewAddCustomer: TFViewAddCustomer
object lblFormState: TWebLabel
Left = 19
Top = 578
Width =
79
Width =
3
Height = 15
ElementID = 'lbl_form_state'
HeightPercent = 100.000000000000000000
...
...
kgOrdersClient/AddCustomer.pas
View file @
344aa169
...
...
@@ -505,16 +505,14 @@ procedure TFViewAddCustomer.GetCustomer;
// Retrieves a customer for a given CustomerID.
var
xdcResponse
:
TXDataClientResponse
;
customer
:
TJSObject
;
customer
,
RepUsers
:
TJSObject
;
items
:
TJSObject
;
ship_block
:
TStringList
;
begin
xdcResponse
:=
await
(
XDataWebClient1
.
RawInvokeAsync
(
'ILookupService.GetCustomer'
,
[
customerID
]));
customer
:=
TJSObject
(
xdcResponse
.
Result
);
xdwdsUsers
.
Close
;
xdwdsUsers
.
SetJSONData
(
customer
[
'USERS'
]);
xdwdsUsers
.
Open
;
XDataWebDataSet1
.
Close
;
XDataWebDataSet1
.
SetJsonData
(
customer
);
...
...
@@ -530,7 +528,7 @@ begin
dtpEndDate
.
Date
:=
XDataWebDataSet1
.
FieldByName
(
'End_DATE'
).
AsDateTime
;
xdwdsShipTo
.
Close
;
xdwdsShipTo
.
SetJSONData
(
customer
[
'ADDRESS_LIST'
]);
xdwdsShipTo
.
SetJSONData
(
customer
[
'
SHIPPING_
ADDRESS_LIST'
]);
xdwdsShipTo
.
Open
;
memoAddressBlock
.
Text
:=
string
(
customer
[
'staff_fields_invoice_to'
]);
...
...
@@ -545,6 +543,14 @@ begin
edtFirstLine
.
Text
:=
memoShipBlock
.
Lines
[
0
]
else
edtFirstLine
.
Text
:=
''
;
xdcResponse
:=
await
(
XDataWebClient1
.
RawInvokeAsync
(
'ILookupService.GetRepUsers'
,
[]));
RepUsers
:=
TJSObject
(
xdcResponse
.
Result
);
console
.
log
(
RepUsers
);
xdwdsUsers
.
Close
;
xdwdsUsers
.
SetJSONData
(
RepUsers
[
'value'
]);
xdwdsUsers
.
Open
;
end
;
procedure
TFViewAddCustomer
.
tmrReturnTimer
(
Sender
:
TObject
);
...
...
kgOrdersClient/View.OrderEntryCuttingDie.dfm
View file @
344aa169
...
...
@@ -67,45 +67,6 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
DataField = 'QB_ORDER_NUM'
DataSource = wdsOrder
end
object dtpOrderDate: TWebDateTimePicker
Left = 22
Top = 218
Width = 170
Height = 22
ElementID = 'dtporderdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpProofDate: TWebDateTimePicker
Left = 22
Top = 250
Width = 170
Height = 22
ElementID = 'dtpproofdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object dtpShipDate: TWebDateTimePicker
Left = 22
Top = 282
Width = 170
Height = 22
ElementID = 'dtpshipdate'
BorderStyle = bsSingle
ChildOrder = 4
Color = clWhite
Date = 45638.529943136570000000
Role = ''
Text = ''
end
object edtShipVia: TWebDBEdit
Left = 24
Top = 314
...
...
@@ -373,7 +334,7 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
DataField = 'ORDER_ID'
DataSource = wdsOrder
end
object
WebButton1
: TWebButton
object
btnQB
: TWebButton
Left = 746
Top = 495
Width = 96
...
...
@@ -383,7 +344,52 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
ElementID = 'btnsendtoqb'
HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000
OnClick = WebButton1Click
OnClick = btnQBClick
end
object dtpOrderDate: TWebDBDateTimePicker
Left = 22
Top = 218
Width = 170
Height = 22
ElementID = 'dtporderdate'
BorderStyle = bsSingle
ChildOrder = 31
Color = clWhite
Date = 45855.535876481480000000
Role = ''
Text = ''
DataField = 'staff_fields_order_date'
DataSource = wdsOrder
end
object dtpProofDate: TWebDBDateTimePicker
Left = 24
Top = 250
Width = 170
Height = 22
ElementID = 'dtpproofdate'
BorderStyle = bsSingle
ChildOrder = 31
Color = clWhite
Date = 45855.535876481480000000
Role = ''
Text = ''
DataField = 'staff_fields_proof_date'
DataSource = wdsOrder
end
object dtpShipDate: TWebDBDateTimePicker
Left = 24
Top = 282
Width = 170
Height = 22
ElementID = 'dtpshipdate'
BorderStyle = bsSingle
ChildOrder = 31
Color = clWhite
Date = 45855.535876481480000000
Role = ''
Text = ''
DataField = 'staff_fields_ship_date'
DataSource = wdsOrder
end
object wdsOrder: TWebDataSource
AutoEdit = False
...
...
@@ -392,6 +398,7 @@ object FOrderEntryCuttingDie: TFOrderEntryCuttingDie
Top = 86
end
object xdwdsOrder: TXDataWebDataSet
OnCalcFields = xdwdsOrderCalcFields
Connection = DMConnection.ApiConnection
Left = 422
Top = 28
...
...
kgOrdersClient/View.OrderEntryCuttingDie.pas
View file @
344aa169
...
...
@@ -31,9 +31,6 @@ type
edtCompanyAccountName
:
TWebDBEdit
;
edtQBOrderNum
:
TWebDBEdit
;
WebLabel1
:
TWebLabel
;
dtpOrderDate
:
TWebDateTimePicker
;
dtpProofDate
:
TWebDateTimePicker
;
dtpShipDate
:
TWebDateTimePicker
;
edtShipVia
:
TWebDBEdit
;
edtQuantity
:
TWebDBEdit
;
edtPrice
:
TWebDBEdit
;
...
...
@@ -74,12 +71,15 @@ type
xdwdsOrderORDER_ID
:
TIntegerField
;
edtOrderNum
:
TWebDBEdit
;
xdwdsOrderIN_QB
:
TStringField
;
WebButton1
:
TWebButton
;
btnQB
:
TWebButton
;
dtpOrderDate
:
TWebDBDateTimePicker
;
dtpProofDate
:
TWebDBDateTimePicker
;
dtpShipDate
:
TWebDBDateTimePicker
;
procedure
btnSaveClick
(
Sender
:
TObject
);
procedure
btnCancelClick
(
Sender
:
TObject
);
procedure
WebFormCreate
(
Sender
:
TObject
);
[
async
]
procedure
GetCuttingDieOrder
(
Order_ID
:
string
);
[
async
]
procedure
Get
Customer
(
customerID
:
string
);
[
async
]
procedure
Get
EmptyOrderInfo
(
customerID
:
string
);
[
async
]
procedure
AddCuttingDieOrder
(
orderJSON
:
TJSONObject
);
procedure
btnPDFClick
(
Sender
:
TObject
);
[
async
]
procedure
GenerateReportPDF
;
...
...
@@ -96,7 +96,8 @@ type
procedure
WebButton2Click
(
Sender
:
TObject
);
procedure
ShowAddAddressForm
();
[
async
]
procedure
SendAddressToServer
(
AddressJSON
:
TJSONObject
);
procedure
WebButton1Click
(
Sender
:
TObject
);
procedure
btnQBClick
(
Sender
:
TObject
);
procedure
xdwdsOrderCalcFields
(
DataSet
:
TDataSet
);
private
FAgencyCode
:
string
;
FCurrentReportType
:
string
;
...
...
@@ -145,7 +146,7 @@ end;
begin
if
mode
=
'ADD'
then
begin
await
(
get
Customer
(
customerID
));
await
(
get
EmptyOrderInfo
(
customerID
));
EditMode
;
end
else
...
...
@@ -159,7 +160,7 @@ begin
end
;
procedure
TFOrderEntryCuttingDie
.
WebButton1
Click
(
Sender
:
TObject
);
procedure
TFOrderEntryCuttingDie
.
btnQB
Click
(
Sender
:
TObject
);
begin
ShowToast
(
'Sending Orders To QuickBooks is not yet Implemented'
,
'info'
);
end
;
...
...
@@ -303,9 +304,9 @@ begin
xdwdsOrder
.
Edit
;
//Convert all dates to strings because I was having less issues with that data type.
xdwdsOrderstaff_fields_proof_date
.
Value
:=
DateTimeToStr
(
dtpProofDate
.
Date
);
{
xdwdsOrderstaff_fields_proof_date.Value := DateTimeToStr(dtpProofDate.Date);
xdwdsOrderstaff_fields_ship_date.Value := DateTimeToStr(dtpShipDate.Date);
xdwdsOrderstaff_fields_order_date
.
Value
:=
DateTimeToStr
(
dtpOrderDate
.
Date
);
xdwdsOrderstaff_fields_order_date.Value := DateTimeToStr(dtpOrderDate.Date);
}
xdwdsOrder
.
Post
;
xdwdsOrder
.
First
;
...
...
@@ -333,8 +334,6 @@ begin
xdwdsOrder
.
Next
;
end
;
console
.
log
(
orderJSON
);
orderJSON
.
AddPair
(
'mode'
,
mode
);
AddCuttingDieOrder
(
orderJSON
);
...
...
@@ -356,10 +355,11 @@ end;
procedure
TFOrderEntryCuttingDie
.
btnCopyClick
(
Sender
:
TObject
);
begin
mode
:=
'ADD'
;
dtpOrderDate
.
Date
:=
0
;
dtpProofDate
.
Date
:=
0
;
dtpShipDate
.
Date
:=
0
;
xdwdsOrder
.
Edit
;
xdwdsOrder
.
FieldByName
(
'staff_fields_order_date'
).
AsDateTime
:=
0
;
xdwdsOrder
.
FieldByName
(
'staff_fields_proof_date'
).
AsDateTime
:=
0
;
xdwdsOrder
.
FieldByName
(
'staff_fields_ship_date'
).
AsDateTime
:=
0
;
xdwdsOrder
.
FieldByName
(
'ORDER_ID'
).
AsString
:=
''
;
xdwdsOrder
.
Post
;
ShowToast
(
'Success: Order Successfully Copied'
);
...
...
@@ -507,8 +507,8 @@ begin
if
confirmed
then
begin
FViewMain
.
change
:=
false
;
if
OrderID
<>
''
then
FViewMain
.
ViewOrderEntryCuttingDie
(
OrderID
,
''
,
'EDIT'
,
'Failure: Changes Discarded'
)
if
xdwdsOrder
.
FieldByName
(
'ORDER_ID'
).
AsString
<>
''
then
FViewMain
.
ViewOrderEntryCuttingDie
(
xdwdsOrder
.
FieldByName
(
'ORDER_ID'
).
AsString
,
''
,
'EDIT'
,
'Failure: Changes Discarded'
)
else
FViewMain
.
ViewOrders
(
''
);
end
;
...
...
@@ -529,6 +529,12 @@ begin
end
;
procedure
TFOrderEntryCuttingDie
.
xdwdsOrderCalcFields
(
DataSet
:
TDataSet
);
begin
if
DataSet
.
FieldByName
(
'IN_QB'
).
IsNull
then
DataSet
.
FieldByName
(
'IN_QB'
).
AsBoolean
:=
False
;
end
;
procedure
TFOrderEntryCuttingDie
.
getCuttingDieOrder
(
Order_ID
:
string
);
// retrieves an order from the server then loads the info into the page
var
...
...
@@ -549,20 +555,6 @@ begin
xdwdsOrder
.
SetJsonData
(
order
);
xdwdsOrder
.
Open
;
// Dates need to be manually set
if
not
(
xdwdsOrderstaff_fields_order_date
.
AsString
=
''
)
then
dtpOrderDate
.
Date
:=
StrToDateTime
(
xdwdsOrderstaff_fields_order_date
.
Value
)
else
dtpOrderDate
.
Date
:=
0
;
if
not
(
xdwdsOrderstaff_fields_proof_date
.
AsString
=
''
)
then
dtpProofDate
.
Date
:=
StrToDateTime
(
xdwdsOrderstaff_fields_proof_date
.
AsString
)
else
dtpProofDate
.
Date
:=
0
;
if
not
(
xdwdsOrderstaff_fields_ship_date
.
AsString
=
''
)
then
dtpShipDate
.
Date
:=
StrToDateTime
(
xdwdsOrderstaff_fields_ship_date
.
AsString
)
else
dtpShipDate
.
Date
:=
0
;
xdwdsShipTo
.
Close
;
xdwdsShipTo
.
SetJSONData
(
order
[
'ADDRESS_LIST'
]);
xdwdsShipTo
.
Open
;
...
...
@@ -581,37 +573,40 @@ begin
end
;
procedure
TFOrderEntryCuttingDie
.
get
Customer
(
customerID
:
string
);
procedure
TFOrderEntryCuttingDie
.
get
EmptyOrderInfo
(
customerID
:
string
);
// gets a customer from the database then loads the appropiate fields
var
xdcResponse
:
TXDataClientResponse
;
customer
:
TJSObject
;
customer
,
items
:
TJSObject
;
address
:
string
;
items
:
TJSObject
;
begin
xdcResponse
:=
await
(
XDataWebClient1
.
RawInvokeAsync
(
'ILookupService.GetCustomer'
,
[
customerID
]));
customer
:=
TJSObject
(
xdcResponse
.
Result
);
customer
:=
TJSObject
(
xdcResponse
.
Result
);
xdwdsOrder
.
Close
;
xdwdsOrder
.
SetJsonData
(
customer
);
xdwdsOrder
.
Open
;
xdwdsOrder
.
Edit
;
xdwdsOrder
.
FieldByName
(
'COMPANY_ID'
).
AsString
:=
customerID
;
xdwdsOrder
.
Append
;
xdwdsOrder
.
FieldByName
(
'NAME'
).
AsString
:=
string
(
customer
[
'NAME'
]);
xdwdsOrder
.
FieldByName
(
'SHORT_NAME'
).
AsString
:=
string
(
customer
[
'SHORT_NAME'
]);
xdwdsOrder
.
FieldByName
(
'staff_fields_invoice_to'
).
AsString
:=
string
(
customer
[
'staff_fields_invoice_to'
]);
xdwdsOrder
.
FieldByName
(
'COMPANY_ID'
).
AsString
:=
customerID
;
xdwdsOrderUSER_ID
.
AsString
:=
JS
.
toString
(
AuthService
.
TokenPayload
.
Properties
[
'user_id'
]);
xdwdsOrder
.
Post
;
dtpOrderDate
.
Date
:=
0
;
dtpProofDate
.
Date
:=
0
;
dtpShipDate
.
Date
:=
0
;
xdwdsShipTo
.
Close
;
xdwdsShipTo
.
SetJSONData
(
customer
[
'ADDRESS_LIST'
]);
xdwdsShipTo
.
SetJSONData
(
customer
[
'
SHIPPING_
ADDRESS_LIST'
]);
xdwdsShipTo
.
Open
;
xdcResponse
:=
await
(
XDataWebClient1
.
RawInvokeAsync
(
'ILookupService.GetItems'
,
[
customerID
]));
items
:=
TJSObject
(
xdcResponse
.
Result
);
xdwdsQBItem
.
Close
;
items
:=
TJSObject
(
customer
[
'ITEMS'
]);
xdwdsQBItem
.
SetJsonData
(
items
[
'data'
]);
xdwdsQBITEM
.
Open
;
end
;
...
...
@@ -637,6 +632,7 @@ begin
btnCancel
.
Enabled
:=
True
;
btnEdit
.
Enabled
:=
false
;
btnAdd
.
Enabled
:=
false
;
btnQB
.
Enabled
:=
false
;
lblFormState
.
Caption
:=
'Edit Mode'
;
lblFormState
.
ElementHandle
.
classList
.
remove
(
'text-danger'
);
...
...
@@ -654,6 +650,7 @@ begin
btnCancel
.
Enabled
:=
false
;
btnEdit
.
Enabled
:=
true
;
btnAdd
.
Enabled
:=
true
;
btnQB
.
Enabled
:=
true
;
FViewMain
.
change
:=
false
;
lblFormState
.
Caption
:=
'View Mode'
;
...
...
kgOrdersClient/View.OrderEntryWeb.dfm
View file @
344aa169
...
...
@@ -513,6 +513,7 @@ object FOrderEntryWeb: TFOrderEntryWeb
WidthPercent = 100.000000000000000000
DataField = 'proofing_pdf'
DataSource = WebDataSource1
ValueChecked = 'T'
end
object edtPDFTo: TWebDBEdit
Left = 444
...
...
kgOrdersServer/Source/Lookup.Service.pas
View file @
344aa169
...
...
@@ -118,6 +118,15 @@ type
ship_id
:
string
;
end
;
TOrderCustomerInfoItem
=
class
public
NAME
:
string
;
CUSTOMER_ID
:
integer
;
SHORT_NAME
:
string
;
staff_fields_invoice_to
:
string
;
SHIPPING_ADDRESS_LIST
:
TList
<
TAddressItem
>;
end
;
TCustomerItem
=
class
Public
NAME
:
string
;
...
...
@@ -135,9 +144,8 @@ type
QB_LIST_ID
:
string
;
FFAX
:
string
;
REP_USER_ID
:
string
;
ADDRESS_LIST
:
TList
<
TAddressItem
>;
ITEMS
:
TItemList
;
USERS
:
TList
<
TUserItem
>
SHIPPING_ADDRESS_LIST
:
TList
<
TAddressItem
>;
REP_USERS
:
TList
<
TUserItem
>;
end
;
TCustomerList
=
class
...
...
@@ -379,6 +387,12 @@ type
general_special_instructions
:
string
;
end
;
TEmptyOrderInfo
=
class
public
CustomerInfo
:
TOrderCustomerInfoItem
;
ITEMS
:
TItemList
;
end
;
// These objects are only used for quickbooks estimates.
TRef
=
record
value
:
string
;
...
...
@@ -492,6 +506,7 @@ type
[
HttpGet
]
function
GenerateOrderCuttingPDF
(
orderID
:
string
):
string
;
[
HttpGet
]
function
getQBCustomers
():
TJSONArray
;
[
HttpGet
]
function
getQBItems
():
TJSONArray
;
[
HttpGet
]
function
GetRepUsers
():
TList
<
TUserItem
>;
function
AddUser
(
userInfo
:
string
):
string
;
...
...
kgOrdersServer/Source/Lookup.ServiceImpl.pas
View file @
344aa169
...
...
@@ -22,7 +22,7 @@ uses
iexProcEffects
,
frxDBSet
,
frxExportBaseDialog
,
frCoreClasses
,
rOrderList
,
rOrderCorrugated
,
Common
.
Logging
,
DateUtils
,
REST
.
Client
,
REST
.
Types
,
WEBLib
.
REST
,
WEBLib
.
WebTools
,
System
.
Net
.
HttpClient
,
System
.
Net
.
URLClient
,
System
.
Net
.
HttpClientComponent
,
System
.
netencoding
,
IdHTTP
,
IdSSLOpenSSL
,
IdSSLOpenSSLHeaders
,
System
.
IniFiles
;
IdHTTP
,
IdSSLOpenSSL
,
IdSSLOpenSSLHeaders
,
System
.
IniFiles
,
System
.
Generics
.
Collections
;
type
...
...
@@ -41,6 +41,7 @@ type
function
GetCuttingDieOrder
(
orderInfo
:
string
):
TCuttingDie
;
function
GetQBCustomers
:
TJSONArray
;
function
GetQBItems
:
TJSONArray
;
function
GetRepUsers
():
TList
<
TUserItem
>;
function
EditUser
(
const
editOptions
:
string
):
string
;
...
...
@@ -84,7 +85,6 @@ type
implementation
uses
System
.
Generics
.
Collections
,
XData
.
Sys
.
Exceptions
,
uLibrary
,
rOrderWeb
,
rOrderCutting
;
...
...
@@ -92,17 +92,14 @@ procedure TLookupService.AfterConstruction;
begin
inherited
;
ordersDB
:=
TApiDatabase
.
Create
(
nil
);
end
;
procedure
TLookupService
.
BeforeDestruction
;
begin
ordersDB
.
Free
;
inherited
;
end
;
function
TLookupService
.
DelShippingAddress
(
AddressID
,
CustomerID
:
string
):
TJSONObject
;
var
SQL
:
string
;
...
...
@@ -209,7 +206,7 @@ end;
function
TLookupService
.
GetCustomer
(
ID
:
string
):
TCustomerItem
;
// Gets one specific customer from the ID given by the client. This is used for
// the
OrderEntry f
orms.
// the
AddCustomer form and Order Entry F
orms.
var
SQL
:
string
;
ADDRESS
:
TAddressItem
;
...
...
@@ -222,8 +219,7 @@ begin
SQL
:=
'select * FROM customers c LEFT JOIN customers_ship s ON c.CUSTOMER_ID = s.customer_id WHERE c.CUSTOMER_ID = '
+
ID
;
doQuery
(
ordersDB
.
UniQuery1
,
SQL
);
result
:=
TCustomerItem
.
Create
;
result
.
ADDRESS_LIST
:=
TList
<
TAddressItem
>.
Create
;
TXDataOperationContext
.
Current
.
Handler
.
ManagedObjects
.
Add
(
Result
.
ADDRESS_LIST
);
result
.
NAME
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'NAME'
).
AsString
;
result
.
CUSTOMER_ID
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'CUSTOMER_ID'
).
AsInteger
;
...
...
@@ -242,6 +238,8 @@ begin
result
.
FFAX
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'FAX'
).
AsString
;
result
.
REP_USER_ID
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'REP_USER_ID'
).
AsString
;
result
.
SHIPPING_ADDRESS_LIST
:=
TList
<
TAddressItem
>.
Create
;
TXDataOperationContext
.
Current
.
Handler
.
ManagedObjects
.
Add
(
Result
.
SHIPPING_ADDRESS_LIST
);
while
not
ordersDB
.
UniQuery1
.
Eof
do
begin
ADDRESS
:=
TAddressItem
.
Create
;
...
...
@@ -253,16 +251,27 @@ begin
ADDRESS
.
zip
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'zip'
).
AsString
;
ADDRESS
.
contact
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'contact'
).
AsString
;
ADDRESS
.
ship_id
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'customer_ship_id'
).
AsString
;
result
.
ADDRESS_LIST
.
Add
(
ADDRESS
);
result
.
SHIPPING_
ADDRESS_LIST
.
Add
(
ADDRESS
);
ordersDB
.
UniQuery1
.
Next
;
end
;
ordersDB
.
UniQuery1
.
Close
;
result
.
ITEMS
:=
GetItems
(
''
);
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'Error in GetCustomer: '
+
E
.
Message
);
raise
EXDataHttpException
.
Create
(
500
,
'Unable to retrieve customer: A KG Orders database issue has occurred!'
);
end
;
end
;
end
;
function
TLookupService
.
GetRepUsers
:
TList
<
TUserItem
>;
// Gets a list of users that qualify to be reps for companies
var
USER
:
TUserItem
;
SQL
:
string
;
begin
SQL
:=
'SELECT USER_ID, NAME from users where QB_ID IS NOT NULL AND QB_ID <> '
+
quotedStr
(
''
);
result
.
USERS
:=
TList
<
TUserItem
>.
Create
;
result
:=
TList
<
TUserItem
>.
Create
;
doQuery
(
ordersDB
.
UniQuery1
,
SQL
);
while
not
ordersDB
.
UniQuery1
.
Eof
do
begin
...
...
@@ -270,20 +279,14 @@ begin
TXDataOperationContext
.
Current
.
Handler
.
ManagedObjects
.
Add
(
USER
);
USER
.
userID
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'USER_ID'
).
AsString
;
USER
.
full_name
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'NAME'
).
AsString
;
result
.
USERS
.
Add
(
USER
);
result
.
Add
(
USER
);
ordersDB
.
UniQuery1
.
Next
;
end
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'Error in GetCustomer: '
+
E
.
Message
);
raise
EXDataHttpException
.
Create
(
500
,
'Unable to retrieve customer: A KG Orders database issue has occurred!'
);
end
;
end
;
end
;
function
TLookupService
.
GenerateOrderListPDF
(
searchOptions
:
string
):
string
;
// Generates a PDF for the Order Page
var
SQL
:
string
;
rptOrderList
:
TrptOrderList
;
...
...
@@ -2130,14 +2133,14 @@ begin
DateFormat
.
DateSeparator
:=
'-'
;
JSONData
:=
TJSONObject
.
ParseJSONValue
(
orderInfo
)
as
TJSONObject
;
if
JSONData
=
nil
then
raise
Exception
.
Create
(
'Invalid JSON format'
);
// If parsing fails, raise an exception
raise
Exception
.
Create
(
'Invalid JSON format'
);
mode
:=
JSONData
.
GetValue
<
string
>(
'mode'
);
AddToOrdersTable
(
mode
,
'web_plate'
,
JSONData
);
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
.
SQL
.
Text
:=
'SELECT LAST_INSERT_ID() AS OrderID'
;
ordersDB
.
UniQuery1
.
Open
;
ORDER_ID
:=
ordersDB
.
UniQuery1
.
FieldByName
(
'OrderID'
).
AsInteger
;
end
;
...
...
@@ -2160,10 +2163,9 @@ begin
for
Pair
in
JSONData
do
begin
Field
:=
ordersDB
.
UniQuery1
.
FindField
(
Pair
.
JsonString
.
Value
);
// Checks if the field exists in the dataset
Field
:=
ordersDB
.
UniQuery1
.
FindField
(
Pair
.
JsonString
.
Value
);
if
Assigned
(
Field
)
then
begin
// handles any dates or datetimes
if
(
Field
is
TDateTimeField
)
then
begin
if
(
Pair
.
JsonValue
.
Value
=
''
)
or
(
Pair
.
JsonValue
.
Value
=
'null'
)
or
(
Pair
.
JsonValue
.
Value
=
'12/30/1899'
)
then
...
...
@@ -2178,7 +2180,6 @@ begin
ordersDB
.
UniQuery1
.
FieldByName
(
'ORDER_ID'
).
AsInteger
:=
ORDER_ID
;
// Post the record to the database
ordersDB
.
UniQuery1
.
Post
;
if
(
JSONData
.
GetValue
<
string
>(
'staff_fields_proof_date'
)
<>
''
)
and
(
JSONData
.
GetValue
<
string
>(
'staff_fields_proof_date'
)
<>
'12/30/1899'
)
then
...
...
kgOrdersServer/kgOrdersServer.ini
View file @
344aa169
...
...
@@ -2,10 +2,10 @@
MemoLogLevel
=
3
FileLogLevel
=
5
webClientVersion
=
0.9.7
LogFileNum
=
8
65
LogFileNum
=
8
73
[Database]
Server
=
192.168.159.1
44
Server
=
192.168.159.1
58
--Server
=
192.168.102.130
--Server
=
192.168.75.133
Database
=
kg_order_entry
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment