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<String, String> searchInfo = getSearchInfo(keywords, model); + model.putIfAbsent("extend", "0"); Page<Project> page = projectService.list(searchInfo, pageNumber, pageSize); List<Project> 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 @@ </td> </tr> - <tr> + <tr class="extendCondition" <#if extend='1'> hidden</#if>> <th class="am-text-middle" style="width: 10%">是否二次合作</th> <td style="width: 15%"> <div class="am-u-sm-10"> @@ -185,7 +185,7 @@ </td> </tr> - <tr> + <tr class="extendCondition" <#if extend='1'> hidden</#if>> <th class="am-text-middle" style="width: 10%">最后更新时间</th> <td style="width: 15%"> <div class="am-u-sm-10"> @@ -248,6 +248,9 @@ <tr> <td colspan="8"> <div align='right'> + <button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary" + id="extend" value="${extend!}">隐藏筛选项 + </button> <@shiro.hasPermission name="PROJECT_QUERY"> <button type="button" class="am-btn am-btn-default am-btn-sm am-text-secondary" id="submit-btn">搜索 @@ -652,6 +655,19 @@ $(function () { + $("#extend").on("click", function () { + var extend = $("#extend").val(); + if (extend === '0') { + $(".extendCondition").hide(); + $("#extend").val(1); + $("#extend").text("扩展筛选项"); + } else { + $(".extendCondition").show(); + $("#extend").val(0); + $("#extend").text("隐藏筛选项"); + } + }); + $("#submit-btn").on("click", function () { $("#pageNumber").val(1); setKeywords(); @@ -668,6 +684,8 @@ function setKeywords() { var keywordsObj = {}; + var extend = $("#extend").val(); + keywordsObj.extend = extend; if ($("#projectNo").val()) keywordsObj.projectNo = $("#projectNo").val(); if ($("#name").val()) @@ -676,12 +694,6 @@ keywordsObj.creatorName = $("#creatorName").val(); if ($("#status").val()) keywordsObj.status = $("#status").val(); - if ($("#isSecond").val()) - keywordsObj.isSecond = $("#isSecond").val(); - if ($("#signType").val()) - keywordsObj.signType = $("#signType").val(); - if ($("#resolvePlan").val()) - keywordsObj.resolvePlan = $("#resolvePlan").val(); if ($("#approveStatus").val()) keywordsObj.approveStatus = $("#approveStatus").val(); if ($("#deptId").val()) @@ -692,26 +704,34 @@ keywordsObj.underwrittenMode = $("#underwrittenMode").val(); if ($("#certainty").val()) keywordsObj.certainty = $("#certainty").val(); - if ($("#industryScenario").val()) - keywordsObj.industryScenario = $("#industryScenario").val(); + if (extend === '0') { + if ($("#isSecond").val()) + keywordsObj.isSecond = $("#isSecond").val(); + if ($("#signType").val()) + keywordsObj.signType = $("#signType").val(); + if ($("#resolvePlan").val()) + keywordsObj.resolvePlan = $("#resolvePlan").val(); + if ($("#startDate").val()) + keywordsObj.startDate = $("#startDate").val(); + if ($("#endDate").val()) + keywordsObj.endDate = $("#endDate").val(); + if ($("#startUpdateDate").val()) + keywordsObj.startUpdateDate = $("#startUpdateDate").val(); + if ($("#endUpdateDate").val()) + keywordsObj.endUpdateDate = $("#endUpdateDate").val(); + if ($("#contractStartTime").val()) + keywordsObj.contractStartTime = $("#contractStartTime").val(); + if ($("#contractEndTime").val()) + keywordsObj.contractEndTime = $("#contractEndTime").val(); + if ($("#industryScenario").val()) + keywordsObj.industryScenario = $("#industryScenario").val(); + } if ($("#customer").val()) keywordsObj.customer = $("#customer").val(); if ($("#terminalCustomer").val()) keywordsObj.terminalCustomer = $("#terminalCustomer").val(); if ($("#principal").val()) keywordsObj.principal = $("#principal").val(); - if ($("#startDate").val()) - keywordsObj.startDate = $("#startDate").val(); - if ($("#endDate").val()) - keywordsObj.endDate = $("#endDate").val(); - if ($("#startUpdateDate").val()) - keywordsObj.startUpdateDate = $("#startUpdateDate").val(); - if ($("#endUpdateDate").val()) - keywordsObj.endUpdateDate = $("#endUpdateDate").val(); - if ($("#contractStartTime").val()) - keywordsObj.contractStartTime = $("#contractStartTime").val(); - if ($("#contractEndTime").val()) - keywordsObj.contractEndTime = $("#contractEndTime").val(); var keywords = ""; if (!$.isEmptyObject(keywordsObj)) { keywords = JSON.stringify(keywordsObj);