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 55a87d1..fed08a0 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -71,8 +71,8 @@ public class ProjectController extends BaseController{ public void export(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { Map searchInfo = getSearchInfo(keywords); downloadHeader(httpServletResponse , Utils.generateExcelName("项目报表"), "application/octet-stream"); - String[] headers = {"项目名称","项目类型","项目状态","审核状态","当前审核人","项目创建者","部门名称","项目开始时间","项目结束时间"}; - String[] exportColumns = {"name","typeDesc","statusDesc","approveStatusDesc","approveName","creatorName","deptName","startDate","endDate"}; + 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()); } @@ -261,6 +261,50 @@ public class ProjectController extends BaseController{ return ResponseMsg.buildSuccessMsg("成功"); } + + + + + /** + * 待我审核项目列表 + */ + @RequestMapping("/listApprove") + public String listApprove(@RequestParam(value = "keywords",required = false) String keywords, + @RequestParam(value = PAGE_NUMBER, defaultValue = DEFAULT_PAGE_NUMBER) int pageNumber, + @RequestParam(value = PAGE_SIZE, defaultValue = DEFAULT_PAGE_SIZE) int pageSize, + Map model) { + //当前登录人的角色类型 + model.put("keywords",keywords); + model.put("deptList", deptRepository.findAll()); + ConcurrentHashMap searchInfo = getSearchInfo(keywords,model); + model.put("pager",projectService.list(searchInfo,pageNumber,pageSize)); + return "admin/project_list_approve"; + } + + /** + * 待我审核项目导出 + */ + @RequestMapping("/exportApprove") + public void exportApprove(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { + Map searchInfo = getSearchInfo(keywords); + 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()); + } + + + + + + + + + + + + @InitBinder public void initBinder(WebDataBinder webDataBinder){ webDataBinder.addCustomFormatter(new DateFormatter("yyyy-MM-dd")); diff --git a/src/main/java/cn/palmte/work/model/Project.java b/src/main/java/cn/palmte/work/model/Project.java index e3ba1b3..200226e 100644 --- a/src/main/java/cn/palmte/work/model/Project.java +++ b/src/main/java/cn/palmte/work/model/Project.java @@ -150,6 +150,12 @@ public class Project { @Column(name = "create_time") @Temporal(TemporalType.TIMESTAMP) private Date createTime; + /** + * 最后更新时间 + */ + @Column(name = "last_update_time") + @Temporal(TemporalType.TIMESTAMP) + private Date lastUpdateTime; public int getId() { return id; @@ -422,4 +428,12 @@ public class Project { public void setCreateTime(Date createTime) { this.createTime = createTime; } + + public Date getLastUpdateTime() { + return lastUpdateTime; + } + + public void setLastUpdateTime(Date lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } } diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 09e9524..ab71600 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -73,6 +73,16 @@ public class ProjectService { queryHelper.addCondition("p.start_date>=? AND p.end_date<=?", startTime, endTime); } + if(StrUtil.isNotEmpty(searchInfo.get("startUpdateDate"))){ + String time = searchInfo.get("startUpdateDate") + " 00:00:00"; + queryHelper.addCondition("p.last_update_time>=?", time); + } + if(StrUtil.isNotEmpty(searchInfo.get("endUpdateDate"))){ + String time = searchInfo.get("endUpdateDate") + " 00:00:00"; + queryHelper.addCondition("p.last_update_time<=?", time); + } + + return queryHelper; } @@ -134,7 +144,9 @@ public class ProjectService { project.setDeptId(admin.getId()); project.setDeptName("工程部"); - project.setCreateTime(new Date()); + Date now = new Date(); + project.setCreateTime(now); + project.setLastUpdateTime(now); project = projectRepository.saveAndFlush(project); return project; @@ -155,6 +167,8 @@ public class ProjectService { p.setApproveStatusEstimate(approveStatusEnum.getApproveStatus()); + p.setLastUpdateTime(new Date()); + return p; } diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 5d8c8c8..f8415ea 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -87,7 +87,7 @@ 项目周期 - +
@@ -105,6 +105,25 @@
+ 最后更新时间 + +
+
+
+ + +
+
+
+ + +
+
+
+ @@ -155,6 +174,7 @@ 项目创建者 部门名称 项目周期 + 最后更新时间 操作 @@ -170,6 +190,7 @@ ${list.creatorName!} ${list.deptName!} ${list.startDate?string("yyyy-MM")} ~ ${list.endDate?string("yyyy-MM")} + ${list.lastUpdateTime?string("yyyy-MM-dd HH:mm:ss")} ~ ${list.endDate?string("yyyy-MM-dd HH:mm:ss")}
@@ -254,6 +275,10 @@ keywordsObj.startDate = $("#startDate").val(); if ($("#endDate").val()) keywordsObj.endDate = $("#endDate").val(); + if ($("#startUpdateDate").val()) + keywordsObj.startUpdateDate = $("#startUpdateDate").val(); + if ($("#endUpdateDate").val()) + keywordsObj.endDate = $("#endUpdateDate").val(); var keywords = ""; if (!$.isEmptyObject(keywordsObj)) { keywords = JSON.stringify(keywordsObj);