From ad04d75ac878d6234e886b93ae64e014f0827c85 Mon Sep 17 00:00:00 2001 From: OathK1per Date: Thu, 18 Aug 2022 14:50:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=AD=9B=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E6=8A=98=E5=8F=A0=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 1 + .../palmte/work/service/ProjectService.java | 104 +++++++++--------- .../templates/admin/project_list.ftl | 64 +++++++---- 3 files changed, 97 insertions(+), 72 deletions(-) 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 ecfa689..18fbdcd 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -95,6 +95,7 @@ public class ProjectController extends BaseController { model.put("admin", InterfaceUtil.getAdmin()); model.put("deptList", deptService.findAll()); ConcurrentHashMap searchInfo = getSearchInfo(keywords, model); + model.putIfAbsent("extend", "0"); Page page = projectService.list(searchInfo, pageNumber, pageSize); List list = page.getList(); if(CollectionUtil.isNotEmpty(list)){ diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 780d59f..ef7b001 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -59,6 +59,13 @@ public class ProjectService { if(StrUtil.isNotEmpty(searchInfo.get("status")) && !"-1".equals(searchInfo.get("status"))){ queryHelper.addCondition("p.status=?", Integer.parseInt(searchInfo.get("status"))); } + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("projectNo")),"p.project_no LIKE ?", "%"+searchInfo.get("projectNo")+"%"); + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("name")),"p.name LIKE ?", "%"+searchInfo.get("name")+"%"); + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("creatorName")),"p.creator_name LIKE ?", "%"+searchInfo.get("creatorName")+"%"); + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("customer")),"p.customer LIKE ?", "%"+searchInfo.get("customer")+"%"); + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("terminalCustomer")),"p.terminal_customer LIKE ?", "%"+searchInfo.get("terminalCustomer")+"%"); + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("principal")),"p.principal LIKE ?", "%"+searchInfo.get("principal")+"%"); + /// /*if(StrUtil.isNotEmpty(searchInfo.get("approveId"))){ int approveId = Integer.parseInt(searchInfo.get("approveId")); @@ -79,63 +86,60 @@ public class ProjectService { if(StrUtil.isNotEmpty(searchInfo.get("type")) && !"-1".equals(searchInfo.get("type"))){ queryHelper.addCondition("p.type=?", Integer.parseInt(searchInfo.get("type"))); } - if(StrUtil.isNotEmpty(searchInfo.get("isSecond")) && !"-1".equals(searchInfo.get("isSecond"))){ - queryHelper.addCondition("p.is_second=?", Integer.parseInt(searchInfo.get("isSecond"))); - } - if(StrUtil.isNotEmpty(searchInfo.get("signType")) && !"-1".equals(searchInfo.get("signType"))){ - queryHelper.addCondition("p.sign_type=?", Integer.parseInt(searchInfo.get("signType"))); - } - if(StrUtil.isNotEmpty(searchInfo.get("resolvePlan")) && !"-1".equals(searchInfo.get("resolvePlan"))){ - queryHelper.addCondition("p.resolve_plan=?", Integer.parseInt(searchInfo.get("resolvePlan"))); - } if(StrUtil.isNotEmpty(searchInfo.get("underwrittenMode")) && !"-1".equals(searchInfo.get("underwrittenMode"))){ queryHelper.addCondition("p.underwritten_mode=?", Integer.parseInt(searchInfo.get("underwrittenMode"))); } if(StrUtil.isNotEmpty(searchInfo.get("certainty")) && !"-1".equals(searchInfo.get("certainty"))){ queryHelper.addCondition("p.certainty=?", Integer.parseInt(searchInfo.get("certainty"))); } - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("projectNo")),"p.project_no LIKE ?", "%"+searchInfo.get("projectNo")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("name")),"p.name LIKE ?", "%"+searchInfo.get("name")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("creatorName")),"p.creator_name LIKE ?", "%"+searchInfo.get("creatorName")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("industryScenario")),"p.industry_scenario LIKE ?", "%"+searchInfo.get("industryScenario")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("customer")),"p.customer LIKE ?", "%"+searchInfo.get("customer")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("terminalCustomer")),"p.terminal_customer LIKE ?", "%"+searchInfo.get("terminalCustomer")+"%"); - queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("principal")),"p.principal LIKE ?", "%"+searchInfo.get("principal")+"%"); -/** - * 只选择了一个时间的情况,就项目时间包括这个时间的 - */ - if(StrUtil.isNotEmpty(searchInfo.get("startDate")) && StrUtil.isEmpty(searchInfo.get("endDate"))){ - String time = searchInfo.get("startDate") + " 00:00:00"; - queryHelper.addCondition("p.start_date<=? AND p.end_date>=?", time, time); - } - if(StrUtil.isNotEmpty(searchInfo.get("endDate")) && StrUtil.isEmpty(searchInfo.get("startDate"))){ - String time = searchInfo.get("endDate") + " 00:00:00"; - queryHelper.addCondition("p.start_date<=? AND p.end_date>=?", time, time); - } - /** - * 两个时间都选了,则包含项目时间 - */ - if(StrUtil.isNotEmpty(searchInfo.get("startDate")) && StrUtil.isNotEmpty(searchInfo.get("endDate"))){ - String startTime = searchInfo.get("startDate") + " 00:00:00"; - String endTime = searchInfo.get("endDate") + " 23:59:59"; - 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); - } - if(StrUtil.isNotEmpty(searchInfo.get("contractStartTime"))){ - String time = searchInfo.get("contractStartTime") + " 00:00:00"; - queryHelper.addCondition("p.contract_time>=?", time); - } - if(StrUtil.isNotEmpty(searchInfo.get("contractEndTime"))){ - String time = searchInfo.get("contractEndTime") + " 00:00:00"; - queryHelper.addCondition("p.contract_time<=?", time); + if(StrUtil.isNotEmpty(searchInfo.get("extend")) && "0".equals(searchInfo.get("extend"))) { + if (StrUtil.isNotEmpty(searchInfo.get("isSecond")) && !"-1".equals(searchInfo.get("isSecond"))) { + queryHelper.addCondition("p.is_second=?", Integer.parseInt(searchInfo.get("isSecond"))); + } + if (StrUtil.isNotEmpty(searchInfo.get("signType")) && !"-1".equals(searchInfo.get("signType"))) { + queryHelper.addCondition("p.sign_type=?", Integer.parseInt(searchInfo.get("signType"))); + } + if (StrUtil.isNotEmpty(searchInfo.get("resolvePlan")) && !"-1".equals(searchInfo.get("resolvePlan"))) { + queryHelper.addCondition("p.resolve_plan=?", Integer.parseInt(searchInfo.get("resolvePlan"))); + } + queryHelper.addCondition(StrUtil.isNotEmpty(searchInfo.get("industryScenario")), "p.industry_scenario LIKE ?", "%" + searchInfo.get("industryScenario") + "%"); + /** + * 只选择了一个时间的情况,就项目时间包括这个时间的 + */ + if (StrUtil.isNotEmpty(searchInfo.get("startDate")) && StrUtil.isEmpty(searchInfo.get("endDate"))) { + String time = searchInfo.get("startDate") + " 00:00:00"; + queryHelper.addCondition("p.start_date<=? AND p.end_date>=?", time, time); + } + if (StrUtil.isNotEmpty(searchInfo.get("endDate")) && StrUtil.isEmpty(searchInfo.get("startDate"))) { + String time = searchInfo.get("endDate") + " 00:00:00"; + queryHelper.addCondition("p.start_date<=? AND p.end_date>=?", time, time); + } + /** + * 两个时间都选了,则包含项目时间 + */ + if (StrUtil.isNotEmpty(searchInfo.get("startDate")) && StrUtil.isNotEmpty(searchInfo.get("endDate"))) { + String startTime = searchInfo.get("startDate") + " 00:00:00"; + String endTime = searchInfo.get("endDate") + " 23:59:59"; + 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); + } + if (StrUtil.isNotEmpty(searchInfo.get("contractStartTime"))) { + String time = searchInfo.get("contractStartTime") + " 00:00:00"; + queryHelper.addCondition("p.contract_time>=?", time); + } + if (StrUtil.isNotEmpty(searchInfo.get("contractEndTime"))) { + String time = searchInfo.get("contractEndTime") + " 00:00:00"; + queryHelper.addCondition("p.contract_time<=?", time); + } } //项目可见性,根据角色和人员id diff --git a/src/main/resources/templates/admin/project_list.ftl b/src/main/resources/templates/admin/project_list.ftl index 384b90d..a44968a 100644 --- a/src/main/resources/templates/admin/project_list.ftl +++ b/src/main/resources/templates/admin/project_list.ftl @@ -145,7 +145,7 @@ - + hidden> 是否二次合作
@@ -185,7 +185,7 @@ - + hidden> 最后更新时间
@@ -248,6 +248,9 @@
+ <@shiro.hasPermission name="PROJECT_QUERY">