diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java index 1bcedf7..7741dae 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java @@ -28,7 +28,7 @@ if (ObjectUtil.isEmpty(pipeCode)) { throw new ServiceException(CoreExceptionEnum.REQUEST_NULL); } - return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode.split("-")[0])); + return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode)); } /** diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java index 1bcedf7..7741dae 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java @@ -28,7 +28,7 @@ if (ObjectUtil.isEmpty(pipeCode)) { throw new ServiceException(CoreExceptionEnum.REQUEST_NULL); } - return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode.split("-")[0])); + return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode)); } /** diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java index 2364ab9..c238844 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java @@ -117,16 +117,21 @@ List getValvesByPipe( @Param("pipeCode") String pipeCode); @Select("SELECT " + - " bvi.\"VALVE_CODE\" AS valveCode, " + + " bvi.well_code AS valveCode, " + " bb.\"BLOCK_CODE\" AS blockCode, " + + " bvi.\"position\" AS place, " + " bb.\"POSITION\" AS position, " + " bb.\"NAME\" AS blockName " + "FROM " + - " bus_valve_info bvi " + - " LEFT JOIN bus_valve_block bvb ON bvi.\"VALVE_CODE\" = bvb.\"VALVE_CODE\" " + + " bus_well_info bvi " + + " LEFT JOIN bus_valve_block bvb ON bvi.well_code = bvb.\"VALVE_CODE\" " + " LEFT JOIN bus_block_information bb ON bvb.\"BLOCK_CODE\" = bb.\"BLOCK_CODE\" " + "WHERE " + - " bvi.\"VALVE_CODE\" = #{valveCode} ") + " bvi.well_code = #{valveCode} ") List getAreasByValve(@Param("valveCode") String valveCode); + + @Select("SELECT well_code as valveCode,lng_gaode as longitude,lat_gaode as latitude FROM bus_well_info where well_code in (${valveCodesStrs}) and \"valid\"='1' ") + List getWells( @Param("valveCodesStrs") String valveCodesStrs); + } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java index 1bcedf7..7741dae 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java @@ -28,7 +28,7 @@ if (ObjectUtil.isEmpty(pipeCode)) { throw new ServiceException(CoreExceptionEnum.REQUEST_NULL); } - return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode.split("-")[0])); + return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode)); } /** diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java index 2364ab9..c238844 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java @@ -117,16 +117,21 @@ List getValvesByPipe( @Param("pipeCode") String pipeCode); @Select("SELECT " + - " bvi.\"VALVE_CODE\" AS valveCode, " + + " bvi.well_code AS valveCode, " + " bb.\"BLOCK_CODE\" AS blockCode, " + + " bvi.\"position\" AS place, " + " bb.\"POSITION\" AS position, " + " bb.\"NAME\" AS blockName " + "FROM " + - " bus_valve_info bvi " + - " LEFT JOIN bus_valve_block bvb ON bvi.\"VALVE_CODE\" = bvb.\"VALVE_CODE\" " + + " bus_well_info bvi " + + " LEFT JOIN bus_valve_block bvb ON bvi.well_code = bvb.\"VALVE_CODE\" " + " LEFT JOIN bus_block_information bb ON bvb.\"BLOCK_CODE\" = bb.\"BLOCK_CODE\" " + "WHERE " + - " bvi.\"VALVE_CODE\" = #{valveCode} ") + " bvi.well_code = #{valveCode} ") List getAreasByValve(@Param("valveCode") String valveCode); + + @Select("SELECT well_code as valveCode,lng_gaode as longitude,lat_gaode as latitude FROM bus_well_info where well_code in (${valveCodesStrs}) and \"valid\"='1' ") + List getWells( @Param("valveCodesStrs") String valveCodesStrs); + } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java index 3ba182a..b29c13b 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java @@ -10,7 +10,10 @@ private String valveCode; private List positions; + //影响区域位置 private String position; + //井的位置 + private String place; private String blockCode; private String blockName; } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java index 1bcedf7..7741dae 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java @@ -28,7 +28,7 @@ if (ObjectUtil.isEmpty(pipeCode)) { throw new ServiceException(CoreExceptionEnum.REQUEST_NULL); } - return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode.split("-")[0])); + return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode)); } /** diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java index 2364ab9..c238844 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java @@ -117,16 +117,21 @@ List getValvesByPipe( @Param("pipeCode") String pipeCode); @Select("SELECT " + - " bvi.\"VALVE_CODE\" AS valveCode, " + + " bvi.well_code AS valveCode, " + " bb.\"BLOCK_CODE\" AS blockCode, " + + " bvi.\"position\" AS place, " + " bb.\"POSITION\" AS position, " + " bb.\"NAME\" AS blockName " + "FROM " + - " bus_valve_info bvi " + - " LEFT JOIN bus_valve_block bvb ON bvi.\"VALVE_CODE\" = bvb.\"VALVE_CODE\" " + + " bus_well_info bvi " + + " LEFT JOIN bus_valve_block bvb ON bvi.well_code = bvb.\"VALVE_CODE\" " + " LEFT JOIN bus_block_information bb ON bvb.\"BLOCK_CODE\" = bb.\"BLOCK_CODE\" " + "WHERE " + - " bvi.\"VALVE_CODE\" = #{valveCode} ") + " bvi.well_code = #{valveCode} ") List getAreasByValve(@Param("valveCode") String valveCode); + + @Select("SELECT well_code as valveCode,lng_gaode as longitude,lat_gaode as latitude FROM bus_well_info where well_code in (${valveCodesStrs}) and \"valid\"='1' ") + List getWells( @Param("valveCodesStrs") String valveCodesStrs); + } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java index 3ba182a..b29c13b 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java @@ -10,7 +10,10 @@ private String valveCode; private List positions; + //影响区域位置 private String position; + //井的位置 + private String place; private String blockCode; private String blockName; } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java index 7074e09..bcf16b7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java @@ -12,6 +12,6 @@ private String latitude; - //阀门类型,0:上游阀门,1:下游阀门 + //阀门类型,0:上游阀门,1:下游阀门,2:其他 private String valveType; } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java index 1bcedf7..7741dae 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/controller/LeakAnalysisController.java @@ -28,7 +28,7 @@ if (ObjectUtil.isEmpty(pipeCode)) { throw new ServiceException(CoreExceptionEnum.REQUEST_NULL); } - return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode.split("-")[0])); + return ResponseData.success(dataAnalysisService.getValvesByPipe(pipeCode)); } /** diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java index 2364ab9..c238844 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/dao/DataAnalysisMapper.java @@ -117,16 +117,21 @@ List getValvesByPipe( @Param("pipeCode") String pipeCode); @Select("SELECT " + - " bvi.\"VALVE_CODE\" AS valveCode, " + + " bvi.well_code AS valveCode, " + " bb.\"BLOCK_CODE\" AS blockCode, " + + " bvi.\"position\" AS place, " + " bb.\"POSITION\" AS position, " + " bb.\"NAME\" AS blockName " + "FROM " + - " bus_valve_info bvi " + - " LEFT JOIN bus_valve_block bvb ON bvi.\"VALVE_CODE\" = bvb.\"VALVE_CODE\" " + + " bus_well_info bvi " + + " LEFT JOIN bus_valve_block bvb ON bvi.well_code = bvb.\"VALVE_CODE\" " + " LEFT JOIN bus_block_information bb ON bvb.\"BLOCK_CODE\" = bb.\"BLOCK_CODE\" " + "WHERE " + - " bvi.\"VALVE_CODE\" = #{valveCode} ") + " bvi.well_code = #{valveCode} ") List getAreasByValve(@Param("valveCode") String valveCode); + + @Select("SELECT well_code as valveCode,lng_gaode as longitude,lat_gaode as latitude FROM bus_well_info where well_code in (${valveCodesStrs}) and \"valid\"='1' ") + List getWells( @Param("valveCodesStrs") String valveCodesStrs); + } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java index 3ba182a..b29c13b 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/AreaDto.java @@ -10,7 +10,10 @@ private String valveCode; private List positions; + //影响区域位置 private String position; + //井的位置 + private String place; private String blockCode; private String blockName; } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java index 7074e09..bcf16b7 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/model/ValveDto.java @@ -12,6 +12,6 @@ private String latitude; - //阀门类型,0:上游阀门,1:下游阀门 + //阀门类型,0:上游阀门,1:下游阀门,2:其他 private String valveType; } diff --git a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/IDataAnalysisServiceImpl.java b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/IDataAnalysisServiceImpl.java index cfce573..2669a4f 100644 --- a/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/IDataAnalysisServiceImpl.java +++ b/casic-data-analysis/src/main/java/com/casic/missiles/modular/system/service/impl/IDataAnalysisServiceImpl.java @@ -26,6 +26,7 @@ import com.casic.missiles.modular.system.service.IBusDeviceSupportService; import com.casic.missiles.modular.system.service.IDataAnalysisService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Component; @@ -33,10 +34,7 @@ import java.text.DateFormat; import java.text.DecimalFormat; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 数据统计分析 @@ -668,23 +666,41 @@ return responseData; } + @Override public List getValvesByPipe(String pipeCode) { - return this.baseMapper.getValvesByPipe(pipeCode); + List valveDtoList = this.baseMapper.getValvesByPipe(pipeCode); + List resultList = new ArrayList<>(); + for (ValveDto valveDto : valveDtoList) { + if (ObjectUtil.isNotEmpty(valveDto.getValveCode())) { + String[] valveCodes = valveDto.getValveCode().split("\\^"); + String valveCodesStr = StringUtils.join(valveCodes, "\',\'"); + String valveCodesStrs = StringUtils.wrap(valveCodesStr, "\'"); + List wellList = this.baseMapper.getWells(valveCodesStrs); + for (ValveDto well : wellList) { + if (Arrays.asList(valveCodes).contains(well.getValveCode())) { + well.setValveType("0".equals(valveDto.getValveType()) ? "上游" : + ("1".equals(valveDto.getValveType()) ? "下游" : "其他")); + resultList.add(well); + } + } + } + } + return resultList; } @Override public List getAreasByValve(String valveCode) { - List areaDtoList = this.baseMapper.getAreasByValve(valveCode); + List areaDtoList = this.baseMapper.getAreasByValve(valveCode); - for(AreaDto areaDto:areaDtoList){ - String positions=areaDto.getPosition(); - if(ObjectUtil.isNotEmpty(positions)){ - List areaPointDtoList = new ArrayList<>(); + for (AreaDto areaDto : areaDtoList) { + String positions = areaDto.getPosition(); + if (ObjectUtil.isNotEmpty(positions)) { + List areaPointDtoList = new ArrayList<>(); JSONArray jsonArray = JSONArray.parseArray(positions); for (int i = 0; i < jsonArray.size(); i++) { - JSONArray jsonArray1 = (JSONArray)jsonArray.get(i); - areaPointDtoList.add(new AreaPointDto(jsonArray1.get(1).toString(),jsonArray1.get(0).toString())); + JSONArray jsonArray1 = (JSONArray) jsonArray.get(i); + areaPointDtoList.add(new AreaPointDto(jsonArray1.get(1).toString(), jsonArray1.get(0).toString())); } areaDto.setPositions(areaPointDtoList); }