diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index c8a2793..a4074f3 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -22,7 +22,10 @@ import org.springframework.format.datetime.DateFormatter; import org.springframework.stereotype.Controller; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.*; +import top.jfunc.common.db.bean.Page; +import top.jfunc.common.utils.CollectionUtil; +import javax.persistence.criteria.CriteriaBuilder; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; @@ -61,6 +64,8 @@ public class ProjectController extends BaseController{ model.put("deptList", deptRepository.findAll()); ConcurrentHashMap searchInfo = getSearchInfo(keywords,model); model.put("pager",projectService.list(searchInfo,pageNumber,pageSize)); + Page myApproveProjects = projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), 1, Integer.MAX_VALUE); + model.put("hasApproveProjects", CollectionUtil.isNotEmpty(myApproveProjects.getList()) ? "1" : "0"); return "admin/project_list"; } @@ -277,12 +282,7 @@ public class ProjectController extends BaseController{ model.put("keywords",keywords); model.put("deptList", deptRepository.findAll()); ConcurrentHashMap searchInfo = getSearchInfo(keywords,model); - - //在列表基础上增加审核人是我和待审核状态的条件 - searchInfo.put("approveId", ""+InterfaceUtil.getAdminId()); - searchInfo.put("approveStatus", ""+ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus()); - - model.put("pager",projectService.list(searchInfo,pageNumber,pageSize)); + model.put("pager",projectService.findMyApproveProjects(searchInfo,InterfaceUtil.getAdminId(),pageNumber,pageSize)); return "admin/project_list_approve"; } @@ -292,16 +292,11 @@ public class ProjectController extends BaseController{ @RequestMapping("/exportApprove") public void exportApprove(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { Map searchInfo = getSearchInfo(keywords); - - //在列表基础上增加审核人是我和待审核状态的条件 - searchInfo.put("approveId", ""+InterfaceUtil.getAdminId()); - searchInfo.put("approveStatus", ""+ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus()); - downloadHeader(httpServletResponse , Utils.generateExcelName("待我审核项目报表"), "application/octet-stream"); String[] headers = {"项目名称","项目类型","项目状态","审核状态","当前审核人","项目创建者","部门名称","项目开始时间","项目结束时间","最后更新时间"}; String[] exportColumns = {"name","typeDesc","statusDesc","approveStatusDesc","approveName","creatorName","deptName","startDate","endDate","lastUpdateTime"}; ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, - httpServletResponse.getOutputStream(), (pN, pS) -> projectService.list(searchInfo, pN, pS).getList()); + httpServletResponse.getOutputStream(), (pN, pS) -> projectService.findMyApproveProjects(searchInfo, InterfaceUtil.getAdminId(), pN, pS).getList()); } diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 4970155..97ac1b5 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -4,6 +4,7 @@ import cn.palmte.work.bean.*; import cn.palmte.work.model.Admin; import cn.palmte.work.model.Project; import cn.palmte.work.model.ProjectRepository; +import cn.palmte.work.utils.InterfaceUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -13,6 +14,7 @@ import top.jfunc.common.db.utils.Pagination; import top.jfunc.common.utils.StrUtil; import java.util.Date; +import java.util.List; import java.util.Map; /** @@ -94,6 +96,21 @@ public class ProjectService { QueryHelper queryHelper = getQueryHelper(searchInfo, pageNumber, pageSize); return pagination.paginate(queryHelper.getSql(), Project.class,pageNumber,pageSize); } + + + /** + * 找到待我审核项目 + */ + public Page findMyApproveProjects(Map searchInfo, int adminId, int pageNumber, int pageSize){ + //在列表基础上增加审核人是我和待审核状态的条件 + searchInfo.put("approveId", ""+ adminId); + searchInfo.put("approveStatus", ""+ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus()); + + return list(searchInfo, pageNumber, pageSize); + } + + + public Project getProject(int id){ return projectRepository.findOne(id); } diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 4198dd3..ff84255 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -157,7 +157,7 @@ <@shiro.hasPermission name="PROJECT_APPROVE"> @@ -295,6 +295,18 @@ } + if("1" == "${hasApproveProjects!'0'}"){ + var hasApproveProjectsLayer = layer.open({ + type: 1, + title:'待审核项目提醒', + skin: 'layui-layer-rim', //加上边框 + area: ['350px', '150px'], //宽高 + content: "
有新的待审核项目,请及时确认。   " + + "前往处理
" + }); + + } + });