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
1828c372
Commit
1828c372
authored
May 03, 2019
by
Vijay Akula
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provided the validation messages for Projects
parent
7a8ddf80
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
306 additions
and
200 deletions
+306
-200
SwaggerConfig.java
...in/java/com/nisum/myteam/configuration/SwaggerConfig.java
+25
-0
ProjectController.java
...n/java/com/nisum/myteam/controller/ProjectController.java
+198
-130
ResourceController.java
.../java/com/nisum/myteam/controller/ResourceController.java
+7
-13
Project.java
src/main/java/com/nisum/myteam/model/Project.java
+3
-3
ProjectRepo.java
src/main/java/com/nisum/myteam/repository/ProjectRepo.java
+2
-0
IProjectService.java
src/main/java/com/nisum/myteam/service/IProjectService.java
+14
-5
ProjectService.java
...in/java/com/nisum/myteam/service/impl/ProjectService.java
+57
-49
No files found.
src/main/java/com/nisum/myteam/configuration/SwaggerConfig.java
0 → 100644
View file @
1828c372
package
com
.
nisum
.
myteam
.
configuration
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
springfox.documentation.builders.PathSelectors
;
import
springfox.documentation.builders.RequestHandlerSelectors
;
import
springfox.documentation.spi.DocumentationType
;
import
springfox.documentation.spring.web.plugins.Docket
;
import
springfox.documentation.swagger2.annotations.EnableSwagger2
;
@Configuration
@EnableSwagger2
public
class
SwaggerConfig
{
@Bean
public
Docket
api
()
{
return
new
Docket
(
DocumentationType
.
SWAGGER_2
)
.
select
()
.
apis
(
RequestHandlerSelectors
.
any
())
.
paths
(
PathSelectors
.
any
())
.
build
();
}
}
\ No newline at end of file
src/main/java/com/nisum/myteam/controller/ProjectController.java
View file @
1828c372
package
com
.
nisum
.
myteam
.
controller
;
package
com
.
nisum
.
myteam
.
controller
;
import
java.util.HashMap
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.exception.handler.ResponseDetails
;
import
com.nisum.myteam.model.Account
;
import
com.nisum.myteam.model.Account
;
import
com.nisum.myteam.model.Project
;
import
com.nisum.myteam.model.Project
;
import
com.nisum.myteam.repository.AccountRepo
;
import
com.nisum.myteam.repository.ProjectRepo
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.validation.Valid
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
@RestController
@RestController
@Slf4j
@Slf4j
public
class
ProjectController
{
public
class
ProjectController
{
@Autowired
private
IEmployeeService
employeeService
;
@Autowired
@Autowired
private
IProjectService
projectService
;
private
IProjectService
projectService
;
@Autowired
@Autowired
private
AccountRepo
accountRepo
;
private
IEmployeeService
employeeService
;
@Autowired
private
ProjectRepo
projectRepo
;
@RequestMapping
(
value
=
"/projects"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/projects"
,
method
=
RequestMethod
.
POST
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
createProject
(
@RequestBody
Project
projectReq
,
public
ResponseEntity
<?>
createProject
(
@Valid
@RequestBody
Project
projectReq
,
@RequestParam
(
value
=
"loginEmpId"
)
String
loginEmpId
)
throws
MyTeamException
{
@RequestParam
(
value
=
"loginEmpId"
)
String
loginEmpId
,
HttpServletRequest
request
)
throws
MyTeamException
{
// checking project duplicateName
int
projectNameCount
=
0
;
if
(
projectReq
.
getAccountId
()
!=
null
)
{
List
<
Project
>
projects
=
projectService
.
getProjectsUnderDomain
(
projectReq
.
getDomainId
());
if
(!
projectService
.
isProjectExists
(
projectReq
.
getProjectName
()))
{
for
(
Project
existproject
:
projects
)
{
if
(
projectReq
.
getProjectName
().
equalsIgnoreCase
(
existproject
.
getProjectName
()))
projectNameCount
++;
}
}
if
(
projectNameCount
>
MyTeamUtils
.
INT_ZERO
)
{
MyTeamException
myTimeException
=
new
MyTeamException
(
"Project name already exist !!! try with new"
);
return
new
ResponseEntity
<>(
myTimeException
,
HttpStatus
.
OK
);
}
else
{
String
accountName
=
""
;
String
accountName
=
""
;
String
accountId
=
projectReq
.
getAccountId
();
Account
account
=
projectService
.
getProjectAccount
(
projectReq
.
getAccountId
());
// String accountName=projectAdded.getAccount();
if
(
account
!=
null
)
{
Account
account
=
accountRepo
.
findByAccountId
(
accountId
);
if
(
account
!=
null
)
accountName
=
account
.
getAccountName
();
accountName
=
account
.
getAccountName
();
int
sequenceNumber
=
account
.
getAccountProjectSequence
();
int
sequenceNumber
=
account
.
getAccountProjectSequence
();
account
.
setAccountProjectSequence
(
sequenceNumber
+
1
);
account
.
setAccountProjectSequence
(
sequenceNumber
+
1
);
// account.setAuditFields(loginEmpId, MyTimeUtils.UPDATE);
projectService
.
updateProjSeqinAccount
(
account
);
accountRepo
.
save
(
account
);
String
projectId
=
accountName
+
String
.
format
(
"%04d"
,
sequenceNumber
+
1
);
String
projectId
=
accountName
+
String
.
format
(
"%04d"
,
sequenceNumber
+
1
);
projectReq
.
setProjectId
(
projectId
);
projectReq
.
setProjectId
(
projectId
);
Project
project
=
projectService
.
createProject
(
projectReq
,
loginEmpId
);
return
new
ResponseEntity
<>(
project
,
HttpStatus
.
OK
);
Project
projectPersisted
=
projectService
.
createProject
(
projectReq
,
loginEmpId
);
if
(
projectPersisted
!=
null
)
{
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
800
,
"Project has been created"
,
"Project description"
,
null
,
request
.
getRequestURI
(),
"details"
,
projectPersisted
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
}
}
// @RequestMapping(value = "/updateProject"
@RequestMapping
(
value
=
"/projects"
,
method
=
RequestMethod
.
PUT
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
updateProject
(
@RequestBody
Project
project
,
@RequestParam
(
value
=
"loginEmpId"
)
String
loginEmpId
)
throws
MyTeamException
{
// checking project duplicateName
int
projectNameCount
=
0
;
if
(
project
.
getAccountId
()
!=
null
)
{
List
<
Project
>
projects
=
projectRepo
.
findByDomainId
(
project
.
getDomainId
());
for
(
Project
existproject
:
projects
)
{
if
(
project
.
getProjectName
().
equalsIgnoreCase
(
existproject
.
getProjectName
())
&&
!
project
.
getProjectId
().
equals
(
existproject
.
getProjectId
()))
{
projectNameCount
++;
}
}
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
801
,
"Project is already existed"
,
"Choose the different project name"
,
null
,
request
.
getRequestURI
(),
"details"
,
projectReq
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
// @RequestMapping(value = "/updateProject"
@RequestMapping
(
value
=
"/projects/{projectId}"
,
method
=
RequestMethod
.
PUT
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
updateProject
(
@Valid
@RequestBody
Project
project
,
@PathVariable
(
value
=
"projectId"
,
required
=
true
)
String
projectId
,
@RequestParam
(
value
=
"loginEmpId"
)
String
loginEmpId
,
HttpServletRequest
request
)
throws
MyTeamException
{
if
(
projectService
.
isProjectExistsById
(
projectId
))
{
if
(
projectService
.
isProjectExists
(
project
.
getProjectName
()))
{
Project
updatedProject
=
projectService
.
updateProject
(
project
,
loginEmpId
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
801
,
"Project has been updated"
,
"Project Updation Description"
,
null
,
request
.
getRequestURI
(),
"Project Updation details"
,
updatedProject
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
if
(
projectNameCount
>
0
)
{
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
801
,
MyTeamException
myTimeException
=
new
MyTeamException
(
"Project name already exist !!! try with new"
);
"Project is not existed"
,
"Please provide the valid project name"
,
null
,
return
new
ResponseEntity
<>(
myTimeException
,
HttpStatus
.
OK
);
request
.
getRequestURI
(),
"details"
,
project
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
Project
updatedProject
=
projectService
.
updateProject
(
project
,
loginEmpId
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
801
,
return
new
ResponseEntity
<>(
updatedProject
,
HttpStatus
.
OK
);
"Project Id is not existed"
,
"Please provide the valid project Id"
,
null
,
request
.
getRequestURI
(),
"details"
,
project
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
// @RequestMapping(value = "/deleteProject"
// @RequestMapping(value = "/deleteProject"
@RequestMapping
(
value
=
"/deleteProject"
,
method
=
RequestMethod
.
DELETE
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/projects/{projectId}"
,
method
=
RequestMethod
.
DELETE
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
String
>
deleteProject
(
@RequestParam
(
"projectId"
)
String
projectId
)
throws
MyTeamException
{
public
ResponseEntity
<?>
deleteProject
(
@PathVariable
(
"projectId"
)
String
projectId
,
HttpServletRequest
request
)
throws
MyTeamException
{
if
(
projectService
.
isProjectExistsById
(
projectId
))
{
projectService
.
deleteProject
(
projectId
);
projectService
.
deleteProject
(
projectId
);
return
new
ResponseEntity
<>(
"Success"
,
HttpStatus
.
OK
);
ResponseDetails
deleteRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Project has been deleted successfully"
,
"Project Deletion description"
,
null
,
request
.
getRequestURI
(),
"Project Deletion details"
,
projectId
);
return
new
ResponseEntity
<
ResponseDetails
>(
deleteRespDetails
,
HttpStatus
.
OK
);
}
}
// @RequestMapping(value = "/getProjects"
ResponseDetails
deleteRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
@RequestMapping
(
value
=
"/projects"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
"Project does not exists"
,
"Please provide valid project id"
,
null
,
request
.
getRequestURI
(),
"Project Deletion details"
,
public
ResponseEntity
<
List
<
HashMap
<
Object
,
Object
>>>
getProjects
(
projectId
);
@RequestParam
(
value
=
"empId"
,
required
=
false
,
defaultValue
=
MyTeamUtils
.
ZERO
)
String
empId
)
return
new
ResponseEntity
<
ResponseDetails
>(
deleteRespDetails
,
HttpStatus
.
OK
);
}
// @RequestMapping(value = "/getProjects" //get projects only for DL
@RequestMapping
(
value
=
"/projects/employeeId/{employeeId}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<?>
getProjects
(
@PathVariable
(
value
=
"employeeId"
)
String
employeeId
,
HttpServletRequest
request
)
throws
MyTeamException
{
throws
MyTeamException
{
List
<
HashMap
<
Object
,
Object
>>
projects
=
null
;
List
<
HashMap
<
Object
,
Object
>>
projects
=
null
;
if
(!
"undefined"
.
equalsIgnoreCase
(
emp
Id
))
{
if
(
employeeId
!=
null
&&
!
""
.
equalsIgnoreCase
(
employeeId
)
&&
!
"undefined"
.
equalsIgnoreCase
(
employee
Id
))
{
boolean
isDl
=
employeeService
.
verifyEmployeeRole
(
emp
Id
,
MyTeamUtils
.
DL
);
boolean
isDl
=
employeeService
.
verifyEmployeeRole
(
employee
Id
,
MyTeamUtils
.
DL
);
if
(
isDl
)
{
if
(
isDl
)
{
projects
=
projectService
.
deliveryLeadProjects
(
empId
);
projects
=
projectService
.
deliveryLeadProjects
(
employeeId
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Retrieved the projects successfully"
,
"Projects list"
,
projects
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
}
else
{
projects
=
projectService
.
getProjects
();
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
605
,
"You are not authorized to view Projects."
,
"Only Delivery leads can get the project details"
,
projects
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
return
new
ResponseEntity
<>(
projects
,
HttpStatus
.
OK
);
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
606
,
"Please Provide valid employee id"
,
"Projects list"
,
null
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
@RequestMapping
(
value
=
"/projects/{deliveryLeadId}"
,
method
=
RequestMethod
.
GET
,
@RequestMapping
(
value
=
"/projects/
deliveryLeadId/
{deliveryLeadId}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
Project
>
>
getProjectsUnderDeliveryLead
(
public
ResponseEntity
<
?
>
getProjectsUnderDeliveryLead
(
@
RequestParam
(
"deliveryLeadId"
)
String
deliveryLeadId
)
@
PathVariable
(
"deliveryLeadId"
)
String
deliveryLeadId
,
HttpServletRequest
request
)
throws
MyTeamException
{
throws
MyTeamException
{
List
<
Project
>
projects
=
projectService
.
getProjectsUnderDeliveryLead
(
deliveryLeadId
);
return
new
ResponseEntity
<>(
projects
,
HttpStatus
.
OK
);
if
(
deliveryLeadId
!=
null
&&
!
""
.
equalsIgnoreCase
(
deliveryLeadId
))
{
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Retrieved the projects successfully"
,
"Projects list under delivery lead"
,
projectService
.
getProjectsUnderDeliveryLead
(
deliveryLeadId
),
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
606
,
"Please Provide valid Delivery lead id"
,
"Projects list under delivery lead"
,
null
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
@RequestMapping
(
value
=
"/getMyProjectAllocations"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/getMyProjectAllocations"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
HashMap
<
Object
,
Object
>>>
getMyProjectAllocations
(
public
ResponseEntity
<?>
getMyProjectAllocations
(
@RequestParam
(
"employeeId"
)
String
employeeId
)
throws
MyTeamException
{
@RequestParam
(
"employeeId"
)
String
employeeId
,
HttpServletRequest
request
)
throws
MyTeamException
{
List
<
HashMap
<
Object
,
Object
>>
empPrjtsInfo
=
projectService
.
getProjectsForEmployee
(
employeeId
);
return
new
ResponseEntity
<>(
empPrjtsInfo
,
HttpStatus
.
OK
);
if
(
employeeId
!=
null
&&
!
""
.
equalsIgnoreCase
(
employeeId
))
{
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
604
,
"Retrieved the project allocations successfully"
,
"Projects allocations for an employee"
,
projectService
.
getProjectsForEmployee
(
employeeId
),
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
ResponseDetails
getRespDetails
=
new
ResponseDetails
(
new
Date
(),
606
,
"Please Provide valid employee id"
,
"Project allocations for an employee"
,
null
,
request
.
getRequestURI
(),
"Project details"
,
null
);
return
new
ResponseEntity
<
ResponseDetails
>(
getRespDetails
,
HttpStatus
.
OK
);
}
}
}
// checking project duplicateName
// int projectNameCount = 0;
// if (projectReq.getAccountId() != null) {
//
// List<Project> projects=projectService.getProjectsUnderDomain(projectReq.getDomainId());
//
// for (Project existproject : projects) {
// if (projectReq.getProjectName().equalsIgnoreCase(existproject.getProjectName()))
// projectNameCount++;
// }
// }
// if (projectNameCount > MyTeamUtils.INT_ZERO) {
// MyTeamException myTimeException = new MyTeamException("Project name already exist !!! try with new");
// return new ResponseEntity<>(myTimeException, HttpStatus.OK);
// } else {
//
// }
src/main/java/com/nisum/myteam/controller/ResourceController.java
View file @
1828c372
...
@@ -27,7 +27,7 @@ import com.nisum.myteam.service.IResourceService;
...
@@ -27,7 +27,7 @@ import com.nisum.myteam.service.IResourceService;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
com.nisum.myteam.utils.MyTeamUtils
;
@RestController
@RestController
@RequestMapping
(
"/projectTeam"
)
@RequestMapping
public
class
ResourceController
{
public
class
ResourceController
{
@Autowired
@Autowired
...
@@ -71,14 +71,11 @@ public class ResourceController {
...
@@ -71,14 +71,11 @@ public class ResourceController {
return
new
ResponseEntity
<>(
"Success"
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
"Success"
,
HttpStatus
.
OK
);
}
}
// @RequestMapping(value = "/getEmployeeProjectInfo"
// @RequestMapping(value = "/getEmployeeProjectInfo"
@RequestMapping
(
value
=
"/resources"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/resources
/employeeId/{employeeId}
"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
Resource
>>
getResourcesSortByStartDate
(
@
RequestParam
(
"empId"
)
String
emp
Id
)
public
ResponseEntity
<
List
<
Resource
>>
getResourcesSortByStartDate
(
@
PathVariable
(
value
=
"employeeId"
,
required
=
true
)
String
employee
Id
)
throws
MyTeamException
{
throws
MyTeamException
{
List
<
Resource
>
projectInfo
=
resourceService
.
getResourcesSortByStartDate
(
empId
);
List
<
Resource
>
projectInfo
=
resourceService
.
getResourcesSortByStartDate
(
emp
loyee
Id
);
return
new
ResponseEntity
<>(
projectInfo
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
projectInfo
,
HttpStatus
.
OK
);
}
}
...
@@ -93,7 +90,7 @@ public class ResourceController {
...
@@ -93,7 +90,7 @@ public class ResourceController {
// @RequestMapping(value = "/getShiftDetails"
// @RequestMapping(value = "/getShiftDetails"
@RequestMapping
(
value
=
"/resources/{shift}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/resources/
shifts/
{shift}"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
Resource
>>
getResourcesForShift
(
@PathVariable
(
"shift"
)
String
shift
)
public
ResponseEntity
<
List
<
Resource
>>
getResourcesForShift
(
@PathVariable
(
"shift"
)
String
shift
)
throws
MyTeamException
{
throws
MyTeamException
{
List
<
Resource
>
resourcesList
=
resourceService
.
getResourcesForShift
(
shift
);
List
<
Resource
>
resourcesList
=
resourceService
.
getResourcesForShift
(
shift
);
...
@@ -101,7 +98,7 @@ public class ResourceController {
...
@@ -101,7 +98,7 @@ public class ResourceController {
}
}
// @RequestMapping(value = "/getProjectAllocations"
// @RequestMapping(value = "/getProjectAllocations"
@RequestMapping
(
value
=
"/resources/projects
/
"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/resources/projects"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
Resource
>>
getResourcesAllocatedForAllProjects
()
throws
MyTeamException
{
public
ResponseEntity
<
List
<
Resource
>>
getResourcesAllocatedForAllProjects
()
throws
MyTeamException
{
List
<
Resource
>
resourcesList
=
resourceService
.
getResourcesForActiveProjects
();
List
<
Resource
>
resourcesList
=
resourceService
.
getResourcesForActiveProjects
();
return
new
ResponseEntity
<>(
resourcesList
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
resourcesList
,
HttpStatus
.
OK
);
...
@@ -127,7 +124,7 @@ public class ResourceController {
...
@@ -127,7 +124,7 @@ public class ResourceController {
@RequestMapping
(
value
=
"
/getU
nAssignedEmployees"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"
resources/u
nAssignedEmployees"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
Employee
>>
getUnAssignedEmployees
()
throws
MyTeamException
{
public
ResponseEntity
<
List
<
Employee
>>
getUnAssignedEmployees
()
throws
MyTeamException
{
List
<
Employee
>
employeesList
=
projectService
.
getUnAssignedEmployees
();
List
<
Employee
>
employeesList
=
projectService
.
getUnAssignedEmployees
();
return
new
ResponseEntity
<>(
employeesList
,
HttpStatus
.
OK
);
return
new
ResponseEntity
<>(
employeesList
,
HttpStatus
.
OK
);
...
@@ -135,9 +132,6 @@ public class ResourceController {
...
@@ -135,9 +132,6 @@ public class ResourceController {
@RequestMapping
(
value
=
"/getEmployeesDashBoard"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
@RequestMapping
(
value
=
"/getEmployeesDashBoard"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
ResponseEntity
<
List
<
EmployeeDashboardVO
>>
getEmployeesDashBoard
()
throws
MyTeamException
{
public
ResponseEntity
<
List
<
EmployeeDashboardVO
>>
getEmployeesDashBoard
()
throws
MyTeamException
{
List
<
EmployeeDashboardVO
>
employeeDashBoardList
=
projectService
.
getEmployeesDashBoard
();
List
<
EmployeeDashboardVO
>
employeeDashBoardList
=
projectService
.
getEmployeesDashBoard
();
...
...
src/main/java/com/nisum/myteam/model/Project.java
View file @
1828c372
...
@@ -30,13 +30,13 @@ public class Project extends AuditFields implements Serializable {
...
@@ -30,13 +30,13 @@ public class Project extends AuditFields implements Serializable {
private
ObjectId
id
;
private
ObjectId
id
;
private
String
projectId
;
private
String
projectId
;
private
String
projectName
;
private
String
projectName
;
private
String
domainId
;
private
String
domain
;
private
String
domain
;
private
String
accountId
;
private
String
status
;
private
String
status
;
private
List
<
String
>
employeeIds
;
private
List
<
String
>
employeeIds
;
private
List
<
String
>
managerIds
;
private
List
<
String
>
managerIds
;
private
String
accountId
;
private
String
domainId
;
@DateTimeFormat
(
iso
=
ISO
.
DATE
)
@DateTimeFormat
(
iso
=
ISO
.
DATE
)
private
Date
projectStartDate
;
private
Date
projectStartDate
;
@DateTimeFormat
(
iso
=
ISO
.
DATE
)
@DateTimeFormat
(
iso
=
ISO
.
DATE
)
...
...
src/main/java/com/nisum/myteam/repository/ProjectRepo.java
View file @
1828c372
...
@@ -11,6 +11,8 @@ public interface ProjectRepo extends MongoRepository<Project, String> {
...
@@ -11,6 +11,8 @@ public interface ProjectRepo extends MongoRepository<Project, String> {
Project
findByProjectId
(
String
projectId
);
Project
findByProjectId
(
String
projectId
);
Project
findByProjectName
(
String
projectName
);
List
<
Project
>
findByDeliveryLeadIds
(
String
empId
);
List
<
Project
>
findByDeliveryLeadIds
(
String
empId
);
// List<Project> findByManagerId(String managerId);
// List<Project> findByManagerId(String managerId);
...
...
src/main/java/com/nisum/myteam/service/IProjectService.java
View file @
1828c372
...
@@ -5,11 +5,7 @@ import java.util.List;
...
@@ -5,11 +5,7 @@ import java.util.List;
import
java.util.Set
;
import
java.util.Set
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
com.nisum.myteam.model.EmpLoginData
;
import
com.nisum.myteam.model.*
;
import
com.nisum.myteam.model.Employee
;
import
com.nisum.myteam.model.EmployeeDashboardVO
;
import
com.nisum.myteam.model.Project
;
import
com.nisum.myteam.model.Resource
;
public
interface
IProjectService
{
public
interface
IProjectService
{
...
@@ -46,4 +42,17 @@ public interface IProjectService {
...
@@ -46,4 +42,17 @@ public interface IProjectService {
public
List
<
HashMap
<
Object
,
Object
>>
deliveryLeadProjects
(
String
empId
)
throws
MyTeamException
;
public
List
<
HashMap
<
Object
,
Object
>>
deliveryLeadProjects
(
String
empId
)
throws
MyTeamException
;
public
List
<
Project
>
getAllProjects
();
public
List
<
Project
>
getAllProjects
();
public
boolean
isProjectExists
(
String
projectName
);
public
boolean
isProjectExistsById
(
String
projectId
);
public
long
getProjectsCount
();
public
Account
getProjectAccount
(
String
accountId
);
public
Account
updateProjSeqinAccount
(
Account
account
)
throws
MyTeamException
;
}
}
src/main/java/com/nisum/myteam/service/impl/ProjectService.java
View file @
1828c372
package
com
.
nisum
.
myteam
.
service
.
impl
;
package
com
.
nisum
.
myteam
.
service
.
impl
;
import
java.util.ArrayList
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
java.util.Comparator
;
import
com.nisum.myteam.model.*
;
import
java.util.Date
;
import
com.nisum.myteam.repository.*
;
import
java.util.HashMap
;
import
com.nisum.myteam.service.IAccountService
;
import
java.util.HashSet
;
import
com.nisum.myteam.service.IDomainService
;
import
java.util.List
;
import
com.nisum.myteam.service.IEmployeeService
;
import
java.util.Map
;
import
com.nisum.myteam.service.IProjectService
;
import
java.util.Set
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
java.util.stream.Collectors
;
import
com.nisum.myteam.utils.PdfReportGenerator
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.FindAndModifyOptions
;
import
org.springframework.data.mongodb.core.FindAndModifyOptions
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
...
@@ -20,27 +19,8 @@ import org.springframework.data.mongodb.core.query.Query;
...
@@ -20,27 +19,8 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.nisum.myteam.exception.handler.MyTeamException
;
import
java.util.*
;
import
com.nisum.myteam.model.Account
;
import
java.util.stream.Collectors
;
import
com.nisum.myteam.model.Billing
;
import
com.nisum.myteam.model.Domain
;
import
com.nisum.myteam.model.EmpLoginData
;
import
com.nisum.myteam.model.Employee
;
import
com.nisum.myteam.model.EmployeeDashboardVO
;
import
com.nisum.myteam.model.Project
;
import
com.nisum.myteam.model.Resource
;
import
com.nisum.myteam.repository.AccountRepo
;
import
com.nisum.myteam.repository.DomainRepo
;
import
com.nisum.myteam.repository.EmployeeRepo
;
import
com.nisum.myteam.repository.ProjectRepo
;
import
com.nisum.myteam.repository.ResourceRepo
;
import
com.nisum.myteam.service.IDomainService
;
import
com.nisum.myteam.service.IEmployeeService
;
import
com.nisum.myteam.service.IProjectService
;
import
com.nisum.myteam.utils.MyTeamUtils
;
import
com.nisum.myteam.utils.PdfReportGenerator
;
import
lombok.extern.slf4j.Slf4j
;
@Service
(
"projectService"
)
@Service
(
"projectService"
)
@Slf4j
@Slf4j
...
@@ -52,6 +32,7 @@ public class ProjectService implements IProjectService {
...
@@ -52,6 +32,7 @@ public class ProjectService implements IProjectService {
@Autowired
@Autowired
private
ProjectRepo
projectRepo
;
private
ProjectRepo
projectRepo
;
@Autowired
@Autowired
private
ResourceRepo
resourceRepo
;
private
ResourceRepo
resourceRepo
;
...
@@ -90,6 +71,9 @@ public class ProjectService implements IProjectService {
...
@@ -90,6 +71,9 @@ public class ProjectService implements IProjectService {
private
IEmployeeService
employeeService
;
private
IEmployeeService
employeeService
;
@Autowired
private
IAccountService
accountService
;
@Override
@Override
...
@@ -98,23 +82,45 @@ public class ProjectService implements IProjectService {
...
@@ -98,23 +82,45 @@ public class ProjectService implements IProjectService {
}
}
public
boolean
isProjectExists
(
String
projectName
)
{
boolean
isProjectExists
=
false
;
if
(
projectName
!=
null
&&
!
""
.
equalsIgnoreCase
(
projectName
))
{
Project
project
=
projectRepo
.
findByProjectName
(
projectName
);
isProjectExists
=
(
project
==
null
)
?
false
:
true
;
}
return
isProjectExists
;
}
public
boolean
isProjectExistsById
(
String
projectId
)
{
boolean
isProjectExists
=
false
;
if
(
projectId
!=
null
&&
!
""
.
equalsIgnoreCase
(
projectId
))
{
Project
project
=
projectRepo
.
findByProjectId
(
projectId
);
isProjectExists
=
(
project
==
null
)
?
false
:
true
;
}
return
isProjectExists
;
}
@Override
public
long
getProjectsCount
()
{
public
Project
createProject
(
Project
project
,
String
loginEmpId
)
throws
MyTeamException
{
return
projectRepo
.
count
();
if
(
project
.
getDomainId
()
==
null
)
{
// Domain domain = new Domain();
}
// domain.setAccountId(project.getAccountId());
// domain.setDomainName(project.getDomain());
// domain.setDeliveryManagers(project.getManagerIds());
// domain.setStatus(project.getStatus());
// domainController.createDomain(domain,null);
public
Account
getProjectAccount
(
String
accountId
)
{
Account
account
=
null
;
if
(
accountId
!=
null
&&
!
""
.
equalsIgnoreCase
(
accountId
))
{
return
accountService
.
getAccountById
(
accountId
);
}
return
account
;
}
public
Account
updateProjSeqinAccount
(
Account
account
)
throws
MyTeamException
{
return
accountService
.
updateAccount
(
account
);
}
@Override
public
Project
createProject
(
Project
project
,
String
loginEmpId
)
throws
MyTeamException
{
if
(
project
.
getDomainId
()
==
null
)
{
List
<
Domain
>
domainsList
=
domainRepo
List
<
Domain
>
domainsList
=
domainRepo
.
findByAccountId
(
project
.
getAccountId
());
.
findByAccountId
(
project
.
getAccountId
());
Domain
savedDomain
=
domainsList
.
get
(
0
);
Domain
savedDomain
=
domainsList
.
get
(
0
);
...
@@ -667,4 +673,6 @@ public class ProjectService implements IProjectService {
...
@@ -667,4 +673,6 @@ public class ProjectService implements IProjectService {
}
}
return
projectsList
;
return
projectsList
;
}
}
}
}
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