Merge remote-tracking branch 'origin/main'

This commit is contained in:
fengrong 2024-11-20 14:50:21 +08:00
commit 2f644a91a0
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.EquipmentVo;
import com.das.modules.node.domain.vo.SysTabMappingVo; import com.das.modules.node.domain.vo.SysTabMappingVo;
import com.das.modules.node.entity.SysTabMapping; 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.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -48,8 +49,8 @@ public interface SysImpTabMappingMapper extends BaseMapperPlus<SysTabMapping, Sy
/** /**
* 根据设备id获取温度测点映射表 * 根据设备id获取温度测点映射表
* @param deviceId 设备id * @param temperatureLimitDto 设备id,设备所属物模型中的属性列表
* @return SysTabMappingVo * @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; package com.das.modules.page.controller;
import com.das.common.result.R; 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.domian.vo.TemperatureLimitVo;
import com.das.modules.page.service.TemperatureDashboardService; import com.das.modules.page.service.TemperatureDashboardService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; 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; import java.util.List;
@ -19,12 +22,12 @@ public class TemperatureDashboardController {
/** /**
* 根据设备id获取温度限制设置 * 根据设备id获取温度限制设置
* @param device 设备{id:XXX} 只用到id即可 * @param temperatureLimitDto 设备{id:XXX} ,attributes["测点"]
* @return * @return
*/ */
@PostMapping("/getTemperatureLimitByDeviceId") @PostMapping("/getTemperatureLimitByDeviceId")
public R<List<TemperatureLimitVo>> getTemperatureLimitByDeviceId(@RequestBody SysEquipmentDto device){ public R<List<TemperatureLimitVo>> getTemperatureLimitByDeviceId(@RequestBody TemperatureLimitDto temperatureLimitDto){
List<TemperatureLimitVo> windTurbinesPageVos = service.getTemperatureLimitByDeviceId(device.getId()); List<TemperatureLimitVo> windTurbinesPageVos = service.getTemperatureLimitByDeviceId(temperatureLimitDto);
return R.success(windTurbinesPageVos); 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; package com.das.modules.page.service;
import com.das.modules.page.domian.dto.TemperatureLimitDto;
import com.das.modules.page.domian.vo.TemperatureLimitVo; import com.das.modules.page.domian.vo.TemperatureLimitVo;
import java.util.List; import java.util.List;
@ -13,5 +14,5 @@ public interface TemperatureDashboardService {
* @param deviceId 设备id * @param deviceId 设备id
* @return 限制配置列表(如果限制未设置 则不返回对应测点信息) * @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.alibaba.fastjson.JSONObject;
import com.das.modules.node.entity.SysTabMapping; import com.das.modules.node.entity.SysTabMapping;
import com.das.modules.node.mapper.SysImpTabMappingMapper; 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.domian.vo.TemperatureLimitVo;
import com.das.modules.page.service.TemperatureDashboardService; import com.das.modules.page.service.TemperatureDashboardService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -20,10 +21,10 @@ public class TemperatureDashboardServiceImpl implements TemperatureDashboardServ
SysImpTabMappingMapper impTabMappingMapper; SysImpTabMappingMapper impTabMappingMapper;
@Override @Override
public List<TemperatureLimitVo> getTemperatureLimitByDeviceId(Long deviceId) { public List<TemperatureLimitVo> getTemperatureLimitByDeviceId(TemperatureLimitDto temperatureLimitDto) {
Map<String,TemperatureLimitVo> map = new HashMap<>(); Map<String,TemperatureLimitVo> map = new HashMap<>();
List<SysTabMapping> mappings = impTabMappingMapper.getTemperatureMappingListByDeviceId(deviceId); List<SysTabMapping> mappings = impTabMappingMapper.getTemperatureMappingListByDeviceId(temperatureLimitDto);
if (mappings != null && !mappings.isEmpty()) { if (mappings != null && !mappings.isEmpty()) {
mappings.forEach(mapping -> { mappings.forEach(mapping -> {
String params = mapping.getParams(); String params = mapping.getParams();

View File

@ -128,6 +128,12 @@
and t3.id = t4.iot_model_id and t3.id = t4.iot_model_id
and t1.meas_point_code = t4.attribute_code and t1.meas_point_code = t4.attribute_code
and t4.attribute_type = 138 and t4.attribute_name like '%温度%' 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> </select>
</mapper> </mapper>