Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mytime
Project
Project
Details
Activity
Releases
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
Narendar Vakiti
mytime
Commits
e392dd8e
Commit
e392dd8e
authored
Jun 25, 2019
by
vikram singh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added service for endPoint for fetching employees BasedOnSubStatus For GivenDates
parent
c9926b1d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
82 additions
and
1 deletion
+82
-1
EmployeeController.java
.../java/com/nisum/myteam/controller/EmployeeController.java
+15
-0
EmployeeSubStatusVO.java
...n/java/com/nisum/myteam/model/vo/EmployeeSubStatusVO.java
+25
-0
EmployeeRepo.java
src/main/java/com/nisum/myteam/repository/EmployeeRepo.java
+1
-0
EmployeeSubStatusRepo.java
...va/com/nisum/myteam/repository/EmployeeSubStatusRepo.java
+2
-0
ISubStatusService.java
...main/java/com/nisum/myteam/service/ISubStatusService.java
+7
-0
SubStatusService.java
.../java/com/nisum/myteam/service/impl/SubStatusService.java
+32
-1
No files found.
src/main/java/com/nisum/myteam/controller/EmployeeController.java
View file @
e392dd8e
...
@@ -11,10 +11,12 @@ import javax.servlet.http.HttpServletRequest;
...
@@ -11,10 +11,12 @@ import javax.servlet.http.HttpServletRequest;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.dao.EmployeeVisa
;
import
com.nisum.myteam.model.dao.EmployeeVisa
;
import
com.nisum.myteam.model.vo.EmployeeSubStatusVO
;
import
com.nisum.myteam.repository.EmployeeVisaRepo
;
import
com.nisum.myteam.repository.EmployeeVisaRepo
;
import
com.nisum.myteam.service.ISubStatusService
;
import
com.nisum.myteam.service.ISubStatusService
;
import
com.nisum.myteam.service.impl.EmployeeService
;
import
com.nisum.myteam.service.impl.EmployeeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
...
@@ -280,6 +282,19 @@ public class EmployeeController {
...
@@ -280,6 +282,19 @@ public class EmployeeController {
return
new
ResponseEntity
<
ResponseDetails
>(
responseDetails
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<
ResponseDetails
>(
responseDetails
,
HttpStatus
.
OK
);
}
}
@RequestMapping
(
value
=
"/employeesBasedOnSubStatusForGivenDates"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
employeesBasedOnSubStatusForGivenDates
(
@RequestParam
(
"fromDate"
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
Date
fromDate
,
@RequestParam
(
"fromDate"
)
@DateTimeFormat
(
iso
=
DateTimeFormat
.
ISO
.
DATE
)
Date
toDate
,
@RequestParam
(
"subStatus"
)
String
subStatus
,
HttpServletRequest
request
){
List
<
EmployeeSubStatusVO
>
employees
=
subStatusService
.
employeesBasedOnSubStatusForGivenDates
(
fromDate
,
toDate
,
subStatus
);
ResponseDetails
responseDetails
=
new
ResponseDetails
(
new
Date
(),
904
,
"Fetched Employees Successfully"
,
"Fetched Employees Successfully"
,
employees
,
request
.
getRequestURI
(),
"Resource details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
responseDetails
,
HttpStatus
.
OK
);
}
...
...
src/main/java/com/nisum/myteam/model/vo/EmployeeSubStatusVO.java
0 → 100644
View file @
e392dd8e
package
com
.
nisum
.
myteam
.
model
.
vo
;
import
java.util.Date
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
lombok.ToString
;
@AllArgsConstructor
@NoArgsConstructor
@Getter
@Setter
@ToString
public
class
EmployeeSubStatusVO
{
private
String
empId
;
private
String
empName
;
private
String
empStatus
;
private
Date
fromDate
;
private
Date
toDate
;
private
String
functionalGroup
;
}
src/main/java/com/nisum/myteam/repository/EmployeeRepo.java
View file @
e392dd8e
...
@@ -9,6 +9,7 @@ import com.nisum.myteam.model.dao.Employee;
...
@@ -9,6 +9,7 @@ import com.nisum.myteam.model.dao.Employee;
public
interface
EmployeeRepo
public
interface
EmployeeRepo
extends
MongoRepository
<
Employee
,
String
>
{
extends
MongoRepository
<
Employee
,
String
>
{
Employee
findByEmployeeIdAndEmpStatus
(
String
employeeId
,
String
empStatus
);
Employee
findByEmailId
(
String
emailId
);
Employee
findByEmailId
(
String
emailId
);
...
...
src/main/java/com/nisum/myteam/repository/EmployeeSubStatusRepo.java
View file @
e392dd8e
...
@@ -8,4 +8,6 @@ import java.util.List;
...
@@ -8,4 +8,6 @@ import java.util.List;
public
interface
EmployeeSubStatusRepo
extends
MongoRepository
<
EmployeeSubStatus
,
String
>
{
public
interface
EmployeeSubStatusRepo
extends
MongoRepository
<
EmployeeSubStatus
,
String
>
{
public
List
<
EmployeeSubStatus
>
findByEmployeeID
(
String
employeeId
);
public
List
<
EmployeeSubStatus
>
findByEmployeeID
(
String
employeeId
);
public
List
<
EmployeeSubStatus
>
findBySubStatus
(
String
subStatus
);
}
}
src/main/java/com/nisum/myteam/service/ISubStatusService.java
View file @
e392dd8e
package
com
.
nisum
.
myteam
.
service
;
package
com
.
nisum
.
myteam
.
service
;
import
java.util.Date
;
import
java.util.List
;
import
com.nisum.myteam.model.dao.Employee
;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.vo.EmployeeSubStatusVO
;
public
interface
ISubStatusService
{
public
interface
ISubStatusService
{
public
EmployeeSubStatus
getLatestEmployeeSubStatus
(
String
empId
);
public
EmployeeSubStatus
getLatestEmployeeSubStatus
(
String
empId
);
...
@@ -12,4 +17,6 @@ public interface ISubStatusService {
...
@@ -12,4 +17,6 @@ public interface ISubStatusService {
public
EmployeeSubStatus
getCurrentSubStatus
(
String
employeeId
);
public
EmployeeSubStatus
getCurrentSubStatus
(
String
employeeId
);
public
EmployeeSubStatus
endSubStatus
(
String
loginnEmployeeId
,
EmployeeSubStatus
subStatus
);
public
EmployeeSubStatus
endSubStatus
(
String
loginnEmployeeId
,
EmployeeSubStatus
subStatus
);
public
List
<
EmployeeSubStatusVO
>
employeesBasedOnSubStatusForGivenDates
(
Date
fromDate
,
Date
toDate
,
String
subStatus
);
}
}
src/main/java/com/nisum/myteam/service/impl/SubStatusService.java
View file @
e392dd8e
package
com
.
nisum
.
myteam
.
service
.
impl
;
package
com
.
nisum
.
myteam
.
service
.
impl
;
import
com.nisum.myteam.model.dao.Employee
;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.dao.EmployeeSubStatus
;
import
com.nisum.myteam.model.vo.EmployeeSubStatusVO
;
import
com.nisum.myteam.repository.EmployeeRepo
;
import
com.nisum.myteam.repository.EmployeeSubStatusRepo
;
import
com.nisum.myteam.repository.EmployeeSubStatusRepo
;
import
com.nisum.myteam.service.ISubStatusService
;
import
com.nisum.myteam.service.ISubStatusService
;
import
com.nisum.myteam.utils.MyTeamDateUtils
;
import
com.nisum.myteam.utils.MyTeamDateUtils
;
...
@@ -8,6 +11,7 @@ import com.nisum.myteam.utils.MyTeamUtils;
...
@@ -8,6 +11,7 @@ import com.nisum.myteam.utils.MyTeamUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -18,6 +22,8 @@ public class SubStatusService implements ISubStatusService {
...
@@ -18,6 +22,8 @@ public class SubStatusService implements ISubStatusService {
@Autowired
@Autowired
private
EmployeeSubStatusRepo
employeeSubStatusRepo
;
private
EmployeeSubStatusRepo
employeeSubStatusRepo
;
@Autowired
private
EmployeeRepo
employeeRepo
;
public
HashMap
<
String
,
Object
>
respMap
=
new
HashMap
<>();
public
HashMap
<
String
,
Object
>
respMap
=
new
HashMap
<>();
...
@@ -74,13 +80,15 @@ public class SubStatusService implements ISubStatusService {
...
@@ -74,13 +80,15 @@ public class SubStatusService implements ISubStatusService {
}
}
return
null
;
return
null
;
}
}
//not called by ANY ONE
public
boolean
isDatesValid
(
EmployeeSubStatus
subStatus
){
public
boolean
isDatesValid
(
EmployeeSubStatus
subStatus
){
boolean
isValid
=
false
;
boolean
isValid
=
false
;
List
<
EmployeeSubStatus
>
subStatusList
=
employeeSubStatusRepo
.
findByEmployeeID
(
subStatus
.
getEmployeeID
());
List
<
EmployeeSubStatus
>
subStatusList
=
employeeSubStatusRepo
.
findByEmployeeID
(
subStatus
.
getEmployeeID
());
List
<
EmployeeSubStatus
>
matchedList
=
subStatusList
.
stream
().
filter
(
s
->
(
s
.
getFromDate
().
compareTo
(
subStatus
.
getFromDate
())<=
0
&&
s
.
getToDate
().
compareTo
(
subStatus
.
getFromDate
())>=
0
)
&&
List
<
EmployeeSubStatus
>
matchedList
=
subStatusList
.
stream
().
filter
(
s
->
(
s
.
getFromDate
().
compareTo
(
subStatus
.
getFromDate
())<=
0
&&
s
.
getToDate
().
compareTo
(
subStatus
.
getFromDate
())>=
0
)
&&
(
s
.
getFromDate
().
compareTo
(
subStatus
.
getToDate
())<=
0
&&
s
.
getToDate
().
compareTo
(
subStatus
.
getToDate
())>=
0
)).
collect
(
Collectors
.
toList
());
(
s
.
getFromDate
().
compareTo
(
subStatus
.
getToDate
())<=
0
&&
s
.
getToDate
().
compareTo
(
subStatus
.
getToDate
())>=
0
)).
collect
(
Collectors
.
toList
());
if
(!
matchedList
.
isEmpty
()){
if
(!
matchedList
.
isEmpty
()){
respMap
.
put
(
"statusCode"
,
811
);
respMap
.
put
(
"message"
,
"resource is already on substatus on these days"
);
//resource is already on substatus on these days
//resource is already on substatus on these days
}
else
{
}
else
{
isValid
=
true
;
isValid
=
true
;
...
@@ -89,4 +97,27 @@ public class SubStatusService implements ISubStatusService {
...
@@ -89,4 +97,27 @@ public class SubStatusService implements ISubStatusService {
return
isValid
;
return
isValid
;
}
}
@Override
public
List
<
EmployeeSubStatusVO
>
employeesBasedOnSubStatusForGivenDates
(
Date
fromDate
,
Date
toDate
,
String
subStatus
)
{
List
<
EmployeeSubStatusVO
>
employees
=
new
ArrayList
<>();
employeeSubStatusRepo
.
findBySubStatus
(
subStatus
).
stream
().
filter
(
e
->
(
e
.
getFromDate
().
compareTo
(
fromDate
)<=
0
&&
e
.
getToDate
().
compareTo
(
fromDate
)>=
0
)
||
(
e
.
getFromDate
().
compareTo
(
fromDate
)<=
0
&&
e
.
getToDate
().
compareTo
(
fromDate
)>=
0
)
)
.
forEach
(
e
->{
Employee
employee
=
employeeRepo
.
findByEmployeeIdAndEmpStatus
(
e
.
getEmployeeID
(),
MyTeamUtils
.
ACTIVE
);
if
(
employee
!=
null
)
{
EmployeeSubStatusVO
empSubStatus
=
new
EmployeeSubStatusVO
();
empSubStatus
.
setEmpId
(
e
.
getEmployeeID
());
empSubStatus
.
setEmpName
(
employee
.
getEmployeeName
());
empSubStatus
.
setEmpStatus
(
e
.
getSubStatus
());
empSubStatus
.
setFromDate
(
e
.
getFromDate
());
empSubStatus
.
setToDate
(
e
.
getToDate
());
empSubStatus
.
setFunctionalGroup
(
employee
.
getFunctionalGroup
());
employees
.
add
(
empSubStatus
);
}});
return
employees
;
}
}
}
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