大屏首页统计精度

This commit is contained in:
zhangyue 2026-07-27 11:56:25 +08:00
parent 4cda521e81
commit d4e533c6bd
5 changed files with 53 additions and 20 deletions

View File

@ -115,16 +115,16 @@
<select id="integrateSummary" resultType="org.jeecg.common.iot.common.VOSurvIntegrateLiveDetail">
select date_format(t.DATA_DATE_TIME,#{timeDataFormat}) as dates,
ifnull(ROUND(avg(cast(DATA_WATER_TP as decimal(10,1))), 2),'0') as dataWaterTp,
ifnull(ROUND(avg(cast(DATA_WATER_TP_SY as decimal(10,1))), 2),'0') as dataWaterTpSy,
ifnull(ROUND(avg(cast(DATA_WATER_TN as decimal(10,1))), 2),'0') as dataWaterTn,
ifnull(ROUND(avg(cast(DATA_WATER_TN_SY as decimal(10,1))), 2),'0') as dataWaterTnSy,
ifnull(ROUND(avg(cast(DATA_WATER_NO as decimal(10,1))), 2),'0') as dataWaterNo,
ifnull(ROUND(avg(cast(DATA_WATER_NO_SY as decimal(10,1))), 2),'0') as dataWaterNoSy,
ifnull(ROUND(avg(cast(DATA_WATER_NH as decimal(10,1))), 2),'0') as dataWaterNh,
ifnull(ROUND(avg(cast(DATA_WATER_NH_SY as decimal(10,1))), 2),'0') as dataWaterNhSy,
ifnull(ROUND(avg(cast(DATA_WATER_COD as decimal(10,1))), 2),'0') as dataWaterCod,
ifnull(ROUND(avg(cast(DATA_WATER_COD_SY as decimal(10,1))), 2),'0') as dataWaterCodSy
ifnull(avg(cast(DATA_WATER_TP as decimal(10,4))),'0') as dataWaterTp,
ifnull(avg(cast(DATA_WATER_TP_SY as decimal(10,4))),'0') as dataWaterTpSy,
ifnull(avg(cast(DATA_WATER_TN as decimal(10,4))),'0') as dataWaterTn,
ifnull(avg(cast(DATA_WATER_TN_SY as decimal(10,4))),'0') as dataWaterTnSy,
ifnull(avg(cast(DATA_WATER_NO as decimal(10,4))),'0') as dataWaterNo,
ifnull(avg(cast(DATA_WATER_NO_SY as decimal(10,4))),'0') as dataWaterNoSy,
ifnull(avg(cast(DATA_WATER_NH as decimal(10,4))),'0') as dataWaterNh,
ifnull(avg(cast(DATA_WATER_NH_SY as decimal(10,4))),'0') as dataWaterNhSy,
ifnull(avg(cast(DATA_WATER_COD as decimal(10,4))),'0') as dataWaterCod,
ifnull(avg(cast(DATA_WATER_COD_SY as decimal(10,4))),'0') as dataWaterCodSy
from surv_hisdata_livestockwater t
<where>
<if test="tenantId != null and tenantId != ''">

View File

@ -128,16 +128,16 @@
<select id="integrateSummary" resultType="org.jeecg.common.iot.common.VOSurvIntegrateOrientDetail">
select date_format(t.DATA_DATE_TIME,#{timeDataFormat}) as dates,
ifnull(ROUND(avg(cast(DATA_WATER_TP as decimal(10,1))), 2),'0') as dataWaterTp,
ifnull(ROUND(avg(cast(DATA_WATER_TP_SY as decimal(10,1))), 2),'0') as dataWaterTpSy,
ifnull(ROUND(avg(cast(DATA_WATER_TN as decimal(10,1))), 2),'0') as dataWaterTn,
ifnull(ROUND(avg(cast(DATA_WATER_TN_SY as decimal(10,1))), 2),'0') as dataWaterTnSy,
ifnull(ROUND(avg(cast(DATA_WATER_NO as decimal(10,1))), 2),'0') as dataWaterNo,
ifnull(ROUND(avg(cast(DATA_WATER_NO_SY as decimal(10,1))), 2),'0') as dataWaterNoSy,
ifnull(ROUND(avg(cast(DATA_WATER_NH as decimal(10,1))), 2),'0') as dataWaterNh,
ifnull(ROUND(avg(cast(DATA_WATER_NH_SY as decimal(10,1))), 2),'0') as dataWaterNhSy,
ifnull(ROUND(avg(cast(DATA_WATER_COD as decimal(10,1))), 2),'0') as dataWaterCod,
ifnull(ROUND(avg(cast(DATA_WATER_COD_SY as decimal(10,1))), 2),'0') as dataWaterCodSy
ifnull(avg(cast(DATA_WATER_TP as decimal(10,4))),'0') as dataWaterTp,
ifnull(avg(cast(DATA_WATER_TP_SY as decimal(10,4))),'0') as dataWaterTpSy,
ifnull(avg(cast(DATA_WATER_TN as decimal(10,4))),'0') as dataWaterTn,
ifnull(avg(cast(DATA_WATER_TN_SY as decimal(10,4))),'0') as dataWaterTnSy,
ifnull(avg(cast(DATA_WATER_NO as decimal(10,4))),'0') as dataWaterNo,
ifnull(avg(cast(DATA_WATER_NO_SY as decimal(10,4))),'0') as dataWaterNoSy,
ifnull(avg(cast(DATA_WATER_NH as decimal(10,4))),'0') as dataWaterNh,
ifnull(avg(cast(DATA_WATER_NH_SY as decimal(10,4))),'0') as dataWaterNhSy,
ifnull(avg(cast(DATA_WATER_COD as decimal(10,4))),'0') as dataWaterCod,
ifnull(avg(cast(DATA_WATER_COD_SY as decimal(10,4))),'0') as dataWaterCodSy
from surv_hisdata_orientwater t
<where>
<if test="tenantId != null and tenantId != ''">

View File

@ -21,4 +21,6 @@ public interface ISurvAlertRecordService extends IService<SurvAlertRecord> {
IPage<SurvAlertRecord> pageByDevice(IPage<SurvAlertRecord> page, List<String> deviceList, String yearStr);
AlertSummaryVo getSummary(AlertSummaryDTO alertSummaryDTO);
AlertSummaryVo getDeviceSummary(AlertSummaryDTO alertSummaryDTO);
}

View File

@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.IotConstants;
import org.jeecg.common.constant.PollutionConstants;
import org.jeecg.common.constant.enums.PollutionEnum;
import org.jeecg.common.dto.AlertSummaryDTO;
import org.jeecg.common.entity.ScEquZhibiao;
@ -58,6 +59,33 @@ public class SurvAlertRecordServiceImpl extends ServiceImpl<SurvAlertRecordMappe
@Override
public AlertSummaryVo getSummary(AlertSummaryDTO alertSummaryDTO) {
AlertSummaryVo alertSummaryVo = new AlertSummaryVo();
if(StringUtils.isNotBlank(alertSummaryDTO.getStationCode())){
//获取站点下的所有设备
List<String> deployTypes = new ArrayList<>();
deployTypes.add(PollutionConstants.SOIL_SURV);
deployTypes.add(PollutionConstants.AIR_SURV);
deployTypes.add(PollutionConstants.WATER_QULITY);
deployTypes.add(PollutionConstants.STINK);
deployTypes.add(PollutionConstants.WATER_LIVE);
deployTypes.add(PollutionConstants.WATER_ORIENT);
List<SurvDeviceDeploy> deviceList = deployService.getDeviceListByStation(alertSummaryDTO.getStationCode(),deployTypes);
if(deviceList!=null && !deviceList.isEmpty()){
for (SurvDeviceDeploy deploy : deviceList) {
alertSummaryDTO.setDeployId(deploy.getId());
alertSummaryVo = getDeviceSummary(alertSummaryDTO);
}
}
}else{
alertSummaryVo = getDeviceSummary(alertSummaryDTO);
}
return alertSummaryVo;
}
@Override
public AlertSummaryVo getDeviceSummary(AlertSummaryDTO alertSummaryDTO) {
Assert.notNull(alertSummaryDTO,"传入格式错误");
String tenantId = alertSummaryDTO.getTenantId();
SurvDeviceDeploy deploy = deployService.getDeployZhibiao(alertSummaryDTO.getDeployId(),tenantId);

View File

@ -5,6 +5,9 @@ import lombok.Data;
@Data
public class AlertSummaryDTO {
@ApiModelProperty("站点编号")
private String stationCode;
@ApiModelProperty("设备ID")
private String deployId;