ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package com.ruoyi.alarmpoints.well.domain; import com.ruoyi.common.core.domain.entity.SysDept; import lombok.Data; import java.math.BigDecimal; @Data public class ArdAlarmpointsWellDeptVo { private String id; /** äºå· */ private String wellId; /** äºå·ç¼ç */ private String wellNumber; /** éæ²¹æ¹å¼ */ private String oilProduction; /** è¿æå±åºå */ private String wellBlock; /** é©±æ¿æ¹å¼ */ private String displacementMode; /** å¨è¾¹ç¯å¢ */ private String surroundingEnvironment; /** æ²¹äºç±»å */ private String wellType; /** è£ è½½è´è· */ private String installedLoad; /** æå±è®¡éç«æéç»åç§° */ private String meteringStation; /** æå±è½¬æ¥ç« */ private String transferStation; /** æå±è±æ°´ç« */ private String dehydrationStation; /** è¿è¡ç¶æ */ private String runStatus; private BigDecimal longitude; private BigDecimal latitude; private BigDecimal altitude; private Integer deptId; private Integer parentId; private String ancestors; private String deptName; } ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellParam.java
@@ -11,9 +11,6 @@ /** * äºç®¡ç对象 ard_alarmpoints_well * * @author åèä¹ * @date 2023-03-07 */ @Data public class ArdAlarmpointsWellParam ard-work/src/main/java/com/ruoyi/alarmpoints/well/mapper/ArdAlarmpointsWellMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo; import com.ruoyi.common.annotation.DataScope; @@ -89,4 +90,6 @@ List<ArdAlarmpointsWell> wellByPlanId(String id); List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/IArdAlarmpointsWellService.java
@@ -4,6 +4,7 @@ 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; /** @@ -114,4 +115,7 @@ List<ArdAlarmpointsWell> wellList(List<Long> deptList); PageInfo<ArdAlarmpointsWell> conditionList(ArdAlarmpointsWellParam ardAlarmpointsWellParam); List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList); } ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -6,6 +6,7 @@ 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; @@ -291,4 +292,9 @@ List<ArdAlarmpointsWell> list = ardAlarmpointsWellMapper.selectList(queryWrapper); return new PageInfo<>(list); } @Override public List<ArdAlarmpointsWellDeptVo> wellListDept(List<Long> deptList) { return ardAlarmpointsWellMapper.wellListDept(deptList); } } ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -1,13 +1,22 @@ package com.ruoyi.health.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo; import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; 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.utils.SecurityUtils; import com.ruoyi.health.client.EquipmentsHealthClient; import com.ruoyi.health.param.GetEquipmentAlertInfoParam; import com.ruoyi.health.param.GetFMTrendParam; import com.ruoyi.health.param.GetTrendParam; import com.ruoyi.system.service.ISysConfigService; import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysUserService; import com.ruoyi.utils.result.Results; import com.ruoyi.utils.soap.ARDSoapUtil; import io.swagger.annotations.Api; @@ -18,6 +27,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -36,6 +46,98 @@ @Autowired ISysConfigService configService; @Resource private IArdAlarmpointsWellService ardAlarmpointsWellService; @Autowired private ISysUserService sysUserService; @Autowired private ISysDeptService sysDeptService; @PreAuthorize("@ss.hasPermi('sy:syCar:getEquipmentListByUser')") @ApiOperation("æ ¹æ®æéè·å设å¤å表") @GetMapping("getEquipmentListByUser") public Results getEquipmentListByUser(){ String usersId = SecurityUtils.getUserId(); //æ ¹æ®userIdæ¥è¯¢é¨é¨Id SysUser sysUser = sysUserService.selectUserById(usersId); //æ ¹æ®å½ådeptIdæè å½ååæå±ä¸çº§çæædeptId List<Long> deptList = sysDeptService.deptIdBySub(sysUser.getDeptId()); //æ ¹æ®deptIdè·åå¯¹åºææå ´è¶£ç¹æ°æ® List<ArdAlarmpointsWellDeptVo> list = ardAlarmpointsWellService.wellListDept(deptList); //æ¥è¯¢æ¥å£è¿åç设å¤å表 String url = configService.getHealth(); Map<String, Object> map = new HashMap(); String result = ARDSoapUtil.postSoapResult(url, "GetEquipmentList", map); if ("".equals(result)) { //è¿åç»æä¸ºç©º return Results.succeed("没æè®¾å¤ä¿¡æ¯"); } Map<String, Object> mapResult = (Map<String, Object>) JSON.parse((String) result); JSONArray jsonArray = new JSONArray(); //ancestorsåæ®µæé¿çæ°æ® String longest = ""; //ç级 int count0 = 0,count1 = 0,count2 = 0; if ((int) mapResult.get("code") == 200) { List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata")); for (int i = 0; i < listResult.size(); i++) { JSONObject jsonObject = new JSONObject(); String equipNumber = (String) listResult.get(i).get("EquipNumber"); if(equipNumber!=null){ for (int j = 0; j < list.size(); j++) { String ancestors = list.get(j).getAncestors(); if (ancestors.length() > longest.length()) { longest = ancestors; } String wellId = list.get(j).getWellId(); if(wellId!=null){ if(wellId.equals(equipNumber)){ String[] ancestorsArray = ancestors.split(","); int max = ancestorsArray.length; jsonObject.put("id",listResult.get(i).get("id")); jsonObject.put("EquipName",listResult.get(i).get("EquipName")); jsonObject.put("EquipNumber",listResult.get(i).get("EquipNumber")); jsonObject.put("EquipLevel",listResult.get(i).get("EquipLevel")); jsonObject.put("MeasureDate",listResult.get(i).get("MeasureDate")); jsonObject.put("EquipKey",listResult.get(i).get("EquipKey")); jsonObject.put("longitude",list.get(j).getLongitude()); jsonObject.put("latitude",list.get(j).getLatitude()); jsonObject.put("altitude",list.get(j).getAltitude()); jsonObject.put("deptId",list.get(j).getDeptId()); jsonObject.put("deptName",list.get(j).getDeptName()); jsonObject.put("parentId",list.get(j).getParentId()); jsonObject.put("ancestors",list.get(j).getAncestors()); jsonObject.put("tier",max); jsonArray.add(jsonObject); if(listResult.get(i).get("EquipLevel").equals("0")){ count0++; }else if(listResult.get(i).get("EquipLevel").equals("1")){ count1++; }else if(listResult.get(i).get("EquipLevel").equals("2")){ count2++; } break; } } } } } //ç¨éå·åéå符åçsize为æå¤§çç»æå±æ° String[] ancestorsArray = longest.split(","); int max = ancestorsArray.length; JSONObject j = new JSONObject(); j.put("count0",count0); j.put("count1",count1); j.put("count2",count2); return Results.succeed(jsonArray); } else { //é误æç¤º return Results.error((String) mapResult.get("errmsg")); } } @PreAuthorize("@ss.hasPermi('sy:syCar:getEquipmentList')") @ApiOperation("è·å设å¤å表") @GetMapping("getEquipmentList") ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -206,4 +206,17 @@ select ard_app_patrolpoint.alarmpoints_id as id,ard_alarmpoints_well.well_id, ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude from ard_alarmpoints_well LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id}) GROUP BY ard_app_patrolpoint.alarmpoints_id,ard_alarmpoints_well.well_id,ard_app_patrolpoint."type",ard_alarmpoints_well.longitude,ard_alarmpoints_well.latitude </select> <select id="wellListDept" parameterType="List" resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo"> Select well.id,well.well_id,well.well_number,well.oil_production,well.well_block,well.production_date, well.displacement_mode,well.surrounding_environment,well.well_type,well.installed_load,well.metering_station, well.transfer_station,well.dehydration_station,well.run_status,well.longitude,well.latitude,well.altitude,well.dept_id, dept.parent_id,dept.ancestors,dept.dept_name from ard_alarmpoints_well well left join sys_dept dept on well.dept_id = dept.dept_id where well.dept_id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select> </mapper>