|  |  | 
 |  |  | package com.ruoyi.alarmpoints.well.service.impl; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.sql.*; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.HashMap; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam; | 
 |  |  | import com.github.pagehelper.PageHelper; | 
 |  |  | import com.github.pagehelper.PageInfo; | 
 |  |  | import com.ruoyi.alarmpoints.well.domain.*; | 
 |  |  | import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; | 
 |  |  | import com.ruoyi.alarmpoints.well.mapper.ArdWellGuideCameraMapper; | 
 |  |  | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; | 
 |  |  | import com.ruoyi.common.annotation.DataScope; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysConfig; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysDept; | 
 |  |  | import com.ruoyi.common.core.domain.entity.SysUser; | 
 |  |  | import com.ruoyi.common.exception.ServiceException; | 
 |  |  | import com.ruoyi.common.utils.DateUtils; | 
 |  |  | 
 |  |  | import com.ruoyi.common.utils.bean.BeanValidators; | 
 |  |  | import com.ruoyi.common.utils.spring.SpringUtils; | 
 |  |  | import com.ruoyi.common.utils.uuid.IdUtils; | 
 |  |  | import com.ruoyi.system.mapper.SysDeptMapper; | 
 |  |  | import com.ruoyi.utils.data.Query; | 
 |  |  | import com.ruoyi.utils.gis.GisUtil; | 
 |  |  | import lombok.ToString; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | 
 |  |  |     private static final Logger log = LoggerFactory.getLogger(ArdAlarmpointsWellServiceImpl.class); | 
 |  |  |     @Resource | 
 |  |  |     private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper; | 
 |  |  |     @Resource | 
 |  |  |     private ArdWellGuideCameraMapper ardWellGuideCameraMapper; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     protected Validator validator; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     protected SysDeptMapper sysDeptMapper; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查询井管理 | 
 |  |  |      * | 
 |  |  | 
 |  |  |     public ArdAlarmpointsWell selectArdAlarmpointsWellById(String id) { | 
 |  |  |         return ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(id); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查询井管理 | 
 |  |  |      * | 
 |  |  | 
 |  |  |      * @return 井管理 | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @DataScope(deptAlias = "d",userAlias = "u") | 
 |  |  |     @DataScope(deptAlias = "d", userAlias = "u") | 
 |  |  |     public List<ArdAlarmpointsWell> selectArdAlarmpointsWellList(ArdAlarmpointsWell ardAlarmpointsWell) { | 
 |  |  |         return ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * | 
 |  |  |      * @param ardAlarmpointsWell 按井编号查询 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     @DataScope(deptAlias = "d",userAlias = "u") | 
 |  |  |     @DataScope(deptAlias = "d", userAlias = "u") | 
 |  |  |     public List<ArdAlarmpointsWell> selectArdAlarmpointsWellByWellIdLike(ArdAlarmpointsWell ardAlarmpointsWell) { | 
 |  |  |         return ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellIdLike(ardAlarmpointsWell); | 
 |  |  |     } | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int insertArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { | 
 |  |  |         boolean wellIdExists = ardAlarmpointsWellMapper.checkWellIdExists(ardAlarmpointsWell.getWellId()); | 
 |  |  |         if(wellIdExists) | 
 |  |  |         { | 
 |  |  |         boolean wellIdExists = checkWellIdExists(ardAlarmpointsWell); | 
 |  |  |         if (wellIdExists) { | 
 |  |  |             throw new RuntimeException("井号已存在"); | 
 |  |  |         } | 
 |  |  |         ardAlarmpointsWell.setId(IdUtils.simpleUUID()); | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int updateArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { | 
 |  |  |         boolean wellIdExists = ardAlarmpointsWellMapper.checkWellIdExists(ardAlarmpointsWell.getWellId()); | 
 |  |  |         if(wellIdExists) | 
 |  |  |         { | 
 |  |  |         boolean wellIdExists = checkWellIdExists(ardAlarmpointsWell); | 
 |  |  |         if (wellIdExists) { | 
 |  |  |             throw new RuntimeException("井号已存在"); | 
 |  |  |         } | 
 |  |  |         ardAlarmpointsWell.setUpdateBy(SecurityUtils.getUsername()); | 
 |  |  |         ardAlarmpointsWell.setUpdateTime(DateUtils.getNowDate()); | 
 |  |  |         return ardAlarmpointsWellMapper.updateArdAlarmpointsWell(ardAlarmpointsWell); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     @Transactional | 
 |  |  |     public int updateArdAlarmpointsWellByWellId(ArdAlarmpointsWell ardAlarmpointsWell) { | 
 |  |  |         ardAlarmpointsWell.setUpdateBy(SecurityUtils.getUsername()); | 
 |  |  |         ardAlarmpointsWell.setUpdateTime(DateUtils.getNowDate()); | 
 |  |  |         return ardAlarmpointsWellMapper.updateArdAlarmpointsWellByWellId(ardAlarmpointsWell); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public String importUser(List<ArdAlarmpointsWell> ardAlarmpointsWellList, Boolean isUpdateSupport, String operName) { | 
 |  |  |     public String importWell(List<ArdAlarmpointsWell> ardAlarmpointsWellList, Boolean isUpdateSupport, String operName) { | 
 |  |  |         if (StringUtils.isNull(ardAlarmpointsWellList) || ardAlarmpointsWellList.size() == 0) { | 
 |  |  |             throw new ServiceException("导入井数据不能为空!"); | 
 |  |  |         } | 
 |  |  | 
 |  |  |                 //获取当前登录用户id | 
 |  |  |                 String userId = SecurityUtils.getUserId(); | 
 |  |  |                 well.setUserId(userId); | 
 |  |  |                 // 验证是否存在这个用户 | 
 |  |  |                 ArdAlarmpointsWell u = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(well.getWellId()); | 
 |  |  |                 if (StringUtils.isNull(u)) { | 
 |  |  |                 // 验证是否存在这个井 | 
 |  |  |                 ArdAlarmpointsWell w = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(well.getWellId()); | 
 |  |  |                 if (StringUtils.isNull(w)) { | 
 |  |  |                     BeanValidators.validateWithException(validator, well); | 
 |  |  |                     well.setCreateBy(operName); | 
 |  |  |                     this.insertArdAlarmpointsWell(well); | 
 |  |  | 
 |  |  |                     successMsg.append("<br/>" + successNum + "、井号 " + well.getWellId() + " 导入成功"); | 
 |  |  |                 } else if (isUpdateSupport) { | 
 |  |  |                     BeanValidators.validateWithException(validator, well); | 
 |  |  |                     checkWellAllowed(well); | 
 |  |  |                     checkWellDataScope(well.getUserId()); | 
 |  |  |                     well.setUpdateBy(operName); | 
 |  |  |                     this.updateArdAlarmpointsWell(well); | 
 |  |  |                     this.updateArdAlarmpointsWellByWellId(well); | 
 |  |  |                     successNum++; | 
 |  |  |                     successMsg.append("<br/>" + successNum + "、井号 " + well.getWellId() + " 更新成功"); | 
 |  |  |                 } else { | 
 |  |  | 
 |  |  |      * @param well 井信息 | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void checkWellAllowed(ArdAlarmpointsWell well) | 
 |  |  |     { | 
 |  |  |         if (StringUtils.isNotNull(well.getId())) | 
 |  |  |         { | 
 |  |  |     public void checkWellAllowed(ArdAlarmpointsWell well) { | 
 |  |  |         if (StringUtils.isNotNull(well.getId())) { | 
 |  |  |             throw new ServiceException("不允许操作井"); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | 
 |  |  |      * @param userId 用户id | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void checkWellDataScope(String userId) | 
 |  |  |     { | 
 |  |  |         if (!SysUser.isAdmin(SecurityUtils.getUserId())) | 
 |  |  |         { | 
 |  |  |     public void checkWellDataScope(String userId) { | 
 |  |  |         if (!SysUser.isAdmin(SecurityUtils.getUserId())) { | 
 |  |  |             ArdAlarmpointsWell well = new ArdAlarmpointsWell(); | 
 |  |  |             well.setUserId(userId); | 
 |  |  |             List<ArdAlarmpointsWell> wells = SpringUtils.getAopProxy(this).selectArdAlarmpointsWellList(well); | 
 |  |  |             if (StringUtils.isEmpty(wells)) | 
 |  |  |             { | 
 |  |  |             if (StringUtils.isEmpty(wells)) { | 
 |  |  |                 throw new ServiceException("没有权限访问井数据!"); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 核对井号是否唯一 | 
 |  |  |      * | 
 |  |  |      * @param well 需要核对的井 | 
 |  |  |      * @return 结果 | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public Boolean checkWellIdExists(ArdAlarmpointsWell well) { | 
 |  |  |         // 校验:wellId | 
 |  |  |         String id = (well.getId() == null) ? "" : well.getId(); | 
 |  |  |         String wellId = well.getWellId(); | 
 |  |  |         ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.checkWellIdExists(wellId); | 
 |  |  |         String infoId = (ardAlarmpointsWell == null) ? "" : (ardAlarmpointsWell.getId()); | 
 |  |  |         if ((ardAlarmpointsWell != null) && !((infoId).equals(id))) { | 
 |  |  |             //已存在 | 
 |  |  |             return true; | 
 |  |  |         } | 
 |  |  |         return false; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ArdAlarmpointsWell> wellByDeptList(List<Long> deptList) { | 
 |  |  |         QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.in("dept_id",deptList); | 
 |  |  |         queryWrapper.in("dept_id", deptList); | 
 |  |  |         return ardAlarmpointsWellMapper.selectList(queryWrapper); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ArdAlarmpointsWell> wellList(List<Long> deptList) { | 
 |  |  |         QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.select("id","well_id","oil_production","longitude","latitude","altitude").in("dept_id",deptList); | 
 |  |  |         queryWrapper.select("id", "well_id", "oil_production", "longitude", "latitude", "altitude").in("dept_id", deptList); | 
 |  |  |         return ardAlarmpointsWellMapper.selectList(queryWrapper); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ArdAlarmpointsWell> conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam){ | 
 |  |  |     public PageInfo<ArdAlarmpointsWell> conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam) { | 
 |  |  |         Integer pageNum = ardAlarmpointsWellParam.getPageNum(); | 
 |  |  |         Integer pageSize = ardAlarmpointsWellParam.getPageSize(); | 
 |  |  |         PageHelper.startPage(pageNum, pageSize); | 
 |  |  |         QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.in("dept_id",ardAlarmpointsWellParam.getDeptList()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellId()),"well_id",ardAlarmpointsWellParam.getWellId()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellNumber()),"well_number",ardAlarmpointsWellParam.getWellNumber()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getOilProduction()),"oil_production",ardAlarmpointsWellParam.getOilProduction()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellBlock()),"well_block",ardAlarmpointsWellParam.getWellBlock()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getDisplacementMode()),"displacement_mode",ardAlarmpointsWellParam.getDisplacementMode()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getSurroundingEnvironment()),"surrounding_environment",ardAlarmpointsWellParam.getSurroundingEnvironment()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellType()),"well_type",ardAlarmpointsWellParam.getWellType()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getInstalledLoad()),"installed_load",ardAlarmpointsWellParam.getInstalledLoad()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getMeteringStation()),"metering_station",ardAlarmpointsWellParam.getMeteringStation()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getTransferStation()),"transfer_station",ardAlarmpointsWellParam.getTransferStation()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getDehydrationStation()),"dehydration_station",ardAlarmpointsWellParam.getDehydrationStation()) | 
 |  |  |         .eq(!StringUtils.isBlank(ardAlarmpointsWellParam.getRunStatus()),"run_status",ardAlarmpointsWellParam.getRunStatus()); | 
 |  |  |         return ardAlarmpointsWellMapper.selectList(queryWrapper); | 
 |  |  |         queryWrapper.select("id","altitude","metering_station","displacement_mode","latitude","dehydration_station", | 
 |  |  |                 "well_type","production_date","well_id","transfer_station","oil_production","run_status","longitude", | 
 |  |  |                 "installed_load","dept_id","user_id","surrounding_environment","well_number","well_block") | 
 |  |  |                 .like(!StringUtils.isBlank(ardAlarmpointsWellParam.getWellId()), "well_id", ardAlarmpointsWellParam.getWellId()) | 
 |  |  |                 .in("dept_id", ardAlarmpointsWellParam.getDeptList()); | 
 |  |  |         List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.selectList(queryWrapper); | 
 |  |  | //        List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.conditionList(ardAlarmpointsWellParam.getWellId(),ardAlarmpointsWellParam.getDeptList()); | 
 |  |  |         return new PageInfo<>(list); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList) { | 
 |  |  |         return ardAlarmpointsWellMapper.wellListDept(deptList); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<ArdAlarmpointsWell> getNearbyWellList(Double longitudeCenter, Double latitudeCenter, Long deptId, Integer range) { | 
 |  |  |         List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>(); | 
 |  |  |         try { | 
 |  |  |             if (longitudeCenter != null && latitudeCenter != null) { | 
 |  |  |                 ArdAlarmpointsWell ardAlarmpointsWell = new ArdAlarmpointsWell(); | 
 |  |  |                 ardAlarmpointsWell.setDeptId(deptId); | 
 |  |  |                 List<ArdAlarmpointsWell> ardAlarmpointsWells = ardAlarmpointsWellMapper.selectArdAlarmpointsWellList(ardAlarmpointsWell); | 
 |  |  |                 if (ardAlarmpointsWells.size() > 0) { | 
 |  |  |                     for (ArdAlarmpointsWell well : ardAlarmpointsWells) { | 
 |  |  |                         Double longitude = well.getLongitude(); | 
 |  |  |                         Double latitude = well.getLatitude(); | 
 |  |  |                         if (longitude != null && latitude != null) { | 
 |  |  |                             double distance = GisUtil.getDistance(new Double[]{longitudeCenter, latitudeCenter}, new Double[]{longitude, latitude}); | 
 |  |  |                             if (distance <= range) { | 
 |  |  |                                 nearbyWellList.add(well); | 
 |  |  |                             } | 
 |  |  |                         } | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } catch (Exception ex) { | 
 |  |  |             log.error("获取附近井异常:" + ex.getMessage()); | 
 |  |  |         } | 
 |  |  |         return nearbyWellList; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getWellDataByWellId(String wellId, List<SysConfig> config) { | 
 |  |  |         ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(wellId); | 
 |  |  |         Map<String, Object> result = new HashMap(); | 
 |  |  |         if (ardAlarmpointsWell.getWellId() != null) { | 
 |  |  |             result.put("wellId", ardAlarmpointsWell.getWellId()); | 
 |  |  |         } else { | 
 |  |  |             result.put("wellId", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getWellNumber() != null) { | 
 |  |  |             result.put("wellNumber", ardAlarmpointsWell.getWellNumber()); | 
 |  |  |         } else { | 
 |  |  |             result.put("wellNumber", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getOilProduction() != null) { | 
 |  |  |             result.put("oilProduction", ardAlarmpointsWell.getOilProduction()); | 
 |  |  |         } else { | 
 |  |  |             result.put("oilProduction", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getWellBlock() != null) { | 
 |  |  |             result.put("wellBlock", ardAlarmpointsWell.getWellBlock()); | 
 |  |  |         } else { | 
 |  |  |             result.put("wellBlock", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getProductionDate() != null) { | 
 |  |  |             result.put("productionDate", ardAlarmpointsWell.getProductionDate()); | 
 |  |  |         } else { | 
 |  |  |             result.put("productionDate", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getDisplacementMode() != null) { | 
 |  |  |             result.put("displacementMode", ardAlarmpointsWell.getDisplacementMode()); | 
 |  |  |         } else { | 
 |  |  |             result.put("displacementMode", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getSurroundingEnvironment() != null) { | 
 |  |  |             result.put("surroundingEnvironment", ardAlarmpointsWell.getSurroundingEnvironment()); | 
 |  |  |         } else { | 
 |  |  |             result.put("surroundingEnvironment", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getWellType() != null) { | 
 |  |  |             result.put("wellType", ardAlarmpointsWell.getWellType()); | 
 |  |  |         } else { | 
 |  |  |             result.put("wellType", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getInstalledLoad() != null) { | 
 |  |  |             result.put("installedLoad", ardAlarmpointsWell.getInstalledLoad()); | 
 |  |  |         } else { | 
 |  |  |             result.put("installedLoad", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getMeteringStation() != null) { | 
 |  |  |             result.put("meteringStation", ardAlarmpointsWell.getMeteringStation()); | 
 |  |  |         } else { | 
 |  |  |             result.put("meteringStation", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getTransferStation() != null) { | 
 |  |  |             result.put("transferStation", ardAlarmpointsWell.getTransferStation()); | 
 |  |  |         } else { | 
 |  |  |             result.put("transferStation", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getDehydrationStation() != null) { | 
 |  |  |             result.put("dehydrationStation", ardAlarmpointsWell.getDehydrationStation()); | 
 |  |  |         } else { | 
 |  |  |             result.put("dehydrationStation", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getRunStatus() != null) { | 
 |  |  |             result.put("runStatus", ardAlarmpointsWell.getRunStatus()); | 
 |  |  |         } else { | 
 |  |  |             result.put("runStatus", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getLongitude() != null) { | 
 |  |  |             result.put("longitude", ardAlarmpointsWell.getLongitude()); | 
 |  |  |         } else { | 
 |  |  |             result.put("longitude", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getLatitude() != null) { | 
 |  |  |             result.put("latitude", ardAlarmpointsWell.getLatitude()); | 
 |  |  |         } else { | 
 |  |  |             result.put("latitude", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getAltitude() != null) { | 
 |  |  |             result.put("altitude", ardAlarmpointsWell.getAltitude()); | 
 |  |  |         } else { | 
 |  |  |             result.put("altitude", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getUserId() != null) { | 
 |  |  |             result.put("userId", ardAlarmpointsWell.getUserId()); | 
 |  |  |         } else { | 
 |  |  |             result.put("userId", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getDeptId() != null) { | 
 |  |  |             result.put("deptId", ardAlarmpointsWell.getDeptId()); | 
 |  |  |             SysDept sysDept = sysDeptMapper.selectDeptById(ardAlarmpointsWell.getDeptId());//查询兴趣点所在部门 | 
 |  |  |             if (sysDept != null) { | 
 |  |  |                 result.put("deptName", sysDept.getDeptName()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("deptName", ""); | 
 |  |  |             } | 
 |  |  |         } else { | 
 |  |  |             result.put("deptId", ""); | 
 |  |  |             result.put("deptName", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getCreateBy() != null) { | 
 |  |  |             result.put("createBy", ardAlarmpointsWell.getCreateBy()); | 
 |  |  |         } else { | 
 |  |  |             result.put("createBy", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getCreateTime() != null) { | 
 |  |  |             result.put("createTime", ardAlarmpointsWell.getCreateTime()); | 
 |  |  |         } else { | 
 |  |  |             result.put("createTime", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getUpdateBy() != null) { | 
 |  |  |             result.put("updateBy", ardAlarmpointsWell.getUpdateBy()); | 
 |  |  |         } else { | 
 |  |  |             result.put("updateBy", ""); | 
 |  |  |         } | 
 |  |  |         if (ardAlarmpointsWell.getUpdateTime() != null) { | 
 |  |  |             result.put("updateTime", ardAlarmpointsWell.getUpdateTime()); | 
 |  |  |         } else { | 
 |  |  |             result.put("updateTime", ""); | 
 |  |  |         } | 
 |  |  |         if (config.size() != 0) { | 
 |  |  |             String oracle = config.get(0).getConfigValue(); | 
 |  |  |             String[] oracleArr = oracle.split(";"); | 
 |  |  |             if (oracleArr.length == 3) { | 
 |  |  |                 String url = oracle.split(";")[0]; | 
 |  |  |                 String username = oracle.split(";")[1]; | 
 |  |  |                 String password = oracle.split(";")[2]; | 
 |  |  |                 try { | 
 |  |  |                     int checkMark = checkTable(url, username, password, "\'RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                     if (checkMark == 1) { | 
 |  |  |                         Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, "RTU_DATA_YJ_8", "\'" + wellId + "\'"); | 
 |  |  |                         result.putAll(resultRTU); | 
 |  |  |                     } else { | 
 |  |  |                         result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                         result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                         result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                         result.put("remark", "n");//备注 | 
 |  |  |                         result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                         result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                         result.put("torque", "n");//扭矩 | 
 |  |  |                         result.put("MAT", "n");//回油温度 | 
 |  |  |                         result.put("TGP", "n");//井口油压 | 
 |  |  |                         result.put("CPV", "n");//井口套压 | 
 |  |  |                         result.put("ADL", "n");//A相电流 | 
 |  |  |                         result.put("ADY", "n");//A相电压 | 
 |  |  |                         result.put("BDL", "n");//B相电流 | 
 |  |  |                         result.put("BDY", "n");//B相电压 | 
 |  |  |                         result.put("CDL", "n");//C相电流 | 
 |  |  |                         result.put("CDY", "n");//C相电压 | 
 |  |  |                         result.put("UCV", "n");//上行电流 | 
 |  |  |                         result.put("DCV", "n");//下行电流 | 
 |  |  |                         result.put("SLV", "n");//冲程 | 
 |  |  |                         result.put("CHC", "n");//冲次 | 
 |  |  |                         result.put("BPV", "n");//井口回压 | 
 |  |  |                         result.put("ZWG", "n");//总无功功率 | 
 |  |  |                         result.put("ZYG", "n");//总有功功率 | 
 |  |  |                         result.put("GYS", "n");//功率因数 | 
 |  |  |                         result.put("UWL", "n");//最大载荷 | 
 |  |  |                         result.put("DWL", "n");//最小载荷 | 
 |  |  |                         result.put("ZHS", "n");//转速 | 
 |  |  |                     } | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |             } else if (oracleArr.length == 4) { | 
 |  |  |                 String url = oracle.split(";")[0]; | 
 |  |  |                 String username = oracle.split(";")[1]; | 
 |  |  |                 String password = oracle.split(";")[2]; | 
 |  |  |                 String prod = oracle.split(";")[3]; | 
 |  |  |                 try { | 
 |  |  |                     //int checkMark = checkTable(url,username,password,"\'RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                     int checkMark = checkTable(url, username, password, "\'" + prod + ".RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                     if (checkMark == 1) { | 
 |  |  |                         Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, prod + ".RTU_DATA_YJ_8", "\'" + wellId + "\'"); | 
 |  |  |                         result.putAll(resultRTU); | 
 |  |  |                     } else { | 
 |  |  |                         result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                         result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                         result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                         result.put("remark", "n");//备注 | 
 |  |  |                         result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                         result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                         result.put("torque", "n");//扭矩 | 
 |  |  |                         result.put("MAT", "n");//回油温度 | 
 |  |  |                         result.put("TGP", "n");//井口油压 | 
 |  |  |                         result.put("CPV", "n");//井口套压 | 
 |  |  |                         result.put("ADL", "n");//A相电流 | 
 |  |  |                         result.put("ADY", "n");//A相电压 | 
 |  |  |                         result.put("BDL", "n");//B相电流 | 
 |  |  |                         result.put("BDY", "n");//B相电压 | 
 |  |  |                         result.put("CDL", "n");//C相电流 | 
 |  |  |                         result.put("CDY", "n");//C相电压 | 
 |  |  |                         result.put("UCV", "n");//上行电流 | 
 |  |  |                         result.put("DCV", "n");//下行电流 | 
 |  |  |                         result.put("SLV", "n");//冲程 | 
 |  |  |                         result.put("CHC", "n");//冲次 | 
 |  |  |                         result.put("BPV", "n");//井口回压 | 
 |  |  |                         result.put("ZWG", "n");//总无功功率 | 
 |  |  |                         result.put("ZYG", "n");//总有功功率 | 
 |  |  |                         result.put("GYS", "n");//功率因数 | 
 |  |  |                         result.put("UWL", "n");//最大载荷 | 
 |  |  |                         result.put("DWL", "n");//最小载荷 | 
 |  |  |                         result.put("ZHS", "n");//转速 | 
 |  |  |                     } | 
 |  |  |                 } catch (Exception e) { | 
 |  |  |                     e.printStackTrace(); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } else { | 
 |  |  |             result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |             result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |             result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |             result.put("remark", "n");//备注 | 
 |  |  |             result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |             result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |             result.put("torque", "n");//扭矩 | 
 |  |  |             result.put("MAT", "n");//回油温度 | 
 |  |  |             result.put("TGP", "n");//井口油压 | 
 |  |  |             result.put("CPV", "n");//井口套压 | 
 |  |  |             result.put("ADL", "n");//A相电流 | 
 |  |  |             result.put("ADY", "n");//A相电压 | 
 |  |  |             result.put("BDL", "n");//B相电流 | 
 |  |  |             result.put("BDY", "n");//B相电压 | 
 |  |  |             result.put("CDL", "n");//C相电流 | 
 |  |  |             result.put("CDY", "n");//C相电压 | 
 |  |  |             result.put("UCV", "n");//上行电流 | 
 |  |  |             result.put("DCV", "n");//下行电流 | 
 |  |  |             result.put("SLV", "n");//冲程 | 
 |  |  |             result.put("CHC", "n");//冲次 | 
 |  |  |             result.put("BPV", "n");//井口回压 | 
 |  |  |             result.put("ZWG", "n");//总无功功率 | 
 |  |  |             result.put("ZYG", "n");//总有功功率 | 
 |  |  |             result.put("GYS", "n");//功率因数 | 
 |  |  |             result.put("UWL", "n");//最大载荷 | 
 |  |  |             result.put("DWL", "n");//最小载荷 | 
 |  |  |             result.put("ZHS", "n");//转速 | 
 |  |  |         } | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public Map<String, Object> getWellDataByPatrolplanIdAndPosition(Map<String, Object> para, List<SysConfig> config) { | 
 |  |  |         String patrolplanId = (String) para.get("patrolplanId"); | 
 |  |  |         Double longitude = null; | 
 |  |  |         Double latitude = null; | 
 |  |  |         try{ | 
 |  |  |             longitude = (Double) para.get("longitude"); | 
 |  |  |             latitude = (Double) para.get("latitude"); | 
 |  |  |         } catch (Exception e){ | 
 |  |  |             longitude = ((BigDecimal) para.get("longitude")).doubleValue(); | 
 |  |  |             latitude = ((BigDecimal) para.get("latitude")).doubleValue(); | 
 |  |  |         } | 
 |  |  |         ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.getWellDataByPatrolplanIdAndPosition(patrolplanId,longitude,latitude); | 
 |  |  |         if(ardAlarmpointsWell != null){ | 
 |  |  |             Map<String, Object> result = new HashMap(); | 
 |  |  |             if (ardAlarmpointsWell.getWellId() != null) { | 
 |  |  |                 result.put("wellId", ardAlarmpointsWell.getWellId()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("wellId", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getWellNumber() != null) { | 
 |  |  |                 result.put("wellNumber", ardAlarmpointsWell.getWellNumber()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("wellNumber", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getOilProduction() != null) { | 
 |  |  |                 result.put("oilProduction", ardAlarmpointsWell.getOilProduction()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("oilProduction", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getWellBlock() != null) { | 
 |  |  |                 result.put("wellBlock", ardAlarmpointsWell.getWellBlock()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("wellBlock", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getProductionDate() != null) { | 
 |  |  |                 result.put("productionDate", ardAlarmpointsWell.getProductionDate()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("productionDate", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getDisplacementMode() != null) { | 
 |  |  |                 result.put("displacementMode", ardAlarmpointsWell.getDisplacementMode()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("displacementMode", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getSurroundingEnvironment() != null) { | 
 |  |  |                 result.put("surroundingEnvironment", ardAlarmpointsWell.getSurroundingEnvironment()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("surroundingEnvironment", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getWellType() != null) { | 
 |  |  |                 result.put("wellType", ardAlarmpointsWell.getWellType()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("wellType", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getInstalledLoad() != null) { | 
 |  |  |                 result.put("installedLoad", ardAlarmpointsWell.getInstalledLoad()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("installedLoad", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getMeteringStation() != null) { | 
 |  |  |                 result.put("meteringStation", ardAlarmpointsWell.getMeteringStation()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("meteringStation", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getTransferStation() != null) { | 
 |  |  |                 result.put("transferStation", ardAlarmpointsWell.getTransferStation()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("transferStation", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getDehydrationStation() != null) { | 
 |  |  |                 result.put("dehydrationStation", ardAlarmpointsWell.getDehydrationStation()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("dehydrationStation", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getRunStatus() != null) { | 
 |  |  |                 result.put("runStatus", ardAlarmpointsWell.getRunStatus()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("runStatus", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getLongitude() != null) { | 
 |  |  |                 result.put("longitude", ardAlarmpointsWell.getLongitude()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("longitude", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getLatitude() != null) { | 
 |  |  |                 result.put("latitude", ardAlarmpointsWell.getLatitude()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("latitude", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getAltitude() != null) { | 
 |  |  |                 result.put("altitude", ardAlarmpointsWell.getAltitude()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("altitude", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getUserId() != null) { | 
 |  |  |                 result.put("userId", ardAlarmpointsWell.getUserId()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("userId", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getDeptId() != null) { | 
 |  |  |                 result.put("deptId", ardAlarmpointsWell.getDeptId()); | 
 |  |  |                 SysDept sysDept = sysDeptMapper.selectDeptById(ardAlarmpointsWell.getDeptId());//查询兴趣点所在部门 | 
 |  |  |                 if (sysDept != null) { | 
 |  |  |                     result.put("deptName", sysDept.getDeptName()); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("deptName", ""); | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 result.put("deptId", ""); | 
 |  |  |                 result.put("deptName", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getCreateBy() != null) { | 
 |  |  |                 result.put("createBy", ardAlarmpointsWell.getCreateBy()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("createBy", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getCreateTime() != null) { | 
 |  |  |                 result.put("createTime", ardAlarmpointsWell.getCreateTime()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("createTime", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getUpdateBy() != null) { | 
 |  |  |                 result.put("updateBy", ardAlarmpointsWell.getUpdateBy()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("updateBy", ""); | 
 |  |  |             } | 
 |  |  |             if (ardAlarmpointsWell.getUpdateTime() != null) { | 
 |  |  |                 result.put("updateTime", ardAlarmpointsWell.getUpdateTime()); | 
 |  |  |             } else { | 
 |  |  |                 result.put("updateTime", ""); | 
 |  |  |             } | 
 |  |  |             if (config.size() != 0) { | 
 |  |  |                 String oracle = config.get(0).getConfigValue(); | 
 |  |  |                 String[] oracleArr = oracle.split(";"); | 
 |  |  |                 if (oracleArr.length == 3) { | 
 |  |  |                     String url = oracle.split(";")[0]; | 
 |  |  |                     String username = oracle.split(";")[1]; | 
 |  |  |                     String password = oracle.split(";")[2]; | 
 |  |  |                     try { | 
 |  |  |                         int checkMark = checkTable(url, username, password, "\'RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                         if (checkMark == 1) { | 
 |  |  |                             Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, "RTU_DATA_YJ_8", "\'" + ardAlarmpointsWell.getWellId() + "\'"); | 
 |  |  |                             result.putAll(resultRTU); | 
 |  |  |                         } else { | 
 |  |  |                             result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                             result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                             result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                             result.put("remark", "n");//备注 | 
 |  |  |                             result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                             result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                             result.put("torque", "n");//扭矩 | 
 |  |  |                             result.put("MAT", "n");//回油温度 | 
 |  |  |                             result.put("TGP", "n");//井口油压 | 
 |  |  |                             result.put("CPV", "n");//井口套压 | 
 |  |  |                             result.put("ADL", "n");//A相电流 | 
 |  |  |                             result.put("ADY", "n");//A相电压 | 
 |  |  |                             result.put("BDL", "n");//B相电流 | 
 |  |  |                             result.put("BDY", "n");//B相电压 | 
 |  |  |                             result.put("CDL", "n");//C相电流 | 
 |  |  |                             result.put("CDY", "n");//C相电压 | 
 |  |  |                             result.put("UCV", "n");//上行电流 | 
 |  |  |                             result.put("DCV", "n");//下行电流 | 
 |  |  |                             result.put("SLV", "n");//冲程 | 
 |  |  |                             result.put("CHC", "n");//冲次 | 
 |  |  |                             result.put("BPV", "n");//井口回压 | 
 |  |  |                             result.put("ZWG", "n");//总无功功率 | 
 |  |  |                             result.put("ZYG", "n");//总有功功率 | 
 |  |  |                             result.put("GYS", "n");//功率因数 | 
 |  |  |                             result.put("UWL", "n");//最大载荷 | 
 |  |  |                             result.put("DWL", "n");//最小载荷 | 
 |  |  |                             result.put("ZHS", "n");//转速 | 
 |  |  |                         } | 
 |  |  |                     } catch (Exception e) { | 
 |  |  |                         e.printStackTrace(); | 
 |  |  |                     } | 
 |  |  |                 } else if (oracleArr.length == 4) { | 
 |  |  |                     String url = oracle.split(";")[0]; | 
 |  |  |                     String username = oracle.split(";")[1]; | 
 |  |  |                     String password = oracle.split(";")[2]; | 
 |  |  |                     String prod = oracle.split(";")[3]; | 
 |  |  |                     try { | 
 |  |  |                         //int checkMark = checkTable(url,username,password,"\'RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                         int checkMark = checkTable(url, username, password, "\'" + prod + ".RTU_DATA_YJ_8\'");//三厂表存在 | 
 |  |  |                         if (checkMark == 1) { | 
 |  |  |                             Map<String, Object> resultRTU = getRtuDataYjByJH(url, username, password, prod + ".RTU_DATA_YJ_8", "\'" + ardAlarmpointsWell.getWellId() + "\'"); | 
 |  |  |                             result.putAll(resultRTU); | 
 |  |  |                         } else { | 
 |  |  |                             result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                             result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                             result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                             result.put("remark", "n");//备注 | 
 |  |  |                             result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                             result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                             result.put("torque", "n");//扭矩 | 
 |  |  |                             result.put("MAT", "n");//回油温度 | 
 |  |  |                             result.put("TGP", "n");//井口油压 | 
 |  |  |                             result.put("CPV", "n");//井口套压 | 
 |  |  |                             result.put("ADL", "n");//A相电流 | 
 |  |  |                             result.put("ADY", "n");//A相电压 | 
 |  |  |                             result.put("BDL", "n");//B相电流 | 
 |  |  |                             result.put("BDY", "n");//B相电压 | 
 |  |  |                             result.put("CDL", "n");//C相电流 | 
 |  |  |                             result.put("CDY", "n");//C相电压 | 
 |  |  |                             result.put("UCV", "n");//上行电流 | 
 |  |  |                             result.put("DCV", "n");//下行电流 | 
 |  |  |                             result.put("SLV", "n");//冲程 | 
 |  |  |                             result.put("CHC", "n");//冲次 | 
 |  |  |                             result.put("BPV", "n");//井口回压 | 
 |  |  |                             result.put("ZWG", "n");//总无功功率 | 
 |  |  |                             result.put("ZYG", "n");//总有功功率 | 
 |  |  |                             result.put("GYS", "n");//功率因数 | 
 |  |  |                             result.put("UWL", "n");//最大载荷 | 
 |  |  |                             result.put("DWL", "n");//最小载荷 | 
 |  |  |                             result.put("ZHS", "n");//转速 | 
 |  |  |                         } | 
 |  |  |                     } catch (Exception e) { | 
 |  |  |                         e.printStackTrace(); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                 result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                 result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                 result.put("remark", "n");//备注 | 
 |  |  |                 result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                 result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                 result.put("torque", "n");//扭矩 | 
 |  |  |                 result.put("MAT", "n");//回油温度 | 
 |  |  |                 result.put("TGP", "n");//井口油压 | 
 |  |  |                 result.put("CPV", "n");//井口套压 | 
 |  |  |                 result.put("ADL", "n");//A相电流 | 
 |  |  |                 result.put("ADY", "n");//A相电压 | 
 |  |  |                 result.put("BDL", "n");//B相电流 | 
 |  |  |                 result.put("BDY", "n");//B相电压 | 
 |  |  |                 result.put("CDL", "n");//C相电流 | 
 |  |  |                 result.put("CDY", "n");//C相电压 | 
 |  |  |                 result.put("UCV", "n");//上行电流 | 
 |  |  |                 result.put("DCV", "n");//下行电流 | 
 |  |  |                 result.put("SLV", "n");//冲程 | 
 |  |  |                 result.put("CHC", "n");//冲次 | 
 |  |  |                 result.put("BPV", "n");//井口回压 | 
 |  |  |                 result.put("ZWG", "n");//总无功功率 | 
 |  |  |                 result.put("ZYG", "n");//总有功功率 | 
 |  |  |                 result.put("GYS", "n");//功率因数 | 
 |  |  |                 result.put("UWL", "n");//最大载荷 | 
 |  |  |                 result.put("DWL", "n");//最小载荷 | 
 |  |  |                 result.put("ZHS", "n");//转速 | 
 |  |  |             } | 
 |  |  |             return result; | 
 |  |  |         }else{ | 
 |  |  |             return null; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public ArdAlarmpointsWell getWellById(String id) { | 
 |  |  |         ArdAlarmpointsWell result = ardAlarmpointsWellMapper.getWellById(id); | 
 |  |  |         return result; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public int checkTable(String url, String username, String password, String tableName) throws ClassNotFoundException, SQLException { | 
 |  |  |         Connection connection = null; | 
 |  |  |  | 
 |  |  |         Statement updateStatement = null; | 
 |  |  |  | 
 |  |  |         Statement queryStatement = null; | 
 |  |  |  | 
 |  |  |         try { | 
 |  |  |             Class.forName("oracle.jdbc.OracleDriver"); | 
 |  |  |             connection = DriverManager.getConnection(url, username, password); | 
 |  |  |             //Statement 对象 发送sql | 
 |  |  |             updateStatement = connection.createStatement(); | 
 |  |  |             //查询 | 
 |  |  |             queryStatement = connection.createStatement(); | 
 |  |  |             ResultSet resultSet = queryStatement.executeQuery("select count(*) from user_tables where table_name = upper(" + tableName + ")"); | 
 |  |  |  | 
 |  |  |             int result = 0; | 
 |  |  |             while (resultSet.next()) { | 
 |  |  |                 int column = resultSet.getInt(1); | 
 |  |  |                 result = column; | 
 |  |  |             } | 
 |  |  |             return result; | 
 |  |  |         } catch (SQLException e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |             return 0; | 
 |  |  |         } finally { | 
 |  |  |             if (updateStatement != null) { | 
 |  |  |                 updateStatement.close(); | 
 |  |  |             } | 
 |  |  |             if (queryStatement != null) { | 
 |  |  |                 queryStatement.close(); | 
 |  |  |             } | 
 |  |  |             if (connection != null) { | 
 |  |  |                 connection.close(); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Map<String, Object> getRtuDataYjByJH(String url, String username, String password, String tableName, String JH) throws ClassNotFoundException, SQLException { | 
 |  |  |         Connection connection = null; | 
 |  |  |  | 
 |  |  |         Statement updateStatement = null; | 
 |  |  |  | 
 |  |  |         Statement queryStatement = null; | 
 |  |  |  | 
 |  |  |         try { | 
 |  |  |             Class.forName("oracle.jdbc.OracleDriver"); | 
 |  |  |             connection = DriverManager.getConnection(url, username, password); | 
 |  |  |             //Statement 对象 发送sql | 
 |  |  |             updateStatement = connection.createStatement(); | 
 |  |  |             //查询 | 
 |  |  |             queryStatement = connection.createStatement(); | 
 |  |  |             ResultSet resultSet = queryStatement.executeQuery("select rdy0.* from " + tableName + " rdy0 inner join (" + | 
 |  |  |                     "select rdy.JH,max(rdy.RQ) as RQ from RTU_DATA_YJ_8 rdy group by rdy.JH" + | 
 |  |  |                     ")t on rdy0.JH = t.JH and rdy0.RQ = t.RQ where rdy0.JH = " + JH); | 
 |  |  |  | 
 |  |  |             Map<String, Object> result = new HashMap(); | 
 |  |  |             while (resultSet.next()) { | 
 |  |  |                 result.put("wellRunningState", "n"); | 
 |  |  |                 result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                 result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                 result.put("remark", "n");//备注 | 
 |  |  |                 result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                 result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                 result.put("torque", "n");//扭矩 | 
 |  |  |  | 
 |  |  |                 if (resultSet.getString("MAT") != null) {//回油温度 | 
 |  |  |                     result.put("MAT", resultSet.getString("MAT")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("MAT", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("TGP") != null) {//井口油压 | 
 |  |  |                     result.put("TGP", resultSet.getString("TGP")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("TGP", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("CPV") != null) {//井口套压 | 
 |  |  |                     result.put("CPV", resultSet.getString("CPV")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("CPV", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("ADL") != null) {//A相电流 | 
 |  |  |                     result.put("ADL", resultSet.getString("ADL")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("ADL", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("ADY") != null) {//A相电压 | 
 |  |  |                     result.put("ADY", resultSet.getString("ADY")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("ADY", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("BDL") != null) {//B相电流 | 
 |  |  |                     result.put("BDL", resultSet.getString("BDL")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("BDL", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("BDY") != null) {//B相电压 | 
 |  |  |                     result.put("BDY", resultSet.getString("BDY")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("BDY", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("CDL") != null) {//C相电流 | 
 |  |  |                     result.put("CDL", resultSet.getString("CDL")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("CDL", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("CDY") != null) {//C相电压 | 
 |  |  |                     result.put("CDY", resultSet.getString("CDY")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("CDY", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("UCV") != null) {//上行电流 | 
 |  |  |                     result.put("UCV", resultSet.getString("UCV")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("UCV", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("DCV") != null) {//下行电流 | 
 |  |  |                     result.put("DCV", resultSet.getString("DCV")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("DCV", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("SLV") != null) {//冲程 | 
 |  |  |                     result.put("SLV", resultSet.getString("SLV")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("SLV", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("CHC") != null) {//冲次 | 
 |  |  |                     result.put("CHC", resultSet.getString("CHC")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("CHC", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("BPV") != null) {//井口回压 | 
 |  |  |                     result.put("BPV", resultSet.getString("BPV")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("BPV", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("ZWG") != null) {//总无功功率 | 
 |  |  |                     result.put("ZWG", resultSet.getString("ZWG")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("ZWG", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("ZYG") != null) {//总有功功率 | 
 |  |  |                     result.put("ZYG", resultSet.getString("ZYG")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("ZYG", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("GYS") != null) {//功率因数 | 
 |  |  |                     result.put("GYS", resultSet.getString("GYS")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("GYS", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("UWL") != null) {//最大载荷 | 
 |  |  |                     result.put("UWL", resultSet.getString("UWL")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("UWL", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("DWL") != null) {//最小载荷 | 
 |  |  |                     result.put("DWL", resultSet.getString("DWL")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("DWL", "n"); | 
 |  |  |                 } | 
 |  |  |                 if (resultSet.getString("ZHS") != null) {//转速 | 
 |  |  |                     result.put("ZHS", resultSet.getString("ZHS")); | 
 |  |  |                 } else { | 
 |  |  |                     result.put("ZHS", "n"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             if (result.size() == 0) { | 
 |  |  |                 result.put("wellRunningState", "n");//油井运行状态 | 
 |  |  |                 result.put("totalPowerConsumption", "n");//总耗电量 | 
 |  |  |                 result.put("communicationMachine", "n");//设备通讯 | 
 |  |  |                 result.put("remark", "n");//备注 | 
 |  |  |                 result.put("singleWellWaterTemperature", "n");//单井掺水温度// | 
 |  |  |                 result.put("meteringPlantWaterPressure", "n");//计量间掺水压力// | 
 |  |  |                 result.put("torque", "n");//扭矩 | 
 |  |  |                 result.put("MAT", "n");//回油温度 | 
 |  |  |                 result.put("TGP", "n");//井口油压 | 
 |  |  |                 result.put("CPV", "n");//井口套压 | 
 |  |  |                 result.put("ADL", "n");//A相电流 | 
 |  |  |                 result.put("ADY", "n");//A相电压 | 
 |  |  |                 result.put("BDL", "n");//B相电流 | 
 |  |  |                 result.put("BDY", "n");//B相电压 | 
 |  |  |                 result.put("CDL", "n");//C相电流 | 
 |  |  |                 result.put("CDY", "n");//C相电压 | 
 |  |  |                 result.put("UCV", "n");//上行电流 | 
 |  |  |                 result.put("DCV", "n");//下行电流 | 
 |  |  |                 result.put("SLV", "n");//冲程 | 
 |  |  |                 result.put("CHC", "n");//冲次 | 
 |  |  |                 result.put("BPV", "n");//井口回压 | 
 |  |  |                 result.put("ZWG", "n");//总无功功率 | 
 |  |  |                 result.put("ZYG", "n");//总有功功率 | 
 |  |  |                 result.put("GYS", "n");//功率因数 | 
 |  |  |                 result.put("UWL", "n");//最大载荷 | 
 |  |  |                 result.put("DWL", "n");//最小载荷 | 
 |  |  |                 result.put("ZHS", "n");//转速 | 
 |  |  |             } | 
 |  |  |             return result; | 
 |  |  |         } finally { | 
 |  |  |             if (updateStatement != null) { | 
 |  |  |                 updateStatement.close(); | 
 |  |  |             } | 
 |  |  |             if (queryStatement != null) { | 
 |  |  |                 queryStatement.close(); | 
 |  |  |             } | 
 |  |  |             if (connection != null) { | 
 |  |  |                 connection.close(); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } |