|  |  | 
 |  |  | package com.ruoyi.alarmpoints.well.service.impl; | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.sql.*; | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.HashMap; | 
 |  |  | 
 |  |  |         Integer pageSize = ardAlarmpointsWellParam.getPageSize(); | 
 |  |  |         PageHelper.startPage(pageNum, pageSize); | 
 |  |  |         QueryWrapper<ArdAlarmpointsWell> queryWrapper = new QueryWrapper<>(); | 
 |  |  |         queryWrapper.in("dept_id", ardAlarmpointsWellParam.getDeptList()) | 
 |  |  |                 .like(!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()); | 
 |  |  |         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); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |         } else { | 
 |  |  |             result.put("updateTime", ""); | 
 |  |  |         } | 
 |  |  |         //if(ardAlarmpointsWell.getGuideP1() != null){ | 
 |  |  |         //    result.put("guideP1",ardAlarmpointsWell.getGuideP1()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideP1",""); | 
 |  |  |         //} | 
 |  |  |         //if(ardAlarmpointsWell.getGuideP2() != null){ | 
 |  |  |         //    result.put("guideP2",ardAlarmpointsWell.getGuideP2()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideP2",""); | 
 |  |  |         //} | 
 |  |  |         //if(ardAlarmpointsWell.getGuideT1() != null){ | 
 |  |  |         //    result.put("guideT1",ardAlarmpointsWell.getGuideT1()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideT1",""); | 
 |  |  |         //} | 
 |  |  |         //if(ardAlarmpointsWell.getGuideT2() != null){ | 
 |  |  |         //    result.put("guideT2",ardAlarmpointsWell.getGuideT2()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideT2",""); | 
 |  |  |         //} | 
 |  |  |         //if(ardAlarmpointsWell.getGuideZ1() != null){ | 
 |  |  |         //    result.put("guideZ1",ardAlarmpointsWell.getGuideZ1()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideZ1",""); | 
 |  |  |         //} | 
 |  |  |         //if(ardAlarmpointsWell.getGuideZ2() != null){ | 
 |  |  |         //    result.put("guideZ2",ardAlarmpointsWell.getGuideZ2()); | 
 |  |  |         //}else{ | 
 |  |  |         //    result.put("guideZ2",""); | 
 |  |  |         //} | 
 |  |  |         if (config.size() != 0) { | 
 |  |  |             String oracle = config.get(0).getConfigValue(); | 
 |  |  |             String[] oracleArr = oracle.split(";"); | 
 |  |  | 
 |  |  |         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; | 
 |  |  |  |