Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
JK_Report
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vaisakh.nair
JK_Report
Commits
723a857c
Commit
723a857c
authored
May 11, 2023
by
vaisakh.nair
🎯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
returning file_path in create_excel_report method
parent
39ba800c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
7 deletions
+16
-7
create_report_new.py
create_report_new.py
+16
-7
No files found.
create_report_new.py
View file @
723a857c
...
@@ -12,6 +12,7 @@ class DailyReportGenerator:
...
@@ -12,6 +12,7 @@ class DailyReportGenerator:
db
=
client
[
os
.
environ
[
"MONGO_DATABASE"
]]
db
=
client
[
os
.
environ
[
"MONGO_DATABASE"
]]
self
.
collection
=
db
[
os
.
environ
[
"MONGO_COLLECTION"
]]
self
.
collection
=
db
[
os
.
environ
[
"MONGO_COLLECTION"
]]
def
get_shift_name
(
self
,
timestamp
):
def
get_shift_name
(
self
,
timestamp
):
hour
=
timestamp
.
hour
hour
=
timestamp
.
hour
if
6
<=
hour
<
14
:
if
6
<=
hour
<
14
:
...
@@ -21,6 +22,7 @@ class DailyReportGenerator:
...
@@ -21,6 +22,7 @@ class DailyReportGenerator:
else
:
else
:
return
'Shift C'
return
'Shift C'
def
map_packer_name
(
self
,
camera_name
):
def
map_packer_name
(
self
,
camera_name
):
packer_mapping
=
{
packer_mapping
=
{
'camera_41'
:
'Packer 1'
,
'camera_41'
:
'Packer 1'
,
...
@@ -32,8 +34,12 @@ class DailyReportGenerator:
...
@@ -32,8 +34,12 @@ class DailyReportGenerator:
}
}
return
packer_mapping
.
get
(
camera_name
,
'Unknown'
)
return
packer_mapping
.
get
(
camera_name
,
'Unknown'
)
def
get_count
(
self
,
camera_name
):
query
=
{
'cameraName'
:
camera_name
}
def
get_count
(
self
,
start_time
,
end_time
,
camera_name
):
query
=
{
'timestamp'
:
{
'$gte'
:
start_time
,
'$lte'
:
end_time
},
'cameraName'
:
camera_name
}
documents
=
self
.
collection
.
find
(
query
)
.
sort
(
'timestamp'
,
1
)
documents
=
self
.
collection
.
find
(
query
)
.
sort
(
'timestamp'
,
1
)
first_document
=
None
first_document
=
None
last_document
=
None
last_document
=
None
...
@@ -46,12 +52,10 @@ class DailyReportGenerator:
...
@@ -46,12 +52,10 @@ class DailyReportGenerator:
if
first_document
is
None
or
last_document
is
None
:
if
first_document
is
None
or
last_document
is
None
:
return
0
return
0
start_time
=
last_document
[
'timestamp'
]
end_time
=
first_document
[
'timestamp'
]
count_difference
=
int
(
last_document
[
'cement_bag_count'
])
-
int
(
first_document
[
'cement_bag_count'
])
count_difference
=
int
(
last_document
[
'cement_bag_count'
])
-
int
(
first_document
[
'cement_bag_count'
])
return
count_difference
return
count_difference
def
create_excel_report
(
self
):
def
create_excel_report
(
self
):
data
=
[]
data
=
[]
current_time
=
datetime
.
now
()
current_time
=
datetime
.
now
()
...
@@ -61,7 +65,7 @@ class DailyReportGenerator:
...
@@ -61,7 +65,7 @@ class DailyReportGenerator:
for
camera_name
in
[
'camera_41'
,
'camera_42'
,
'camera_44'
,
'camera_45'
,
'camera_46'
,
'camera_47'
]:
for
camera_name
in
[
'camera_41'
,
'camera_42'
,
'camera_44'
,
'camera_45'
,
'camera_46'
,
'camera_47'
]:
shift_name
=
self
.
get_shift_name
(
start_time
)
shift_name
=
self
.
get_shift_name
(
start_time
)
packer_name
=
self
.
map_packer_name
(
camera_name
)
packer_name
=
self
.
map_packer_name
(
camera_name
)
count
=
self
.
get_count
(
camera_name
)
count
=
self
.
get_count
(
start_time
,
end_time
,
camera_name
)
data
.
append
({
data
.
append
({
'Date'
:
start_time
.
date
(),
'Date'
:
start_time
.
date
(),
...
@@ -71,10 +75,14 @@ class DailyReportGenerator:
...
@@ -71,10 +75,14 @@ class DailyReportGenerator:
})
})
df
=
pd
.
DataFrame
(
data
)
df
=
pd
.
DataFrame
(
data
)
writer
=
pd
.
ExcelWriter
(
'daily_report.xlsx'
,
engine
=
'openpyxl'
)
file_path
=
os
.
path
.
abspath
(
'daily_report.xlsx'
)
writer
=
pd
.
ExcelWriter
(
file_path
,
engine
=
'openpyxl'
)
df
.
to_excel
(
writer
,
index
=
False
,
sheet_name
=
'Report'
)
df
.
to_excel
(
writer
,
index
=
False
,
sheet_name
=
'Report'
)
writer
.
save
()
writer
.
save
()
return
file_path
def
schedule_report_generation
(
self
):
def
schedule_report_generation
(
self
):
schedule
.
every
()
.
day
.
at
(
'08:00'
)
.
do
(
self
.
create_excel_report
)
schedule
.
every
()
.
day
.
at
(
'08:00'
)
.
do
(
self
.
create_excel_report
)
...
@@ -82,6 +90,7 @@ class DailyReportGenerator:
...
@@ -82,6 +90,7 @@ class DailyReportGenerator:
schedule
.
run_pending
()
schedule
.
run_pending
()
time
.
sleep
(
1
)
time
.
sleep
(
1
)
# Create an instance of DailyReportGenerator and start scheduling report generation
# Create an instance of DailyReportGenerator and start scheduling report generation
report_generator
=
DailyReportGenerator
()
report_generator
=
DailyReportGenerator
()
report_generator
.
schedule_report_generation
()
report_generator
.
schedule_report_generation
()
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