sql优化查询

This commit is contained in:
zy 2025-11-29 15:59:06 +08:00
parent acc32a8805
commit 1a03f93a5c
29 changed files with 470 additions and 47 deletions

View File

@ -17,6 +17,7 @@ import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.IotConstants;
import org.jeecg.common.constant.PollutionConstants;
import org.jeecg.common.dto.DeviceFilterDTO;
import org.jeecg.common.entity.*;
import org.jeecg.common.iot.common.DTOCamControl;
import org.jeecg.common.iot.common.IotDeviceCtlResult;
@ -345,4 +346,12 @@ public class SurvDeviceDeployController extends JeecgController<SurvDeviceDeploy
return Result.ok(stationList);
}
@ApiOperation(value="surv_device_deploy-分页列表查询", notes="surv_device_deploy-分页列表查询")
@PostMapping(value = "/getDeviceList")
public Result<List<SurvDeviceDeploy>> getDeviceList(@RequestBody DeviceFilterDTO deviceFilterDTO) {
List<SurvDeviceDeploy> pageList = survDeviceDeployService.getDeviceListByStation(null,deviceFilterDTO.getDeployTypes());
return Result.OK(pageList);
}
}

View File

@ -64,13 +64,13 @@ public class SurvHisdataSoilController extends JeecgController<SurvHisdataSoil,
Page<SurvHisdataSoil> page = new Page<SurvHisdataSoil>(pageNo, pageSize);
//查询站点设备
List<String> deviceList = new ArrayList<>();
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
deviceList = deployService.getDeviceListByStation(survHisdataSoil.getStationCode(), PollutionConstants.SOIL_SURV);
if(deviceList.size() ==0){//如果没有此类设备则返回空
IPage emptyPage = new Page(1,1);
return Result.OK(emptyPage);
}
}
// if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
// deviceList = deployService.getDeviceListByStation(survHisdataSoil.getStationCode(), PollutionConstants.SOIL_SURV);
// if(deviceList.size() ==0){//如果没有此类设备则返回空
// IPage emptyPage = new Page(1,1);
// return Result.OK(emptyPage);
// }
// }
IPage<SurvHisdataSoil> pageList = survHisdataSoilService.pages(page, survHisdataSoil,deviceList);
return Result.OK(pageList);
}

View File

@ -65,13 +65,13 @@ public class SurvTransdataSoilController extends JeecgController<SurvTransdataSo
Page<SurvTransdataSoil> page = new Page<SurvTransdataSoil>(pageNo, pageSize);
//查询站点设备
List<String> deviceList = new ArrayList<>();
if(StringUtils.isNotBlank(survTransdataSoil.getStationCode())){
deviceList = deployService.getDeviceListByStation(survTransdataSoil.getStationCode(), PollutionConstants.SOIL_SURV);
if(deviceList.size() ==0){//如果没有此类设备则返回空
IPage emptyPage = new Page(1,1);
return Result.OK(emptyPage);
}
}
// if(StringUtils.isNotBlank(survTransdataSoil.getStationCode())){
// deviceList = deployService.getDeviceListByStation(survTransdataSoil.getStationCode(), PollutionConstants.SOIL_SURV);
// if(deviceList.size() ==0){//如果没有此类设备则返回空
// IPage emptyPage = new Page(1,1);
// return Result.OK(emptyPage);
// }
// }
IPage<SurvTransdataSoil> pageList = survTransdataSoilService.pages(page,survTransdataSoil,deviceList);
return Result.OK(pageList);
}

View File

@ -39,6 +39,7 @@
<result property="deploySecondaryType" column="DEPLOY_SECONDARY_TYPE" jdbcType="VARCHAR"/>
<result property="cateId" column="CATE_ID" jdbcType="VARCHAR"/>
<result property="survConfigId" column="SURV_CONFIG_ID" jdbcType="VARCHAR"/>
<result property="deviceConfig" column="DEVICE_CONFIG" jdbcType="VARCHAR" typeHandler="org.jeecg.common.mybatis.typehandler.JsonTypeHandler" />
</resultMap>
<resultMap id="extMap" type="org.jeecg.common.entity.SurvDeviceDeploy" extends="baseResultMap">
@ -54,7 +55,7 @@
</resultMap>
<sql id="basesql" >
ID,DEPLOY_CODE,STATION_CODE,RUN_STATUS,POWER_STATUS,LASTSYNC_TIME,DEVICE_CODE,DEPLOY_DES,DEPLOY_PIC,DEVICE_URL,SORT_NO,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_TYPE,DEVICE_LATITUDE,DEVICE_LONGITUDE,GROUP_ID,IZ_BAOJING,IP_ADDR,PORT,SEND_INFO,MAP_ICON,DEVICE_IOT_URL,DEVICE_REVERSE_IOT_URL,DEVICE_LONGLAT,PROTOCOL_CODE,PROTOCOL_TYPE,DEPLOY_CATE,DEPLOY_SECONDARY_TYPE,CATE_ID,SURV_CONFIG_ID
ID,DEPLOY_CODE,STATION_CODE,RUN_STATUS,POWER_STATUS,LASTSYNC_TIME,DEVICE_CODE,DEPLOY_DES,DEPLOY_PIC,DEVICE_URL,SORT_NO,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_TYPE,DEVICE_LATITUDE,DEVICE_LONGITUDE,GROUP_ID,IZ_BAOJING,IP_ADDR,PORT,SEND_INFO,MAP_ICON,DEVICE_IOT_URL,DEVICE_REVERSE_IOT_URL,DEVICE_LONGLAT,PROTOCOL_CODE,PROTOCOL_TYPE,DEPLOY_CATE,DEPLOY_SECONDARY_TYPE,CATE_ID,SURV_CONFIG_ID,DEVICE_CONFIG
</sql>

View File

@ -30,11 +30,12 @@
<result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
<association property="stationName" column="{deplyCode = DEPLOY_CODE}" javaType="java.lang.String" select="org.jeecg.modules.appmana.mapper.SurvDeviceDeployMapper.getStationNameByDeployCode"/>
</resultMap>
<sql id="baseSql">
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE
</sql>
<select id="pages" resultMap="baseResultMap">
@ -42,6 +43,12 @@
<if test="query.dataDateTime != null">
and DATE_FORMAT(DATA_DATE_TIME, '%Y-%m-%d') = DATE_FORMAT(#{query.dataDateTime},'%Y-%m-%d')
</if>
<if test="query.stationCode != null">
and STATION_CODE = #{query.stationCode}
</if>
<if test="query.deployId != null">
and DEPLOY_ID = #{query.deployId}
</if>
<if test="query.deployCode != null">
and DEPLOY_CODE = #{query.deployCode}
</if>
@ -51,6 +58,12 @@
#{id}
</foreach>
</if>
<if test="query.deployList!=null and query.deployList.size()>0">
and DEPLOY_TYPE IN
<foreach collection="query.deployList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by DATA_DATE_TIME desc
</select>

View File

@ -63,12 +63,12 @@
<result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<association property="stationName" column="{deplyCode = DEPLOY_CODE}" javaType="java.lang.String" select="org.jeecg.modules.appmana.mapper.SurvDeviceDeployMapper.getStationNameByDeployCode"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE,DATA_SOIL_PH,
DATA_SOIL_NION,DATA_SOIL_PION,DATA_SOIL_KION,DATA_SOIL_NION2,DATA_SOIL_PION2,DATA_SOIL_KION2,DATA_SOIL_NION3,DATA_SOIL_PION3,DATA_SOIL_KION3,DATA_SOIL_NION4,DATA_SOIL_PION4,DATA_SOIL_KION4,
DATA_SOIL_NHION,DATA_SOIL_NOION,DATA_SOIL_CUION,DATA_SOIL_PBION,DATA_SOIL_CDION,
DATA_WATER_NTU,DATA_WATER_DO,DATA_WATER_TEMP,DATA_WATER_PH,DATA_WATER_DDL
@ -92,12 +92,24 @@
<if test="query.deployCode != null">
and DEPLOY_CODE = #{query.deployCode}
</if>
<if test="query.deployId != null">
and DEPLOY_ID = #{query.deployId}
</if>
<if test="query.stationCode != null">
and STATION_CODE = #{query.stationCode}
</if>
<if test="deviceList!=null and deviceList.size()>0">
and DEPLOY_CODE IN
<foreach collection="deviceList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
<if test="query.deployList!=null and query.deployList.size()>0">
and DEPLOY_TYPE IN
<foreach collection="query.deployList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by DATA_DATE_TIME desc
</select>

View File

@ -30,6 +30,7 @@
<result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
<association property="stationName" column="{deplyCode = DEPLOY_CODE}" javaType="java.lang.String" select="org.jeecg.modules.appmana.mapper.SurvDeviceDeployMapper.getStationNameByDeployCode"/>
</resultMap>
@ -45,14 +46,15 @@
<result property="dataSunFallout" column="DATA_SUN_FALLOUT" jdbcType="VARCHAR"/>
<result property="dataDateTime" column="DATA_DATE_TIME" />
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE
</sql>
<select id="getNewestData" resultMap="simpleResultMap">
select * from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 1
select <include refid="baseSql"/> from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 1
</select>
<select id="pages" resultMap="baseResultMap">
@ -60,6 +62,12 @@
<if test="query.dataDateTime != null">
and DATE_FORMAT(DATA_DATE_TIME, '%Y-%m-%d') = DATE_FORMAT(#{query.dataDateTime},'%Y-%m-%d')
</if>
<if test="query.stationCode != null">
and STATION_CODE = #{query.stationCode}
</if>
<if test="query.deployId != null">
and DEPLOY_ID = #{query.deployId}
</if>
<if test="query.deployCode != null">
and DEPLOY_CODE = #{query.deployCode}
</if>
@ -69,6 +77,12 @@
#{id}
</foreach>
</if>
<if test="query.deployList!=null and query.deployList.size()>0">
and DEPLOY_TYPE IN
<foreach collection="query.deployList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by DATA_DATE_TIME desc
</select>
</mapper>

View File

@ -61,6 +61,7 @@
<result property="isDel" column="IS_DEL" jdbcType="INTEGER"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
<association property="stationName" column="{deplyCode = DEPLOY_CODE}" javaType="java.lang.String" select="org.jeecg.modules.appmana.mapper.SurvDeviceDeployMapper.getStationNameByDeployCode"/>
</resultMap>
@ -108,11 +109,12 @@
<result property="dataDateTime" column="DATA_DATE_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_DATE_TIME,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_GATHER_TYPE,STATION_ID,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE,DATA_SOIL_PH,
DATA_SOIL_NION,DATA_SOIL_PION,DATA_SOIL_KION,DATA_SOIL_NION2,DATA_SOIL_PION2,DATA_SOIL_KION2,DATA_SOIL_NION3,DATA_SOIL_PION3,DATA_SOIL_KION3,DATA_SOIL_NION4,DATA_SOIL_PION4,DATA_SOIL_KION4,
DATA_SOIL_NHION,DATA_SOIL_NOION,DATA_SOIL_CUION,DATA_SOIL_PBION,DATA_SOIL_CDION,
DATA_WATER_NTU,DATA_WATER_DO,DATA_WATER_TEMP,DATA_WATER_PH,DATA_WATER_DDL
@ -135,6 +137,12 @@
<if test="query.dataDateTime != null">
and DATE_FORMAT(DATA_DATE_TIME, '%Y-%m-%d') = DATE_FORMAT(#{query.dataDateTime},'%Y-%m-%d')
</if>
<if test="query.stationCode != null">
and STATION_CODE = #{query.stationCode}
</if>
<if test="query.deployId != null">
and DEPLOY_ID = #{query.deployId}
</if>
<if test="query.deployCode != null">
and DEPLOY_CODE = #{query.deployCode}
</if>
@ -144,6 +152,12 @@
#{id}
</foreach>
</if>
<if test="query.deployList!=null and query.deployList.size()>0">
and DEPLOY_TYPE IN
<foreach collection="query.deployList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</if>
order by DATA_DATE_TIME desc
</select>
</mapper>

View File

@ -19,4 +19,6 @@ public interface ISurvStationInfoService extends IService<SurvStationInfo> {
List<SurvStationInfo> getAllStationAndDevice(String stationCode,String deviceType,String token);
SurvStationInfo getStationByCode(String stationCode);
List<SurvStationInfo> getStationByCode(List<String> stationCode);
}

View File

@ -1,6 +1,7 @@
package org.jeecg.modules.appmana.service.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
@ -66,7 +67,16 @@ public class SurvDeviceDeployServiceImpl extends ServiceImpl<SurvDeviceDeployMap
@Override
public IPage<SurvDeviceDeploy> pages(IPage<SurvDeviceDeploy> page, SurvDeviceDeploy survDeviceDeploy) {
return baseMapper.pages(page,survDeviceDeploy);
IPage<SurvDeviceDeploy> pageList= baseMapper.pages(page,survDeviceDeploy);
if (!pageList.getRecords().isEmpty()) {
pageList.getRecords().forEach(item -> {
if (item.getDeviceConfig() != null) {
item.setConfigJsonStr(JSONUtil.toJsonStr(item.getDeviceConfig()));
}
});
}
return pageList;
}
@Override
@ -155,6 +165,10 @@ public class SurvDeviceDeployServiceImpl extends ServiceImpl<SurvDeviceDeployMap
survDeviceDeploy.setProtocolCode(dictDeviceDetail.getDeviceProtocol());
survDeviceDeploy.setProtocolType(dictDeviceDetail.getProtocolType());
if (StringUtils.isNotBlank(survDeviceDeploy.getConfigJsonStr())) {
survDeviceDeploy.setDeviceConfig(JSONUtil.parseObj(survDeviceDeploy.getConfigJsonStr()));
}
save(survDeviceDeploy);
}
@ -233,6 +247,10 @@ public class SurvDeviceDeployServiceImpl extends ServiceImpl<SurvDeviceDeployMap
survDeviceDeploy.setProtocolCode(dictDeviceDetail.getDeviceProtocol());
survDeviceDeploy.setProtocolType(dictDeviceDetail.getProtocolType());
if (StringUtils.isNotBlank(survDeviceDeploy.getConfigJsonStr())) {
survDeviceDeploy.setDeviceConfig(JSONUtil.parseObj(survDeviceDeploy.getConfigJsonStr()));
}
updateById(survDeviceDeploy);
}

View File

@ -2,16 +2,21 @@ package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvHisdataAir;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.vo.AirDataTrans;
import org.jeecg.modules.appmana.mapper.SurvHisdataAirMapper;
import org.jeecg.modules.appmana.service.ISurvHisdataAirService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.jeecg.common.iot.common.VOSurvIntegrateAirDetail;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.time.LocalDateTime;
import java.util.List;
import java.util.*;
/**
* @Description: surv_hisdata_air
@ -21,10 +26,26 @@ import java.util.List;
*/
@Service
public class SurvHisdataAirServiceImpl extends ServiceImpl<SurvHisdataAirMapper, SurvHisdataAir> implements ISurvHisdataAirService {
@Lazy
@Autowired
private SurvDeviceDeployServiceImpl deployService;
@Lazy
@Autowired
private SurvStationInfoServiceImpl survStationInfoService;
@Override
public IPage<SurvHisdataAir> pages(Page<SurvHisdataAir> page, SurvHisdataAir survHisdataAir, List<String> deviceList) {
return baseMapper.pages(page,survHisdataAir,deviceList);
List<String> deployList = new ArrayList<>();
if(StringUtils.isNotBlank(survHisdataAir.getDeployType())){
String[] ss= survHisdataAir.getDeployType().split(",");
deployList = Arrays.asList(ss);
}
survHisdataAir.setDeployList(deployList);
IPage<SurvHisdataAir> p = baseMapper.pages(page,survHisdataAir,deviceList);
fill(p.getRecords());
return p;
}
@Override
@ -34,11 +55,47 @@ public class SurvHisdataAirServiceImpl extends ServiceImpl<SurvHisdataAirMapper,
@Override
public List<SurvHisdataAir> listByParams(String deployCode, LocalDateTime startDateTime, LocalDateTime endDateTime) {
return baseMapper.listByParams(deployCode,startDateTime,endDateTime);
List<SurvHisdataAir> l = baseMapper.listByParams(deployCode,startDateTime,endDateTime);
fill(l);
return l;
}
@Override
public List<VOSurvIntegrateAirDetail> integrateSummary(String tenantId, List<String> airDevice,String timeDataFormat, LocalDateTime startTime, LocalDateTime endTime) {
return baseMapper.integrateSummary(tenantId,airDevice,timeDataFormat, startTime, endTime);
}
public void fill(List<SurvHisdataAir> list){
if(list!=null && !list.isEmpty()){
List<String> stationCode = new ArrayList<>();
List<String> depIds = new ArrayList<>();
for (SurvHisdataAir survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
stationCode.add(survHisdataSoil.getStationCode());
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
depIds.add(survHisdataSoil.getDeployId());
}
}
List<SurvDeviceDeploy> deploys = deployService.listByIds(depIds);
List<SurvStationInfo> stations = survStationInfoService.getStationByCode(stationCode);
Map<String,String> depMap = new HashMap<>();
Map<String,String> stationMap = new HashMap<>();
if(!deploys.isEmpty()){
deploys.forEach(item-> depMap.put(item.getId(),item.getDeployDes()));
}
if(!stations.isEmpty()){
stations.forEach(item-> stationMap.put(item.getStationCode(),item.getStationName()));
}
for (SurvHisdataAir survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
survHisdataSoil.setStationName(stationMap.get(survHisdataSoil.getStationCode()));
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
survHisdataSoil.setDeployDes(depMap.get(survHisdataSoil.getDeployId()));
}
}
}
}
}

View File

@ -2,17 +2,22 @@ package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvHisdataSoil;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.iot.common.VOSurvIntegrateSoilDetail;
import org.jeecg.common.vo.DataTrans;
import org.jeecg.modules.appmana.mapper.SurvHisdataSoilMapper;
import org.jeecg.modules.appmana.service.ISurvHisdataSoilService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.time.LocalDateTime;
import java.util.List;
import java.util.*;
/**
* @Description: surv_hisdata_soil
@ -22,6 +27,12 @@ import java.util.List;
*/
@Service
public class SurvHisdataSoilServiceImpl extends ServiceImpl<SurvHisdataSoilMapper, SurvHisdataSoil> implements ISurvHisdataSoilService {
@Lazy
@Autowired
private SurvDeviceDeployServiceImpl deployService;
@Lazy
@Autowired
private SurvStationInfoServiceImpl survStationInfoService;
@Override
public List<DataTrans> getMonthSummry(List<String> soilList) {
@ -30,12 +41,22 @@ public class SurvHisdataSoilServiceImpl extends ServiceImpl<SurvHisdataSoilMappe
@Override
public IPage<SurvHisdataSoil> pages(IPage<SurvHisdataSoil> page, SurvHisdataSoil survHisdataSoil,List<String> deviceList) {
return baseMapper.pages(page,survHisdataSoil,deviceList);
List<String> deployList = new ArrayList<>();
if(StringUtils.isNotBlank(survHisdataSoil.getDeployType())){
String[] ss= survHisdataSoil.getDeployType().split(",");
deployList = Arrays.asList(ss);
}
survHisdataSoil.setDeployList(deployList);
IPage<SurvHisdataSoil> p = baseMapper.pages(page,survHisdataSoil,deviceList);
fill(p.getRecords());
return p;
}
@Override
public List<SurvHisdataSoil> listByParams(String deployCode, LocalDateTime startDateTime, LocalDateTime endDateTime) {
return baseMapper.listByParams(deployCode,startDateTime,endDateTime);
List<SurvHisdataSoil> l = baseMapper.listByParams(deployCode,startDateTime,endDateTime);
fill(l);
return l;
}
@Override
@ -43,4 +64,42 @@ public class SurvHisdataSoilServiceImpl extends ServiceImpl<SurvHisdataSoilMappe
return baseMapper.integrateSummary(tenantId,soilDevice,timeDataFormat, startTime, endTime);
}
public void fill(List<SurvHisdataSoil> list){
if(list!=null && !list.isEmpty()){
List<String> stationCode = new ArrayList<>();
List<String> depIds = new ArrayList<>();
for (SurvHisdataSoil survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
stationCode.add(survHisdataSoil.getStationCode());
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
depIds.add(survHisdataSoil.getDeployId());
}
}
Map<String,String> depMap = new HashMap<>();
Map<String,String> stationMap = new HashMap<>();
if(!depIds.isEmpty()) {
List<SurvDeviceDeploy> deploys = deployService.listByIds(depIds);
if(!deploys.isEmpty()){
deploys.forEach(item-> depMap.put(item.getId(),item.getDeployDes()));
}
}
if(!stationCode.isEmpty()){
List<SurvStationInfo> stations = survStationInfoService.getStationByCode(stationCode);
if(!stations.isEmpty()){
stations.forEach(item-> stationMap.put(item.getStationCode(),item.getStationName()));
}
}
for (SurvHisdataSoil survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
survHisdataSoil.setStationName(stationMap.get(survHisdataSoil.getStationCode()));
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
survHisdataSoil.setDeployDes(depMap.get(survHisdataSoil.getDeployId()));
}
}
}
}
}

View File

@ -36,4 +36,11 @@ public class SurvStationInfoServiceImpl extends ServiceImpl<SurvStationInfoMappe
.one();
return s;
}
@Override
public List<SurvStationInfo> getStationByCode(List<String> stationCode) {
List<SurvStationInfo> s = lambdaQuery().in(SurvStationInfo::getStationCode,stationCode)
.list();
return s;
}
}

View File

@ -3,16 +3,20 @@ package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.entity.SurvTransdataAir;
import org.jeecg.common.vo.SurvTransdataAirVo;
import org.jeecg.modules.appmana.mapper.SurvTransdataAirMapper;
import org.jeecg.modules.appmana.service.ISurvTransdataAirService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.*;
/**
* @Description: surv_transdata_air
@ -22,6 +26,12 @@ import java.util.List;
*/
@Service
public class SurvTransdataAirServiceImpl extends ServiceImpl<SurvTransdataAirMapper, SurvTransdataAir> implements ISurvTransdataAirService {
@Lazy
@Autowired
private SurvDeviceDeployServiceImpl deployService;
@Lazy
@Autowired
private SurvStationInfoServiceImpl survStationInfoService;
@Override
public SurvTransdataAirVo getNewestData(String deployCode) {
@ -30,7 +40,15 @@ public class SurvTransdataAirServiceImpl extends ServiceImpl<SurvTransdataAirMap
@Override
public IPage<SurvTransdataAir> pages(Page<SurvTransdataAir> page, SurvTransdataAir survTransdataAir, List<String> deviceList) {
return baseMapper.pages(page,survTransdataAir,deviceList);
List<String> deployList = new ArrayList<>();
if(StringUtils.isNotBlank(survTransdataAir.getDeployType())){
String[] ss= survTransdataAir.getDeployType().split(",");
deployList = Arrays.asList(ss);
}
survTransdataAir.setDeployList(deployList);
IPage<SurvTransdataAir> p = baseMapper.pages(page,survTransdataAir,deviceList);
fill(p.getRecords());
return p;
}
@Override
@ -40,4 +58,38 @@ public class SurvTransdataAirServiceImpl extends ServiceImpl<SurvTransdataAirMap
queryWrapper.eq("DEPLOY_CODE", deployCode).last("limit 1");
return getOne(queryWrapper);
}
public void fill(List<SurvTransdataAir> list){
if(list!=null && !list.isEmpty()){
List<String> stationCode = new ArrayList<>();
List<String> depIds = new ArrayList<>();
for (SurvTransdataAir survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
stationCode.add(survHisdataSoil.getStationCode());
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
depIds.add(survHisdataSoil.getDeployId());
}
}
List<SurvDeviceDeploy> deploys = deployService.listByIds(depIds);
List<SurvStationInfo> stations = survStationInfoService.getStationByCode(stationCode);
Map<String,String> depMap = new HashMap<>();
Map<String,String> stationMap = new HashMap<>();
if(!deploys.isEmpty()){
deploys.forEach(item-> depMap.put(item.getId(),item.getDeployDes()));
}
if(!stations.isEmpty()){
stations.forEach(item-> stationMap.put(item.getStationCode(),item.getStationName()));
}
for (SurvTransdataAir survTransdataAir : list) {
if(StringUtils.isNotBlank(survTransdataAir.getStationCode())){
survTransdataAir.setStationName(stationMap.get(survTransdataAir.getStationCode()));
}
if(StringUtils.isNotBlank(survTransdataAir.getDeployId())){
survTransdataAir.setDeployDes(depMap.get(survTransdataAir.getDeployId()));
}
}
}
}
}

View File

@ -3,16 +3,20 @@ package org.jeecg.modules.appmana.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.entity.SurvDeviceDeploy;
import org.jeecg.common.entity.SurvStationInfo;
import org.jeecg.common.entity.SurvTransdataSoil;
import org.jeecg.common.vo.DataTrans;
import org.jeecg.common.vo.SurvTransdataSoilVo;
import org.jeecg.modules.appmana.mapper.SurvTransdataSoilMapper;
import org.jeecg.modules.appmana.service.ISurvTransdataSoilService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.List;
import java.util.*;
/**
* @Description: surv_transdata_soil
@ -23,6 +27,13 @@ import java.util.List;
@Service
public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilMapper, SurvTransdataSoil> implements ISurvTransdataSoilService {
@Lazy
@Autowired
private SurvDeviceDeployServiceImpl deployService;
@Lazy
@Autowired
private SurvStationInfoServiceImpl survStationInfoService;
@Override
public SurvTransdataSoilVo getNewestData(String deployCode) {
return baseMapper.getNewestData(deployCode);
@ -30,7 +41,15 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
@Override
public IPage<SurvTransdataSoil> pages(Page<SurvTransdataSoil> page, SurvTransdataSoil survTransdataSoil, List<String> deviceList) {
return baseMapper.pages(page,survTransdataSoil,deviceList);
List<String> deployList = new ArrayList<>();
if(StringUtils.isNotBlank(survTransdataSoil.getDeployType())){
String[] ss= survTransdataSoil.getDeployType().split(",");
deployList = Arrays.asList(ss);
}
survTransdataSoil.setDeployList(deployList);
IPage<SurvTransdataSoil> p = baseMapper.pages(page,survTransdataSoil,deviceList);
fill(p.getRecords());
return p;
}
@Override
@ -40,4 +59,43 @@ public class SurvTransdataSoilServiceImpl extends ServiceImpl<SurvTransdataSoilM
queryWrapper.eq("DEPLOY_CODE", deployCode).last("limit 1");
return getOne(queryWrapper);
}
public void fill(List<SurvTransdataSoil> list){
if(list!=null && !list.isEmpty()){
List<String> stationCode = new ArrayList<>();
List<String> depIds = new ArrayList<>();
for (SurvTransdataSoil survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
stationCode.add(survHisdataSoil.getStationCode());
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
depIds.add(survHisdataSoil.getDeployId());
}
}
Map<String,String> depMap = new HashMap<>();
Map<String,String> stationMap = new HashMap<>();
if(!depIds.isEmpty()) {
List<SurvDeviceDeploy> deploys = deployService.listByIds(depIds);
if(!deploys.isEmpty()){
deploys.forEach(item-> depMap.put(item.getId(),item.getDeployDes()));
}
}
if(!stationCode.isEmpty()){
List<SurvStationInfo> stations = survStationInfoService.getStationByCode(stationCode);
if(!stations.isEmpty()){
stations.forEach(item-> stationMap.put(item.getStationCode(),item.getStationName()));
}
}
for (SurvTransdataSoil survHisdataSoil : list) {
if(StringUtils.isNotBlank(survHisdataSoil.getStationCode())){
survHisdataSoil.setStationName(stationMap.get(survHisdataSoil.getStationCode()));
}
if(StringUtils.isNotBlank(survHisdataSoil.getDeployId())){
survHisdataSoil.setDeployDes(depMap.get(survHisdataSoil.getDeployId()));
}
}
}
}
}

View File

@ -38,6 +38,7 @@
<result property="deploySecondaryType" column="DEPLOY_SECONDARY_TYPE" jdbcType="VARCHAR"/>
<result property="cateId" column="CATE_ID" jdbcType="VARCHAR"/>
<result property="survConfigId" column="SURV_CONFIG_ID" jdbcType="VARCHAR"/>
<result property="deviceConfig" column="DEVICE_CONFIG" jdbcType="VARCHAR" typeHandler="org.jeecg.common.mybatis.typehandler.JsonTypeHandler" />
</resultMap>
<resultMap id="adResultMap" type="org.jeecg.common.entity.SurvDeviceDeploy" extends="baseResultMap">
<association property="stationName" javaType="java.lang.String" select="getStationName" column="STATION_CODE"></association>
@ -66,7 +67,7 @@
</select>
<sql id="baseSql" >
ID,DEPLOY_CODE,STATION_CODE,RUN_STATUS,POWER_STATUS,LASTSYNC_TIME,DEVICE_CODE,DEPLOY_DES,DEPLOY_PIC,DEVICE_URL,SORT_NO,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_TYPE,DEVICE_LATITUDE,DEVICE_LONGITUDE,GROUP_ID,IZ_BAOJING,IP_ADDR,PORT,SEND_INFO,MAP_ICON,DEVICE_IOT_URL,DEVICE_REVERSE_IOT_URL,DEVICE_LONGLAT,PROTOCOL_CODE,PROTOCOL_TYPE,DEPLOY_CATE,DEPLOY_SECONDARY_TYPE,CATE_ID,SURV_CONFIG_ID
ID,DEPLOY_CODE,STATION_CODE,RUN_STATUS,POWER_STATUS,LASTSYNC_TIME,DEVICE_CODE,DEPLOY_DES,DEPLOY_PIC,DEVICE_URL,SORT_NO,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_TYPE,DEVICE_LATITUDE,DEVICE_LONGITUDE,GROUP_ID,IZ_BAOJING,IP_ADDR,PORT,SEND_INFO,MAP_ICON,DEVICE_IOT_URL,DEVICE_REVERSE_IOT_URL,DEVICE_LONGLAT,PROTOCOL_CODE,PROTOCOL_TYPE,DEPLOY_CATE,DEPLOY_SECONDARY_TYPE,CATE_ID,SURV_CONFIG_ID,DEVICE_CONFIG
</sql>
<select id="getCameraGroupByStation" resultType="org.jeecg.common.entity.SurvDeviceDeploy">

View File

@ -15,8 +15,13 @@
<result property="deployCode" column="DEPLOY_CODE" jdbcType="VARCHAR"/>
<result property="dataDateTime" column="DATA_DATE_TIME"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE
</sql>
<select id="getMonthSummry" resultType="org.jeecg.common.vo.AirDataTrans">
SELECT t1.index,IFNULL(t2.dataAirTemp,0) as dataAirTemp,IFNULL(t2.dataAirWet,0) as dataAirWet,IFNULL(t2.dataAirPress,0) as dataAirPress,IFNULL(t2.dataRainFall,0) as dataRainFall,IFNULL(t2.dataWindSpeed,0) as dataWindSpeed,IFNULL(t2.dataWindDirection,0) as dataWindDirection
,IFNULL(t2.dataSunTotal,0) as dataSunTotal,IFNULL(t2.dataSunFallout,0) as dataSunFallout,IFNULL(t2.dataRainTotal,0) as dataRainTotal
@ -41,7 +46,7 @@
</select>
<select id="getAllNewestData" resultMap="baseResultVoMap">
select * from surv_hisdata_air where DEPLOY_CODE IN
select <include refid="baseSql" /> from surv_hisdata_air where DEPLOY_CODE IN
<foreach collection="airList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
@ -49,7 +54,7 @@
</select>
<select id="getResentData" resultMap="baseResultVoMap">
select * from surv_hisdata_air where DEPLOY_CODE IN
select <include refid="baseSql" /> from surv_hisdata_air where DEPLOY_CODE IN
<foreach collection="airList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
@ -64,7 +69,7 @@
</select>
<select id="getPageResentData" resultMap="baseResultVoMap">
select * from surv_hisdata_air where DEPLOY_ID IN
select <include refid="baseSql" /> from surv_hisdata_air where DEPLOY_ID IN
<foreach collection="airList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>

View File

@ -49,11 +49,12 @@
<result property="dataDateTime" column="DATA_DATE_TIME"/>
<result property="deployCode" column="DEPLOY_CODE" jdbcType="VARCHAR"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TRANS_DATE,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE,DATA_SOIL_PH,
DATA_SOIL_NION,DATA_SOIL_PION,DATA_SOIL_KION,DATA_SOIL_NION2,DATA_SOIL_PION2,DATA_SOIL_KION2,DATA_SOIL_NION3,DATA_SOIL_PION3,DATA_SOIL_KION3,DATA_SOIL_NION4,DATA_SOIL_PION4,DATA_SOIL_KION4,
DATA_SOIL_NHION,DATA_SOIL_NOION,DATA_SOIL_CUION,DATA_SOIL_PBION,DATA_SOIL_CDION,
DATA_WATER_NTU,DATA_WATER_DO,DATA_WATER_TEMP,DATA_WATER_PH,DATA_WATER_DDL

View File

@ -15,18 +15,23 @@
<result property="dataDateTime" column="DATA_DATE_TIME" />
<result property="deployCode" column="DEPLOY_CODE" />
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_AIR_TEMP,DATA_AIR_WET,DATA_AIR_PRESS,DATA_RAIN_FALL,DATA_WIND_SPEED,DATA_WIND_DIRECTION,DATA_SUN_FALLOUT,DATA_SUN_TOTAL,DATA_RAIN_TOTAL,DATA_DATE_TIME,DATA_GATHER_TYPE,STATION_ID,DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE
</sql>
<select id="getNewestData" resultMap="simpleResultMap">
select * from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 1
select <include refid="baseSql"/> from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 1
</select>
<select id="getALlNewestData" resultMap="simpleResultMap">
select * from surv_transdata_air
select <include refid="baseSql"/> from surv_transdata_air
</select>
<select id="getNewestDataWithStation" resultMap="simpleResultMap">
select * from surv_transdata_air where DEPLOY_CODE IN
select <include refid="baseSql"/> from surv_transdata_air where DEPLOY_CODE IN
<foreach collection="airList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>
@ -34,11 +39,11 @@
</select>
<select id="getRecentDataByCode" resultMap="simpleResultMap">
select * from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 5
select <include refid="baseSql"/> from surv_transdata_air where DEPLOY_CODE = #{deployCode} order by DATA_DATE_TIME desc limit 5
</select>
<select id="getAllNewestData" resultMap="simpleResultMap">
select * from surv_transdata_air where DEPLOY_CODE IN
select <include refid="baseSql"/> from surv_transdata_air where DEPLOY_CODE IN
<foreach collection="airList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>

View File

@ -48,11 +48,12 @@
<result property="dataDateTime" column="DATA_DATE_TIME"/>
<result property="deployCode" column="DEPLOY_CODE"/>
<result property="deployId" column="DEPLOY_ID"/>
<result property="deployType" column="DEPLOY_TYPE" jdbcType="VARCHAR"/>
</resultMap>
<sql id="baseSql">
ID,DATA_SOIL_TEMP,DATA_SOIL_WET,DATA_SOIL_SALT,DATA_DATE_TIME,DATA_SOIL_TEMP2,DATA_SOIL_WET2,DATA_SOIL_TEMP3,DATA_SOIL_WET3,DATA_SOIL_DDL,DATA_SOIL_DDL2,DATA_SOIL_DDL3,DATA_GATHER_TYPE,STATION_ID,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DATA_SOIL_PH,
DEVICE_ID,STATION_CODE,DEPLOY_CODE,CORP_ID,STATION_NAME,DEVICE_NAME,TENANT_ID,RE_VISION,CREATED_BY,CREATE_TIME,UPDATED_BY,IS_DEL,UPDATED_TIME,DEPLOY_ID,DEPLOY_TYPE,DATA_SOIL_PH,
DATA_SOIL_NION,DATA_SOIL_PION,DATA_SOIL_KION,DATA_SOIL_NION2,DATA_SOIL_PION2,DATA_SOIL_KION2,DATA_SOIL_NION3,DATA_SOIL_PION3,DATA_SOIL_KION3,DATA_SOIL_NION4,DATA_SOIL_PION4,DATA_SOIL_KION4,
DATA_SOIL_NHION,DATA_SOIL_NOION,DATA_SOIL_CUION,DATA_SOIL_PBION,DATA_SOIL_CDION,
DATA_WATER_NTU,DATA_WATER_DO,DATA_WATER_TEMP,DATA_WATER_PH,DATA_WATER_DDL
@ -63,7 +64,7 @@
</select>
<select id="getNewestDataWithStation" resultMap="simpleResultMap">
select * from surv_transdata_soil where DEPLOY_CODE IN
select <include refid="baseSql"/> from surv_transdata_soil where DEPLOY_CODE IN
<foreach collection="soilList" index="index" item="id" open="(" separator="," close=")">
#{id}
</foreach>

View File

@ -89,7 +89,7 @@ public enum PollutionEnum {
dataWaterDo("dataWaterDo", "溶解氧", "mg/L", "sys/icon/shebei_icon_do.png", "6_water", "#92D0F5", "sys/mobile/icon/shebei_icon_do.png", "sys/bs/icon/shebei_icon_do.png", "shebei_icon_do.png"),
dataWaterPh("dataWaterPh", "pH", "", "sys/icon/shebei_icon_waterph.png", "6_water", "#92D1F3", "sys/mobile/icon/shebei_icon_waterph.png", "sys/bs/icon/shebei_icon_waterph.png", "shebei_icon_waterph.png"),
dataWaterTemp("dataWaterTemp", "水温", "", "sys/icon/shebei_icon_watertemp.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_watertemp.png", "sys/bs/icon/shebei_icon_watertemp.png", "shebei_icon_watertemp.png"),
dataWaterDdl("dataWaterDdl", "电导率", "", "sys/icon/shebei_icon_waterddl.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_waterddl.png", "sys/bs/icon/shebei_icon_waterddl.png", "shebei_icon_waterddl.png"),
dataWaterDdl("dataWaterDdl", "电导率", "uS/cm", "sys/icon/shebei_icon_waterddl.png", "6_water", "#92D0F3", "sys/mobile/icon/shebei_icon_waterddl.png", "sys/bs/icon/shebei_icon_waterddl.png", "shebei_icon_waterddl.png"),
//面源数据
dataWaterTp("dataWaterTp", "总磷", "mg/L", "sys/icon/shebei_icon_tp.png", "water", "#C8CC00", "sys/mobile/icon/shebei_icon_tp.png", "sys/bs/icon/shebei_icon_tp.png", "shebei_icon_tp.png"),

View File

@ -0,0 +1,10 @@
package org.jeecg.common.dto;
import lombok.Data;
import java.util.List;
@Data
public class DeviceFilterDTO {
private List<String> deployTypes;
}

View File

@ -13,6 +13,8 @@ import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.JdbcType;
import org.jeecg.common.mybatis.typehandler.JsonTypeHandler;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
@ -196,6 +198,14 @@ public class SurvDeviceDeploy implements Serializable {
@ApiModelProperty(value = "物联网配置ID")
private String survConfigId;
/**
* 设备配置串
*/
@ApiModelProperty(value = "设备配置串")
@TableField(typeHandler = JsonTypeHandler.class, jdbcType = JdbcType.VARCHAR, value = "DEVICE_CONFIG")
private cn.hutool.json.JSONObject deviceConfig;
@ApiModelProperty("1#球阀状态")
@TableField(exist = false)
private String valveStatus1;
@ -263,6 +273,9 @@ public class SurvDeviceDeploy implements Serializable {
@TableField(exist = false)
private List<ScEquZhibiao> zhibiaos;
@TableField(exist = false)
private String configJsonStr;
public String[] getDepCodeArr() {
if(StringUtils.isNotBlank(depCodes)) {
return depCodes.split(",");
@ -315,6 +328,7 @@ public class SurvDeviceDeploy implements Serializable {
return deployDes;
}
// public Integer getIsOnline() {
// return Iotutils.checkIsOnline(tenantId, protocolCode, lastsyncTime, deployType);
// }

View File

@ -15,6 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description: surv_hisdata_air
@ -151,4 +152,18 @@ public class SurvHisdataAir implements Serializable {
*/
@TableField("DEPLOY_ID")
private String deployId;
/**
* 更新时间
*/
@TableField("DEPLOY_TYPE")
private String deployType;
@ApiModelProperty(value = "设备名称")
@TableField(exist = false)
private String deployDes;
@ApiModelProperty(value = "设备类型")
@TableField(exist = false)
private List<String> deployList;
}

View File

@ -15,6 +15,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* @Description: surv_hisdata_soil
@ -321,4 +322,18 @@ public class SurvHisdataSoil implements Serializable {
*/
@TableField("DEPLOY_ID")
private String deployId;
/**
* 更新时间
*/
@TableField("DEPLOY_TYPE")
private String deployType;
@ApiModelProperty(value = "设备名称")
@TableField(exist = false)
private String deployDes;
@ApiModelProperty(value = "设备类型")
@TableField(exist = false)
private List<String> deployList;
}

View File

@ -16,6 +16,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
* @Description: surv_transdata_air
@ -146,4 +147,18 @@ public class SurvTransdataAir implements Serializable {
*/
@TableField("DEPLOY_ID")
private String deployId;
/**
* 更新时间
*/
@TableField("DEPLOY_TYPE")
private String deployType;
@ApiModelProperty(value = "设备名称")
@TableField(exist = false)
private String deployDes;
@ApiModelProperty(value = "设备类型")
@TableField(exist = false)
private List<String> deployList;
}

View File

@ -16,6 +16,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
/**
* @Description: surv_transdata_soil
@ -315,4 +316,18 @@ public class SurvTransdataSoil implements Serializable {
*/
@TableField("DEPLOY_ID")
private String deployId;
/**
* 更新时间
*/
@TableField("DEPLOY_TYPE")
private String deployType;
@ApiModelProperty(value = "设备名称")
@TableField(exist = false)
private String deployDes;
@ApiModelProperty(value = "设备类型")
@TableField(exist = false)
private List<String> deployList;
}

View File

@ -91,4 +91,9 @@ public class SurvTransdataAirVo implements Serializable {
@ApiModelProperty(value = "设备ID")
private String deployId;
/**设备部署类型*/
@Excel(name = "设备部署类型", width = 15)
@ApiModelProperty(value = "设备部署类型")
private String deployType;
}

View File

@ -263,4 +263,9 @@ public class SurvTransdataSoilVo implements Serializable {
@ApiModelProperty(value = "设备ID")
private String deployId;
/**设备部署类型*/
@Excel(name = "设备部署类型", width = 15)
@ApiModelProperty(value = "设备部署类型")
private String deployType;
}