| | |
| | | package com.ruoyi.alarmpoints.well.service.impl; |
| | | |
| | | import java.sql.*; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.StringUtils; |
| | | 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; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.validation.Validator; |
| | |
| | | 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); |
| | | } |
| | |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public int insertArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { |
| | | boolean wellIdExists = checkWellIdExists(ardAlarmpointsWell); |
| | | if (wellIdExists) { |
| | | throw new RuntimeException("井号已存在"); |
| | | } |
| | | ardAlarmpointsWell.setId(IdUtils.simpleUUID()); |
| | | ardAlarmpointsWell.setUserId(SecurityUtils.getUserId()); |
| | | ardAlarmpointsWell.setCreateBy(SecurityUtils.getUsername()); |
| | | ardAlarmpointsWell.setCreateTime(DateUtils.getNowDate()); |
| | |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | @Transactional |
| | | public int updateArdAlarmpointsWell(ArdAlarmpointsWell ardAlarmpointsWell) { |
| | | 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); |
| | | return ardAlarmpointsWellMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | public ArdAlarmpointsWell wellById(String id) { |
| | | return ardAlarmpointsWellMapper.selectById(id); |
| | | } |
| | | |
| | | @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); |
| | | return ardAlarmpointsWellMapper.selectList(queryWrapper); |
| | | } |
| | | |
| | | @Override |
| | | 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()) |
| | | .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()); |
| | | List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.selectList(queryWrapper); |
| | | 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(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(";"); |
| | | 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; |
| | | } |
| | | |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |