feat(sensor): 添加传感器设备可视化大屏查询功能
parent
3884605533
commit
ddef372648
|
|
@ -1,4 +1,4 @@
|
|||
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/5/28 17:15:10) App/iotalarm"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
|
||||
<!doctype html><html lang="zh"><head data-built-info="@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/7/20 16:12:45) App/iotalarm"><meta charset="UTF-8"/><meta name="renderer" content="webkit"/><meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1"/><meta name="viewport" content="width=device-width,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover"><title>--</title><script>(function () {
|
||||
const APP_ENV = {
|
||||
antd: {
|
||||
'ant-prefix': 'micro-temp',
|
||||
|
|
@ -20,4 +20,4 @@
|
|||
redirect: '',
|
||||
FRAMEWORK: APP_ENV.antd
|
||||
};
|
||||
})();</script><script defer="defer" src="/iotalarm/static/js/692.af6ab5c0031679cbddc3.js"></script><script defer="defer" src="/iotalarm/static/js/267.5d17f26c6b6d0853e68b.js"></script><script defer="defer" src="/iotalarm/static/js/867.e56a598fea96a2b1b4fa.js"></script><script defer="defer" src="/iotalarm/static/js/main.e1495a14be2402b9ed1a.js"></script><link href="/iotalarm/static/css/main.64b082dca17390b0b36f.css" rel="stylesheet"></head><body><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/5/28 17:15:10) App/iotalarm Version/main Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
||||
})();</script><script defer="defer" src="/iotalarm/static/js/692.e4c4a57a2c2aa063f540.js"></script><script defer="defer" src="/iotalarm/static/js/267.5d17f26c6b6d0853e68b.js"></script><script defer="defer" src="/iotalarm/static/js/867.61aaf372558d5af1f76c.js"></script><script defer="defer" src="/iotalarm/static/js/main.e1495a14be2402b9ed1a.js"></script><link href="/iotalarm/static/css/main.64b082dca17390b0b36f.css" rel="stylesheet"></head><body><noscript>此网页需要开启JavaScript功能。</noscript><div id="root" style="width: 100%; height: 100%; position: relative;overflow-y: auto"></div><script type="text/javascript">/* @cqsjjb/script 输出当前应用基本信息、构建时间 */console.log("%c@cqsjjb/scripts@2.0.0-alpha-1 Env/production (2026/7/20 16:12:45) App/iotalarm Version/main Java/<branch-name>", "color: #1890ff; border-radius: 2px; padding: 0 4px; border: 1px solid #1890ff; background: #f9fcff")</script></body></html>
|
||||
|
|
@ -1 +1 @@
|
|||
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"https://gbs-gateway.qhdsafety.com"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"iotalarm",contextInject:{appKey:"",fileUrl:"https://jpfz.qhdsafety.com/gbsFileTest/"},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8088",host:"127.0.0.1",open:!0},framework:{antd:{"ant-prefix":"micro-temp",fontFamily:"PingFangSC-Regular",colorPrimary:"#1677ff",borderRadius:2}},webpackConfig:{htmlWebpackPluginOption:{inject:!0}}};
|
||||
module.exports={javaGit:"<git-url>",javaGitName:"<git-name>",environment:{development:{javaGitBranch:"<branch-name>",API_HOST:"https://gbs-gateway.qhdsafety.com"},production:{javaGitBranch:"<branch-name>",API_HOST:""}},appIdentifier:"iotalarm",contextInject:{appKey:"",fileUrl:""},windowInject:{title:"微应用模板",links:[],element:{root:{id:"root"}},scripts:[]},server:{port:"8088",host:"127.0.0.1",open:!0},framework:{antd:{"ant-prefix":"micro-temp",fontFamily:"PingFangSC-Regular",colorPrimary:"#1677ff",borderRadius:2}},webpackConfig:{htmlWebpackPluginOption:{inject:!0}}};
|
||||
|
|
@ -5,6 +5,7 @@ import com.alibaba.cola.dto.SingleResponse;
|
|||
import com.zcloud.api.SensorDeviceServiceI;
|
||||
import com.zcloud.dto.*;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceCO;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
|
@ -87,4 +88,10 @@ public class SensorDeviceController {
|
|||
public SingleResponse<SensorDeviceCO> info(@PathVariable("id") Long id) {
|
||||
return sensorDeviceService.info(id);
|
||||
}
|
||||
|
||||
@ApiOperation("可视化大屏-传感器设备查询")
|
||||
@PostMapping("/screenList")
|
||||
public PageResponse<SensorDeviceScreenCO> screenList(@Validated @RequestBody SensorDeviceScreenQry qry) {
|
||||
return sensorDeviceService.screenList(qry);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,9 @@ import com.alibaba.cola.dto.PageResponse;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||
import com.zcloud.dto.SensorDevicePageQry;
|
||||
import com.zcloud.dto.SensorDeviceScreenQry;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceCO;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import com.zcloud.persistence.dataobject.SensorDeviceDO;
|
||||
import com.zcloud.persistence.repository.SensorDeviceRepository;
|
||||
|
|
@ -35,6 +37,12 @@ public class SensorDeviceQueryExe {
|
|||
return PageResponse.of(sensorDeviceCOs, pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public PageResponse<SensorDeviceScreenCO> screenList(SensorDeviceScreenQry qry) {
|
||||
Map<String, Object> params = PageQueryHelper.toHashMap(qry);
|
||||
PageResponse<SensorDeviceScreenCO> pageResponse = sensorDeviceRepository.screenList(params);
|
||||
return PageResponse.of(pageResponse.getData(), pageResponse.getTotalCount(), pageResponse.getPageSize(), pageResponse.getPageIndex());
|
||||
}
|
||||
|
||||
public SingleResponse<SensorDeviceCO> getById(Long id) {
|
||||
SensorDeviceDO d = sensorDeviceRepository.getById(id);
|
||||
if (d == null || "TRUE".equals(d.getDeleteEnum())) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import com.zcloud.command.query.SensorDeviceQueryExe;
|
|||
import com.zcloud.command.SensorDeviceAddExe;
|
||||
import com.zcloud.dto.*;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceCO;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -30,6 +31,11 @@ public class SensorDeviceServiceImpl implements SensorDeviceServiceI {
|
|||
return sensorDeviceQueryExe.execute(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<SensorDeviceScreenCO> screenList(SensorDeviceScreenQry qry) {
|
||||
return sensorDeviceQueryExe.screenList(qry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse add(SensorDeviceAddCmd cmd) {
|
||||
sensorDeviceAddExe.execute(cmd);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.alibaba.cola.dto.PageResponse;
|
|||
import com.alibaba.cola.dto.SingleResponse;
|
||||
import com.zcloud.dto.*;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceCO;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
|
||||
/**
|
||||
* SensorDeviceServiceI - 传感器设备服务接口
|
||||
|
|
@ -19,6 +20,8 @@ public interface SensorDeviceServiceI {
|
|||
*/
|
||||
PageResponse<SensorDeviceCO> listPage(SensorDevicePageQry qry);
|
||||
|
||||
PageResponse<SensorDeviceScreenCO> screenList(SensorDeviceScreenQry qry);
|
||||
|
||||
/**
|
||||
* 新增
|
||||
* @param cmd
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
package com.zcloud.dto;
|
||||
|
||||
import com.alibaba.cola.dto.PageQuery;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.AssertTrue;
|
||||
|
||||
/**
|
||||
* 可视化大屏传感器设备查询请求
|
||||
*
|
||||
* @Author wangyan
|
||||
* @Date 2026-07-20
|
||||
*/
|
||||
@Data
|
||||
public class SensorDeviceScreenQry extends PageQuery {
|
||||
|
||||
@ApiModelProperty(value = "企业id", name = "corpinfoId")
|
||||
private Long corpinfoId;
|
||||
|
||||
@ApiModelProperty(value = "港区,1:秦皇岛港区,2:秦皇岛东,3:秦皇岛西", name = "portArea")
|
||||
private Integer portArea;
|
||||
|
||||
@AssertTrue(message = "企业id和港区至少传一个")
|
||||
public boolean isCorpinfoIdOrPortAreaPresent() {
|
||||
return corpinfoId != null || portArea != null;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.zcloud.dto.clientobject;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* 可视化大屏传感器设备返回对象
|
||||
*
|
||||
* @Author wangyan
|
||||
* @Date 2026-07-20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class SensorDeviceScreenCO extends SensorDeviceCO {
|
||||
|
||||
@ApiModelProperty(value = "企业名称")
|
||||
private String corpName;
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jjb.saas.framework.datascope.annotation.DataScope;
|
||||
import com.jjb.saas.framework.datascope.annotation.DataScopes;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import com.zcloud.persistence.dataobject.SensorDeviceDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
|
@ -23,4 +24,6 @@ import java.util.Map;
|
|||
public interface SensorDeviceMapper extends BaseMapper<SensorDeviceDO> {
|
||||
|
||||
IPage<SensorDeviceDO> listPage(IPage<SensorDeviceDO> page, @Param("params") Map<String, Object> params, @Param("menuPerms") String menuPerms);
|
||||
|
||||
IPage<SensorDeviceScreenCO> screenList(IPage<SensorDeviceScreenCO> page, @Param("params") Map<String, Object> params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.zcloud.persistence.repository;
|
|||
|
||||
import com.alibaba.cola.dto.PageResponse;
|
||||
import com.jjb.saas.framework.repository.repo.BaseRepository;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import com.zcloud.persistence.dataobject.SensorDeviceDO;
|
||||
|
||||
import java.util.Map;
|
||||
|
|
@ -14,4 +15,6 @@ import java.util.Map;
|
|||
public interface SensorDeviceRepository extends BaseRepository<SensorDeviceDO> {
|
||||
|
||||
PageResponse<SensorDeviceDO> listPage(Map<String, Object> params);
|
||||
|
||||
PageResponse<SensorDeviceScreenCO> screenList(Map<String, Object> params);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||
import com.jjb.saas.framework.repository.common.PageHelper;
|
||||
import com.jjb.saas.framework.repository.repo.impl.BaseRepositoryImpl;
|
||||
import com.zcloud.domain.enums.MenuEnum;
|
||||
import com.zcloud.dto.clientobject.SensorDeviceScreenCO;
|
||||
import com.zcloud.persistence.dataobject.SensorDeviceDO;
|
||||
import com.zcloud.persistence.mapper.SensorDeviceMapper;
|
||||
import com.zcloud.persistence.repository.SensorDeviceRepository;
|
||||
|
|
@ -35,4 +36,11 @@ public class SensorDeviceRepositoryImpl extends BaseRepositoryImpl<SensorDeviceM
|
|||
IPage<SensorDeviceDO> result = sensorDeviceMapper.listPage(page, params, menuPerms);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResponse<SensorDeviceScreenCO> screenList(Map<String, Object> params) {
|
||||
IPage<SensorDeviceScreenCO> page = new Query<SensorDeviceScreenCO>().getPage(params);
|
||||
IPage<SensorDeviceScreenCO> result = sensorDeviceMapper.screenList(page, params);
|
||||
return PageHelper.pageToResponse(result, result.getRecords());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,4 +35,26 @@
|
|||
</where>
|
||||
ORDER BY CASE WHEN sd.sensor_status = 'NORMAL' AND sd.alarm_switch = 1 THEN 0 ELSE 1 END, sd.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="screenList" resultType="com.zcloud.dto.clientobject.SensorDeviceScreenCO">
|
||||
SELECT DISTINCT
|
||||
sd.*,
|
||||
st.type_name AS sensorTypeName,
|
||||
rel.fire_region_id AS fireRegionId,
|
||||
ci.corp_name AS corpName
|
||||
FROM iot_alarm_sensor_device sd
|
||||
LEFT JOIN iot_alarm_region_sensor_rel rel ON rel.sensor_device_id = sd.sensor_device_id AND rel.delete_enum = 'FALSE'
|
||||
LEFT JOIN iot_alarm_sensor_type st ON sd.sensor_type_id = st.id AND st.delete_enum = 'FALSE'
|
||||
LEFT JOIN corp_info ci ON sd.tenant_id = ci.id
|
||||
<where>
|
||||
sd.delete_enum = 'FALSE' and ci.delete_enum = 'FALSE'
|
||||
<if test="params.corpinfoId != null">
|
||||
AND ci.id = #{params.corpinfoId}
|
||||
</if>
|
||||
<if test="params.portArea != null">
|
||||
AND ci.port_area = #{params.portArea}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY CASE WHEN sd.sensor_status = 'NORMAL' AND sd.alarm_switch = 1 THEN 0 ELSE 1 END, sd.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue