aijinhui
2024-02-23 0abccf5e570dce53a802bca4ce25118dd900692c
ard-work/src/main/java/com/ruoyi/alarmpoints/well/controller/ArdAlarmpointsWellController.java
@@ -3,11 +3,28 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellParam;
import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.utils.data.Query;
import com.ruoyi.utils.pagehelper.JpaPageInfo;
import com.ruoyi.utils.result.Results;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -23,6 +40,7 @@
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -41,6 +59,15 @@
    @Resource
    private IArdAlarmpointsWellService ardAlarmpointsWellService;
    @Autowired
    private ISysUserService sysUserService;
    @Autowired
    private ISysDeptService sysDeptService;
    @Autowired
    private ISysConfigService sysConfigService;
    /**
     * 查询井管理列表
     */
@@ -51,6 +78,14 @@
        startPage();
        List<ArdAlarmpointsWell> list = ardAlarmpointsWellService.selectArdAlarmpointsWellList(ardAlarmpointsWell);
        return getDataTable(list);
    }
    @PreAuthorize("@ss.hasPermi('alarmpoints:well:list')")
    @GetMapping("/nonPageList")
    @ApiOperation("查询井列表-不分页")
    public AjaxResult nonPageList(ArdAlarmpointsWell ardAlarmpointsWell) {
        List<ArdAlarmpointsWell> list = ardAlarmpointsWellService.selectArdAlarmpointsWellList(ardAlarmpointsWell);
        return success(list);
    }
    /**
@@ -84,7 +119,11 @@
    @PostMapping
    @ApiOperation("新增井")
    public AjaxResult add(@RequestBody ArdAlarmpointsWell ardAlarmpointsWell) {
        return toAjax(ardAlarmpointsWellService.insertArdAlarmpointsWell(ardAlarmpointsWell));
        try {
            return toAjax(ardAlarmpointsWellService.insertArdAlarmpointsWell(ardAlarmpointsWell));
        } catch (Exception e) {
            return AjaxResult.error(e.getMessage());
        }
    }
    /**
@@ -95,7 +134,11 @@
    @PutMapping
    @ApiOperation("修改井")
    public AjaxResult edit(@RequestBody ArdAlarmpointsWell ardAlarmpointsWell) {
        return toAjax(ardAlarmpointsWellService.updateArdAlarmpointsWell(ardAlarmpointsWell));
        try {
            return toAjax(ardAlarmpointsWellService.updateArdAlarmpointsWell(ardAlarmpointsWell));
        } catch (Exception e) {
            return AjaxResult.error(e.getMessage());
        }
    }
    /**
@@ -115,9 +158,9 @@
    @ApiOperation("导入井")
    public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
        ExcelUtil<ArdAlarmpointsWell> util = new ExcelUtil<ArdAlarmpointsWell>(ArdAlarmpointsWell.class);
        List<ArdAlarmpointsWell> userList = util.importExcel(file.getInputStream());
        List<ArdAlarmpointsWell> wellList = util.importExcel(file.getInputStream());
        String operName = getUsername();
        String message = ardAlarmpointsWellService.importUser(userList, updateSupport, operName);
        String message = ardAlarmpointsWellService.importWell(wellList, updateSupport, operName);
        return success(message);
    }
@@ -145,4 +188,80 @@
        }
        return options;
    }
    @GetMapping("/wellById/{id}")
    @ApiOperation("查询单条兴趣点")
    public Results wellById(@PathVariable String id) {
        return Results.succeed(ardAlarmpointsWellService.wellById(id));
    }
    @PostMapping("/wellList")
    @ApiOperation("查询权限下所有兴趣点")
    public Results wellList() {
        String usersId = SecurityUtils.getUserId();
        //根据userId查询部门Id
        SysUser sysUser = sysUserService.selectUserById(usersId);
        //根据当前deptId或者当前及所属下级的所有deptId
        List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId());
        //根据deptId获取对应兴趣点数据
        List<ArdAlarmpointsWell> list = ardAlarmpointsWellService.wellList(deptList);
        return Results.succeed(list);
    }
    @PostMapping("/conditionList")
    @ApiOperation("查询并筛选权限下所有兴趣点")
    public Results conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam) {
        String usersId = SecurityUtils.getUserId();
        //根据userId查询部门Id
        SysUser sysUser = sysUserService.selectUserById(usersId);
        //根据当前deptId或者当前及所属下级的所有deptId
        List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId());
        ardAlarmpointsWellParam.setDeptList(deptList);
        //根据deptId获取对应兴趣点数据
        return Results.succeed(ardAlarmpointsWellService.conditionList(ardAlarmpointsWellParam));
    }
    @PostMapping("/getNearbyWells")
    @ApiOperation("查询附近的所有井")
    public AjaxResult getNearbyWells(Double longitude,Double latitude, Long deptId, Integer pageNum, Integer pageSize) {
        JpaPageInfo jpaPageInfo = new JpaPageInfo();
        jpaPageInfo.setPageNum(pageNum);
        jpaPageInfo.setPageSize(pageSize);
        List<ArdAlarmpointsWell> nearbyWellList = ardAlarmpointsWellService.getNearbyWellList(longitude,latitude, deptId, 1000);
        jpaPageInfo.doPage(nearbyWellList);
        return AjaxResult.success(jpaPageInfo);
    }
    @GetMapping("/getRTUDataYJ8")
    @ApiOperation("查询设备运行状态")
    public AjaxResult getRTUDataYJ8(String wellId){
        return AjaxResult.success(Query.getRTUDataYJ8(wellId));
    }
    @GetMapping("/getWellDataByWellId")
    @ApiOperation("查询设备动静态属性")
    public AjaxResult getWellData(String wellId){
        SysConfig config = new SysConfig();
        config.setConfigKey("3coracle");
        List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config);
        Map<String,Object> result = ardAlarmpointsWellService.getWellDataByWellId(wellId,sysConfigResult);
        return AjaxResult.success(result);
    }
    @GetMapping("/getWellDataByPatrolplanIdAndPosition")
    @ApiOperation("查询最近巡检设备动静态属性")
    public AjaxResult getWellDataByPatrolplanIdAndPosition(@RequestBody Map<String,Object> para){
        SysConfig config = new SysConfig();
        config.setConfigKey("3coracle");
        List<SysConfig> sysConfigResult = sysConfigService.selectConfigList(config);
        Map<String,Object> result = ardAlarmpointsWellService.getWellDataByPatrolplanIdAndPosition(para,sysConfigResult);
        return AjaxResult.success(result);
    }
    @GetMapping("/getWellById")
    @ApiOperation("根据查询兴趣点基本属性")
    public AjaxResult getWellById(@RequestBody Map<String,String> para){
        ArdAlarmpointsWell result = ardAlarmpointsWellService.getWellById(para.get("id"));
        return AjaxResult.success(result);
    }
}