Explorar o código

地图组织树处理

lipenghui hai 1 semana
pai
achega
070d05619b

+ 2 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/IotDeviceController.java

@@ -530,8 +530,8 @@ public class IotDeviceController {
 
     @GetMapping("/map")
     @Operation(summary = "查询地图设备")
-    public CommonResult<List<IotDeviceDO>> getMap(){
-        List<IotDeviceDO> mapDevice = iotDeviceService.getMapDevice();
+    public CommonResult<List<IotDeviceDO>> getMap(@Valid IotDevicePageReqVO pageReqVO){
+        List<IotDeviceDO> mapDevice = iotDeviceService.getMapDevice(pageReqVO);
         List<IotDeviceDO> collect = mapDevice.stream().filter(e -> Objects.nonNull(e.getLng()) && Objects.nonNull(e.getLat())).collect(Collectors.toList());
         return CommonResult.success(collect);
     }

+ 2 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/dal/mysql/IotDeviceMapper.java

@@ -143,8 +143,9 @@ public interface IotDeviceMapper extends BaseMapperX<IotDeviceDO> {
         return selectList(queryWrapper);
     }
 
-    default List<IotDeviceDO> selectDataCollect() {
+    default List<IotDeviceDO> selectDataCollect(IotDevicePageReqVO reqVO) {
         return selectList(new LambdaQueryWrapperX<IotDeviceDO>()
+                .inIfPresent(IotDeviceDO::getDeptId, reqVO.getDeptIds())
                 .isNotNull(IotDeviceDO::getYfDeviceId));
     }
     default List<IotDeviceDO> selectSimpleList(IotDevicePageReqVO reqVO, Collection<Long> deptIds) {

+ 3 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/MapLngLatJob.java

@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
 import cn.iocoder.yudao.module.pms.ThingsModelDTO;
 import cn.iocoder.yudao.module.pms.controller.admin.TableDataInfo;
+import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
 import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
 import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
 import com.alibaba.fastjson.JSON;
@@ -34,7 +35,8 @@ public class MapLngLatJob implements JobHandler {
     @TenantIgnore
     @DataPermission(enable = false)
     public String execute(String param) throws Exception {
-        List<IotDeviceDO> iotDeviceDOS = iotDeviceMapper.selectDataCollect();
+        IotDevicePageReqVO page = new IotDevicePageReqVO();
+        List<IotDeviceDO> iotDeviceDOS = iotDeviceMapper.selectDataCollect(page);
         iotDeviceDOS.forEach(deviceDO -> {
             if (Objects.nonNull(deviceDO.getYfDeviceId())) {
                 TableDataInfo tableDataInfo = restTemplate.getForObject(yanfanUrl + "/prod-api/iot/device/listThingsModel?deviceId="+deviceDO.getYfDeviceId()+"&pageNum=1&pageSize=200", TableDataInfo.class);

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/IotDeviceService.java

@@ -24,7 +24,7 @@ import java.util.Map;
 public interface IotDeviceService {
     void templateChange(String categoryId, List<IotDeviceProperty> properties);
     void importDevice(List<DeviceImportExcelVO> list);
-    List<IotDeviceDO> getMapDevice();
+    List<IotDeviceDO> getMapDevice(IotDevicePageReqVO pageReqVO);
     List<ThingsModelDTO> getTdParams(IotDeviceDO iotDeviceDO);
     /**
      * 创建设备台账

+ 13 - 2
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/IotDeviceServiceImpl.java

@@ -43,6 +43,8 @@ import cn.iocoder.yudao.module.pms.service.iotdevicerunlog.IotDeviceRunLogServic
 import cn.iocoder.yudao.module.pms.service.iotmodeltemplateattrs.IotModelTemplateAttrsService;
 import cn.iocoder.yudao.module.pms.service.yanfan.ThingsModelService;
 import cn.iocoder.yudao.module.pms.service.yanfan.YfDeviceService;
+import cn.iocoder.yudao.module.system.api.dept.DeptApi;
+import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
 import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
 import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
@@ -127,6 +129,8 @@ public class IotDeviceServiceImpl implements IotDeviceService {
     @Autowired
     private IotOpeationFillMapper zhbdmapper;
     private final static String parameter = "lng~~经度,lat~~纬度,today_distance~~当日里程,distance~~总里程,todayoil~~当日油量,totaloil~~总油量,online~~是否在线,oil1~~1路油量,oil2~~2路油量,oil3~~3路油量,oil4~~4路油量,vehicle_name~~车牌号码";
+    @Autowired
+    private DeptApi deptApi;
 
     @Override
     public void templateChange(String categoryId, List<IotDeviceProperty> properties) {
@@ -167,8 +171,15 @@ public class IotDeviceServiceImpl implements IotDeviceService {
     }
 
     @Override
-    public List<IotDeviceDO> getMapDevice() {
-        return iotDeviceMapper.selectDataCollect();
+    public List<IotDeviceDO> getMapDevice(IotDevicePageReqVO reqVO) {
+        Long deptId = reqVO.getDeptId();
+        if (Objects.nonNull(deptId)) {
+            List<Long> collect = deptApi.getChildDeptList(deptId).stream().map(DeptRespDTO::getId).collect(Collectors.toList());
+            collect.add(deptId);
+            reqVO.setDeptId(null);
+            reqVO.setDeptIds(collect);
+        }
+        return iotDeviceMapper.selectDataCollect(reqVO);
     }
 
     public void init() {