Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
22_23-J 04
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
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
22_23-J 04
22_23-J 04
Commits
0852f396
Commit
0852f396
authored
Feb 03, 2023
by
Anjali W.M.S
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
java class of the report interface.
parent
08977a6a
Pipeline
#6381
failed with stages
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
297 additions
and
0 deletions
+297
-0
app/src/main/java/com/example/salonappnew/ReportsFragment.java
...rc/main/java/com/example/salonappnew/ReportsFragment.java
+297
-0
No files found.
app/src/main/java/com/example/salonappnew/ReportsFragment.java
0 → 100644
View file @
0852f396
package
com.example.salonappnew
;
import
android.graphics.Color
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ListView
;
import
android.widget.TextView
;
import
com.example.salonappnew.common.CommonConstants
;
import
com.example.salonappnew.models.Comments
;
import
com.example.salonappnew.models.DailyActivity
;
import
com.example.salonappnew.models.MedicineWeek
;
import
com.google.android.gms.tasks.OnCompleteListener
;
import
com.google.android.gms.tasks.Task
;
import
com.google.firebase.auth.FirebaseAuth
;
import
com.google.firebase.auth.FirebaseUser
;
import
com.google.firebase.firestore.FirebaseFirestore
;
import
com.google.firebase.firestore.QueryDocumentSnapshot
;
import
com.google.firebase.firestore.QuerySnapshot
;
import
org.w3c.dom.Text
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Locale
;
import
app.futured.donut.DonutProgressView
;
import
app.futured.donut.DonutSection
;
/**
* A simple {@link Fragment} subclass.
* Use the {@link ReportsFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public
class
ReportsFragment
extends
Fragment
{
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private
static
final
String
ARG_PARAM1
=
"param1"
;
private
static
final
String
ARG_PARAM2
=
"param2"
;
FirebaseFirestore
db
=
FirebaseFirestore
.
getInstance
();
FirebaseAuth
mFirebaseAuth
=
FirebaseAuth
.
getInstance
();
// TODO: Rename and change types of parameters
private
String
mParam1
;
private
String
mParam2
;
public
ReportsFragment
()
{
// Required empty public constructor
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment ReportsFragment.
*/
// TODO: Rename and change types and number of parameters
public
static
ReportsFragment
newInstance
(
String
param1
,
String
param2
)
{
ReportsFragment
fragment
=
new
ReportsFragment
();
Bundle
args
=
new
Bundle
();
args
.
putString
(
ARG_PARAM1
,
param1
);
args
.
putString
(
ARG_PARAM2
,
param2
);
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
if
(
getArguments
()
!=
null
)
{
mParam1
=
getArguments
().
getString
(
ARG_PARAM1
);
mParam2
=
getArguments
().
getString
(
ARG_PARAM2
);
}
}
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
ViewGroup
container
,
Bundle
savedInstanceState
)
{
// Inflate the layout for this fragment
// Take data from firestore
FirebaseUser
user
=
mFirebaseAuth
.
getCurrentUser
();
View
rootView
=
inflater
.
inflate
(
R
.
layout
.
fragment_reports
,
container
,
false
);
DonutProgressView
dpvChart
=
rootView
.
findViewById
(
R
.
id
.
dpvChart
);
TextView
txtMonth
=
(
TextView
)
rootView
.
findViewById
(
R
.
id
.
txtMonth
);
ListView
listParentsCommentsWeek1
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listParentsCommentsWeek1
);
ListView
listParentsCommentsWeek2
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listParentsCommentsWeek2
);
ListView
listParentsCommentsWeek3
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listParentsCommentsWeek3
);
ListView
listParentsCommentsWeek4
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listParentsCommentsWeek4
);
ListView
listDoctorsCommentsWeek1
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listDoctorsCommentsWeek1
);
ListView
listDoctorsCommentsWeek2
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listDoctorsCommentsWeek2
);
ListView
listDoctorsCommentsWeek3
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listDoctorsCommentsWeek3
);
ListView
listDoctorsCommentsWeek4
=
(
ListView
)
rootView
.
findViewById
(
R
.
id
.
listDoctorsCommentsWeek4
);
String
monthInText
;
Calendar
c
=
Calendar
.
getInstance
();
int
month
=
c
.
get
(
Calendar
.
MONTH
);
switch
(
month
){
case
0
:
monthInText
=
"January"
;
break
;
case
1
:
monthInText
=
"February"
;
break
;
case
2
:
monthInText
=
"March"
;
break
;
case
3
:
monthInText
=
"April"
;
break
;
case
4
:
monthInText
=
"May"
;
break
;
case
5
:
monthInText
=
"June"
;
break
;
case
6
:
monthInText
=
"July"
;
break
;
case
7
:
monthInText
=
"August"
;
break
;
case
8
:
monthInText
=
"September"
;
break
;
case
9
:
monthInText
=
"October"
;
break
;
case
10
:
monthInText
=
"November"
;
break
;
case
11
:
monthInText
=
"December"
;
break
;
default
:
monthInText
=
"Err"
;
throw
new
IllegalStateException
(
"Unexpected value: "
+
month
);
}
txtMonth
.
setText
(
monthInText
);
final
int
[]
completeCount
=
{
0
};
final
int
[]
notCompleteCount
=
{
0
};
final
int
[]
inProgressCount
=
{
0
};
db
.
collection
(
"dailyActivities"
).
whereEqualTo
(
"uid"
,
user
.
getUid
()).
whereEqualTo
(
"month"
,
month
+
""
).
get
().
addOnCompleteListener
(
new
OnCompleteListener
<
QuerySnapshot
>()
{
@Override
public
void
onComplete
(
@NonNull
Task
<
QuerySnapshot
>
task
)
{
if
(
task
.
isSuccessful
())
{
for
(
QueryDocumentSnapshot
document
:
task
.
getResult
())
{
Log
.
d
(
"chata"
,
document
.
toString
());
DailyActivity
dailyActivity
=
document
.
toObject
(
DailyActivity
.
class
);
if
(
dailyActivity
.
getProgressStatus
().
equals
(
CommonConstants
.
PROGRESS_STATUS_COMPLETE
)){
completeCount
[
0
]
=
completeCount
[
0
]
+
1
;
}
if
(
dailyActivity
.
getProgressStatus
().
equals
(
CommonConstants
.
PROGRESS_STATUS_IN_PROGRESS
)){
inProgressCount
[
0
]
=
inProgressCount
[
0
]
+
1
;
}
if
(
dailyActivity
.
getProgressStatus
().
equals
(
CommonConstants
.
PROGRESS_STATUS_NOT_COMPLETE
)){
notCompleteCount
[
0
]
=
notCompleteCount
[
0
]
+
1
;
}
}
int
totalProgressCount
=
completeCount
[
0
]
+
inProgressCount
[
0
]
+
notCompleteCount
[
0
];
float
completeCountFloat
=
100
/
totalProgressCount
*
completeCount
[
0
];
float
inProgressCountFloat
=
100
/
totalProgressCount
*
inProgressCount
[
0
];
float
notCompleteCountFloat
=
100
/
totalProgressCount
*
notCompleteCount
[
0
];
Log
.
d
(
"chata"
,
"count complete "
+
completeCount
[
0
]);
Log
.
d
(
"chata"
,
"count in progress "
+
inProgressCount
[
0
]);
Log
.
d
(
"chata"
,
"count not complete "
+
notCompleteCount
[
0
]);
Log
.
d
(
"chata"
,
"count total "
+
totalProgressCount
);
Log
.
d
(
"chata"
,
"count complete "
+
completeCountFloat
);
Log
.
d
(
"chata"
,
"count in progress "
+
inProgressCountFloat
);
Log
.
d
(
"chata"
,
"count not complete "
+
notCompleteCountFloat
);
//Show chart from here
DonutSection
complete
=
new
DonutSection
(
"Complete"
,
Color
.
parseColor
(
"#4E9FE5"
),
completeCountFloat
);
DonutSection
notComplete
=
new
DonutSection
(
"Not complete"
,
Color
.
parseColor
(
"#0000FF"
),
notCompleteCountFloat
);
DonutSection
inProgress
=
new
DonutSection
(
"In Progress"
,
Color
.
parseColor
(
"#AFE2EF"
),
inProgressCountFloat
);
dpvChart
.
setCap
(
100
f
);
ArrayList
arr
=
new
ArrayList
<>();
arr
.
add
(
complete
);
arr
.
add
(
notComplete
);
arr
.
add
(
inProgress
);
dpvChart
.
submitData
(
arr
);
}
else
{
Log
.
d
(
"chata"
,
"Error getting documents: "
,
task
.
getException
());
}
}
});
//start show comments
//Start take data
// Parent comments
String
[]
weeksListArr
=
{
CommonConstants
.
WEEK_1
,
CommonConstants
.
WEEK_2
,
CommonConstants
.
WEEK_3
,
CommonConstants
.
WEEK_4
};
ListView
[]
parentsCommentListArrr
=
{
listParentsCommentsWeek1
,
listParentsCommentsWeek2
,
listParentsCommentsWeek3
,
listParentsCommentsWeek4
};
ListView
[]
doctorsCommentListArrr
=
{
listDoctorsCommentsWeek1
,
listDoctorsCommentsWeek2
,
listDoctorsCommentsWeek3
,
listDoctorsCommentsWeek4
};
Log
.
d
(
"chata"
,
"report "
+
user
.
getUid
());
Log
.
d
(
"chata"
,
"report "
+
CommonConstants
.
WEEK_1
);
Log
.
d
(
"chata"
,
"report "
+
month
);
//For doctors comments
for
(
int
i
=
0
;
i
<
weeksListArr
.
length
;
i
++)
{
int
finalI
=
i
;
db
.
collection
(
"dailyActivities"
).
whereEqualTo
(
"uid"
,
user
.
getUid
()).
whereEqualTo
(
"weekText"
,
weeksListArr
[
i
]).
whereEqualTo
(
"month"
,
month
+
""
).
get
().
addOnCompleteListener
(
new
OnCompleteListener
<
QuerySnapshot
>()
{
@Override
public
void
onComplete
(
@NonNull
Task
<
QuerySnapshot
>
task
)
{
if
(
task
.
isSuccessful
())
{
ArrayList
<
Comments
>
myListP
=
new
ArrayList
<>();
for
(
QueryDocumentSnapshot
document
:
task
.
getResult
())
{
Log
.
d
(
"chata"
,
document
.
toString
());
Comments
comments
=
document
.
toObject
(
Comments
.
class
);
comments
.
setParentComment
(
false
);
myListP
.
add
(
comments
);
}
CommentAdapter
myAdapterP
=
new
CommentAdapter
(
getContext
(),
myListP
);
doctorsCommentListArrr
[
finalI
].
setAdapter
(
myAdapterP
);
}
else
{
Log
.
d
(
"chata"
,
"Error getting documents: "
,
task
.
getException
());
}
}
});
}
//For parents comments
for
(
int
i
=
0
;
i
<
weeksListArr
.
length
;
i
++)
{
int
finalI
=
i
;
db
.
collection
(
"dailyActivities"
).
whereEqualTo
(
"uid"
,
user
.
getUid
()).
whereEqualTo
(
"weekText"
,
weeksListArr
[
i
]).
whereEqualTo
(
"month"
,
month
+
""
).
get
().
addOnCompleteListener
(
new
OnCompleteListener
<
QuerySnapshot
>()
{
@Override
public
void
onComplete
(
@NonNull
Task
<
QuerySnapshot
>
task
)
{
if
(
task
.
isSuccessful
())
{
ArrayList
<
Comments
>
myListP
=
new
ArrayList
<>();
for
(
QueryDocumentSnapshot
document
:
task
.
getResult
())
{
Log
.
d
(
"chata"
,
document
.
toString
());
Comments
comments
=
document
.
toObject
(
Comments
.
class
);
comments
.
setParentComment
(
true
);
myListP
.
add
(
comments
);
}
CommentAdapter
myAdapterP
=
new
CommentAdapter
(
getContext
(),
myListP
);
parentsCommentListArrr
[
finalI
].
setAdapter
(
myAdapterP
);
}
else
{
Log
.
d
(
"chata"
,
"Error getting documents: "
,
task
.
getException
());
}
}
});
}
//End take data
//end show comments
return
rootView
;
}
}
\ No newline at end of file
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