Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Q
QLNS_N01
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
Nguyễn Văn Hiếu
QLNS_N01
Commits
9f0b15b1
Commit
9f0b15b1
authored
Jun 05, 2019
by
Phạm Duy Phi
Browse files
Options
Browse Files
Download
Plain Diff
ahiihi
parents
b9152d73
ce3006b6
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
523 additions
and
47 deletions
+523
-47
pom.xml
pom.xml
+15
-0
src/main/java/com/itsol/quantrivanphong/QuantrivanphongApplication.java
...com/itsol/quantrivanphong/QuantrivanphongApplication.java
+2
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/business/CatalogiBusiness.java
...rivanphong/access/homepage/business/CatalogiBusiness.java
+24
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/business/NewsBusiness.java
...uantrivanphong/access/homepage/business/NewsBusiness.java
+64
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/controller/CatalogiController.java
...nphong/access/homepage/controller/CatalogiController.java
+28
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/controller/NewsController.java
...rivanphong/access/homepage/controller/NewsController.java
+80
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/dto/NewsDTO.java
...om/itsol/quantrivanphong/access/homepage/dto/NewsDTO.java
+22
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/repository/CatalogiRepository.java
...nphong/access/homepage/repository/CatalogiRepository.java
+17
-0
src/main/java/com/itsol/quantrivanphong/access/homepage/repository/NewsRepository.java
...rivanphong/access/homepage/repository/NewsRepository.java
+21
-0
src/main/java/com/itsol/quantrivanphong/audit/DateAudit.java
src/main/java/com/itsol/quantrivanphong/audit/DateAudit.java
+44
-0
src/main/java/com/itsol/quantrivanphong/employee/bussiness/EmployeeBussiness.java
...quantrivanphong/employee/bussiness/EmployeeBussiness.java
+44
-0
src/main/java/com/itsol/quantrivanphong/employee/controller/UserController.java
...l/quantrivanphong/employee/controller/UserController.java
+36
-0
src/main/java/com/itsol/quantrivanphong/exception/InputException.java
...a/com/itsol/quantrivanphong/exception/InputException.java
+1
-1
src/main/java/com/itsol/quantrivanphong/exception/ResourceNotFoundException.java
.../quantrivanphong/exception/ResourceNotFoundException.java
+30
-0
src/main/java/com/itsol/quantrivanphong/manage/leaveform/controller/LeaveFormController.java
...hong/manage/leaveform/controller/LeaveFormController.java
+1
-1
src/main/java/com/itsol/quantrivanphong/manage/timesheet/business/TimeSheetBusiness.java
...vanphong/manage/timesheet/business/TimeSheetBusiness.java
+26
-18
src/main/java/com/itsol/quantrivanphong/manage/timesheet/controller/TimeSheetController.java
...hong/manage/timesheet/controller/TimeSheetController.java
+12
-16
src/main/java/com/itsol/quantrivanphong/manage/timesheet/repository/EProjectRepository.java
...phong/manage/timesheet/repository/EProjectRepository.java
+2
-0
src/main/java/com/itsol/quantrivanphong/manage/timesheet/repository/TimeSheetRepository.java
...hong/manage/timesheet/repository/TimeSheetRepository.java
+4
-2
src/main/java/com/itsol/quantrivanphong/manager/employee/test.java
...java/com/itsol/quantrivanphong/manager/employee/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/manager/news/test.java
...ain/java/com/itsol/quantrivanphong/manager/news/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/manager/project/test.java
.../java/com/itsol/quantrivanphong/manager/project/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/manager/reportdetail/test.java
.../com/itsol/quantrivanphong/manager/reportdetail/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/model/LeaveForm.java
src/main/java/com/itsol/quantrivanphong/model/LeaveForm.java
+7
-1
src/main/java/com/itsol/quantrivanphong/model/News.java
src/main/java/com/itsol/quantrivanphong/model/News.java
+7
-1
src/main/java/com/itsol/quantrivanphong/model/TimeSheet.java
src/main/java/com/itsol/quantrivanphong/model/TimeSheet.java
+8
-3
src/main/java/com/itsol/quantrivanphong/report/issue/test.java
...ain/java/com/itsol/quantrivanphong/report/issue/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/report/leaveform/test.java
...java/com/itsol/quantrivanphong/report/leaveform/test.java
+4
-0
src/main/java/com/itsol/quantrivanphong/report/reportdetail/test.java
...a/com/itsol/quantrivanphong/report/reportdetail/test.java
+0
-4
src/main/java/com/itsol/quantrivanphong/report/timesheet/test.java
...java/com/itsol/quantrivanphong/report/timesheet/test.java
+4
-0
No files found.
pom.xml
View file @
9f0b15b1
...
@@ -23,7 +23,14 @@
...
@@ -23,7 +23,14 @@
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-jpa
</artifactId>
<artifactId>
spring-boot-starter-data-jpa
</artifactId>
</dependency>
</dependency>
<<<<<<
< HEAD
=======
<!--
<dependency
>
-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter-security</artifactId>-->
<!-- </dependency>-->
>>>>>>> master
<dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-web
</artifactId>
<artifactId>
spring-boot-starter-web
</artifactId>
...
@@ -44,7 +51,15 @@
...
@@ -44,7 +51,15 @@
<artifactId>
spring-boot-starter-test
</artifactId>
<artifactId>
spring-boot-starter-test
</artifactId>
<scope>
test
</scope>
<scope>
test
</scope>
</dependency>
</dependency>
<<<<<<
< HEAD
=======
<!--
<dependency
>
-->
<!-- <groupId>org.springframework.security</groupId>-->
<!-- <artifactId>spring-security-test</artifactId>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
>>>>>>> master
</dependencies>
</dependencies>
<build>
<build>
...
...
src/main/java/com/itsol/quantrivanphong/QuantrivanphongApplication.java
View file @
9f0b15b1
...
@@ -2,8 +2,10 @@ package com.itsol.quantrivanphong;
...
@@ -2,8 +2,10 @@ package com.itsol.quantrivanphong;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.data.jpa.repository.config.EnableJpaAuditing
;
@SpringBootApplication
@SpringBootApplication
@EnableJpaAuditing
public
class
QuantrivanphongApplication
{
public
class
QuantrivanphongApplication
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/com/itsol/quantrivanphong/access/homepage/business/CatalogiBusiness.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.business
;
import
com.itsol.quantrivanphong.access.homepage.repository.CatalogiRepository
;
import
com.itsol.quantrivanphong.model.Catalogi
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Optional
;
@Service
public
class
CatalogiBusiness
{
@Autowired
private
CatalogiRepository
catalogiRepository
;
public
Optional
<
Catalogi
>
findById
(
int
id
){
return
catalogiRepository
.
findById
(
id
);
}
public
List
<
Catalogi
>
findAllCatalogi
(){
return
catalogiRepository
.
findAllCatalogi
();
}
}
src/main/java/com/itsol/quantrivanphong/access/homepage/business/NewsBusiness.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.business
;
import
com.itsol.quantrivanphong.access.homepage.repository.NewsRepository
;
import
com.itsol.quantrivanphong.exception.ResourceNotFoundException
;
import
com.itsol.quantrivanphong.model.News
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Optional
;
@Service
public
class
NewsBusiness
{
@Autowired
private
NewsRepository
newsRepository
;
public
List
<
News
>
findAllNews
(){
return
newsRepository
.
findAllNews
();
}
// Find News By News Id
public
Optional
<
News
>
findById
(
int
newsId
){
return
newsRepository
.
findById
(
newsId
);
}
//Find news By Employee Id
public
List
<
News
>
findByEmployeeId
(
int
employeeId
){
return
newsRepository
.
findByEmployeeId
(
employeeId
);
}
// Find news By Catalogi
public
List
<
News
>
findByCatalogiId
(
int
catalogiId
){
return
newsRepository
.
findByCatalogiId
(
catalogiId
);
}
public
Optional
<
News
>
findByIdAndEmployeeId
(
int
id
,
int
employeeId
){
return
newsRepository
.
findByIdAndEmployeeId
(
id
,
employeeId
);
}
public
Optional
<
News
>
findByIdAndAndCatalogiId
(
int
id
,
int
catalogiId
){
return
newsRepository
.
findByIdAndAndCatalogiId
(
id
,
catalogiId
);
}
public
News
save
(
News
news
){
return
newsRepository
.
save
(
news
);
}
public
News
updateNews
(
int
newsId
,
News
newsDetails
){
News
news
=
newsRepository
.
findNewsById
(
newsId
);
news
.
setTitle
(
newsDetails
.
getTitle
());
news
.
setContent
(
newsDetails
.
getContent
());
news
.
setSummary
(
newsDetails
.
getSummary
());
news
.
setThumbnail
(
newsDetails
.
getThumbnail
());
News
updateNews
=
newsRepository
.
save
(
news
);
return
updateNews
;
}
public
String
deleteNews
(
int
employeeId
,
int
newsId
){
newsRepository
.
findByIdAndEmployeeId
(
employeeId
,
newsId
).
map
(
news
->{
newsRepository
.
delete
(
news
);
return
"ok"
;
}).
orElseThrow
(()
->
new
ResourceNotFoundException
(
"News"
,
"newsId"
,
newsId
));
return
"Ok"
;
}
}
src/main/java/com/itsol/quantrivanphong/access/homepage/controller/CatalogiController.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.controller
;
import
com.itsol.quantrivanphong.access.homepage.business.CatalogiBusiness
;
import
com.itsol.quantrivanphong.exception.ResourceNotFoundException
;
import
com.itsol.quantrivanphong.model.Catalogi
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
java.util.List
;
import
java.util.Optional
;
public
class
CatalogiController
{
@Autowired
private
CatalogiBusiness
catalogiBusiness
;
@GetMapping
(
"/catalogies"
)
public
ResponseEntity
<
List
<
Catalogi
>>
getAllNews
(){
return
ResponseEntity
.
ok
(
catalogiBusiness
.
findAllCatalogi
());
}
@GetMapping
(
"/catalogies/{catalogiId}"
)
public
Catalogi
getCatalogiById
(
@PathVariable
(
value
=
"catalogiId"
)
int
catalogiId
){
return
catalogiBusiness
.
findById
(
catalogiId
).
orElseThrow
(()->
new
ResourceNotFoundException
(
"Catalogi"
,
"catalogiId"
,
catalogiId
));
}
}
src/main/java/com/itsol/quantrivanphong/access/homepage/controller/NewsController.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.controller
;
import
com.itsol.quantrivanphong.access.homepage.business.CatalogiBusiness
;
import
com.itsol.quantrivanphong.access.homepage.business.NewsBusiness
;
import
com.itsol.quantrivanphong.employee.bussiness.EmployeeBussiness
;
import
com.itsol.quantrivanphong.exception.ResourceNotFoundException
;
import
com.itsol.quantrivanphong.model.Employee
;
import
com.itsol.quantrivanphong.model.News
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.util.List
;
@RestController
@RequestMapping
(
"/api"
)
public
class
NewsController
{
@Autowired
private
NewsBusiness
newsBusiness
;
@Autowired
private
CatalogiBusiness
catalogiBusiness
;
@Autowired
private
EmployeeBussiness
employeeBusiness
;
// get All news
@GetMapping
(
"/news"
)
public
ResponseEntity
<
List
<
News
>>
getAllNews
(){
return
ResponseEntity
.
ok
(
newsBusiness
.
findAllNews
());
}
// get news by employeeId
@GetMapping
(
"/news/employees/{employeeId}"
)
public
List
<
News
>
getAllNewsByEmployeeId
(
@PathVariable
(
value
=
"employeeId"
)
int
employeeId
)
{
return
newsBusiness
.
findByEmployeeId
(
employeeId
);
}
// get News by catalogiId
@GetMapping
(
"/news/catalogi/{catalogiId}"
)
public
List
<
News
>
getAllNewsByCatalogiId
(
@PathVariable
(
value
=
"catalogiId"
)
int
catalogiId
){
return
newsBusiness
.
findByCatalogiId
(
catalogiId
);
}
// create news by employeesId
@PostMapping
(
"/news/employees/{employeeId}"
)
public
News
createNews
(
@PathVariable
(
value
=
"employeeId"
)
int
employeeId
,
@Valid
@RequestBody
News
news
)
{
return
employeeBusiness
.
findById
(
employeeId
).
map
(
employee
->
{
news
.
setEmployee
(
employee
);
return
newsBusiness
.
save
(
news
);
}).
orElseThrow
(()
->
new
ResourceNotFoundException
(
"Employee"
,
"employeeId"
,
employeeId
));
}
// Edit news by EmployeeId
@PutMapping
(
"/employees/{employeeId}/news/{newsId}"
)
public
News
updateNews
(
@PathVariable
(
value
=
"employeeId"
)
int
employeeId
,
@PathVariable
(
value
=
"newsId"
)
int
newsId
,
@Valid
@RequestBody
News
newsRequest
)
{
if
(!
employeeBusiness
.
findById
(
employeeId
).
isPresent
())
{
throw
new
ResourceNotFoundException
(
"Employee"
,
"employeeId"
,
employeeId
);
}
if
(!
newsBusiness
.
findById
(
newsId
).
isPresent
())
{
throw
new
ResourceNotFoundException
(
"News"
,
"id"
,
newsId
);
}
return
newsBusiness
.
updateNews
(
newsId
,
newsRequest
);
}
//delete news by employeeId and newsId
@DeleteMapping
(
"/employees/{employeeId}/news/{newsId}"
)
public
ResponseEntity
<?>
deleteNews
(
@PathVariable
(
value
=
"employeeId"
)
int
employeeId
,
@PathVariable
(
value
=
"newsId"
)
int
newsId
)
{
if
(!
newsBusiness
.
findByIdAndEmployeeId
(
employeeId
,
newsId
).
isPresent
()){
throw
new
ResourceNotFoundException
(
"News"
,
"newsId"
,
newsId
);
}
return
ResponseEntity
.
ok
(
newsBusiness
.
deleteNews
(
employeeId
,
newsId
));
}
}
src/main/java/com/itsol/quantrivanphong/access/homepage/dto/NewsDTO.java
0 → 100644
View file @
9f0b15b1
//package com.itsol.quantrivanphong.access.homepage.dto;
//
//import lombok.AllArgsConstructor;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//
//import javax.persistence.Entity;
//
//@Entity
//@Data
//@NoArgsConstructor
//@AllArgsConstructor
//public class NewsDTO {
// private int employeeId;
// private int catalogiId;
// private int id;
// private String title;
// private String thumbnail;
// private String summary;
// private String content;
// private boolean status;
//}
src/main/java/com/itsol/quantrivanphong/access/homepage/repository/CatalogiRepository.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.repository
;
import
com.itsol.quantrivanphong.model.Catalogi
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
@Repository
public
interface
CatalogiRepository
extends
JpaRepository
<
Catalogi
,
Integer
>
{
@Query
(
"SELECT u from Catalogi u"
)
List
<
Catalogi
>
findAllCatalogi
();
// @Query("SELECT u FROM Catalogi u where u.id=:id")
// Catalogi findCatalogiById(int id);
}
src/main/java/com/itsol/quantrivanphong/access/homepage/repository/NewsRepository.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.access.homepage.repository
;
import
com.itsol.quantrivanphong.model.News
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Optional
;
@Repository
public
interface
NewsRepository
extends
JpaRepository
<
News
,
Integer
>
{
@Query
(
"SELECT u from News u"
)
List
<
News
>
findAllNews
();
@Query
(
"SELECT u FROM News u where u.id=:id"
)
News
findNewsById
(
int
id
);
List
<
News
>
findByEmployeeId
(
int
employeeId
);
List
<
News
>
findByCatalogiId
(
int
catalogiId
);
Optional
<
News
>
findByIdAndEmployeeId
(
int
id
,
int
employeeId
);
Optional
<
News
>
findByIdAndAndCatalogiId
(
int
id
,
int
catalogiId
);
}
src/main/java/com/itsol/quantrivanphong/audit/DateAudit.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.audit
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
org.springframework.data.annotation.CreatedDate
;
import
org.springframework.data.annotation.LastModifiedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.Column
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.MappedSuperclass
;
import
java.io.Serializable
;
import
java.time.Instant
;
@MappedSuperclass
@EntityListeners
(
AuditingEntityListener
.
class
)
@JsonIgnoreProperties
(
value
=
{
"createdAt"
,
"updatedAt"
},
allowGetters
=
true
)
public
abstract
class
DateAudit
implements
Serializable
{
@CreatedDate
@Column
(
nullable
=
false
,
updatable
=
false
)
private
Instant
createdAt
;
@LastModifiedDate
@Column
(
nullable
=
false
)
private
Instant
updatedAt
;
public
Instant
getCreatedAt
()
{
return
createdAt
;
}
public
void
setCreatedAt
(
Instant
createdAt
)
{
this
.
createdAt
=
createdAt
;
}
public
Instant
getUpdatedAt
()
{
return
updatedAt
;
}
public
void
setUpdatedAt
(
Instant
updatedAt
)
{
this
.
updatedAt
=
updatedAt
;
}
}
src/main/java/com/itsol/quantrivanphong/employee/bussiness/EmployeeBussiness.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.employee.bussiness
;
import
com.itsol.quantrivanphong.manage.leaveform.repository.EmployeeRepository
;
import
com.itsol.quantrivanphong.model.Employee
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Optional
;
@Service
public
class
EmployeeBussiness
{
@Autowired
EmployeeRepository
employeeRepository
;
// public List<Employee> findAll(){
// return employeeRepository.findAll();
// }
//
public
Optional
<
Employee
>
findById
(
int
newsId
){
return
employeeRepository
.
findById
(
newsId
);
}
// public User save(User user){
// return userRepository.save(user);
// }
// public User updateUser(Long newsId, User signUpDTO){
// User user = userRepository.findUserById(newsId);
// user.setUsername(signUpDTO.getUsername());
// user.setPassword(signUpDTO.getPassword());
// user.setEmail(signUpDTO.getEmail());
// user.setFullname(signUpDTO.getFullname());
// user.setImage(signUpDTO.getImage());
// user.setKnowledge(signUpDTO.getKnowledge());
// user.setUniversity(signUpDTO.getUniversity());
// user.setPhonenumber(signUpDTO.getPhonenumber());
// user.setPosition(signUpDTO.getPosition());
// user.setVillage(signUpDTO.getVillage());
// user.setYearOfGraduation(signUpDTO.getYearOfGraduation());
// user.setRole(signUpDTO.getRole());
// return userRepository.save(user);
// }
//
// public void deleteUser(Long newsId){
// userRepository.deleteById(newsId);
// }
}
src/main/java/com/itsol/quantrivanphong/employee/controller/UserController.java
0 → 100644
View file @
9f0b15b1
//package com.itsol.quantrivanphong.employee.controller;
//
//import com.example.easynotes.exception.ResourceNotFoundException;
//import com.example.easynotes.login.model.User;
//import com.example.easynotes.users.bussiness.UserBussiness;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.http.ResponseEntity;
//import org.springframework.web.bind.annotation.*;
//
//import javax.validation.Valid;
//import java.util.List;
//
//@RestController
//@RequestMapping("/api")
//public class UserController {
//
// @Autowired
// private UserBussiness userBussiness;
//
// @GetMapping("/users")
// public List<User> getAllUser(){ return userBussiness.findAll();}
//
// @GetMapping("/users/{id}")
// public User getUserById(@PathVariable(value = "id") Long userId){
// return userBussiness.findById(userId).orElseThrow(()-> new ResourceNotFoundException("News", "id", userId));
// }
//
// @PutMapping("/users/{id}")
// public ResponseEntity<User> updateUser(@PathVariable(value = "id") Long userId,
// @Valid @RequestBody User userDetails) {
// if (!userBussiness.findById(userId).isPresent()) {
// throw new ResourceNotFoundException("User", "id", userId);
// }
// return ResponseEntity.ok(userBussiness.updateUser(userId,userDetails));
// }
//}
src/main/java/com/itsol/quantrivanphong/
comm
on/InputException.java
→
src/main/java/com/itsol/quantrivanphong/
excepti
on/InputException.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.
comm
on
;
package
com.itsol.quantrivanphong.
excepti
on
;
public
class
InputException
extends
Exception
{
public
class
InputException
extends
Exception
{
public
InputException
(
String
message
)
{
public
InputException
(
String
message
)
{
...
...
src/main/java/com/itsol/quantrivanphong/exception/ResourceNotFoundException.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.exception
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.web.bind.annotation.ResponseStatus
;
@ResponseStatus
(
value
=
HttpStatus
.
NOT_FOUND
)
public
class
ResourceNotFoundException
extends
RuntimeException
{
private
String
resourceName
;
private
String
fieldName
;
private
Object
fieldValue
;
public
ResourceNotFoundException
(
String
resourceName
,
String
fieldName
,
Object
fieldValue
)
{
super
(
String
.
format
(
"%s not found with %s : '%s'"
,
resourceName
,
fieldName
,
fieldValue
));
this
.
resourceName
=
resourceName
;
this
.
fieldName
=
fieldName
;
this
.
fieldValue
=
fieldValue
;
}
public
String
getResourceName
()
{
return
resourceName
;
}
public
String
getFieldName
()
{
return
fieldName
;
}
public
Object
getFieldValue
()
{
return
fieldValue
;
}
}
src/main/java/com/itsol/quantrivanphong/manage/leaveform/controller/LeaveFormController.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.manage.leaveform.controller
;
package
com.itsol.quantrivanphong.manage.leaveform.controller
;
import
com.itsol.quantrivanphong.
comm
on.InputException
;
import
com.itsol.quantrivanphong.
excepti
on.InputException
;
import
com.itsol.quantrivanphong.manage.leaveform.business.LeaveFormBusiness
;
import
com.itsol.quantrivanphong.manage.leaveform.business.LeaveFormBusiness
;
import
com.itsol.quantrivanphong.manage.leaveform.dto.LeaveFormDTO
;
import
com.itsol.quantrivanphong.manage.leaveform.dto.LeaveFormDTO
;
import
com.itsol.quantrivanphong.model.LeaveForm
;
import
com.itsol.quantrivanphong.model.LeaveForm
;
...
...
src/main/java/com/itsol/quantrivanphong/manage/timesheet/business/TimeSheetBusiness.java
View file @
9f0b15b1
...
@@ -21,18 +21,23 @@ public class TimeSheetBusiness {
...
@@ -21,18 +21,23 @@ public class TimeSheetBusiness {
EProjectRepository
eProjectRepository
;
EProjectRepository
eProjectRepository
;
@Autowired
@Autowired
EmployeeRepository
employeeRepository
;
EmployeeRepository
employeeRepository
;
public
String
insertTimeSheet
(
TimeSheetDTO
timeSheetDTO
)
{
public
String
insertTimeSheet
(
int
employee_Id
,
TimeSheetDTO
timeSheetDTO
)
{
String
message
;
String
message
;
Eproject
eproject
=
eProjectRepository
.
findEprojectById
(
timeSheetDTO
.
getEproject_id
());
Employee
employee
=
employeeRepository
.
findEmployeeById
(
employee_Id
);
Eproject
eproject
=
eProjectRepository
.
findEprojectByIdAndEmployee
(
timeSheetDTO
.
getEproject_id
(),
employee
);
if
(
eproject
!=
null
)
{
if
(
eproject
!=
null
)
{
TimeSheet
timeSheet
=
timeSheetRepository
.
save
(
TimeSheet
.
builder
()
// SimpleDateFormat formatter= new SimpleDateFormat("dd-MM-yyyy HH:mm");
.
title
(
timeSheetDTO
.
getTitle
())
// Date date = new Date(System.currentTimeMillis());
.
content
(
timeSheetDTO
.
getContent
())
.
note
(
timeSheetDTO
.
getNote
())
TimeSheet
timeSheet1
=
new
TimeSheet
();
.
eproject
(
eproject
)
timeSheet1
.
setTitle
(
timeSheetDTO
.
getTitle
());
.
status
(
timeSheetDTO
.
isStatus
())
timeSheet1
.
setContent
(
timeSheetDTO
.
getContent
());
.
checked
(
timeSheetDTO
.
getChecked
())
timeSheet1
.
setNote
(
timeSheetDTO
.
getNote
());
.
build
());
timeSheet1
.
setEproject
(
eproject
);
timeSheet1
.
setChecked
(
""
);
timeSheet1
.
setStatus
(
true
);
TimeSheet
timeSheet
=
timeSheetRepository
.
save
(
timeSheet1
);
if
(
timeSheet
!=
null
)
{
if
(
timeSheet
!=
null
)
{
message
=
"Insert Time Sheet success"
;
message
=
"Insert Time Sheet success"
;
}
else
{
}
else
{
...
@@ -44,12 +49,14 @@ public class TimeSheetBusiness {
...
@@ -44,12 +49,14 @@ public class TimeSheetBusiness {
return
message
;
return
message
;
}
}
public
String
deleteTimeSheet
(
int
i
d
)
{
public
String
deleteTimeSheet
(
int
employee_Id
,
int
timeSheet_I
d
)
{
String
message
;
String
message
;
TimeSheet
timeSheet
=
timeSheetRepository
.
findTimeSheetById
(
id
);
Employee
employee
=
employeeRepository
.
findEmployeeById
(
employee_Id
);
Eproject
eproject
=
eProjectRepository
.
findEprojectByEmployee
(
employee
);
TimeSheet
timeSheet
=
timeSheetRepository
.
findTimeSheetByEprojectAndId
(
eproject
,
timeSheet_Id
);
if
(
timeSheet
!=
null
)
{
if
(
timeSheet
!=
null
)
{
timeSheetRepository
.
delete
(
timeSheet
);
timeSheetRepository
.
delete
(
timeSheet
);
if
(
timeSheetRepository
.
findTimeSheetBy
Id
(
i
d
)
==
null
)
{
if
(
timeSheetRepository
.
findTimeSheetBy
EprojectAndId
(
eproject
,
timeSheet_I
d
)
==
null
)
{
message
=
"Delete success"
;
message
=
"Delete success"
;
}
else
{
}
else
{
message
=
"Delete failed"
;
message
=
"Delete failed"
;
...
@@ -60,15 +67,16 @@ public class TimeSheetBusiness {
...
@@ -60,15 +67,16 @@ public class TimeSheetBusiness {
return
message
;
return
message
;
}
}
public
List
<
TimeSheet
>
find
TimeSheetList
()
{
public
List
<
TimeSheet
>
find
All
()
{
return
timeSheetRepository
.
timeSheetList
();
return
timeSheetRepository
.
findAll
();
}
}
@Transactional
@Transactional
public
String
updateTimeSheet
(
TimeSheetDTO
timeSheetDTO
)
{
public
String
updateTimeSheet
(
int
employee_Id
,
TimeSheetDTO
timeSheetDTO
,
int
timesheet_Id
)
{
String
message
;
String
message
;
TimeSheet
timeSheet
=
timeSheetRepository
.
findTimeSheetById
(
timeSheetDTO
.
getId
());
Employee
employee
=
employeeRepository
.
findEmployeeById
(
employee_Id
);
Eproject
eproject
=
eProjectRepository
.
findEprojectById
(
timeSheetDTO
.
getEproject_id
());
Eproject
eproject
=
eProjectRepository
.
findEprojectByEmployee
(
employee
);
TimeSheet
timeSheet
=
timeSheetRepository
.
findTimeSheetByEprojectAndId
(
eproject
,
timesheet_Id
);
if
(
timeSheet
!=
null
)
{
if
(
timeSheet
!=
null
)
{
if
(
eproject
!=
null
)
{
if
(
eproject
!=
null
)
{
int
i
=
timeSheetRepository
.
updateTimeSheet
(
timeSheetDTO
.
getTitle
(),
timeSheetDTO
.
getContent
()
int
i
=
timeSheetRepository
.
updateTimeSheet
(
timeSheetDTO
.
getTitle
(),
timeSheetDTO
.
getContent
()
...
...
src/main/java/com/itsol/quantrivanphong/manage/timesheet/controller/TimeSheetController.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.manage.timesheet.controller
;
package
com.itsol.quantrivanphong.manage.timesheet.controller
;
import
com.itsol.quantrivanphong.
comm
on.InputException
;
import
com.itsol.quantrivanphong.
excepti
on.InputException
;
import
com.itsol.quantrivanphong.manage.timesheet.business.TimeSheetBusiness
;
import
com.itsol.quantrivanphong.manage.timesheet.business.TimeSheetBusiness
;
import
com.itsol.quantrivanphong.manage.timesheet.dto.TimeSheetDTO
;
import
com.itsol.quantrivanphong.manage.timesheet.dto.TimeSheetDTO
;
import
com.itsol.quantrivanphong.model.TimeSheet
;
import
com.itsol.quantrivanphong.model.TimeSheet
;
...
@@ -8,21 +8,21 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -8,21 +8,21 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
java.util.List
;
import
java.util.List
;
@RestController
@RestController
@RequestMapping
(
path
=
"/
timeshee
t"
)
@RequestMapping
(
path
=
"/
eprojec
t"
)
public
class
TimeSheetController
{
public
class
TimeSheetController
{
@Autowired
@Autowired
TimeSheetBusiness
timeSheetBusiness
;
TimeSheetBusiness
timeSheetBusiness
;
@PostMapping
(
path
=
"/
inser
t"
,
consumes
=
"application/json"
,
produces
=
"application/json"
)
@PostMapping
(
path
=
"/
{employee_Id}/timeshee
t"
,
consumes
=
"application/json"
,
produces
=
"application/json"
)
public
ResponseEntity
<
String
>
insertTimeSheet
(
@RequestBody
TimeSheetDTO
timeSheetDTO
)
{
public
ResponseEntity
<
String
>
insertTimeSheet
(
@
PathVariable
int
employee_Id
,
@Valid
@
RequestBody
TimeSheetDTO
timeSheetDTO
)
{
String
message
;
String
message
;
try
{
try
{
if
(
timeSheetDTO
.
getTitle
().
trim
().
equals
(
""
))
throw
new
InputException
(
"Tiêu đề không được để trống"
);
if
(
timeSheetDTO
.
getTitle
().
trim
().
equals
(
""
))
throw
new
InputException
(
"Tiêu đề không được để trống"
);
if
(
timeSheetDTO
.
getContent
().
trim
().
equals
(
""
))
throw
new
InputException
(
"Nội dung không được để trống"
);
if
(
timeSheetDTO
.
getContent
().
trim
().
equals
(
""
))
throw
new
InputException
(
"Nội dung không được để trống"
);
message
=
timeSheetBusiness
.
insertTimeSheet
(
timeSheetDTO
);
message
=
timeSheetBusiness
.
insertTimeSheet
(
employee_Id
,
timeSheetDTO
);
}
catch
(
InputException
e
)
{
}
catch
(
InputException
e
)
{
message
=
e
.
getMessage
();
message
=
e
.
getMessage
();
}
}
...
@@ -30,14 +30,14 @@ public class TimeSheetController {
...
@@ -30,14 +30,14 @@ public class TimeSheetController {
return
ResponseEntity
.
ok
(
message
);
return
ResponseEntity
.
ok
(
message
);
}
}
@DeleteMapping
(
"/
delete/{i
d}"
)
@DeleteMapping
(
"/
{employee_Id}/timesheet/{timesheet_I
d}"
)
public
ResponseEntity
<
String
>
deleteTimeSheet
(
@PathVariable
int
i
d
)
{
public
ResponseEntity
<
String
>
deleteTimeSheet
(
@PathVariable
int
employee_Id
,
@Valid
@PathVariable
int
timesheet_I
d
)
{
return
ResponseEntity
.
ok
(
timeSheetBusiness
.
deleteTimeSheet
(
i
d
));
return
ResponseEntity
.
ok
(
timeSheetBusiness
.
deleteTimeSheet
(
employee_Id
,
timesheet_I
d
));
}
}
@GetMapping
(
path
=
"/index"
)
@GetMapping
(
path
=
"/index"
)
public
ResponseEntity
<
List
<
TimeSheet
>
>
showAllTimeSheet
()
{
public
List
<
TimeSheet
>
showAllTimeSheet
()
{
return
ResponseEntity
.
ok
(
timeSheetBusiness
.
findTimeSheetList
()
);
return
timeSheetBusiness
.
findAll
(
);
}
}
@PostMapping
(
path
=
"/update"
,
consumes
=
"application/json"
,
produces
=
"application/json"
)
@PostMapping
(
path
=
"/update"
,
consumes
=
"application/json"
,
produces
=
"application/json"
)
...
@@ -64,10 +64,6 @@ public class TimeSheetController {
...
@@ -64,10 +64,6 @@ public class TimeSheetController {
@GetMapping
(
"/index/{id}"
)
@GetMapping
(
"/index/{id}"
)
public
ResponseEntity
<
List
<
TimeSheet
>>
showTimeSheetById
(
@PathVariable
int
id
)
{
public
ResponseEntity
<
List
<
TimeSheet
>>
showTimeSheetById
(
@PathVariable
int
id
)
{
if
(
timeSheetBusiness
.
findTimeSheetById
(
id
)
!=
null
)
{
return
ResponseEntity
.
ok
(
timeSheetBusiness
.
findTimeSheetById
(
id
));
return
ResponseEntity
.
ok
(
timeSheetBusiness
.
findTimeSheetById
(
id
));
}
else
{
return
null
;
}
}
}
}
}
\ No newline at end of file
src/main/java/com/itsol/quantrivanphong/manage/timesheet/repository/EProjectRepository.java
View file @
9f0b15b1
...
@@ -7,4 +7,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
...
@@ -7,4 +7,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
public
interface
EProjectRepository
extends
JpaRepository
<
Eproject
,
Integer
>
{
public
interface
EProjectRepository
extends
JpaRepository
<
Eproject
,
Integer
>
{
Eproject
findEprojectById
(
int
id
);
Eproject
findEprojectById
(
int
id
);
Eproject
findEprojectByEmployee
(
Employee
employee
);
Eproject
findEprojectByEmployee
(
Employee
employee
);
Eproject
findEprojectByIdAndEmployee
(
int
eProject_Id
,
Employee
employee
);
}
}
src/main/java/com/itsol/quantrivanphong/manage/timesheet/repository/TimeSheetRepository.java
View file @
9f0b15b1
...
@@ -11,8 +11,8 @@ import java.util.List;
...
@@ -11,8 +11,8 @@ import java.util.List;
public
interface
TimeSheetRepository
extends
JpaRepository
<
TimeSheet
,
Integer
>
{
public
interface
TimeSheetRepository
extends
JpaRepository
<
TimeSheet
,
Integer
>
{
TimeSheet
findTimeSheetById
(
int
id
);
TimeSheet
findTimeSheetById
(
int
id
);
@Query
(
"select ts from TimeSheet ts
"
)
// @Query("select ts from TimeSheet ts order by ts.createdAt desc
")
List
<
TimeSheet
>
timeSheetLis
t
();
// List<TimeSheet> getAllTimeShee
t();
@Modifying
@Modifying
@Query
(
"update TimeSheet ts set ts.title = ?1, ts.content = ?2, ts.note = ?3, ts.eproject = ?4 where ts.id = ?5"
)
@Query
(
"update TimeSheet ts set ts.title = ?1, ts.content = ?2, ts.note = ?3, ts.eproject = ?4 where ts.id = ?5"
)
...
@@ -24,4 +24,6 @@ public interface TimeSheetRepository extends JpaRepository<TimeSheet, Integer> {
...
@@ -24,4 +24,6 @@ public interface TimeSheetRepository extends JpaRepository<TimeSheet, Integer> {
@Query
(
"select ts from TimeSheet ts where ts.eproject = ?1"
)
@Query
(
"select ts from TimeSheet ts where ts.eproject = ?1"
)
List
<
TimeSheet
>
timeSheetListById
(
Eproject
eproject
);
List
<
TimeSheet
>
timeSheetListById
(
Eproject
eproject
);
TimeSheet
findTimeSheetByEprojectAndId
(
Eproject
eproject
,
int
timeSheet_Id
);
}
}
src/main/java/com/itsol/quantrivanphong/
report
/employee/test.java
→
src/main/java/com/itsol/quantrivanphong/
manager
/employee/test.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.
report
.employee
;
package
com.itsol.quantrivanphong.
manager
.employee
;
public
class
test
{
public
class
test
{
}
}
src/main/java/com/itsol/quantrivanphong/manage
/issue
/test.java
→
src/main/java/com/itsol/quantrivanphong/manage
r/news
/test.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.manage
.issue
;
package
com.itsol.quantrivanphong.manage
r.news
;
public
class
test
{
public
class
test
{
}
}
src/main/java/com/itsol/quantrivanphong/
report
/project/test.java
→
src/main/java/com/itsol/quantrivanphong/
manager
/project/test.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.
report
.project
;
package
com.itsol.quantrivanphong.
manager
.project
;
public
class
test
{
public
class
test
{
}
}
src/main/java/com/itsol/quantrivanphong/manager/reportdetail/test.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.manager.reportdetail
;
public
class
test
{
}
src/main/java/com/itsol/quantrivanphong/model/LeaveForm.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.model
;
package
com.itsol.quantrivanphong.model
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.itsol.quantrivanphong.audit.DateAudit
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.persistence.*
;
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
@Entity
@Entity
@EntityListeners
(
AuditingEntityListener
.
class
)
@JsonIgnoreProperties
(
value
=
{
"createdAt"
,
"updatedAt"
},
allowGetters
=
true
)
@Table
(
name
=
"leave_form"
)
@Table
(
name
=
"leave_form"
)
@Data
@Data
@Builder
@Builder
public
class
LeaveForm
{
public
class
LeaveForm
extends
DateAudit
{
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
...
...
src/main/java/com/itsol/quantrivanphong/model/News.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.model
;
package
com.itsol.quantrivanphong.model
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.itsol.quantrivanphong.audit.DateAudit
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.persistence.*
;
...
@@ -10,8 +13,11 @@ import javax.persistence.*;
...
@@ -10,8 +13,11 @@ import javax.persistence.*;
@Data
@Data
@AllArgsConstructor
@AllArgsConstructor
@NoArgsConstructor
@NoArgsConstructor
@EntityListeners
(
AuditingEntityListener
.
class
)
@JsonIgnoreProperties
(
value
=
{
"createdAt"
,
"updatedAt"
},
allowGetters
=
true
)
@Table
(
name
=
"news"
)
@Table
(
name
=
"news"
)
public
class
News
{
public
class
News
extends
DateAudit
{
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
...
...
src/main/java/com/itsol/quantrivanphong/model/TimeSheet.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.model
;
package
com.itsol.quantrivanphong.model
;
import
com.fasterxml.jackson.annotation.JsonIgnoreProperties
;
import
com.itsol.quantrivanphong.audit.DateAudit
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.persistence.*
;
...
@@ -12,8 +14,11 @@ import javax.persistence.*;
...
@@ -12,8 +14,11 @@ import javax.persistence.*;
@AllArgsConstructor
@AllArgsConstructor
@Entity
@Entity
@Table
(
name
=
"timesheet"
)
@Table
(
name
=
"timesheet"
)
@Builder
@EntityListeners
(
AuditingEntityListener
.
class
)
public
class
TimeSheet
{
@JsonIgnoreProperties
(
value
=
{
"createdAt"
,
"updatedAt"
},
allowGetters
=
true
)
public
class
TimeSheet
extends
DateAudit
{
@Id
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
...
...
src/main/java/com/itsol/quantrivanphong/report/
news
/test.java
→
src/main/java/com/itsol/quantrivanphong/report/
issue
/test.java
View file @
9f0b15b1
package
com.itsol.quantrivanphong.report.
news
;
package
com.itsol.quantrivanphong.report.
issue
;
public
class
test
{
public
class
test
{
}
}
src/main/java/com/itsol/quantrivanphong/report/leaveform/test.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.report.leaveform
;
public
class
test
{
}
src/main/java/com/itsol/quantrivanphong/report/reportdetail/test.java
deleted
100644 → 0
View file @
b9152d73
package
com.itsol.quantrivanphong.report.reportdetail
;
public
class
test
{
}
src/main/java/com/itsol/quantrivanphong/report/timesheet/test.java
0 → 100644
View file @
9f0b15b1
package
com.itsol.quantrivanphong.report.timesheet
;
public
class
test
{
}
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