Commit 88c1bc04 authored by phùng văn dung's avatar phùng văn dung

update 12-06-2019

parent 1f63c01a
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
<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>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId> <artifactId>spring-boot-starter-mail</artifactId>
...@@ -36,21 +35,18 @@ ...@@ -36,21 +35,18 @@
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope> <version>8.0.16</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>log4j</groupId> <groupId>log4j</groupId>
<artifactId>log4j</artifactId> <artifactId>log4j</artifactId>
......
...@@ -5,6 +5,8 @@ import com.itsol.quantrivanphong.manager.project.project.dto.ProjectDTO; ...@@ -5,6 +5,8 @@ import com.itsol.quantrivanphong.manager.project.project.dto.ProjectDTO;
import java.util.List; import java.util.List;
public interface ProjectBussiness { public interface ProjectBussiness {
// Danh sách dự án phân theo trang
List<ProjectDTO> findProjectPage(String property, Object value, String sortExperssion, String sortDirection, Integer offset, Integer limit);
// Danh sách dự án tất cả các dự án // Danh sách dự án tất cả các dự án
List<ProjectDTO> findAllProject(); List<ProjectDTO> findAllProject();
// upload thông tin dự án // upload thông tin dự án
......
...@@ -7,6 +7,7 @@ import org.apache.log4j.Logger; ...@@ -7,6 +7,7 @@ import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -17,6 +18,14 @@ public class ProjectBussinessImpl implements ProjectBussiness { ...@@ -17,6 +18,14 @@ public class ProjectBussinessImpl implements ProjectBussiness {
@Autowired @Autowired
private ProjectRepository projectRepository; private ProjectRepository projectRepository;
@Override
public List<ProjectDTO> findProjectPage(String property, Object value, String sortExperssion, String sortDirection, Integer offset, Integer limit) {
List<ProjectDTO> projectDTOList = new ArrayList<ProjectDTO>();
Object[] objects = projectRepository.getEntityPage(property,value,sortExperssion,sortDirection,offset,limit);
projectDTOList = lstDTO((List<Project>) objects[1]);
return projectDTOList;
}
@Override @Override
public List<ProjectDTO> findAllProject() { public List<ProjectDTO> findAllProject() {
try { try {
...@@ -58,7 +67,7 @@ public class ProjectBussinessImpl implements ProjectBussiness { ...@@ -58,7 +67,7 @@ public class ProjectBussinessImpl implements ProjectBussiness {
} else if (dto.getEndDate() == null) { } else if (dto.getEndDate() == null) {
views = "ngày dự kiếm kết thúc dự án không được null"; views = "ngày dự kiếm kết thúc dự án không được null";
} else { } else {
dto.setStatusPost(0); dto.setStatus(0);
projectRepository.saveEntity(dtoParseModels(dto)); projectRepository.saveEntity(dtoParseModels(dto));
views = "thêm thành công project !"; views = "thêm thành công project !";
} }
...@@ -123,13 +132,7 @@ public class ProjectBussinessImpl implements ProjectBussiness { ...@@ -123,13 +132,7 @@ public class ProjectBussinessImpl implements ProjectBussiness {
dto.setDescriptions(model.getDescriptions()); dto.setDescriptions(model.getDescriptions());
dto.setStartDate(model.getStartDate()); dto.setStartDate(model.getStartDate());
dto.setEndDate(model.getEndDate()); dto.setEndDate(model.getEndDate());
if(model.getStatus()==0){ dto.setStatus(model.getStatus());
dto.setStatusGet("Dự Kiến");
}else if(model.getStatus()==1){
dto.setStatusGet("Đang Tiến Hành");
}else{
dto.setStatusGet("Đã Hoàn Thành");
}
return dto; return dto;
} }
...@@ -141,7 +144,7 @@ public class ProjectBussinessImpl implements ProjectBussiness { ...@@ -141,7 +144,7 @@ public class ProjectBussinessImpl implements ProjectBussiness {
project.setDescriptions(projectDTO.getDescriptions()); project.setDescriptions(projectDTO.getDescriptions());
project.setStartDate(projectDTO.getStartDate()); project.setStartDate(projectDTO.getStartDate());
project.setEndDate(projectDTO.getEndDate()); project.setEndDate(projectDTO.getEndDate());
project.setStatus(projectDTO.getStatusPost()); project.setStatus(projectDTO.getStatus());
return project; return project;
} }
} }
...@@ -4,6 +4,7 @@ import com.itsol.quantrivanphong.report.issue.common.SystemConstants; ...@@ -4,6 +4,7 @@ import com.itsol.quantrivanphong.report.issue.common.SystemConstants;
import com.itsol.quantrivanphong.manager.project.project.bussiness.ProjectBussiness; import com.itsol.quantrivanphong.manager.project.project.bussiness.ProjectBussiness;
import com.itsol.quantrivanphong.manager.project.project.dto.ProjectDTO; import com.itsol.quantrivanphong.manager.project.project.dto.ProjectDTO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -16,6 +17,12 @@ public class ProjectController { ...@@ -16,6 +17,12 @@ public class ProjectController {
@Autowired @Autowired
private ProjectBussiness projectBussiness; private ProjectBussiness projectBussiness;
@GetMapping(value = "/danh-sach-du-an/{offset}/{limit}")
public ResponseEntity<List<ProjectDTO>> getProjectPage(@PathVariable("offset") Integer offset,@PathVariable("limit") Integer limit){
return ResponseEntity.ok(projectBussiness.findProjectPage(null,null,null,null,offset,limit));
}
@GetMapping(value = "/danh-sach-du-an") @GetMapping(value = "/danh-sach-du-an")
public ResponseEntity<List<ProjectDTO>> getAllProject(){ public ResponseEntity<List<ProjectDTO>> getAllProject(){
return ResponseEntity.ok(projectBussiness.findAllProject()); return ResponseEntity.ok(projectBussiness.findAllProject());
...@@ -28,12 +35,12 @@ public class ProjectController { ...@@ -28,12 +35,12 @@ public class ProjectController {
@PostMapping(value = "/them-du-an",consumes = SystemConstants.TYPE_JSON) @PostMapping(value = "/them-du-an",consumes = SystemConstants.TYPE_JSON)
public ResponseEntity saveProject(@RequestBody ProjectDTO projectDTO){ public ResponseEntity saveProject(@RequestBody ProjectDTO projectDTO){
String views = projectBussiness.saveProject(projectDTO); String views = projectBussiness.saveProject(projectDTO);
return ResponseEntity.ok(views); return ResponseEntity.ok(new WrapperResult(200, views));
} }
@PutMapping(value = "/sua-du-an",consumes = SystemConstants.TYPE_JSON) @PutMapping(value = "/sua-du-an",consumes = SystemConstants.TYPE_JSON)
public ResponseEntity updateProject(@RequestBody ProjectDTO projectDTO){ public ResponseEntity updateProject(@RequestBody ProjectDTO projectDTO){
String views = projectBussiness.updateProject(projectDTO); String views = projectBussiness.updateProject(projectDTO);
return ResponseEntity.ok(views); return ResponseEntity.ok(new WrapperResult(200, views));
} }
@DeleteMapping(value = "/xoa-danh-sach-du-an",consumes = SystemConstants.TYPE_JSON) @DeleteMapping(value = "/xoa-danh-sach-du-an",consumes = SystemConstants.TYPE_JSON)
public ResponseEntity deleteProject(@RequestBody ProjectDTO projectDTO){ public ResponseEntity deleteProject(@RequestBody ProjectDTO projectDTO){
...@@ -53,6 +60,32 @@ public class ProjectController { ...@@ -53,6 +60,32 @@ public class ProjectController {
}else{ }else{
views="không tồn tại"; views="không tồn tại";
} }
return ResponseEntity.ok(views); return ResponseEntity.ok(new WrapperResult(200, views));
}
static class WrapperResult{
private int status;
private String message;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public WrapperResult(int status, String message) {
this.status = status;
this.message = message;
}
} }
} }
...@@ -20,9 +20,7 @@ public class ProjectDTO { ...@@ -20,9 +20,7 @@ public class ProjectDTO {
//ngày kết thúc dự án //ngày kết thúc dự án
private Timestamp endDate; private Timestamp endDate;
//trạng thái thêm vào dataBase //trạng thái thêm vào dataBase
private Integer statusPost; private Integer status;
//trạng thái lấy dữ liệu lên cline
private String statusGet;
// danh sách id // danh sách id
private Integer[] ids; private Integer[] ids;
} }
...@@ -15,4 +15,6 @@ public interface ProjectGroupBussiness { ...@@ -15,4 +15,6 @@ public interface ProjectGroupBussiness {
ProjectGroupDTO findEmployeeProject(String username); ProjectGroupDTO findEmployeeProject(String username);
// thành viên out dự án // thành viên out dự án
String outProjectGroup(Integer[]ids); String outProjectGroup(Integer[]ids);
// thành viên out dự án
String deleteEmployeeProject(Integer id);
} }
...@@ -7,6 +7,7 @@ import com.itsol.quantrivanphong.manager.project.projectgroup.common.ProjectGrou ...@@ -7,6 +7,7 @@ import com.itsol.quantrivanphong.manager.project.projectgroup.common.ProjectGrou
import com.itsol.quantrivanphong.manager.project.projectgroup.dto.ProjectGroupDTO; import com.itsol.quantrivanphong.manager.project.projectgroup.dto.ProjectGroupDTO;
import com.itsol.quantrivanphong.model.Eproject; import com.itsol.quantrivanphong.model.Eproject;
import com.itsol.quantrivanphong.manager.project.projectgroup.repository.ProjectGroupRepository; import com.itsol.quantrivanphong.manager.project.projectgroup.repository.ProjectGroupRepository;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -14,7 +15,7 @@ import java.util.List; ...@@ -14,7 +15,7 @@ import java.util.List;
@Service @Service
public class ProjectGroupBussinessImpl implements ProjectGroupBussiness { public class ProjectGroupBussinessImpl implements ProjectGroupBussiness {
Logger logger = Logger.getLogger(ProjectGroupBussinessImpl.class);
@Autowired @Autowired
private ProjectGroupRepository projectGroupRepository; private ProjectGroupRepository projectGroupRepository;
...@@ -29,6 +30,7 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness { ...@@ -29,6 +30,7 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness {
@Override @Override
public List<ProjectGroupDTO> getGroupByProjectId(Integer projectId) { public List<ProjectGroupDTO> getGroupByProjectId(Integer projectId) {
logger.info("getGroupByProjectId");
Project project = projectRepository.findByEmtityId(projectId); Project project = projectRepository.findByEmtityId(projectId);
if (project != null) { if (project != null) {
List<Eproject> lstModels = projectGroupRepository.finByProperty("project", project, "joinDate", "DESC"); List<Eproject> lstModels = projectGroupRepository.finByProperty("project", project, "joinDate", "DESC");
...@@ -37,21 +39,35 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness { ...@@ -37,21 +39,35 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness {
} }
return null; return null;
} }
public boolean checkEmployeeInGroupProject(ProjectGroupDTO dto){
List<Eproject> lst = projectGroupRepository.finByProperty("project",projectRepository.findByEmtityId(dto.getProjectId()),null,null);
for (Eproject eproject:lst) {
if(eproject.getEmployee().getId()==dto.getUserId()){
return true;
}
}
return false;
}
@Override @Override
public String saveEmployeeProject(ProjectGroupDTO dto) { public String saveEmployeeProject(ProjectGroupDTO dto) {
logger.info("saveEmployeeProject");
String views = ""; String views = "";
try{ if(!checkEmployeeInGroupProject(dto)) {
try {
projectGroupRepository.saveEntity(utils.Model(dto)); projectGroupRepository.saveEntity(utils.Model(dto));
views="thêm thành công nhân viên vào nhóm dự án"; views = "thêm thành công nhân viên vào nhóm dự án";
}catch (Exception e){ } catch (Exception e) {
views="thêm không thành công!"; views = "thêm không thành công!";
}
}else {
views = "thành viên đã tồn tại";
} }
return views; return views;
} }
@Override @Override
public String updateEmployeeProject(ProjectGroupDTO dto) { public String updateEmployeeProject(ProjectGroupDTO dto) {
logger.info("updateEmployeeProject");
String views=""; String views="";
Eproject eproject = projectGroupRepository.findByEmtityId(dto.getId()); Eproject eproject = projectGroupRepository.findByEmtityId(dto.getId());
if(eproject!=null){ if(eproject!=null){
...@@ -72,6 +88,7 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness { ...@@ -72,6 +88,7 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness {
@Override @Override
public String outProjectGroup(Integer[] ids) { public String outProjectGroup(Integer[] ids) {
logger.info("outProjectGroup");
String views = ""; String views = "";
int count=0; int count=0;
count = projectGroupRepository.deleteEntity(ids); count = projectGroupRepository.deleteEntity(ids);
...@@ -82,4 +99,18 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness { ...@@ -82,4 +99,18 @@ public class ProjectGroupBussinessImpl implements ProjectGroupBussiness {
} }
return views; return views;
} }
@Override
public String deleteEmployeeProject(Integer id) {
logger.info("deleteEmployeeProject");
String views = "";
int count=0;
count = projectGroupRepository.deleteEntityByID(id);
if(count!=0){
views="Bạn đã cho "+count+" thoát ra khỏi nhóm";
}else{
views=" thành viên không tồn tại";
}
return views;
}
} }
package com.itsol.quantrivanphong.manager.project.projectgroup.controller; package com.itsol.quantrivanphong.manager.project.projectgroup.controller;
import com.itsol.quantrivanphong.manager.project.project.controller.ProjectController;
import com.itsol.quantrivanphong.report.issue.common.SystemConstants; import com.itsol.quantrivanphong.report.issue.common.SystemConstants;
import com.itsol.quantrivanphong.manager.project.projectgroup.bussiness.ProjectGroupBussiness; import com.itsol.quantrivanphong.manager.project.projectgroup.bussiness.ProjectGroupBussiness;
import com.itsol.quantrivanphong.manager.project.projectgroup.dto.ProjectGroupDTO; import com.itsol.quantrivanphong.manager.project.projectgroup.dto.ProjectGroupDTO;
...@@ -27,7 +28,7 @@ public class ProjectGroupController { ...@@ -27,7 +28,7 @@ public class ProjectGroupController {
@PostMapping(value = "/them-thanh-vien", consumes = SystemConstants.TYPE_JSON, produces = SystemConstants.TYPE_JSON) @PostMapping(value = "/them-thanh-vien", consumes = SystemConstants.TYPE_JSON, produces = SystemConstants.TYPE_JSON)
public ResponseEntity addMemberProject(@RequestBody ProjectGroupDTO projectGroupDTO) { public ResponseEntity addMemberProject(@RequestBody ProjectGroupDTO projectGroupDTO) {
String views = projectGroupBussiness.saveEmployeeProject(projectGroupDTO); String views = projectGroupBussiness.saveEmployeeProject(projectGroupDTO);
return ResponseEntity.ok(views); return ResponseEntity.ok(new WrapperResult(200, views));
} }
// cập nhật thông tin thành viên // cập nhật thông tin thành viên
...@@ -41,9 +42,40 @@ public class ProjectGroupController { ...@@ -41,9 +42,40 @@ public class ProjectGroupController {
// xóa thành viên ra khỏi dự án // xóa thành viên ra khỏi dự án
@DeleteMapping(value = "/thanh-vien-out-du-an") @DeleteMapping(value = "/thanh-vien-out-du-an")
public ResponseEntity deleteMemberProject(@RequestBody ProjectGroupDTO projectGroupDTO){ public ResponseEntity deleteMembersProject(@RequestBody ProjectGroupDTO projectGroupDTO){
String views = projectGroupBussiness.outProjectGroup(projectGroupDTO.getIds()); String views = projectGroupBussiness.outProjectGroup(projectGroupDTO.getIds());
return ResponseEntity.ok(views); return ResponseEntity.ok(views);
} }
@DeleteMapping(value = "/xoa-thanh-vien-du-an")
public ResponseEntity deleteMemberProject(@RequestBody ProjectGroupDTO projectGroupDTO){
String views = projectGroupBussiness.deleteEmployeeProject(projectGroupDTO.getId());
return ResponseEntity.ok(new WrapperResult(200, views));
}
static class WrapperResult{
private int status;
private String message;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public WrapperResult(int status, String message) {
this.status = status;
this.message = message;
}
}
} }
package com.itsol.quantrivanphong.report.issue.common;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AbstractDao<T> {
private List<T> lstResult = new ArrayList<T>();
// Số page đang đứng
private Integer page;
// Tổng sô page trong 1 item
private Integer maxPageItem;
// Tổng số page hiện tại
private Integer totalPage;
// Tổng số item
private Integer totalItem;
// kiểu sort
private String sortName;
// sort theo
private String sortBy;
}
...@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory; import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import java.io.Serializable; import java.io.Serializable;
import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
...@@ -181,8 +182,64 @@ public class AbstractEntityManagerDao<ID extends Serializable, T> implements Gen ...@@ -181,8 +182,64 @@ public class AbstractEntityManagerDao<ID extends Serializable, T> implements Gen
entityManager.getTransaction().rollback(); entityManager.getTransaction().rollback();
log.info(e.getMessage()); log.info(e.getMessage());
}finally { }finally {
if (entityManager != null) {
entityManager.close(); entityManager.close();
} }
}
return list; return list;
} }
@Override
public Object[] getEntityPage(String property, Object value, String sortExperssion, String sortDirection, Integer offset, Integer limit) {
List<T> list = new ArrayList<T>();
Object totalItem = 0;
try {
entityManager = entityManagerFactory.createEntityManager();
entityManager.getTransaction().begin();
// HQL
StringBuilder sql = new StringBuilder("from ");
sql.append(getPersistenceClass());
if (property != null && value != null) {
sql.append(" where ").append(property).append(" = ?1");
}
if (sortExperssion != null && sortDirection != null) {
sql.append(" order by ").append(sortExperssion);
sql.append(" " + (sortDirection.equals("ASC") ? "asc" : "desc"));
}
TypedQuery<T> query1 = entityManager.createQuery(sql.toString(),persistenceClass);
if (value != null) {
query1.setParameter(1,value);
}
if(offset!=null &&offset>=0){
query1.setFirstResult(offset);
}
if(limit!=null && limit>0){
query1.setMaxResults(limit);
}
list = query1.getResultList();
// số phần tử trong list
// StringBuilder sql2 = new StringBuilder("Select count(*) from ");
// sql2.append(getPersistenceClass());
// if (value != null && property != null) {
// sql2.append(" where ").append(property).append("= ?1");
// }
// TypedQuery<T> query2 = entityManager.createQuery(sql2.toString(),persistenceClass);
// if (value != null) {
// query2.setParameter(1,value);
// }
//
//// trả về size
totalItem = finAllEntity().size();
entityManager.getTransaction().commit();
} catch (HibernateException e) {
entityManager.getTransaction().rollback();
} finally {
if (entityManager != null) {
entityManager.close();
}
}
return new Object[]{totalItem, list};
}
} }
...@@ -11,4 +11,6 @@ public interface GennericeEntityManagerDao<ID extends Serializable,T> { ...@@ -11,4 +11,6 @@ public interface GennericeEntityManagerDao<ID extends Serializable,T> {
Integer deleteEntityByID(Integer id); Integer deleteEntityByID(Integer id);
T findByEmtityId(ID id); T findByEmtityId(ID id);
List<T> finByProperty(String property, Object value, String sortExperssion, String sortDirection); List<T> finByProperty(String property, Object value, String sortExperssion, String sortDirection);
Object[] getEntityPage(String property, Object value, String sortExperssion, String sortDirection,Integer offset, Integer limit);
// Integer getCount();
} }
package com.itsol.quantrivanphong.report.issue.common;
public interface Pageble {
Integer getPage();
Integer getOffset();
Integer getLimit();
Sorter getSorter();
}
package com.itsol.quantrivanphong.report.issue.common;
public class PagebleRequest implements Pageble {
private Integer page;
private Integer maxPageItem;
private Sorter sorter;
@Override
public Integer getPage() {
return this.page;
}
public PagebleRequest(Integer page, Integer maxPageItem, Sorter sorter) {
this.page = page;
this.maxPageItem = maxPageItem;
this.sorter = sorter;
}
@Override
public Integer getOffset() {
// tính vị trí đầu của 1 page
if (this.page != null && this.maxPageItem != null) {
return ((this.page - 1) * this.maxPageItem);
}
return null;
}
@Override
public Integer getLimit() {
return (this.getOffset() + this.maxPageItem);
}
@Override
public Sorter getSorter() {
return this.sorter;
}
}
package com.itsol.quantrivanphong.report.issue.common;
public class Sorter {
private String sortName;
private String sortBy;
public Sorter(String sortName, String sortBy) {
this.sortName = sortName;
this.sortBy = sortBy;
}
public String getSortName() {
return sortName;
}
public void setSortName(String sortName) {
this.sortName = sortName;
}
public String getSortBy() {
return sortBy;
}
public void setSortBy(String sortBy) {
this.sortBy = sortBy;
}
}
package com.itsol.quantrivanphong.report.issue.common;
public class WrapperResult {
private int status;
private String message;
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public WrapperResult(int status, String message) {
this.status = status;
this.message = message;
}
}
package com.itsol.quantrivanphong.report.issue.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AbstractPage<T> {
// tổng số item trong 1 trang
private int maxPageItems;
// tổng số item trả về list đó
private int totalItems=0;
// phần tử cuối cùng của 1 trang
private int firstItem=0;
private String sortExpression;
private String sortDirection;
// vị trí trang đang đứng
private int page = 1;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})});
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -24,15 +24,22 @@ ...@@ -24,15 +24,22 @@
<script src="js/angular.js"></script> <script src="js/angular.js"></script>
<script src="js/angular-ui-router.min.js"></script> <script src="js/angular-ui-router.min.js"></script>
<script src="js/app.js"></script> <script src="js/app.js"></script>
<script src="pages/employee/employeeController.js"></script> <script src="pages/project/groupproject/groupProjectController.js"></script>
<script src="pages/project/project/projectController.js"></script>
</head> </head>
<body ng-app="myApp"> <body ng-app="myApp">
<div ui-view="layout"></div> <div ui-view="layout"></div>
<!-- Js --> <!-- Js -->
<!-- Bootstrap core JavaScript--> <!-- Bootstrap core JavaScript-->
<script src="pages/employee/employeeController.js"></script>
<script src="pages/project/project/projectController.js"></script>
<script src="pages/login/loginsController.js"></script>
<script src="pages/adminhome/admin.js"></script>
<script src="common/js/jquery.min.js"></script> <script src="common/js/jquery.min.js"></script>
<script src="common/js/bootstrap.bundle.min.js"></script> <script src="common/js/bootstrap.bundle.min.js"></script>
......
...@@ -5,37 +5,65 @@ angular.module("myApp", ["ui.router"]).config(function ($stateProvider, $urlRout ...@@ -5,37 +5,65 @@ angular.module("myApp", ["ui.router"]).config(function ($stateProvider, $urlRout
$locationProvider.hashPrefix(''); $locationProvider.hashPrefix('');
//trở về trang mặc định //trở về trang mặc định
$urlRouterProvider.otherwise("/employees"); $urlRouterProvider.otherwise("/admin");
$stateProvider $stateProvider
.state("layout3", {
.state("layout1", {
abstract: true, abstract: true,
views: { views: {
"layout": { "layout": {
templateUrl: "layout/layout1.html" templateUrl: "layout/layout3.html"
} }
} }
}) })
.state("layout4", {
.state("layout2", {
abstract: true, abstract: true,
views: { views: {
"layout": { "layout": {
templateUrl: "layout/layout2.html" templateUrl: "layout/layout4.html"
} }
} }
}) })
.state("layout3", { .state("admin", {
abstract: true, parent: 'layout3',
url: "/admin",
views: { views: {
"layout": { "content": {
templateUrl: "layout/layout3.html" templateUrl: "pages/adminhome/admin-home.html",
controller:"adminController"
}
}
})
.state("login", {
parent: 'layout4',
url: "/login",
views: {
"content": {
templateUrl: "pages/login/login.html",
controller: "loginController"
}
}
})
.state("register", {
parent: 'layout4',
url: "/register",
views: {
"content": {
templateUrl: "pages/login/register.html",
controller: "loginController"
}
}
})
.state("forgot-password", {
parent: 'layout4',
url: "/forgot-password",
views: {
"content": {
templateUrl: "pages/login/forgot-password.html",
controller: "loginController"
} }
} }
}) })
.state("employees", { .state("employees", {
parent: 'layout3', parent: 'layout3',
url: "/employees", url: "/employees",
...@@ -68,34 +96,32 @@ angular.module("myApp", ["ui.router"]).config(function ($stateProvider, $urlRout ...@@ -68,34 +96,32 @@ angular.module("myApp", ["ui.router"]).config(function ($stateProvider, $urlRout
}) })
.state("editproject", { .state("editproject", {
parent: 'layout3', parent: 'layout3',
url: "/editproject", url: "/editproject/:ID",
views: { views: {
"content": { "content": {
templateUrl: "pages/project/project/projectAddViews.html", templateUrl: "pages/project/project/projectEditViews.html",
controller: "editProject" controller: "loadProjectDetail"
} }
} }
}) })
.state("report", { .state("groupProjectByProjectId", {
parent: 'layout1', parent: 'layout3',
url: "/report", url: "/groupProjectByProjectId/:ID",
views: { views: {
"content": { "content": {
templateUrl: "pages/employee/project.html", templateUrl: "pages/project/groupproject/groupProjectView.html",
controller: "employeeController" controller: "loadGroupProjectByProjectId"
} }
} }
}) })
.state("addEmployeeProject", {
.state("testlayout2", { parent: 'layout3',
parent: 'layout2', url: "/addEmployeeProject",
url: "/testttt",
views: { views: {
"content": { "content": {
templateUrl: "pages/testlayout/testlayout.html", templateUrl: "pages/project/groupproject/groupProjectAddView.html",
controller: "testlayoutController" controller: "insertEmployeeProject"
} }
} }
}) })
}); });
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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