温度管理查询接口修改;

This commit is contained in:
yu 2024-11-20 14:49:06 +08:00
parent 6ec8e50221
commit 9fdbcdd49f
6 changed files with 43 additions and 11 deletions

View File

@ -5,6 +5,7 @@ import com.das.modules.auth.mapper.BaseMapperPlus;
import com.das.modules.node.domain.vo.EquipmentVo;
import com.das.modules.node.domain.vo.SysTabMappingVo;
import com.das.modules.node.entity.SysTabMapping;
import com.das.modules.page.domian.dto.TemperatureLimitDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -48,8 +49,8 @@ public interface SysImpTabMappingMapper extends BaseMapperPlus<SysTabMapping, Sy
/**
* 根据设备id获取温度测点映射表
* @param deviceId 设备id
* @param temperatureLimitDto 设备id,设备所属物模型中的属性列表
* @return SysTabMappingVo
*/
List<SysTabMapping> getTemperatureMappingListByDeviceId(@Param("deviceId") Long deviceId);
List<SysTabMapping> getTemperatureMappingListByDeviceId(@Param("info") TemperatureLimitDto temperatureLimitDto);
}

View File

@ -1,12 +1,15 @@
package com.das.modules.page.controller;
import com.das.common.result.R;
import com.das.modules.equipment.domain.dto.SysEquipmentDto;
import com.das.modules.page.domian.dto.TemperatureLimitDto;
import com.das.modules.page.domian.vo.TemperatureLimitVo;
import com.das.modules.page.service.TemperatureDashboardService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@ -19,12 +22,12 @@ public class TemperatureDashboardController {
/**
* 根据设备id获取温度限制设置
* @param device 设备{id:XXX} 只用到id即可
* @param temperatureLimitDto 设备{id:XXX} ,attributes["测点"]
* @return
*/
@PostMapping("/getTemperatureLimitByDeviceId")
public R<List<TemperatureLimitVo>> getTemperatureLimitByDeviceId(@RequestBody SysEquipmentDto device){
List<TemperatureLimitVo> windTurbinesPageVos = service.getTemperatureLimitByDeviceId(device.getId());
public R<List<TemperatureLimitVo>> getTemperatureLimitByDeviceId(@RequestBody TemperatureLimitDto temperatureLimitDto){
List<TemperatureLimitVo> windTurbinesPageVos = service.getTemperatureLimitByDeviceId(temperatureLimitDto);
return R.success(windTurbinesPageVos);
}
}

View File

@ -0,0 +1,20 @@
package com.das.modules.page.domian.dto;
import lombok.Data;
import java.util.List;
@Data
public class TemperatureLimitDto {
/**
* 设备所属物模型中的属性列表
*/
private List<String> attributes;
/**
* 设备id
*/
private Long deviceId;
}

View File

@ -1,5 +1,6 @@
package com.das.modules.page.service;
import com.das.modules.page.domian.dto.TemperatureLimitDto;
import com.das.modules.page.domian.vo.TemperatureLimitVo;
import java.util.List;
@ -13,5 +14,5 @@ public interface TemperatureDashboardService {
* @param deviceId 设备id
* @return 限制配置列表(如果限制未设置 则不返回对应测点信息)
*/
List<TemperatureLimitVo> getTemperatureLimitByDeviceId(Long deviceId);
List<TemperatureLimitVo> getTemperatureLimitByDeviceId(TemperatureLimitDto temperatureLimitDto);
}

View File

@ -3,6 +3,7 @@ package com.das.modules.page.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.das.modules.node.entity.SysTabMapping;
import com.das.modules.node.mapper.SysImpTabMappingMapper;
import com.das.modules.page.domian.dto.TemperatureLimitDto;
import com.das.modules.page.domian.vo.TemperatureLimitVo;
import com.das.modules.page.service.TemperatureDashboardService;
import org.springframework.beans.factory.annotation.Autowired;
@ -20,10 +21,10 @@ public class TemperatureDashboardServiceImpl implements TemperatureDashboardServ
SysImpTabMappingMapper impTabMappingMapper;
@Override
public List<TemperatureLimitVo> getTemperatureLimitByDeviceId(Long deviceId) {
public List<TemperatureLimitVo> getTemperatureLimitByDeviceId(TemperatureLimitDto temperatureLimitDto) {
Map<String,TemperatureLimitVo> map = new HashMap<>();
List<SysTabMapping> mappings = impTabMappingMapper.getTemperatureMappingListByDeviceId(deviceId);
List<SysTabMapping> mappings = impTabMappingMapper.getTemperatureMappingListByDeviceId(temperatureLimitDto);
if (mappings != null && !mappings.isEmpty()) {
mappings.forEach(mapping -> {
String params = mapping.getParams();

View File

@ -128,6 +128,12 @@
and t3.id = t4.iot_model_id
and t1.meas_point_code = t4.attribute_code
and t4.attribute_type = 138 and t4.attribute_name like '%温度%'
and t2.id = #{deviceId}
and t2.id = #{info.deviceId}
<if test="info.attributes !=null and info.attributes.size() > 0">
and t1.meas_point_code in
<foreach collection="info.attributes" item="attribute" open="(" close=")" separator=",">
#{attribute}
</foreach>
</if>
</select>
</mapper>