边带设备

This commit is contained in:
cwchen 2024-04-03 15:15:27 +08:00
parent d816119448
commit 4549c553e1
4 changed files with 48 additions and 26 deletions

View File

@ -58,6 +58,13 @@ public class Constant {
public final static String TG = "停工";
public final static String ONLINE = "1";
public final static String AIR_QUALITY = "PM2.5,PM10";
public final static String NOISE_LEVEL= "噪声";
public final static String GRAY_LAYER = "二氧化碳";
public final static String WARN = "1";
public final static String NOT_WARN = "0";
public final static String[] BUILD_ARR = {"12A0,合肥","12B0,马鞍山","12C0,芜湖","12D0,安庆","12F0,淮南",

View File

@ -216,10 +216,6 @@ public class DeviceOfBdServiceImpl implements IDeviceOfBdService {
if (StringUtils.isNotBlank(validResult)) {
return AjaxResult.error(validResult);
}
int result = mapper.isBdDeviceDetailExist(vo);
if (result > 0) {
return AjaxResult.error("设备级联编码不能重复");
}
if (StringUtils.isEmpty(vo.getId())) {
String id = IdUtils.getUUId();
vo.setId(id);

View File

@ -6,6 +6,7 @@ import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.screen.dto.ScreenParamDto;
import com.securitycontrol.entity.screen.vo.ConstrQuality;
import com.securitycontrol.entity.screen.vo.MapRiskVo;
import com.securitycontrol.entity.system.SystemGlobal;
import com.securitycontrol.screen.mapper.IScIndexMapper;
import com.securitycontrol.screen.service.IScIndexService;
import lombok.extern.slf4j.Slf4j;
@ -138,23 +139,46 @@ public class ScIndexServiceImpl implements IScIndexService {
@Override
public AjaxResult environmentDetection(ScreenParamDto dto) {
Map<String, Object> map = new HashMap<>(6);
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> dataMapList = new ArrayList<>();
// 空气质量 正常/异常 噪声水平 正常/异常 灰层浓度 正常/异常
int aqiNormalNum = 0, aqiErrorNum = 0, dbNormalNum = 0, dbErrorNum = 0, hcNormalNum = 0, hcErrorNum = 0;
try {
dto.setTypeCode(SystemGlobal.HJ_TYPE);
list = mapper.environmentDetection(dto);
if (CollectionUtils.isEmpty(list)) {
Map<String, Object> map = new HashMap<>(6);
map.put("aqiNormalNum", 0);
map.put("aqiErrorNum", 0);
map.put("dbNormalNum", 0);
map.put("dbErrorNum", 0);
map.put("hcNormalNum", 0);
map.put("hcErrorNum", 0);
list.add(map);
if (CollectionUtils.isNotEmpty(list)) {
for (Map<String, Object> dataMap : list) {
if (Objects.nonNull(dataMap.get("modelName"))) {
String modelName = String.valueOf(dataMap.get("modelName"));
String warn = String.valueOf(dataMap.get("warn"));
if (Constant.NOISE_LEVEL.contains(modelName) && Objects.equals(warn, Constant.NOT_WARN)) {
dbNormalNum++;
} else if (Constant.NOISE_LEVEL.contains(modelName) && Objects.equals(warn, Constant.WARN)) {
dbErrorNum++;
}else if (Constant.AIR_QUALITY.contains(modelName) && Objects.equals(warn, Constant.NOT_WARN)) {
aqiNormalNum++;
}else if (Constant.AIR_QUALITY.contains(modelName) && Objects.equals(warn, Constant.WARN)) {
aqiErrorNum++;
}else if (Constant.GRAY_LAYER.contains(modelName) && Objects.equals(warn, Constant.NOT_WARN)) {
hcNormalNum++;
}else if (Constant.GRAY_LAYER.contains(modelName) && Objects.equals(warn, Constant.WARN)) {
hcErrorNum++;
}
}
}
}
} catch (Exception e) {
log.error("环境监测分析", e);
}
return AjaxResult.success(list);
map.put("aqiNormalNum", aqiNormalNum);
map.put("aqiErrorNum", aqiErrorNum);
map.put("dbNormalNum", dbNormalNum);
map.put("dbErrorNum", dbErrorNum);
map.put("hcNormalNum", hcNormalNum);
map.put("hcErrorNum", hcErrorNum);
dataMapList.add(map);
return AjaxResult.success(dataMapList);
}
@Override

View File

@ -56,24 +56,19 @@
</select>
<!--环境监测分析-->
<select id="environmentDetection" resultType="java.util.Map">
SELECT COUNT(IF(tdd.mode_name = '空气质量' and tdv.is_warn = 0,1,NULL)) AS aqiNormalNum,
COUNT(IF(tdd.mode_name = '空气质量' and tdv.is_warn = 1,1,NULL)) AS aqiErrorNum,
COUNT(IF(tdd.mode_name = '噪声水平' and tdv.is_warn = 0,1,NULL)) AS dbNormalNum,
COUNT(IF(tdd.mode_name = '噪声水平' and tdv.is_warn = 1,1,NULL)) AS dbErrorNum,
COUNT(IF(tdd.mode_name = '灰尘浓度' and tdv.is_warn = 0,1,NULL)) AS hcNormalNum,
COUNT(IF(tdd.mode_name = '灰尘浓度' and tdv.is_warn = 1,1,NULL)) AS hcErrorNum
FROM tb_bd_device tbd
INNER JOIN sys_dict sd ON tbd.devic_type = sd.dict_code AND sd.del_flag = 0 AND sd.dict_code = '1804'
INNER JOIN tb_area ta ON tbd.area_id = ta.area_id AND ta.del_flag = 0 AND ta.area_type = '0'
LEFT JOIN tb_device_detail tdd ON tbd.device_id = tdd.device_id AND tdd.del_flag = 0
SELECT tdd.mode_name AS modelName,
IFNULL(tdv.is_warn,'0') AS warn
FROM tb_pro_bd tpd
INNER JOIN tb_bd_device tbd ON tpd.id = tbd.bd_id
INNER JOIN sys_dict sd ON sd.dict_code = tbd.devic_type AND sd.del_flag = 0 AND sd.dict_code= #{typeCode}
LEFT JOIN tb_device_detail tdd ON tdd.device_id = tbd.device_id AND tdd.del_flag = 0
LEFT JOIN tb_device_value tdv ON tdd.id = tdv.attribute_id
WHERE tbd.del_flag = 0
</select>
<!--设备状态 目前只查询边带设备-->
<select id="deviceStatus" resultType="java.util.Map">
SELECT tp.bid_code AS bidCode,
tp.pro_name AS proName,
IF(tbd.status = '801', '1', '0') AS status
tbd.status
FROM tb_bd_device tbd
INNER JOIN tb_pro_bd tpb ON tpb.id = tbd.bd_id AND tpb.del_flag = 0
INNER JOIN tb_project tp on tpb.bid_code = tp.bid_code AND tp.del_flag = 0