Commit 9f0b15b1 authored by Phạm Duy Phi's avatar Phạm Duy Phi

ahiihi

parents b9152d73 ce3006b6
...@@ -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>
......
...@@ -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) {
......
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();
}
}
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";
}
}
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));
}
}
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));
}
}
//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;
//}
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);
}
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);
}
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;
}
}
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);
// }
}
//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));
// }
//}
package com.itsol.quantrivanphong.common; package com.itsol.quantrivanphong.exception;
public class InputException extends Exception { public class InputException extends Exception {
public InputException(String message) { public InputException(String message) {
......
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;
}
}
package com.itsol.quantrivanphong.manage.leaveform.controller; package com.itsol.quantrivanphong.manage.leaveform.controller;
import com.itsol.quantrivanphong.common.InputException; import com.itsol.quantrivanphong.exception.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;
......
...@@ -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 id) { public String deleteTimeSheet(int employee_Id, int timeSheet_Id) {
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.findTimeSheetById(id) == null) { if (timeSheetRepository.findTimeSheetByEprojectAndId(eproject, timeSheet_Id) == 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> findTimeSheetList() { public List<TimeSheet> findAll(){
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()
......
package com.itsol.quantrivanphong.manage.timesheet.controller; package com.itsol.quantrivanphong.manage.timesheet.controller;
import com.itsol.quantrivanphong.common.InputException; import com.itsol.quantrivanphong.exception.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 = "/timesheet") @RequestMapping(path = "/eproject")
public class TimeSheetController { public class TimeSheetController {
@Autowired @Autowired
TimeSheetBusiness timeSheetBusiness; TimeSheetBusiness timeSheetBusiness;
@PostMapping(path = "/insert", consumes = "application/json", produces = "application/json") @PostMapping(path = "/{employee_Id}/timesheet", 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/{id}") @DeleteMapping("/{employee_Id}/timesheet/{timesheet_Id}")
public ResponseEntity<String> deleteTimeSheet(@PathVariable int id) { public ResponseEntity<String> deleteTimeSheet(@PathVariable int employee_Id, @Valid @PathVariable int timesheet_Id) {
return ResponseEntity.ok(timeSheetBusiness.deleteTimeSheet(id)); return ResponseEntity.ok(timeSheetBusiness.deleteTimeSheet(employee_Id, timesheet_Id));
} }
@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
...@@ -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);
} }
...@@ -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> timeSheetList(); // List<TimeSheet> getAllTimeSheet();
@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);
} }
package com.itsol.quantrivanphong.report.employee; package com.itsol.quantrivanphong.manager.employee;
public class test { public class test {
} }
package com.itsol.quantrivanphong.manage.issue; package com.itsol.quantrivanphong.manager.news;
public class test { public class test {
} }
package com.itsol.quantrivanphong.report.project; package com.itsol.quantrivanphong.manager.project;
public class test { public class test {
} }
package com.itsol.quantrivanphong.manager.reportdetail;
public class test {
}
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)
......
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)
......
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)
......
package com.itsol.quantrivanphong.report.news; package com.itsol.quantrivanphong.report.issue;
public class test { public class test {
} }
package com.itsol.quantrivanphong.report.leaveform;
public class test {
}
package com.itsol.quantrivanphong.report.reportdetail;
public class test {
}
package com.itsol.quantrivanphong.report.timesheet;
public class test {
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment