diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java index 5d1dc8c..eb2d04d 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java @@ -8,12 +8,14 @@ import com.casic.missiles.modular.system.dto.BusPatrolLogDTO; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.casic.missiles.modular.system.service.IBusPatrolLogService; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.io.IOException; /** * 巡检日志控制器 @@ -33,8 +35,8 @@ * 获取巡检日志分页列表 */ @RequestMapping(value = "/listPage") - public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) { - Page page = PageFactory.defaultPage(); + public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) throws IOException { + Page page = PageFactory.defaultPage(); return ResponseData.success(super.packForBT(busPatrolLogService.patrolLogListPage(page, busPatrolLogDTO.getMonitorId(), busPatrolLogDTO.getStartTime(), busPatrolLogDTO.getEndTime()))); } diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java index 5d1dc8c..eb2d04d 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java @@ -8,12 +8,14 @@ import com.casic.missiles.modular.system.dto.BusPatrolLogDTO; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.casic.missiles.modular.system.service.IBusPatrolLogService; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.io.IOException; /** * 巡检日志控制器 @@ -33,8 +35,8 @@ * 获取巡检日志分页列表 */ @RequestMapping(value = "/listPage") - public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) { - Page page = PageFactory.defaultPage(); + public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) throws IOException { + Page page = PageFactory.defaultPage(); return ResponseData.success(super.packForBT(busPatrolLogService.patrolLogListPage(page, busPatrolLogDTO.getMonitorId(), busPatrolLogDTO.getStartTime(), busPatrolLogDTO.getEndTime()))); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java index 0e4b4b4..0d6f531 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java @@ -4,6 +4,9 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.poi.ss.formula.functions.T; + +import java.io.IOException; /** *

@@ -15,7 +18,7 @@ */ public interface IBusPatrolLogService extends IService { - Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime); + Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException; ResponseData deletePatrolLog(Long monitorId, String startTime, String endTime); diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java index 5d1dc8c..eb2d04d 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java @@ -8,12 +8,14 @@ import com.casic.missiles.modular.system.dto.BusPatrolLogDTO; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.casic.missiles.modular.system.service.IBusPatrolLogService; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.io.IOException; /** * 巡检日志控制器 @@ -33,8 +35,8 @@ * 获取巡检日志分页列表 */ @RequestMapping(value = "/listPage") - public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) { - Page page = PageFactory.defaultPage(); + public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) throws IOException { + Page page = PageFactory.defaultPage(); return ResponseData.success(super.packForBT(busPatrolLogService.patrolLogListPage(page, busPatrolLogDTO.getMonitorId(), busPatrolLogDTO.getStartTime(), busPatrolLogDTO.getEndTime()))); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java index 0e4b4b4..0d6f531 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java @@ -4,6 +4,9 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.poi.ss.formula.functions.T; + +import java.io.IOException; /** *

@@ -15,7 +18,7 @@ */ public interface IBusPatrolLogService extends IService { - Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime); + Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException; ResponseData deletePatrolLog(Long monitorId, String startTime, String endTime); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java index 8b30752..1f6f780 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.IOException; import java.util.List; /** @@ -39,18 +41,24 @@ private final BusObserpoiInfoMapper obserpoiInfoMapper; @Override - public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) { + public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); dataScope.setScopeName("DEPT_ID"); List obserpoiInfoList = getObserpoiList(monitorId); ElasticSearchQuery elasticSearchQuery = new ElasticSearchQuery(); - if (ObjectUtils.isNotEmpty(monitorId)) { - elasticSearchQuery.term("monitorId", monitorId); + if (CollectionUtils.isNotEmpty(obserpoiInfoList)) { + for(BusObserpoiInfo busObserpoiInfo:obserpoiInfoList){ + ElasticSearchQuery mustQuery = new ElasticSearchQuery(); + mustQuery.term("direction",busObserpoiInfo.getDirection()); + mustQuery.term("pitch",busObserpoiInfo.getPitch()); + elasticSearchQuery.should(mustQuery.getBool()); + } } elasticSearchQuery.range("logTime", startTime, endTime); elasticSearchQuery.sort("logTime", "DESC"); elasticSearchQuery.size(Integer.valueOf(String.valueOf(page.getSize()))); -// List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + page.setRecords(dataGasEsList); return page; } diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java index 5d1dc8c..eb2d04d 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java @@ -8,12 +8,14 @@ import com.casic.missiles.modular.system.dto.BusPatrolLogDTO; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.casic.missiles.modular.system.service.IBusPatrolLogService; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.io.IOException; /** * 巡检日志控制器 @@ -33,8 +35,8 @@ * 获取巡检日志分页列表 */ @RequestMapping(value = "/listPage") - public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) { - Page page = PageFactory.defaultPage(); + public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) throws IOException { + Page page = PageFactory.defaultPage(); return ResponseData.success(super.packForBT(busPatrolLogService.patrolLogListPage(page, busPatrolLogDTO.getMonitorId(), busPatrolLogDTO.getStartTime(), busPatrolLogDTO.getEndTime()))); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java index 0e4b4b4..0d6f531 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java @@ -4,6 +4,9 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.poi.ss.formula.functions.T; + +import java.io.IOException; /** *

@@ -15,7 +18,7 @@ */ public interface IBusPatrolLogService extends IService { - Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime); + Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException; ResponseData deletePatrolLog(Long monitorId, String startTime, String endTime); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java index 8b30752..1f6f780 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.IOException; import java.util.List; /** @@ -39,18 +41,24 @@ private final BusObserpoiInfoMapper obserpoiInfoMapper; @Override - public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) { + public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); dataScope.setScopeName("DEPT_ID"); List obserpoiInfoList = getObserpoiList(monitorId); ElasticSearchQuery elasticSearchQuery = new ElasticSearchQuery(); - if (ObjectUtils.isNotEmpty(monitorId)) { - elasticSearchQuery.term("monitorId", monitorId); + if (CollectionUtils.isNotEmpty(obserpoiInfoList)) { + for(BusObserpoiInfo busObserpoiInfo:obserpoiInfoList){ + ElasticSearchQuery mustQuery = new ElasticSearchQuery(); + mustQuery.term("direction",busObserpoiInfo.getDirection()); + mustQuery.term("pitch",busObserpoiInfo.getPitch()); + elasticSearchQuery.should(mustQuery.getBool()); + } } elasticSearchQuery.range("logTime", startTime, endTime); elasticSearchQuery.sort("logTime", "DESC"); elasticSearchQuery.size(Integer.valueOf(String.valueOf(page.getSize()))); -// List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + page.setRecords(dataGasEsList); return page; } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java b/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java index 7070935..6ffa7a3 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java @@ -60,7 +60,7 @@ */ @RequestMapping(value = "/update") @ResponseBody - public Object update(BusObserpoiInfo busObserpoiInfo) { + public Object update(@RequestBody @Valid BusObserpoiInfo busObserpoiInfo) { busObserpoiInfoService.updateById(busObserpoiInfo); return SUCCESS_TIP; } diff --git a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java index 12d18a6..8995127 100644 --- a/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java +++ b/casic-common/src/main/java/com/casic/missiles/es/ElasticSearchQuery.java @@ -21,6 +21,8 @@ private JSONObject query; private JSONObject bool; private JSONArray boolMust; + private JSONArray boolShould; + private JSONObject filter; private JSONObject filterBool; private JSONArray filterBoolMust; @@ -30,6 +32,7 @@ public static final String MUST_NOT_FLAG = "0"; public static final String QUERY = "query"; + public static final String SHOULD = "should"; public static final String BOOL = "bool"; public static final String MUST = "must"; public static final String MUST_NOT = "must_not"; @@ -57,12 +60,18 @@ this.query = this.query(); this.bool = this.bool(); this.boolMust = this.boolMust(); + this.boolShould = this.boolShould(); this.filter = this.filter(); this.filterBool = this.filterBool(); this.filterBoolMust = this.filterBoolMust(); this.filterBoolMustnot = this.filterBoolMustnot(); } + + public JSONObject getBool() { + return this.bool; + } + public ElasticSearchQuery(JSONObject body) { this.body = body; } @@ -76,7 +85,6 @@ this.body.put("query", new JSONObject()); } return this.body.getJSONObject(QUERY); - } private JSONObject bool() { @@ -95,6 +103,14 @@ return bool.getJSONArray(MUST); } + private JSONArray boolShould() { + JSONObject bool = this.bool(); + if (ObjectUtil.isEmpty(bool.get(SHOULD))) { + bool.put(SHOULD, new JSONArray()); + } + return bool.getJSONArray(SHOULD); + } + private JSONObject filter() { JSONObject bool = this.bool; if (ObjectUtil.isEmpty(bool.get(FILTER))) { @@ -111,6 +127,7 @@ return filter.getJSONObject(BOOL); } + private JSONArray filterBoolMust() { JSONObject bool = this.filterBool; if (ObjectUtil.isEmpty(bool.get(MUST))) { @@ -127,6 +144,11 @@ return bool.getJSONArray(MUST_NOT); } + + public void should(JSONObject BoolMust) { + this.boolShould.add(BoolMust); + } + public void match(String filed, Serializable value) { JSONArray boolMust = this.boolMust; JSONObject match = new JSONObject(); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java index 5d1dc8c..eb2d04d 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/controller/BusPatrolLogController.java @@ -8,12 +8,14 @@ import com.casic.missiles.modular.system.dto.BusPatrolLogDTO; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.casic.missiles.modular.system.service.IBusPatrolLogService; +import org.apache.poi.ss.formula.functions.T; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; +import java.io.IOException; /** * 巡检日志控制器 @@ -33,8 +35,8 @@ * 获取巡检日志分页列表 */ @RequestMapping(value = "/listPage") - public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) { - Page page = PageFactory.defaultPage(); + public Object listPage(@RequestBody @Valid BusPatrolLogDTO busPatrolLogDTO) throws IOException { + Page page = PageFactory.defaultPage(); return ResponseData.success(super.packForBT(busPatrolLogService.patrolLogListPage(page, busPatrolLogDTO.getMonitorId(), busPatrolLogDTO.getStartTime(), busPatrolLogDTO.getEndTime()))); } diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java index 0e4b4b4..0d6f531 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/IBusPatrolLogService.java @@ -4,6 +4,9 @@ import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.model.BusPatrolLog; import com.baomidou.mybatisplus.extension.service.IService; +import org.apache.poi.ss.formula.functions.T; + +import java.io.IOException; /** *

@@ -15,7 +18,7 @@ */ public interface IBusPatrolLogService extends IService { - Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime); + Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException; ResponseData deletePatrolLog(Long monitorId, String startTime, String endTime); diff --git a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java index 8b30752..1f6f780 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/system/service/impl/BusPatrolLogServiceImpl.java @@ -1,6 +1,7 @@ package com.casic.missiles.modular.system.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; @@ -20,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.io.IOException; import java.util.List; /** @@ -39,18 +41,24 @@ private final BusObserpoiInfoMapper obserpoiInfoMapper; @Override - public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) { + public Page patrolLogListPage(Page page, Long monitorId, String startTime, String endTime) throws IOException { DataScope dataScope = permissionContext.getAuthService().getLoginUserDataScope(); dataScope.setScopeName("DEPT_ID"); List obserpoiInfoList = getObserpoiList(monitorId); ElasticSearchQuery elasticSearchQuery = new ElasticSearchQuery(); - if (ObjectUtils.isNotEmpty(monitorId)) { - elasticSearchQuery.term("monitorId", monitorId); + if (CollectionUtils.isNotEmpty(obserpoiInfoList)) { + for(BusObserpoiInfo busObserpoiInfo:obserpoiInfoList){ + ElasticSearchQuery mustQuery = new ElasticSearchQuery(); + mustQuery.term("direction",busObserpoiInfo.getDirection()); + mustQuery.term("pitch",busObserpoiInfo.getPitch()); + elasticSearchQuery.should(mustQuery.getBool()); + } } elasticSearchQuery.range("logTime", startTime, endTime); elasticSearchQuery.sort("logTime", "DESC"); elasticSearchQuery.size(Integer.valueOf(String.valueOf(page.getSize()))); -// List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + List dataGasEsList = ElasticSearchUtil.searchQuery(DataConst.DATA_GAS_ES_INDEX, DataConst.DATA_GAS_ES_TYPE, elasticSearchQuery); + page.setRecords(dataGasEsList); return page; } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java b/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java index 7070935..6ffa7a3 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/controller/BusObserpoiInfoController.java @@ -60,7 +60,7 @@ */ @RequestMapping(value = "/update") @ResponseBody - public Object update(BusObserpoiInfo busObserpoiInfo) { + public Object update(@RequestBody @Valid BusObserpoiInfo busObserpoiInfo) { busObserpoiInfoService.updateById(busObserpoiInfo); return SUCCESS_TIP; } diff --git a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusObserpoiInfoMapper.xml b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusObserpoiInfoMapper.xml index 120e9e9..f64f967 100644 --- a/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusObserpoiInfoMapper.xml +++ b/casic-station/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusObserpoiInfoMapper.xml @@ -76,7 +76,7 @@ bm.VALID = 0 AND bs.VALID =0 - and bm.LINE_NUM = #{lineNum} + and bm.LINE_NUM = #{obserpoiRequest.lineNum} and bm.ID = #{obserpoiRequest.monitorId}