| | |
| | | package com.ruoyi.alarmpoints.well.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.github.pagehelper.PageInfo; |
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; |
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo; |
| | | import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam; |
| | | import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; |
| | | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; |
| | | import com.ruoyi.common.annotation.DataScope; |
| | |
| | | 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.utils.gis.GisUtil; |
| | | import lombok.ToString; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | private ArdAlarmpointsWellMapper ardAlarmpointsWellMapper; |
| | | @Autowired |
| | | protected Validator validator; |
| | | |
| | | /** |
| | | * 查询井管理 |
| | | * |
| | |
| | | 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()); |
| | | ardAlarmpointsWell.setUserId(SecurityUtils.getUserId()); |
| | | ardAlarmpointsWell.setCreateBy(SecurityUtils.getUsername()); |
| | | ardAlarmpointsWell.setCreateTime(DateUtils.getNowDate()); |
| | |
| | | @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()); |
| | |
| | | * @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(Long deptId, Double[] position, Integer range) { |
| | | List<ArdAlarmpointsWell> nearbyWellList = new ArrayList<>(); |
| | | try { |
| | | 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(position, new Double[]{longitude, latitude}); |
| | | if (distance <= range) { |
| | | nearbyWellList.add(well); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } catch (Exception ex) { |
| | | log.error("获取附近井异常:" + ex.getMessage()); |
| | | } |
| | | return nearbyWellList; |
| | | } |
| | | } |