| | |
| | | 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.common.core.domain.HealthVo; |
| | | import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService; |
| | | import com.ruoyi.common.core.domain.TreeSelectWell; |
| | | import com.ruoyi.common.core.domain.TreeSelectWellJson; |
| | | import com.ruoyi.common.core.domain.entity.SysConfig; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | |
| | | @Autowired |
| | | private ISysDeptService sysDeptService; |
| | | |
| | | |
| | | |
| | | @PreAuthorize("@ss.hasPermi('sy:syCar:getEquipmentListByUser')") |
| | | @ApiOperation("根据权限获取设备列表") |
| | | @GetMapping("getEquipmentListByUser") |
| | |
| | | String longest = ""; |
| | | //等级 |
| | | int count0 = 0,count1 = 0,count2 = 0; |
| | | //装数据 |
| | | List<HealthVo> healthVos = new ArrayList<>(); |
| | | 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"); |
| | |
| | | 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); |
| | | //返回设备数据 |
| | | HealthVo healthVo = new HealthVo(); |
| | | healthVo.setId((Integer) listResult.get(i).get("id")); |
| | | healthVo.setEquipName((String) listResult.get(i).get("EquipName")); |
| | | healthVo.setEquipNumber((String) listResult.get(i).get("EquipNumber")); |
| | | healthVo.setEquipLevel((String) listResult.get(i).get("EquipLevel")); |
| | | healthVo.setEquipKey((String) listResult.get(i).get("EquipKey")); |
| | | healthVo.setMeasureDate((String) listResult.get(i).get("MeasureDate")); |
| | | healthVo.setLongitude(list.get(j).getLongitude()); |
| | | healthVo.setLatitude(list.get(j).getLatitude()); |
| | | healthVo.setAltitude(list.get(j).getAltitude()); |
| | | healthVo.setDeptId(list.get(j).getDeptId()); |
| | | healthVos.add(healthVo); |
| | | if(listResult.get(i).get("EquipLevel").equals("0")){ |
| | | count0++; |
| | | }else if(listResult.get(i).get("EquipLevel").equals("1")){ |
| | |
| | | //用逗号分隔字符后的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); |
| | | //获取部门层级 |
| | | List<SysDept> sysDepts = sysDeptService.all(); |
| | | List<TreeSelectWell> tree = sysDeptService.wellTree(sysDepts); |
| | | //循环数据挂在到部门层级下 |
| | | for (int i = 0; i < healthVos.size(); i++) { |
| | | HealthVo healthVo = healthVos.get(i); |
| | | Long deptId = healthVo.getDeptId(); |
| | | //循环树结构 |
| | | for (int j = 0; j < tree.size(); j++) { |
| | | //如果第一层匹配赋值 |
| | | if(deptId.equals(tree.get(j).getId())){ |
| | | tree.get(j).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //不匹配且children大于0查询第二层 |
| | | if(tree.get(j).getChildren().size()>0){ |
| | | for (int k = 0; k < tree.get(j).getChildren().size(); k++) { |
| | | //如果第二层匹配 |
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getId())){ |
| | | tree.get(j).getChildren().get(k).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //不匹配且children大于0查询第三层 |
| | | if(tree.get(j).getChildren().get(k).getChildren().size()>0){ |
| | | for (int l = 0; l < tree.get(j).getChildren().get(k).getChildren().size(); l++) { |
| | | //如果第三层匹配 |
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //不匹配且children大于0查询第四层 |
| | | if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size()>0){ |
| | | for (int m = 0; m < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size(); m++) { |
| | | //如果第四层匹配 |
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getWell().add(healthVo); |
| | | break; |
| | | }else { |
| | | //不匹配且children大于0查询第五层 |
| | | if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size()>0){ |
| | | for (int n = 0; n < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size(); n++) { |
| | | //如果第五层匹配 |
| | | if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getId())){ |
| | | tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getWell().add(healthVo); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson(); |
| | | treeSelectWellJson.setWellList(tree); |
| | | treeSelectWellJson.setCount0(count0); |
| | | treeSelectWellJson.setCount1(count1); |
| | | treeSelectWellJson.setCount2(count2); |
| | | return Results.succeed(treeSelectWellJson); |
| | | } else { |
| | | //错误提示 |
| | | return Results.error((String) mapResult.get("errmsg")); |