From 2df696b07d0ffdf7829d4d9cd3da23162dec8799 Mon Sep 17 00:00:00 2001 From: aijinhui <aijinhui> Date: 星期五, 23 二月 2024 14:04:38 +0800 Subject: [PATCH] 更新 --- ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | 604 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 577 insertions(+), 27 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java index e89ccca..e6cc1d2 100644 --- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java @@ -1,12 +1,21 @@ 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.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; +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; @@ -15,6 +24,9 @@ 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; @@ -36,8 +48,15 @@ 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; + /** * 鏌ヨ浜曠鐞� * @@ -48,6 +67,7 @@ public ArdAlarmpointsWell selectArdAlarmpointsWellById(String id) { return ardAlarmpointsWellMapper.selectArdAlarmpointsWellById(id); } + /** * 鏌ヨ浜曠鐞� * @@ -66,18 +86,17 @@ * @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); } @@ -91,9 +110,8 @@ @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()); @@ -112,14 +130,21 @@ @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); } /** @@ -145,7 +170,7 @@ } @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("瀵煎叆浜曟暟鎹笉鑳戒负绌猴紒"); } @@ -158,9 +183,9 @@ //鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛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); @@ -168,10 +193,9 @@ 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 { @@ -200,10 +224,8 @@ * @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("涓嶅厑璁告搷浣滀簳"); } } @@ -214,25 +236,553 @@ * @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) { + // 鏍¢獙锛歸ellId + 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 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.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") +// .eq(!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); + 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; + } + + 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 瀵硅薄 鍙戦�乻ql + 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 瀵硅薄 鍙戦�乻ql + 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(); + } + } + } + } -- Gitblit v1.9.3