|
@@ -7,8 +7,16 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
|
|
import com.ruoyi.common.log.annotation.Log;
|
|
import com.ruoyi.common.log.annotation.Log;
|
|
import com.ruoyi.common.log.enums.BusinessType;
|
|
import com.ruoyi.common.log.enums.BusinessType;
|
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
|
import com.ruoyi.common.security.annotation.RequiresPermissions;
|
|
|
|
+import com.ruoyi.ems.domain.AreaBuilding;
|
|
|
|
+import com.ruoyi.ems.domain.AreaBuildingZoning;
|
|
import com.ruoyi.ems.domain.EmsDevice;
|
|
import com.ruoyi.ems.domain.EmsDevice;
|
|
|
|
+import com.ruoyi.ems.domain.common.AreaTier;
|
|
|
|
+import com.ruoyi.ems.domain.vo.QueryDevice;
|
|
|
|
+import com.ruoyi.ems.service.IAreaBuildingService;
|
|
|
|
+import com.ruoyi.ems.service.IAreaBuildingZoningService;
|
|
import com.ruoyi.ems.service.IEmsDeviceService;
|
|
import com.ruoyi.ems.service.IEmsDeviceService;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
@@ -20,7 +28,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 能源设备Controller
|
|
* 能源设备Controller
|
|
@@ -35,6 +45,12 @@ public class DeviceController extends BaseController
|
|
@Autowired
|
|
@Autowired
|
|
private IEmsDeviceService deviceService;
|
|
private IEmsDeviceService deviceService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IAreaBuildingService buildingService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private IAreaBuildingZoningService zoningService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 查询能源设备列表
|
|
* 查询能源设备列表
|
|
*/
|
|
*/
|
|
@@ -50,12 +66,50 @@ public class DeviceController extends BaseController
|
|
/**
|
|
/**
|
|
* 查询能源设备列表
|
|
* 查询能源设备列表
|
|
*/
|
|
*/
|
|
- @RequiresPermissions("basecfg:device:list")
|
|
|
|
|
|
+ //@RequiresPermissions("basecfg:device:list")
|
|
@GetMapping("/listByAreaTree")
|
|
@GetMapping("/listByAreaTree")
|
|
- public TableDataInfo listByAreaTree(EmsDevice emsDevice)
|
|
|
|
|
|
+ public TableDataInfo listByAreaTree(QueryDevice queryDevice)
|
|
{
|
|
{
|
|
|
|
+ // 层级为区域,需要查询下级建筑,以及建筑下级区块
|
|
|
|
+ if (StringUtils.equals(queryDevice.getAreaType(), AreaTier.Area.name()) && StringUtils.isNotBlank(
|
|
|
|
+ queryDevice.getRefArea())) {
|
|
|
|
+ AreaBuilding param = new AreaBuilding();
|
|
|
|
+ param.setAreaCode(queryDevice.getRefArea());
|
|
|
|
+ List<AreaBuilding> buildings = buildingService.selectAreaBuildingList(param);
|
|
|
|
+ List<String> buildingCodes = buildings.stream().map(AreaBuilding::getBldgCode).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isNotEmpty(buildings)) {
|
|
|
|
+ queryDevice.setBuildingCodes(buildingCodes);
|
|
|
|
+ List<String> zoningCodes = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ for (String buildCode : buildingCodes) {
|
|
|
|
+ AreaBuildingZoning zParam = new AreaBuildingZoning();
|
|
|
|
+ zParam.setBldgCode(buildCode);
|
|
|
|
+ List<AreaBuildingZoning> list = zoningService.selectAreaBuildingZoningList(zParam);
|
|
|
|
+ zoningCodes.addAll(
|
|
|
|
+ list.stream().map(AreaBuildingZoning::getZoningCode).collect(Collectors.toList()));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isNotEmpty(zoningCodes)) {
|
|
|
|
+ queryDevice.setZoningCodes(zoningCodes);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if (StringUtils.equals(queryDevice.getAreaType(), AreaTier.Building.name()) && StringUtils.isNotBlank(
|
|
|
|
+ queryDevice.getRefArea())) {
|
|
|
|
+ AreaBuildingZoning zParam = new AreaBuildingZoning();
|
|
|
|
+ zParam.setBldgCode(queryDevice.getRefArea());
|
|
|
|
+ List<AreaBuildingZoning> list = zoningService.selectAreaBuildingZoningList(zParam);
|
|
|
|
+ List<String> zoningCodes = list.stream().map(AreaBuildingZoning::getZoningCode)
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ if (CollectionUtils.isNotEmpty(zoningCodes)) {
|
|
|
|
+ queryDevice.setZoningCodes(zoningCodes);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
startPage();
|
|
startPage();
|
|
- List<EmsDevice> list = deviceService.selectEmsDeviceList(emsDevice);
|
|
|
|
|
|
+ List<EmsDevice> list = deviceService.selectByAreaTree(queryDevice);
|
|
return getDataTable(list);
|
|
return getDataTable(list);
|
|
}
|
|
}
|
|
|
|
|