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
48c932ec
Commit
48c932ec
authored
Dec 03, 2025
by
Cam Hayes
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master' into cam
parents
7068c939
34c1f5e2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
138 additions
and
98 deletions
+138
-98
ConnectionModule.pas
kgOrdersClient/ConnectionModule.pas
+1
-1
View.Main.pas
kgOrdersClient/View.Main.pas
+15
-4
View.SetStatus.dfm
kgOrdersClient/View.SetStatus.dfm
+13
-0
View.SetStatus.pas
kgOrdersClient/View.SetStatus.pas
+7
-0
Api.Database.pas
kgOrdersServer/Source/Api.Database.pas
+5
-2
Auth.Database.pas
kgOrdersServer/Source/Auth.Database.pas
+4
-2
Common.Config.pas
kgOrdersServer/Source/Common.Config.pas
+5
-5
Common.Middleware.Logging.pas
kgOrdersServer/Source/Common.Middleware.Logging.pas
+2
-2
Lookup.Service.pas
kgOrdersServer/Source/Lookup.Service.pas
+0
-0
Lookup.ServiceImpl.pas
kgOrdersServer/Source/Lookup.ServiceImpl.pas
+20
-13
Main.pas
kgOrdersServer/Source/Main.pas
+10
-1
rOrderCorrugated.pas
kgOrdersServer/Source/rOrderCorrugated.pas
+13
-16
rOrderCutting.pas
kgOrdersServer/Source/rOrderCutting.pas
+11
-14
rOrderList.pas
kgOrdersServer/Source/rOrderList.pas
+13
-16
rOrderWeb.pas
kgOrdersServer/Source/rOrderWeb.pas
+11
-15
kgOrdersServer.ini
kgOrdersServer/bin/kgOrdersServer.ini
+4
-4
kgOrdersServer2.json
kgOrdersServer/bin/kgOrdersServer2.json
+2
-1
kgOrdersServer.dproj
kgOrdersServer/kgOrdersServer.dproj
+2
-2
No files found.
kgOrdersClient/ConnectionModule.pas
View file @
48c932ec
...
...
@@ -19,7 +19,7 @@ type
FUnauthorizedAccessProc
:
TUnauthorizedAccessProc
;
public
const
clientVersion
=
'0.9.1
1
'
;
const
clientVersion
=
'0.9.1
2
'
;
procedure
InitApp
(
SuccessProc
:
TSuccessProc
;
UnauthorizedAccessProc
:
TUnauthorizedAccessProc
);
procedure
SetClientConfig
(
Callback
:
TVersionCheckCallback
);
...
...
kgOrdersClient/View.Main.pas
View file @
48c932ec
...
...
@@ -107,8 +107,6 @@ begin
end
;
procedure
TFViewMain
.
lblCustomersClick
(
Sender
:
TObject
);
begin
if
(
not
(
change
)
)
then
...
...
@@ -121,18 +119,20 @@ begin
ShowToast
(
'Please Save or Cancel your changes'
,
'danger'
);
end
;
procedure
TFViewMain
.
lblHomeClick
(
Sender
:
TObject
);
begin
if
(
not
(
change
)
)
then
begin
ShowForm
(
TFViewHome
);
lblAppTitle
.
Caption
:=
'Koehler-Gibson
Home
'
;
lblAppTitle
.
Caption
:=
'Koehler-Gibson
webApp
'
;
setActive
(
'Home'
);
end
else
ShowToast
(
'Please Save or Cancel your changes'
,
'danger'
);
end
;
procedure
TFViewMain
.
lblordersClick
(
Sender
:
TObject
);
begin
if
(
not
(
change
)
)
then
...
...
@@ -145,6 +145,7 @@ begin
ShowToast
(
'Please Save or Cancel your changes'
,
'danger'
);
end
;
procedure
TFViewMain
.
lblUsersClick
(
Sender
:
TObject
);
begin
if
(
not
(
change
)
)
then
...
...
@@ -157,6 +158,7 @@ begin
ShowToast
(
'Please Save or Cancel your changes'
,
'danger'
);
end
;
procedure
TFViewMain
.
lblItemsListClick
(
Sender
:
TObject
);
begin
if
(
not
(
change
)
)
then
...
...
@@ -171,6 +173,7 @@ begin
ShowToast
(
'Please Save or Cancel your changes'
,
'danger'
);
end
;
procedure
TFViewMain
.
setActive
(
page
:
string
);
var
links
:
TJSNodeList
;
...
...
@@ -189,6 +192,7 @@ begin
end
;
end
;
procedure
TFViewMain
.
mnuLogoutClick
(
Sender
:
TObject
);
begin
ConfirmLogout
;
...
...
@@ -223,7 +227,7 @@ begin
setActive
(
'User Profile'
);
end
;
//needs to be changed
function
TFViewMain
.
GetUserInfo
:
string
;
var
userStr
:
string
;
...
...
@@ -261,11 +265,13 @@ begin
Application
.
CreateForm
(
AFormClass
,
WebPanel1
.
ElementID
,
FChildForm
);
end
;
procedure
TFViewMain
.
ViewCustomerList
(
info
:
string
);
begin
end
;
procedure
TFViewMain
.
EditUser
(
Mode
,
Username
,
Password
,
Name
,
Status
,
Email
,
Access
,
Rights
,
QB
:
string
);
begin
...
...
@@ -291,6 +297,7 @@ begin
FChildForm
:=
TFOrderEntryCorrugated
.
CreateForm
(
WebPanel1
.
ElementID
,
orderInfo
,
customerInfo
,
mode
,
info
);
end
;
procedure
TFViewMain
.
ViewOrderEntryWeb
(
orderInfo
,
customerInfo
,
mode
,
info
:
string
);
begin
lblAppTitle
.
Caption
:=
'Koehler-Gibson Order Entry'
;
...
...
@@ -299,6 +306,7 @@ begin
FChildForm
:=
TFOrderEntryWeb
.
CreateForm
(
WebPanel1
.
ElementID
,
orderInfo
,
customerInfo
,
mode
,
info
);
end
;
procedure
TFViewMain
.
ViewOrderEntryCuttingDie
(
orderInfo
,
customerInfo
,
mode
,
info
:
string
);
begin
lblAppTitle
.
Caption
:=
'Koehler-Gibson Order Entry'
;
...
...
@@ -307,6 +315,7 @@ begin
FChildForm
:=
TFOrderEntryCuttingDie
.
CreateForm
(
WebPanel1
.
ElementID
,
orderInfo
,
customerInfo
,
mode
,
info
);
end
;
procedure
TFViewMain
.
ViewAddCustomer
(
customerInfo
:
string
;
info
:
string
);
begin
lblAppTitle
.
Caption
:=
'Koehler-Gibson Add Customer'
;
...
...
@@ -315,6 +324,7 @@ begin
FChildForm
:=
TFViewAddCustomer
.
CreateForm
(
WebPanel1
.
ElementID
,
customerInfo
,
info
);
end
;
procedure
TFViewMain
.
ShowUserForm
(
Info
:
string
);
begin
if
Assigned
(
FChildForm
)
then
...
...
@@ -322,4 +332,5 @@ begin
FChildForm
:=
TFViewUsers
.
CreateForm
(
WebPanel1
.
ElementID
,
Info
);
end
;
end
.
kgOrdersClient/View.SetStatus.dfm
View file @
48c932ec
...
...
@@ -7,6 +7,7 @@ object FSetStatus: TFSetStatus
Top = 61
Width = 38
Height = 14
Anchors = [akTop, akRight]
Caption = 'Status:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
...
...
@@ -67,6 +68,7 @@ object FSetStatus: TFSetStatus
Top = 196
Width = 51
Height = 14
Anchors = [akTop, akRight]
Caption = 'Ship Due:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
...
...
@@ -82,6 +84,7 @@ object FSetStatus: TFSetStatus
Top = 168
Width = 62
Height = 14
Anchors = [akTop, akRight]
Caption = 'Mount Due:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
...
...
@@ -97,6 +100,7 @@ object FSetStatus: TFSetStatus
Top = 140
Width = 54
Height = 14
Anchors = [akTop, akRight]
Caption = 'Plate Due:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
...
...
@@ -112,6 +116,7 @@ object FSetStatus: TFSetStatus
Top = 112
Width = 44
Height = 14
Anchors = [akTop, akRight]
Caption = 'Art Due:'
Font.Charset = ANSI_CHARSET
Font.Color = clBlack
...
...
@@ -127,6 +132,7 @@ object FSetStatus: TFSetStatus
Top = 80
Width = 145
Height = 22
Anchors = [akTop, akRight]
ElementClassName = 'custom-select'
ElementID = 'wlc_status'
HeightPercent = 100.000000000000000000
...
...
@@ -154,6 +160,7 @@ object FSetStatus: TFSetStatus
Top = 235
Width = 96
Height = 25
Anchors = [akTop, akRight]
Caption = 'Save'
ChildOrder = 7
ElementClassName = 'btn btn-secondary'
...
...
@@ -170,6 +177,7 @@ object FSetStatus: TFSetStatus
Top = 235
Width = 96
Height = 25
Anchors = [akTop, akRight]
Caption = 'Cancel'
ChildOrder = 7
ElementClassName = 'btn btn-secondary'
...
...
@@ -210,6 +218,7 @@ object FSetStatus: TFSetStatus
Height = 22
HelpType = htKeyword
TabStop = False
Anchors = [akLeft, akTop, akRight]
ChildOrder = 8
ElementClassName = 'form-control'
ElementFont = efCSS
...
...
@@ -230,6 +239,7 @@ object FSetStatus: TFSetStatus
Top = 192
Width = 145
Height = 22
Anchors = [akTop, akRight]
BorderStyle = bsSingle
ChildOrder = 1
Color = clWhite
...
...
@@ -242,6 +252,7 @@ object FSetStatus: TFSetStatus
Top = 164
Width = 145
Height = 22
Anchors = [akTop, akRight]
BorderStyle = bsSingle
ChildOrder = 1
Color = clWhite
...
...
@@ -254,6 +265,7 @@ object FSetStatus: TFSetStatus
Top = 136
Width = 145
Height = 22
Anchors = [akTop, akRight]
BorderStyle = bsSingle
ChildOrder = 1
Color = clWhite
...
...
@@ -266,6 +278,7 @@ object FSetStatus: TFSetStatus
Top = 108
Width = 145
Height = 22
Anchors = [akTop, akRight]
BorderStyle = bsSingle
ChildOrder = 1
Color = clWhite
...
...
kgOrdersClient/View.SetStatus.pas
View file @
48c932ec
...
...
@@ -56,6 +56,7 @@ begin
Close
;
end
;
function
TFSetStatus
.
Verify
:
Boolean
;
var
input
:
TJSHTMLElement
;
...
...
@@ -103,11 +104,13 @@ begin
end
;
end
;
procedure
TFSetStatus
.
dtpDateChange
(
Sender
:
TObject
);
begin
SetDueDates
();
end
;
procedure
TFSetStatus
.
WebFormShow
(
Sender
:
TObject
);
var
ItemsToRemove
:
TStringList
;
...
...
@@ -166,6 +169,7 @@ begin
SetDueDates
();
end
;
procedure
TFSetStatus
.
SetDueDates
();
begin
if
OrderType
=
'corrugated plate'
then
...
...
@@ -242,6 +246,7 @@ begin
end
;
end
;
function
TFSetStatus
.
GetNextDate
(
CurrDate
:
TDateTime
):
TDateTime
;
var
DOW
:
integer
;
...
...
@@ -257,4 +262,5 @@ begin
console
.
log
(
CurrDate
);
end
;
end
.
\ No newline at end of file
kgOrdersServer/Source/Api.Database.pas
View file @
48c932ec
...
...
@@ -139,18 +139,19 @@ uses
procedure
TApiDatabase
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TApiDatabase.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TApiDatabase.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TApiDatabase.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TApiDatabase.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
class
procedure
TApiDatabase
.
ExecSQL
(
const
SQL
:
string
);
var
DB
:
TApiDatabase
;
...
...
@@ -164,9 +165,11 @@ begin
end
;
end
;
procedure
TApiDatabase
.
uqUsersCalcFields
(
DataSet
:
TDataSet
);
begin
uqUsersREPRESENTATIVE
.
AsString
:=
uqUsersNAME
.
AsString
+
'('
+
uqUsersSTATUS
.
AsString
+
')'
;
end
;
end
.
kgOrdersServer/Source/Auth.Database.pas
View file @
48c932ec
...
...
@@ -49,21 +49,23 @@ uses
procedure
TAuthDatabase
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TAuthDatabase.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TAuthDatabase.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TAuthDatabase.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TAuthDatabase.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
procedure
TAuthDatabase
.
DataModuleDestroy
(
Sender
:
TObject
);
begin
ucKG
.
Connected
:=
false
;
Logger
.
Log
(
5
,
'TAuthDatabase.DataModuleDestroy'
);
end
;
...
...
kgOrdersServer/Source/Common.Config.pas
View file @
48c932ec
...
...
@@ -65,10 +65,10 @@ begin
Logger
.
Log
(
1
,
'-- webAppFolder: '
+
serverConfig
.
webAppFolder
+
IfThen
(
serverConfig
.
webAppFolder
=
'static'
,
' [default]'
,
' [from config]'
));
Logger
.
Log
(
1
,
'-- serverConfig.reportsFolder: '
+
serverConfig
.
reportsFolder
);
if
not
DirectoryExists
(
serverConfig
.
reportsFolder
+
'reports\'
)
then
if
not
DirectoryExists
(
serverConfig
.
reportsFolder
)
then
begin
ForceDirectories
(
serverConfig
.
reportsFolder
+
'reports\'
);
Logger
.
Log
(
1
,
'-- Reports directory created: '
+
serverConfig
.
reportsFolder
+
'reports\'
);
ForceDirectories
(
serverConfig
.
reportsFolder
);
Logger
.
Log
(
1
,
'-- Reports directory created: '
+
serverConfig
.
reportsFolder
);
end
;
Logger
.
Log
(
1
,
'--LoadServerConfig - end'
);
...
...
@@ -85,11 +85,11 @@ begin
adminPassword
:=
'whatisthisusedfor'
;
jwtTokenSecret
:=
'super_secret0123super_secret4567'
;
webAppFolder
:=
'static'
;
reportsFolder
:=
'static\'
;
reportsFolder
:=
'static\reports\'
;
ServerConfigStr
:=
Bcl
.
Json
.
TJson
.
Serialize
(
ServerConfig
);
Logger
.
Log
(
1
,
'--ServerConfigSerialize: '
+
ServerConfigStr
);
Logger
.
Log
(
1
,
'--TServerConfig.Create - end'
);
end
;
end
.
kgOrdersServer/Source/Common.Middleware.Logging.pas
View file @
48c932ec
...
...
@@ -116,11 +116,11 @@ begin
procedure
(
Resp
:
THttpServerResponse
)
begin
if
(
Resp
.
StatusCode
>=
400
)
and
(
Resp
.
StatusCode
<=
499
)
then
FLogger
.
Log
(
5
,
Format
(
'%d %s on %s'
,
[
Resp
.
StatusCode
,
Resp
.
StatusReason
,
RequestLogMessage
]));
FLogger
.
Log
(
3
,
Format
(
'%d %s on %s'
,
[
Resp
.
StatusCode
,
Resp
.
StatusReason
,
RequestLogMessage
]));
end
);
RequestLogMessage
:=
GetNewHttpRequestLog
(
Context
.
Request
).
GetMessage
;
FLogger
.
Log
(
5
,
RequestLogMessage
);
FLogger
.
Log
(
3
,
RequestLogMessage
);
Next
(
Context
);
end
;
...
...
kgOrdersServer/Source/Lookup.Service.pas
View file @
48c932ec
This diff is collapsed.
Click to expand it.
kgOrdersServer/Source/Lookup.ServiceImpl.pas
View file @
48c932ec
// Implementation of the Lookup Service interface used to send information
// to the client. Very overcrowded. Probably should move SQL functions to new
// file.
// Authors:
// Authors:
// Cameron Hayes
// Mac Stephens
// Elias Sarraf
...
...
@@ -253,19 +250,18 @@ begin
estimateJSON
.
AddPair
(
'ShipDate'
,
ordersDB
.
UniQuery1
.
FieldByName
(
'staff_fields_ship_date'
).
AsString
)
end
;
logger
.
Log
(
5
,
'estimateJSON finished construction'
);
//
logger.Log(5, 'estimateJSON finished construction');
restClient
.
BaseURL
:=
'https://sandbox-quickbooks.api.intuit.com'
;
restRequest
.
Client
:=
restClient
;
restRequest
.
Response
:=
restResponse
;
if
iniFile
.
ReadString
(
'Quickbooks'
,
'LastRefresh'
,
''
)
=
''
then
LastRefresh
:=
0
else
LastRefresh
:=
StrToDateTime
(
iniFile
.
ReadString
(
'Quickbooks'
,
'LastRefresh'
,
''
));
LastRefresh
:=
0
else
LastRefresh
:=
StrToDateTime
(
iniFile
.
ReadString
(
'Quickbooks'
,
'LastRefresh'
,
''
));
if
MinutesBetween
(
Now
,
LastRefresh
)
>
58
then
RefreshAccessToken
();
...
...
@@ -347,6 +343,7 @@ begin
end
;
end
;
procedure
TLookupService
.
AfterConstruction
;
begin
inherited
;
...
...
@@ -361,12 +358,14 @@ begin
end
;
end
;
procedure
TLookupService
.
BeforeDestruction
;
begin
ordersDB
.
Free
;
inherited
;
end
;
function
TLookupService
.
DelShippingAddress
(
AddressID
,
CustomerID
:
string
):
TJSONObject
;
var
SQL
:
string
;
...
...
@@ -545,6 +544,7 @@ begin
end
;
end
;
function
TLookupService
.
GetRepUsers
:
TList
<
TUserItem
>;
// Gets a list of users that qualify to be reps for companies
var
...
...
@@ -643,8 +643,6 @@ begin
mode
:=
JSONData
.
GetValue
<
string
>(
'mode'
);
CustomerID
:=
JSONData
.
GetValue
<
string
>(
'customer_id'
);
if
mode
=
'ADD'
then
SQL
:=
'select * from customers_ship where customer_id = 0 and customer_id <> 0'
else
...
...
@@ -718,6 +716,7 @@ begin
end
;
end
;
function
TLookupService
.
AddCustomer
(
customerInfo
:
string
):
TJSONObject
;
var
JSONData
:
TJSONObject
;
...
...
@@ -772,7 +771,6 @@ begin
unique
:=
true
else
unique
:=
false
;
end
;
if
unique
then
...
...
@@ -837,6 +835,7 @@ begin
end
;
end
;
function
TLookupService
.
GenerateOrderCorrugatedPDF
(
orderID
:
string
):
string
;
var
SQL
:
string
;
...
...
@@ -866,6 +865,7 @@ begin
end
;
end
;
function
TLookupService
.
GenerateOrderWebPDF
(
orderID
:
string
):
string
;
var
SQL
:
string
;
...
...
@@ -896,6 +896,7 @@ begin
end
;
end
;
function
TLookupService
.
GenerateOrderCuttingPDF
(
orderID
:
string
):
string
;
var
SQL
:
string
;
...
...
@@ -925,6 +926,7 @@ begin
end
;
end
;
function
TLookupService
.
generateSubQuery
(
currStatus
:
string
):
string
;
// Generates the subquery in order to retrieve all the status due/done dates
// This must be a subquery because there are at most 5 different entries which
...
...
@@ -940,6 +942,7 @@ begin
quotedStr
(
currStatus
)
+
' order by os.STATUS_TIMESTAMP desc LIMIT 1) AS '
+
currStatus
+
'_DONE, '
;
end
;
function
TLookupService
.
generateStatusSelectSQL
(
statusTableShort
:
string
;
statusTableLong
:
string
;
startDate
:
string
;
endDate
:
string
;
statusType
:
string
):
string
;
// Generates the SQL query to figure out whether or not an entry exists within
// a given time frame.
...
...
@@ -965,6 +968,7 @@ begin
result
:=
result
+
' AND STATUS_DATE IS NOT NULL)'
;
end
;
function
TLookupService
.
createStatusSearchInfo
(
params
:
TStringList
;
statusNum
:
string
):
TStatusSearchInfo
;
// Takes all the status info received from the client and puts it into an object
// for convenience and to make it easier to expand. Returns said object.
...
...
@@ -1023,6 +1027,7 @@ begin
end
;
end
;
function
TLookupService
.
generateStatusWhereSQL
(
status
:
TStatusSearchInfo
):
string
;
// Generates the where SQL for each status to apply the filters used from the
// clients search.
...
...
@@ -1062,6 +1067,7 @@ begin
end
;
end
;
function
TLookupService
.
generateOrdersSQL
(
searchOptions
:
string
):
TSQLQuery
;
// Generates the orderSQL to retrieve entries specified by the search recieved
// from the client.
...
...
@@ -1172,6 +1178,7 @@ begin
end
;
end
;
function
TLookupService
.
getColorCount
(
colors
:
string
):
string
;
// Colors are stored in a JSON in the database so this function parses the
// stringified JSON and returns the count of colors.
...
...
@@ -2266,7 +2273,7 @@ begin
Result
.
AddPair
(
'msg'
,
'Success: Item successfully edited'
);
end
else
r
esult
.
AddPair
(
'msg'
,
'Failure: Item does not exist'
);
R
esult
.
AddPair
(
'msg'
,
'Failure: Item does not exist'
);
logger
.
Log
(
4
,
result
.
GetValue
(
'msg'
).
Value
);
end
;
...
...
kgOrdersServer/Source/Main.pas
View file @
48c932ec
...
...
@@ -66,6 +66,7 @@ begin
end
);
end
;
procedure
TFMain
.
btnDataClick
(
Sender
:
TObject
);
begin
FData
:=
TFData
.
Create
(
self
);
...
...
@@ -73,11 +74,13 @@ begin
FData
.
Free
;
end
;
procedure
TFMain
.
btnExitClick
(
Sender
:
TObject
);
begin
Close
;
end
;
procedure
TFMain
.
btnQBClick
(
Sender
:
TObject
);
begin
FQB
:=
TfQB
.
Create
(
self
);
...
...
@@ -85,6 +88,7 @@ begin
FQB
.
Free
;
end
;
procedure
TFMain
.
btnAuthSwaggerUIClick
(
Sender
:
TObject
);
begin
ShellExecute
(
Handle
,
'open'
,
PChar
(
TSparkleUtils
.
CombineUrlFast
(
AuthServerModule
.
XDataServer
.
BaseUrl
,
'swaggerui'
)),
nil
,
nil
,
SW_SHOWNORMAL
);
...
...
@@ -95,6 +99,7 @@ begin
ShellExecute
(
Handle
,
'open'
,
PChar
(
TSparkleUtils
.
CombineUrlFast
(
ApiServerModule
.
XDataServer
.
BaseUrl
,
'swaggerui'
)),
nil
,
nil
,
SW_SHOWNORMAL
);
end
;
procedure
TFMain
.
initTimerTimer
(
Sender
:
TObject
);
begin
initTimer
.
Enabled
:=
False
;
...
...
@@ -104,6 +109,7 @@ begin
StartServers
;
end
;
procedure
TFMain
.
StartServers
;
// Reads from the ini file to figure out what IP the database is located at and
// whether or not Twilio automatic updates should be enabled
...
...
@@ -144,7 +150,7 @@ begin
else
Logger
.
Log
(
1
,
'--Settings->LogFileNum: '
+
IntToStr
(
StrToInt
(
iniStr
)
-
1
)
);
iniStr
:=
iniFile
.
ReadString
(
'Settings'
,
'
W
ebClientVersion'
,
''
);
iniStr
:=
iniFile
.
ReadString
(
'Settings'
,
'
w
ebClientVersion'
,
''
);
if
iniStr
.
IsEmpty
then
Logger
.
Log
(
1
,
'--Settings->WebClientVersion: Entry not found - ERROR: ini entry required!!!'
)
else
...
...
@@ -235,6 +241,7 @@ begin
UpdateGUI
;
end
;
procedure
TFMain
.
FormClose
(
Sender
:
TObject
;
var
Action
:
TCloseAction
);
begin
ServerConfig
.
Free
;
...
...
@@ -243,6 +250,7 @@ begin
AppServerModule
.
Free
;
end
;
procedure
TFMain
.
UpdateGUI
;
begin
if
AuthServerModule
.
SparkleHttpSysDispatcher
.
Active
then
...
...
@@ -256,4 +264,5 @@ begin
memoInfo
.
Lines
.
Add
(
'ApiServer stopped'
);
end
;
end
.
kgOrdersServer/Source/rOrderCorrugated.pas
View file @
48c932ec
...
...
@@ -133,18 +133,18 @@ implementation
{$R *.dfm}
uses
uLibrary
,
Common
.
Config
,
XData
.
Sys
.
Exceptions
;
uLibrary
,
Common
.
Config
;
procedure
TrptOrderCorrugated
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TAuthDatabase
.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TrptOrderCorrugated
.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TrptOrderList.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TrptOrderCorrugated.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
...
...
@@ -158,7 +158,7 @@ var
colorsString
:
string
;
i
:
Integer
;
begin
logger
.
Log
(
5
,
'Adding Color Rows'
);
logger
.
Log
(
5
,
'TrptOrderCorrugated.PopulateColorTable'
);
colorsString
:=
uqOrderCorrugated
.
FieldByName
(
'colors_colors'
).
AsString
;
colorsObject
:=
TJSONObject
.
ParseJSONValue
(
colorsString
)
as
TJSONObject
;
...
...
@@ -181,30 +181,27 @@ end;
function
TrptOrderCorrugated
.
PrepareReport
(
SQL
:
string
):
string
;
begin
Logger
.
Log
(
5
,
'Generated SQL for Prepare Report: '
+
SQL
);
Logger
.
Log
(
5
,
'TrptOrderCorrugated.PrepareReport - SQL: '
+
SQL
);
doQuery
(
uqOrderCorrugated
,
SQL
);
if
(
string
(
uqOrderCorrugated
.
FieldByName
(
'colors_colors'
).
AsString
)
)
<>
''
then
begin
PopulateColorTable
();
end
;
result
:=
GeneratePDF
;
Logger
.
Log
(
5
,
'Report preparation complete.'
);
end
;
function
TrptOrderCorrugated
.
GeneratePDF
:
string
;
var
ReportDir
,
R
eportFileName
:
string
;
reportsDir
,
r
eportFileName
:
string
;
reportURL
:
string
;
begin
Report
Dir
:=
ServerConfig
.
reportsFolder
;
reportURL
:=
'reports
/'
+
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
reports
Dir
:=
ServerConfig
.
reportsFolder
;
reportFileName
:=
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
reportURL
:=
'reports
\'
+
reportFilename
;
ReportFileName
:=
reportDir
+
reportUrl
;
frxPDFExport1
.
FileName
:=
ReportFileName
;
frxPDFExport1
.
FileName
:=
reportsDir
+
reportFileName
;
frxPDFExport1
.
ShowDialog
:=
False
;
try
frxOrderCorrugated
.
PrepareReport
;
...
...
@@ -216,9 +213,9 @@ begin
end
;
Logger
.
Log
(
5
,
'PDF saved to: '
+
ReportFileName
);
Logger
.
Log
(
4
,
'TrptOrderCorrugated.GeneratePDF - PDF saved to: '
+
reportFileName
);
result
:=
reportURL
;
end
;
end
.
kgOrdersServer/Source/rOrderCutting.pas
View file @
48c932ec
...
...
@@ -60,7 +60,7 @@ var
implementation
uses
uLibrary
,
Common
.
Config
,
XData
.
Sys
.
Exceptions
;
uLibrary
,
Common
.
Config
;
{%CLASSGROUP 'Vcl.Controls.TControl'}
...
...
@@ -68,41 +68,38 @@ uses
procedure
TrptOrderCutting
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TAuthDatabase
.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TrptOrderCutting
.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TrptOrderList.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TrptOrderCutting.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
function
TrptOrderCutting
.
PrepareReport
(
SQL
:
string
):
string
;
begin
Logger
.
Log
(
3
,
'Generated SQL for Prepare Report: '
+
SQL
);
Logger
.
Log
(
5
,
'TrptOrderCutting.PrepareReport - SQL: '
+
SQL
);
doQuery
(
uqOrderCutting
,
SQL
);
result
:=
GeneratePDF
;
Logger
.
Log
(
5
,
'Report preparation complete.'
);
end
;
function
TrptOrderCutting
.
GeneratePDF
:
string
;
var
ReportDir
,
R
eportFileName
:
string
;
reportsDir
,
r
eportFileName
:
string
;
reportURL
:
string
;
begin
ReportDir
:=
ServerConfig
.
reportsFolder
;
reportURL
:=
'reports\'
+
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
ReportFileName
:=
reportDir
+
reportUrl
;
reportsDir
:=
ServerConfig
.
reportsFolder
;
reportFileName
:=
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
reportURL
:=
'reports\'
+
reportFilename
;
frxPDFExport1
.
FileName
:=
R
eportFileName
;
frxPDFExport1
.
FileName
:=
reportsDir
+
r
eportFileName
;
frxPDFExport1
.
ShowDialog
:=
False
;
try
frxOrderCutting
.
PrepareReport
;
...
...
@@ -112,7 +109,7 @@ begin
frxOrderCutting
.
Clear
;
// Clears the report to avoid memory bloat
end
;
Logger
.
Log
(
5
,
'PDF saved to: '
+
ReportFileName
);
Logger
.
Log
(
4
,
'TrptOrderWeb.GeneratePDF - PDF saved to: '
+
reportFileName
);
result
:=
reportURL
;
end
;
...
...
kgOrdersServer/Source/rOrderList.pas
View file @
48c932ec
...
...
@@ -59,7 +59,7 @@ var
implementation
uses
uLibrary
,
Common
.
Config
,
XData
.
Sys
.
Exceptions
;
uLibrary
,
Common
.
Config
;
{%CLASSGROUP 'Vcl.Controls.TControl'}
...
...
@@ -67,14 +67,14 @@ uses
procedure
TrptOrderList
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TAuthDatabase
.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TrptOrderList
.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TrptOrderList.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TrptOrderList.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
...
...
@@ -104,15 +104,12 @@ begin
uqOrdersORDER_DATE
.
AsDateTime
:=
RecodeSecond
(
uqOrdersORDER_DATE
.
AsDateTime
,
0
);
uqOrders
.
Post
;
//FormatDateTime('yyyy-mm-dd hh:nn', myDate);
result
:=
GeneratePDF
;
Logger
.
Log
(
5
,
'Report preparation complete.'
);
end
;
procedure
TrptOrderList
.
uqOrdersCalcFields
(
DataSet
:
TDataSet
);
var
ColorType
:
string
;
...
...
@@ -140,7 +137,7 @@ begin
jsonStr
:=
uqColors
.
FieldByName
(
ColorType
).
AsString
;
DataSet
.
FieldByName
(
'COLORS'
).
AsString
:=
getColorCount
(
jsonStr
);
finally
uqColors
.
Close
;
// Ensure it is closed
uqColors
.
Close
;
end
;
if
uqOrdersORDER_DATE
.
AsString
<>
''
then
...
...
@@ -174,7 +171,7 @@ begin
uqOrdersNEW_SHIP_DONE
.
AsString
:=
''
;
end
;
//create new field called color count
function
TrptOrderList
.
getColorCount
(
colors
:
string
):
string
;
var
colorObject
:
TJSONObject
;
...
...
@@ -194,18 +191,17 @@ begin
end
;
end
;
function
TrptOrderList
.
GeneratePDF
:
string
;
var
ReportDir
,
R
eportFileName
:
string
;
reportsDir
,
r
eportFileName
:
string
;
reportURL
:
string
;
begin
ReportDir
:=
ServerConfig
.
reportsFolder
;
reportsDir
:=
ServerConfig
.
reportsFolder
;
reportFileName
:=
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
reportURL
:=
'reports\'
+
reportFilename
;
reportURL
:=
'reports/'
+
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
ReportFileName
:=
reportDir
+
reportUrl
;
frxPDFExport1
.
FileName
:=
ReportFileName
;
frxPDFExport1
.
FileName
:=
reportsDir
+
reportFileName
;
frxPDFExport1
.
ShowDialog
:=
False
;
try
frxOrderList
.
PrepareReport
;
...
...
@@ -215,9 +211,10 @@ begin
frxOrderList
.
Clear
;
// Clears the report to avoid memory bloat
end
;
Logger
.
Log
(
5
,
'PDF saved to: '
+
ReportFileName
);
Logger
.
Log
(
4
,
'TrptOrderList.GeneratePDF - PDF saved to: '
+
reportFileName
);
result
:=
reportURL
;
end
;
end
.
kgOrdersServer/Source/rOrderWeb.pas
View file @
48c932ec
...
...
@@ -132,18 +132,18 @@ implementation
{$R *.dfm}
uses
uLibrary
,
Common
.
Config
,
XData
.
Sys
.
Exceptions
;
uLibrary
,
Common
.
Config
;
procedure
TrptOrderWeb
.
DataModuleCreate
(
Sender
:
TObject
);
begin
Logger
.
Log
(
1
,
'TAuthDatabase
.DataModuleCreate'
);
Logger
.
Log
(
5
,
'TrptOrderWeb
.DataModuleCreate'
);
LoadDatabaseSettings
(
ucKG
,
'kgOrdersServer.ini'
);
try
ucKG
.
Connect
;
except
on
E
:
Exception
do
begin
Logger
.
Log
(
2
,
'--TrptOrderList.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
Logger
.
Log
(
1
,
'--TrptOrderWeb.DataModuleCreate -Error connecting to database: '
+
E
.
Message
);
end
;
end
;
end
;
...
...
@@ -157,7 +157,7 @@ var
colorsString
:
string
;
i
:
Integer
;
begin
logger
.
Log
(
5
,
'Adding Color Rows'
);
logger
.
Log
(
5
,
'TrptOrderWeb.PopulateColorTable'
);
colorsString
:=
uqOrderWeb
.
FieldByName
(
'quantity_and_colors_qty_colors'
).
AsString
;
colorsObject
:=
TJSONObject
.
ParseJSONValue
(
colorsString
)
as
TJSONObject
;
...
...
@@ -180,7 +180,7 @@ end;
function
TrptOrderWeb
.
PrepareReport
(
SQL
:
string
):
string
;
begin
Logger
.
Log
(
3
,
'Generated SQL for Prepare Report: '
+
SQL
);
Logger
.
Log
(
5
,
'TrptOrderWeb.PrepareReport - SQL: '
+
SQL
);
doQuery
(
uqOrderWeb
,
SQL
);
if
(
string
(
uqOrderWeb
.
FieldByName
(
'quantity_and_colors_qty_colors'
).
AsString
)
)
<>
''
then
...
...
@@ -188,23 +188,19 @@ begin
PopulateColorTable
();
end
;
result
:=
GeneratePDF
;
Logger
.
Log
(
3
,
'Report preparation complete.'
);
end
;
function
TrptOrderWeb
.
GeneratePDF
:
string
;
var
ReportDir
,
R
eportFileName
:
string
;
reportsDir
,
r
eportFileName
:
string
;
reportURL
:
string
;
begin
ReportDir
:=
ServerConfig
.
reportsFolder
;
reportURL
:=
'reports\'
+
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
ReportFileName
:=
reportDir
+
reportUrl
;
reportsDir
:=
ServerConfig
.
reportsFolder
;
reportFileName
:=
FormatDateTime
(
'yyyymmdd_hhnnss'
,
Now
)
+
'.pdf'
;
reportURL
:=
'reports\'
+
reportFilename
;
frxPDFExport1
.
FileName
:=
R
eportFileName
;
frxPDFExport1
.
FileName
:=
reportsDir
+
r
eportFileName
;
frxPDFExport1
.
ShowDialog
:=
False
;
try
frxOrderWeb
.
PrepareReport
;
...
...
@@ -213,7 +209,7 @@ begin
frxOrderWeb
.
Clear
;
// Clears the report to avoid memory bloat
end
;
Logger
.
Log
(
5
,
'PDF saved to: '
+
ReportFileName
);
Logger
.
Log
(
4
,
'TrptOrderWeb.GeneratePDF - PDF saved to: '
+
reportFileName
);
result
:=
reportURL
;
end
;
...
...
kgOrdersServer/bin/kgOrdersServer.ini
View file @
48c932ec
[Settings]
MemoLogLevel
=
5
FileLogLevel
=
5
webClientVersion
=
0.9.1
1
LogFileNum
=
205
webClientVersion
=
0.9.1
2
LogFileNum
=
106
[Database]
--
Server
=
192.168.116.132
Server
=
192.168.116.132
--Server
=
192.168.102.129
--Server
=
192.168.75.133
Server
=
192.168.159.10
--
Server
=
192.168.159.10
--Database
=
kg_order_entry
--Username
=
root
--Password
=
emsys01
...
...
kgOrdersServer/bin/kgOrdersServer.json
→
kgOrdersServer/bin/kgOrdersServer
2
.json
View file @
48c932ec
...
...
@@ -3,5 +3,5 @@
"jwtTokenSecret"
:
"super_secret0123super_secret4567"
,
"adminPassword"
:
"whatisthisusedfor"
,
"webAppFolder"
:
"static"
,
"reportsFolder"
:
".
\\
static
\\
"
"reportsFolder"
:
".
\\
static
\\
reports
\\
"
}
\ No newline at end of file
kgOrdersServer/kgOrdersServer.dproj
View file @
48c932ec
...
...
@@ -114,10 +114,10 @@
<VerInfo_Locale>1033</VerInfo_Locale>
<DCC_ExeOutput>.\bin</DCC_ExeOutput>
<DCC_UnitSearchPath>C:\RADTOOLS\FastMM4;$(DCC_UnitSearchPath)</DCC_UnitSearchPath>
<VerInfo_Keys>CompanyName=EM Systems;FileDescription=$(MSBuildProjectName);FileVersion=0.9.1
1
.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.11;Comments=</VerInfo_Keys>
<VerInfo_Keys>CompanyName=EM Systems;FileDescription=$(MSBuildProjectName);FileVersion=0.9.1
2
.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=0.9.11;Comments=</VerInfo_Keys>
<VerInfo_MajorVer>0</VerInfo_MajorVer>
<VerInfo_MinorVer>9</VerInfo_MinorVer>
<VerInfo_Release>1
1
</VerInfo_Release>
<VerInfo_Release>1
2
</VerInfo_Release>
</PropertyGroup>
<PropertyGroup Condition="'$(Cfg_1_Win64)'!=''">
<AppDPIAwarenessMode>PerMonitorV2</AppDPIAwarenessMode>
...
...
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