增加查询采集设备的接口

ck
liutao 1 week ago
parent 09a2c8458c
commit 15dc437e4e

@ -117,6 +117,14 @@ public class DeviceController {
return success(deviceService.getDeviceSelectList());
}
@GetMapping("/available-page")
@Operation(summary = "获取设备分页列表(全量+是否已选+已删除标识)")
@PreAuthorize("@ss.hasPermission('iot:device:query')")
public CommonResult<PageResult<DeviceSelectRespVO>> getAvailableDevicePage(@Valid DevicePageReqVO pageReqVO) {
PageResult<DeviceSelectRespVO> pageResult = deviceService.getAvailableDevicePage(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@Operation(summary = "导出物联设备 Excel")
@PreAuthorize("@ss.hasPermission('iot:device:export')")

@ -141,5 +141,5 @@ public interface DeviceMapper extends BaseMapperX<DeviceDO> {
List<Date> selectHolidayDays(@Param("startDay") Date startDay, @Param("endDay") Date endDay);
List<DeviceSelectRespVO> getAvailableDevicePage(@Param("page") Page<DeviceSelectRespVO> page,@Param("param") DevicePageReqVO pageReqVO);
}

@ -156,4 +156,5 @@ public interface DeviceService {
Map<Long, DeviceDO> getMapIncludeDeleted(Collection<Long> ids);
PageResult<DeviceSelectRespVO> getAvailableDevicePage(DevicePageReqVO pageReqVO);
}

@ -49,6 +49,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
@ -1736,6 +1737,15 @@ public class DeviceServiceImpl implements DeviceService {
));
}
@Override
public PageResult<DeviceSelectRespVO> getAvailableDevicePage(DevicePageReqVO pageReqVO) {
// 1. 先从 MySQL 查询设备分页信息
Page<DeviceSelectRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<DeviceSelectRespVO> availableDeviceList = deviceMapper.getAvailableDevicePage(page, pageReqVO);
return new PageResult<>(availableDeviceList, page.getTotal());
}
/**
*
* deviceOperationPage

@ -271,6 +271,33 @@
AND the_day &gt;= #{startDay}
AND the_day &lt; #{endDay}
</select>
<select id="getAvailableDevicePage"
resultType="cn.iocoder.yudao.module.iot.controller.admin.device.vo.DeviceSelectRespVO">
SELECT
d.id,
d.device_code AS deviceCode,
d.device_name AS deviceName,
d.device_name AS displayName,
CASE
WHEN EXISTS (
SELECT 1
FROM mes_organization mo
WHERE mo.deleted = 0
AND mo.dv_id = d.id
) THEN TRUE
ELSE FALSE
END AS selected
FROM iot_device d
WHERE d.deleted = 0
<if test="param.deviceCode != null and param.deviceCode != ''">
AND d.device_code LIKE CONCAT('%', #{param.deviceCode}, '%')
</if>
<if test="param.deviceName != null and param.deviceName != ''">
AND d.device_name LIKE CONCAT('%', #{param.deviceName}, '%')
</if>
ORDER BY d.id DESC
</select>
</mapper>

Loading…
Cancel
Save