bug修改
This commit is contained in:
parent
cdce5ab672
commit
14f0e20254
@ -3,6 +3,7 @@ package com;
|
||||
|
||||
import cn.xuyanwu.spring.file.storage.EnableFileStorage;
|
||||
import org.apache.catalina.connector.Connector;
|
||||
import org.junit.Test;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
@ -149,4 +150,9 @@ public class WisdomSiteApplication extends SpringBootServletInitializer {
|
||||
return firewall;
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -4,4 +4,5 @@ public interface DictionaryConstant {
|
||||
String PROJECT_CONSTRUCTION_STAGE = "project_construction_stage";
|
||||
String AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE = "ai_analyse_hard_ware_alarm_record_type";
|
||||
String LOCATION_DATA_PROJECT_SN_DISAPPEAR_TIME = "location_data_project_sn_disappear_time";
|
||||
String PROJECT_STRUCTURE_TYPE = "project_structure_type";
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.exteriorscaffolding.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
@ -208,4 +209,32 @@ public class ExteriorScaffoldingCurrentDataController {
|
||||
public Result<List<NumberDifferentTypesAlarmsRadarChartOneMonthVo>> getNumberDifferentTypesAlarmsRadarChartOneMonth(@RequestParam Map<String, Object> map) {
|
||||
return Result.success(exteriorScaffoldingCurrentDataService.getNumberDifferentTypesAlarmsRadarChartOneMonth(map));
|
||||
}
|
||||
|
||||
@PostMapping("/lrk/add")
|
||||
@ApiOperation(value = "接收外墙脚手架自动化监测系统数据", notes = "接收外墙脚手架自动化监测系统数据")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(required = true, allowMultiple = true, dataType = "array"),
|
||||
@ApiImplicitParam(name = "current", value = "实时数据", dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.calcValue", value = "单位根据监测类型", allowMultiple = true, dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.calcValue.rateChange", value = "变化速率", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.calcValue.value", value = "计算值", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.calcValue.variation", value = "变化值", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.pointAlarmStatus", value = "报警状态", dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.pointAlarmStatus.alarmState", value = "警状态 报警状态 1.正常 2.超报警 3.超控制 4.变化速率报警", dataType = "int"),
|
||||
@ApiImplicitParam(name = "metadata.deviceCode", value = "设备编号", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.monitorTypeName", value = "监测名称", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.nickname", value = "测点昵称", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.projectCode", value = "项目编号", dataType = "string")
|
||||
})
|
||||
public Result addLrkData(@RequestBody JSONArray jsonArray) {
|
||||
log.info("addLrkData推送数据:{}", jsonArray);
|
||||
try {
|
||||
exteriorScaffoldingCurrentDataService.saveBatchExteriorScaffoldingCurrentData(jsonArray);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("推送数据接收错误!错误原因为:{}", e.getMessage());
|
||||
throw new RuntimeException("推送数据接收错误!错误原因为:" + e.getMessage());
|
||||
}
|
||||
return new Result().code(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.sewage.controller;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -173,4 +174,14 @@ public class SewageDataController {
|
||||
return mv;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "监测曲线趋势", notes = "监测曲线趋势", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "date", value = "日期", paramType = "body", required = false, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/countSewageDataTrend")
|
||||
public Result<List<SewageData>> countSewageDataTrend(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
return Result.success(sewageDataService.countSewageDataTrend(paramMap));
|
||||
}
|
||||
}
|
||||
|
||||
@ -105,4 +105,9 @@ public class SewageData implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private java.lang.String devName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "time")
|
||||
private java.lang.String time;
|
||||
|
||||
}
|
||||
|
||||
@ -21,4 +21,6 @@ import java.util.List;
|
||||
public interface SewageDataMapper extends BaseMapper<SewageData> {
|
||||
|
||||
Page<SewageData> queryDevAndNewestData(@Param(Constants.WRAPPER) QueryWrapper<SewageData> queryWrapper, Page<SewageData> page);
|
||||
|
||||
List<SewageData> countSewageDataTrend(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -1,6 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper">
|
||||
<select id="countSewageDataTrend" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageData">
|
||||
select date_format(create_date,'%H:00') time,
|
||||
ifnull(avg(ph_value),0) ph_value,
|
||||
ifnull(avg(turbidity_value),0) turbidity_value,
|
||||
ifnull(avg(conductivity),0) conductivity,
|
||||
ifnull(avg(dissolved_oxygen),0) dissolved_oxygen,
|
||||
ifnull(avg(water_temperature),0) water_temperature,
|
||||
ifnull(avg(flow_velocity),0) flow_velocity,
|
||||
ifnull(avg(water_level),0) water_level
|
||||
from sewage_data
|
||||
where 1=1
|
||||
<if test="projectSn != null and projectSn != ''">
|
||||
and project_sn = #{projectSn}
|
||||
</if>
|
||||
<if test="devSn != null and devSn != ''">
|
||||
and dev_sn = #{devSn}
|
||||
</if>
|
||||
<choose>
|
||||
<when test="date != null and date != ''">
|
||||
and create_date >= DATE_FORMAT(#{date}, '%Y-%m-%d')
|
||||
and create_date <![CDATA[<=]]> if(LENGTH(#{date}) = 10, CONCAT(DATE_FORMAT(#{date}, '%Y-%m-%d'), '
|
||||
23:59:59'), #{date})
|
||||
</when>
|
||||
<otherwise>
|
||||
and create_date >= current_date
|
||||
</otherwise>
|
||||
</choose>
|
||||
group by date_format(create_date,'%Y-%m-%d %H:00')
|
||||
</select>
|
||||
|
||||
<select id="queryDevAndNewestData" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageData">
|
||||
select sd.dev_sn, sd.dev_name,d.*
|
||||
from sewage_dev sd
|
||||
|
||||
@ -22,4 +22,6 @@ public interface ISewageDataService extends IService<SewageData> {
|
||||
IPage<SewageData> queryDevAndNewestData(HashMap<String, Object> paramMap);
|
||||
|
||||
void add(SewageData sewageData);
|
||||
|
||||
List<SewageData> countSewageDataTrend(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@ -16,15 +17,17 @@ import com.zhgd.xmgl.modules.sewage.mapper.SewageDataMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageDevMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.mapper.SewageWarnThresholdMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||
import com.zhgd.xmgl.util.DateUtils;
|
||||
import com.zhgd.xmgl.util.NumberUtils;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 污水数据
|
||||
@ -110,6 +113,34 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
insertAlarmIfGe(sd.getWaterLevel(), threshold.getWaterLevelHighAlarm(), dev, "水位", 2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SewageData> countSewageDataTrend(HashMap<String, Object> paramMap) {
|
||||
String projectSn = MapUtils.getString(paramMap, "projectSn");
|
||||
String devSn = MapUtils.getString(paramMap, "devSn");
|
||||
List<SewageData> list = baseMapper.countSewageDataTrend(paramMap);
|
||||
Map<String, SewageData> map = list.stream().collect(Collectors.toMap(SewageData::getTime, Function.identity()));
|
||||
List<String> timeList = DateUtils.getDateTimeStrList(100, "HH:00");
|
||||
List<SewageData> rtList = new ArrayList<>();
|
||||
for (String time : timeList) {
|
||||
SewageData d = map.get(time);
|
||||
if (d == null) {
|
||||
d = new SewageData();
|
||||
d.setPhValue(0.0);
|
||||
d.setTurbidityValue(0.0);
|
||||
d.setConductivity(0.0);
|
||||
d.setDissolvedOxygen(0.0);
|
||||
d.setWaterTemperature(0.0);
|
||||
d.setFlowVelocity(0.0);
|
||||
d.setWaterLevel(0.0);
|
||||
d.setTime(time);
|
||||
}
|
||||
d.setProjectSn(projectSn);
|
||||
d.setDevSn(devSn);
|
||||
rtList.add(d);
|
||||
}
|
||||
return rtList;
|
||||
}
|
||||
|
||||
private void insertAlarmIfLe(Double data, Double threshold, SewageDev dev, String c, Integer alarmType) {
|
||||
if (NumberUtils.le(data, threshold)) {
|
||||
SewageAlarm entity = new SewageAlarm();
|
||||
|
||||
@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.steelstructure.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
@ -208,4 +209,32 @@ public class SteelStructureCurrentDataController {
|
||||
public Result<List<NumberDifferentTypesAlarmsRadarChartOneMonthVo>> getNumberDifferentTypesAlarmsRadarChartOneMonth(@RequestParam Map<String, Object> map) {
|
||||
return Result.success(steelStructureCurrentDataService.getNumberDifferentTypesAlarmsRadarChartOneMonth(map));
|
||||
}
|
||||
|
||||
@PostMapping("/lrk/add")
|
||||
@ApiOperation(value = "接收钢结构自动化监测系统数据", notes = "接收钢结构自动化监测系统数据")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(required = true, allowMultiple = true, dataType = "array"),
|
||||
@ApiImplicitParam(name = "current", value = "实时数据", dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.calcValue", value = "单位根据监测类型", allowMultiple = true, dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.calcValue.rateChange", value = "变化速率", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.calcValue.value", value = "计算值", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.calcValue.variation", value = "变化值", dataType = "float"),
|
||||
@ApiImplicitParam(name = "current.pointAlarmStatus", value = "报警状态", dataType = "object"),
|
||||
@ApiImplicitParam(name = "current.pointAlarmStatus.alarmState", value = "警状态 报警状态 1.正常 2.超报警 3.超控制 4.变化速率报警", dataType = "int"),
|
||||
@ApiImplicitParam(name = "metadata.deviceCode", value = "设备编号", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.monitorTypeName", value = "监测名称", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.nickname", value = "测点昵称", dataType = "string"),
|
||||
@ApiImplicitParam(name = "metadata.projectCode", value = "项目编号", dataType = "string")
|
||||
})
|
||||
public Result addLrkData(@RequestBody JSONArray jsonArray) {
|
||||
log.info("addLrkData推送数据:{}", jsonArray);
|
||||
try {
|
||||
steelStructureCurrentDataService.saveBatchSteelStructureCurrentData(jsonArray);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error("推送数据接收错误!错误原因为:{}", e.getMessage());
|
||||
throw new RuntimeException("推送数据接收错误!错误原因为:" + e.getMessage());
|
||||
}
|
||||
return new Result().code(1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -300,6 +300,9 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
.antMatchers("/xmgl/taskProgressRt/queryById").permitAll()
|
||||
.antMatchers("/xmgl/frontierProtectionNoNetData/alaDeviceSubscribe").permitAll()
|
||||
.antMatchers("/xmgl/highSlopeCurrentData/exportData").permitAll()
|
||||
.antMatchers("/xmgl/steelStructureCurrentData/lrk/add").permitAll()
|
||||
.antMatchers("/xmgl/exteriorScaffoldingCurrentData/lrk/add").permitAll()
|
||||
.antMatchers("/xmgl/exteriorScaffoldingCurrentData/exportData").permitAll()
|
||||
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
|
||||
.anyRequest().authenticated() // 剩下所有的验证都需要验证.
|
||||
.and()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user