update add能源实时数据接口

maser
yinq 3 days ago
parent 0b26f7752f
commit f95354603d

@ -0,0 +1,37 @@
package com.os.common.constant;
/**
* MES
*
* @author ruoyi
*/
public class EmsConstants
{
/**
* -
*/
public static final String EMS_ENERGY_TYPE_DNB = "2";
/**
* -
*/
public static final String EMS_ENERGY_TYPE_WATER = "3";
/**
* -
*/
public static final String EMS_ENERGY_TYPE_STEAM = "4";
/**
* -
*/
public static final String EMS_ENERGY_TYPE_Air = "5";
/**
* -
*/
public static final String EMS_ENERGY_TYPE_NITROGEN = "6";
}

@ -1,5 +1,6 @@
package com.os.ems.record.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
@ -35,27 +36,27 @@ public class EmsRecordAirInstant extends BaseEntity
/** 瞬时流量 */
@Excel(name = "瞬时流量")
private Long fluxFlow;
private BigDecimal fluxFlow;
/** 累计流量 */
@Excel(name = "累计流量")
private Long steamFlow;
private BigDecimal steamFlow;
/** 露点温度 */
@Excel(name = "露点温度")
private Long temperature;
private BigDecimal temperature;
/** 压力 */
@Excel(name = "压力")
private Long press;
private BigDecimal press;
/** 密度 */
@Excel(name = "密度")
private Long density;
private BigDecimal density;
/** 压力差值 */
@Excel(name = "压力差值")
private Long differencePress;
private BigDecimal differencePress;
/** 记录时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ -97,61 +98,56 @@ public class EmsRecordAirInstant extends BaseEntity
{
return collectTime;
}
public void setFluxFlow(Long fluxFlow)
{
public BigDecimal getFluxFlow() {
return fluxFlow;
}
public void setFluxFlow(BigDecimal fluxFlow) {
this.fluxFlow = fluxFlow;
}
public Long getFluxFlow()
{
return fluxFlow;
public BigDecimal getSteamFlow() {
return steamFlow;
}
public void setSteamFlow(Long steamFlow)
{
public void setSteamFlow(BigDecimal steamFlow) {
this.steamFlow = steamFlow;
}
public Long getSteamFlow()
{
return steamFlow;
public BigDecimal getTemperature() {
return temperature;
}
public void setTemperature(Long temperature)
{
public void setTemperature(BigDecimal temperature) {
this.temperature = temperature;
}
public Long getTemperature()
{
return temperature;
public BigDecimal getPress() {
return press;
}
public void setPress(Long press)
{
public void setPress(BigDecimal press) {
this.press = press;
}
public Long getPress()
{
return press;
public BigDecimal getDensity() {
return density;
}
public void setDensity(Long density)
{
public void setDensity(BigDecimal density) {
this.density = density;
}
public Long getDensity()
{
return density;
public BigDecimal getDifferencePress() {
return differencePress;
}
public void setDifferencePress(Long differencePress)
{
public void setDifferencePress(BigDecimal differencePress) {
this.differencePress = differencePress;
}
public Long getDifferencePress()
{
return differencePress;
}
public void setRecordTime(Date recordTime)
public void setRecordTime(Date recordTime)
{
this.recordTime = recordTime;
}

@ -1,5 +1,6 @@
package com.os.ems.record.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
@ -35,27 +36,27 @@ public class EmsRecordNitrogenInstant extends BaseEntity
/** 瞬时流量 */
@Excel(name = "瞬时流量")
private Long fluxFlow;
private BigDecimal fluxFlow;
/** 累计流量 */
@Excel(name = "累计流量")
private Long steamFlow;
private BigDecimal steamFlow;
/** 露点温度 */
@Excel(name = "露点温度")
private Long temperature;
private BigDecimal temperature;
/** 压力 */
@Excel(name = "压力")
private Long press;
private BigDecimal press;
/** 纯度 */
@Excel(name = "纯度")
private Long purity;
private BigDecimal purity;
/** 压力差值 */
@Excel(name = "压力差值")
private Long differencePress;
private BigDecimal differencePress;
/** 记录时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ -97,61 +98,56 @@ public class EmsRecordNitrogenInstant extends BaseEntity
{
return collectTime;
}
public void setFluxFlow(Long fluxFlow)
{
public BigDecimal getFluxFlow() {
return fluxFlow;
}
public void setFluxFlow(BigDecimal fluxFlow) {
this.fluxFlow = fluxFlow;
}
public Long getFluxFlow()
{
return fluxFlow;
public BigDecimal getSteamFlow() {
return steamFlow;
}
public void setSteamFlow(Long steamFlow)
{
public void setSteamFlow(BigDecimal steamFlow) {
this.steamFlow = steamFlow;
}
public Long getSteamFlow()
{
return steamFlow;
public BigDecimal getTemperature() {
return temperature;
}
public void setTemperature(Long temperature)
{
public void setTemperature(BigDecimal temperature) {
this.temperature = temperature;
}
public Long getTemperature()
{
return temperature;
public BigDecimal getPress() {
return press;
}
public void setPress(Long press)
{
public void setPress(BigDecimal press) {
this.press = press;
}
public Long getPress()
{
return press;
public BigDecimal getPurity() {
return purity;
}
public void setPurity(Long purity)
{
public void setPurity(BigDecimal purity) {
this.purity = purity;
}
public Long getPurity()
{
return purity;
public BigDecimal getDifferencePress() {
return differencePress;
}
public void setDifferencePress(Long differencePress)
{
public void setDifferencePress(BigDecimal differencePress) {
this.differencePress = differencePress;
}
public Long getDifferencePress()
{
return differencePress;
}
public void setRecordTime(Date recordTime)
public void setRecordTime(Date recordTime)
{
this.recordTime = recordTime;
}

@ -1,7 +1,10 @@
package com.os.ems.record.mapper;
import java.util.List;
import java.util.Map;
import com.os.ems.record.domain.EmsRecordAirInstant;
import com.os.ems.report.domain.RealTimeDataBo;
/**
* Mapper
@ -58,4 +61,12 @@ public interface EmsRecordAirInstantMapper
* @return
*/
public int deleteEmsRecordAirInstantByObjIds(Long[] objIds);
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -1,7 +1,10 @@
package com.os.ems.record.mapper;
import java.util.List;
import java.util.Map;
import com.os.ems.record.domain.EmsRecordDnbInstant;
import com.os.ems.report.domain.RealTimeDataBo;
/**
* Mapper
@ -65,4 +68,13 @@ public interface EmsRecordDnbInstantMapper
* @return
*/
List<EmsRecordDnbInstant> selectDnbInstantList(EmsRecordDnbInstant emsRecordDnbInstant);
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -1,7 +1,10 @@
package com.os.ems.record.mapper;
import java.util.List;
import java.util.Map;
import com.os.ems.record.domain.EmsRecordNitrogenInstant;
import com.os.ems.report.domain.RealTimeDataBo;
/**
* Mapper
@ -58,4 +61,12 @@ public interface EmsRecordNitrogenInstantMapper
* @return
*/
public int deleteEmsRecordNitrogenInstantByObjIds(Long[] objIds);
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -1,8 +1,10 @@
package com.os.ems.record.mapper;
import java.util.List;
import java.util.Map;
import com.os.ems.record.domain.EmsRecordSteamInstant;
import com.os.ems.report.domain.RealTimeDataBo;
/**
* Mapper
@ -58,4 +60,13 @@ public interface EmsRecordSteamInstantMapper {
* @return
*/
public int deleteEmsRecordSteamInstantByObjIds(Long[] objIds);
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -1,7 +1,10 @@
package com.os.ems.record.mapper;
import java.util.List;
import java.util.Map;
import com.os.ems.record.domain.EmsRecordWaterInstant;
import com.os.ems.report.domain.RealTimeDataBo;
/**
* Mapper
@ -58,4 +61,13 @@ public interface EmsRecordWaterInstantMapper
* @return
*/
public int deleteEmsRecordWaterInstantByObjIds(Long[] objIds);
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -32,13 +32,13 @@ public class EmsBoardController extends BaseController {
private IEmsBoardService emsBoardService;
/**
*
*
* @param hashMap
* @return
*/
@GetMapping("/energyStatisticalReportList")
public AjaxResult energyStatisticalReportList(@RequestParam(required = false) Map hashMap) {
List<RealTimeDataBo> list = emsBoardService.energyStatisticalReportList(hashMap);
@GetMapping("/realTimeData")
public AjaxResult realTimeDataList(@RequestParam(required = false) Map hashMap) {
List<RealTimeDataBo> list = emsBoardService.realTimeDataList(hashMap);
return success(list);
}

@ -24,67 +24,271 @@ public class RealTimeDataBo extends BaseEntity {
*/
private Long objId;
/**
* ID
*/
private Long parentId;
/** 计量设备类型 */
private Long monitorType;
/**
*
*/
@Excel(name = "计量设备编号")
private String monitorCode;
/**
*
*/
@Excel(name = "计量设备名称")
private String monitorName;
/**
*
*/
@Excel(name = "仪表值")
private BigDecimal instrumentValue;
/**
*
*/
@Excel(name = "耗量")
private BigDecimal expend;
/** 采集时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date collectTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "记录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date recordTime;
/**
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date beginTime;
/** A相电压 */
private BigDecimal vA;
/** B相电压 */
private BigDecimal vB;
/** C相电压 */
private BigDecimal vC;
/** A相电流 */
private BigDecimal iA;
/** B相电流 */
private BigDecimal iB;
/** C相电流 */
private BigDecimal iC;
/** 功率因数 */
private BigDecimal glys;
/** 正向有功 */
private BigDecimal zxyg;
/** 反向有功 */
private BigDecimal fxyg;
/** 瞬时流量 */
private BigDecimal fluxFlow;
/** 累计流量 */
private BigDecimal waterFlow;
/**
*
*
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
private BigDecimal steamFlow;
/**
* 0 1
*
*/
@Excel(name = "修改标识", readConverterExp = "0=是,1=否")
private String updateFlag;
private BigDecimal temperature;
/**
*
*
*/
@Excel(name = "发电量")
private BigDecimal powerExpend;
private BigDecimal press;
/**
*
*
*/
@Excel(name = "反向有功仪表值")
private BigDecimal powerValue;
private BigDecimal density;
/** 纯度 */
private BigDecimal purity;
public BigDecimal getPurity() {
return purity;
}
public void setPurity(BigDecimal purity) {
this.purity = purity;
}
public BigDecimal getSteamFlow() {
return steamFlow;
}
public void setSteamFlow(BigDecimal steamFlow) {
this.steamFlow = steamFlow;
}
public BigDecimal getTemperature() {
return temperature;
}
public void setTemperature(BigDecimal temperature) {
this.temperature = temperature;
}
public BigDecimal getPress() {
return press;
}
public void setPress(BigDecimal press) {
this.press = press;
}
public BigDecimal getDensity() {
return density;
}
public void setDensity(BigDecimal density) {
this.density = density;
}
public BigDecimal getFluxFlow() {
return fluxFlow;
}
public void setFluxFlow(BigDecimal fluxFlow) {
this.fluxFlow = fluxFlow;
}
public BigDecimal getWaterFlow() {
return waterFlow;
}
public void setWaterFlow(BigDecimal waterFlow) {
this.waterFlow = waterFlow;
}
public Long getMonitorType() {
return monitorType;
}
public void setMonitorType(Long monitorType) {
this.monitorType = monitorType;
}
public Long getObjId() {
return objId;
}
public void setObjId(Long objId) {
this.objId = objId;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public String getMonitorCode() {
return monitorCode;
}
public void setMonitorCode(String monitorCode) {
this.monitorCode = monitorCode;
}
public String getMonitorName() {
return monitorName;
}
public void setMonitorName(String monitorName) {
this.monitorName = monitorName;
}
public Date getCollectTime() {
return collectTime;
}
public void setCollectTime(Date collectTime) {
this.collectTime = collectTime;
}
public Date getRecordTime() {
return recordTime;
}
public void setRecordTime(Date recordTime) {
this.recordTime = recordTime;
}
public BigDecimal getvA() {
return vA;
}
public void setvA(BigDecimal vA) {
this.vA = vA;
}
public BigDecimal getvB() {
return vB;
}
public void setvB(BigDecimal vB) {
this.vB = vB;
}
public BigDecimal getvC() {
return vC;
}
public void setvC(BigDecimal vC) {
this.vC = vC;
}
public BigDecimal getiA() {
return iA;
}
public void setiA(BigDecimal iA) {
this.iA = iA;
}
public BigDecimal getiB() {
return iB;
}
public void setiB(BigDecimal iB) {
this.iB = iB;
}
public BigDecimal getiC() {
return iC;
}
public void setiC(BigDecimal iC) {
this.iC = iC;
}
public BigDecimal getGlys() {
return glys;
}
public void setGlys(BigDecimal glys) {
this.glys = glys;
}
public BigDecimal getZxyg() {
return zxyg;
}
public void setZxyg(BigDecimal zxyg) {
this.zxyg = zxyg;
}
public BigDecimal getFxyg() {
return fxyg;
}
public void setFxyg(BigDecimal fxyg) {
this.fxyg = fxyg;
}
}

@ -9,7 +9,7 @@ import java.util.List;
import java.util.Map;
/**
* Service
* Service
*
* @author Yinq
* @date 2024-05-22
@ -17,11 +17,11 @@ import java.util.Map;
public interface IEmsBoardService {
/**
*
*
* @param hashMap
* @return
*/
List<RealTimeDataBo> energyStatisticalReportList(Map hashMap);
List<RealTimeDataBo> realTimeDataList(Map hashMap);
}

@ -1,8 +1,10 @@
package com.os.ems.report.service.impl;
import com.os.common.constant.EmsConstants;
import com.os.ems.base.domain.EmsBaseWorkUnit;
import com.os.ems.base.mapper.EmsBaseMonitorWorkUnitMapper;
import com.os.ems.base.mapper.EmsBaseWorkUnitMapper;
import com.os.ems.record.mapper.*;
import com.os.ems.report.domain.EnergyStatisticalReport;
import com.os.ems.report.domain.PeaksValleysConsumptionReport;
import com.os.ems.report.domain.RealTimeDataBo;
@ -20,15 +22,28 @@ import static com.os.common.utils.DateUtils.getTimeIntervals;
/**
* Service
* Service
*
* @author Yinq
* @date 2024-05-22
*/
@Service
public class EmsBoardServiceImpl implements IEmsBoardService {
@Autowired
private EmsReportMapper emsReportMapper;
private EmsRecordDnbInstantMapper emsRecordDnbInstantMapper;
@Autowired
private EmsRecordWaterInstantMapper emsRecordWaterInstantMapper;
@Autowired
private EmsRecordSteamInstantMapper emsRecordSteamInstantMapper;
@Autowired
private EmsRecordAirInstantMapper emsRecordAirInstantMapper;
@Autowired
private EmsRecordNitrogenInstantMapper emsRecordNitrogenInstantMapper;
@Autowired
private EmsBaseMonitorWorkUnitMapper emsBaseMonitorWorkUnitMapper;
@ -38,23 +53,31 @@ public class EmsBoardServiceImpl implements IEmsBoardService {
/**
*
*
*
* @param hashMap
* @return
*/
@Override
public List<RealTimeDataBo> energyStatisticalReportList(Map hashMap) {
if (!hashMap.containsKey("dateType") && !hashMap.containsKey("energyType")) {
public List<RealTimeDataBo> realTimeDataList(Map hashMap) {
if (!hashMap.containsKey("monitorType")) {
return null;
}
hashMap.put("timeSub", Integer.parseInt(String.valueOf(hashMap.get("dateType"))));
List<EnergyStatisticalReport> reportList = new ArrayList<>();
if (Objects.equals(String.valueOf(hashMap.get("energyType")), "2")) {
reportList = emsReportMapper.energyStatisticalDnbReportList(hashMap);
String energyType = String.valueOf(hashMap.get("monitorType"));
List<RealTimeDataBo> reportList = new ArrayList<>();
if (Objects.equals(energyType, EmsConstants.EMS_ENERGY_TYPE_DNB)) {
reportList = emsRecordDnbInstantMapper.realTimeDataList(hashMap);
} else if (Objects.equals(energyType, EmsConstants.EMS_ENERGY_TYPE_WATER)) {
reportList = emsRecordWaterInstantMapper.realTimeDataList(hashMap);
} else if (Objects.equals(energyType, EmsConstants.EMS_ENERGY_TYPE_STEAM)) {
reportList = emsRecordSteamInstantMapper.realTimeDataList(hashMap);
} else if (Objects.equals(energyType, EmsConstants.EMS_ENERGY_TYPE_Air)) {
reportList = emsRecordAirInstantMapper.realTimeDataList(hashMap);
} else if (Objects.equals(energyType, EmsConstants.EMS_ENERGY_TYPE_NITROGEN)) {
reportList = emsRecordNitrogenInstantMapper.realTimeDataList(hashMap);
}
return null;
return reportList;
}
}

@ -54,7 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectEmsRecordAirInstantVo"/>
where rai.obj_id = #{objId}
</select>
<insert id="insertEmsRecordAirInstant" parameterType="EmsRecordAirInstant" useGeneratedKeys="true" keyProperty="objId">
insert into ems_record_air_instant
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -107,4 +107,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{objId}
</foreach>
</delete>
<select id="realTimeDataList" resultType="com.os.ems.report.domain.RealTimeDataBo">
SELECT ebli.obj_id objId,
ebli.parent_id parentId,
ebli.monitor_code monitorCode,
ebmi.monitor_name monitorName,
ebmi.monitor_type monitorType,
rk.collect_time collectTime,
rk.flux_flow fluxFlow,
rk.steam_flow steamFlow,
rk.temperature,
rk.press,
rk.density
FROM ems_base_line_info ebli
LEFT JOIN ems_base_monitor_info ebmi
ON ebmi.monitor_code = ebli.monitor_code
LEFT JOIN (SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitor_code ORDER BY obj_id DESC) AS rn
FROM ems_record_air_instant) t
WHERE t.rn = 1) rk ON rk.monitor_code = ebmi.monitor_code
<where>
<if test="monitorType != null and monitorType != ''">and ebmi.monitor_type = #{monitorType}</if>
</where>
order by ebli.parent_id, ebli.obj_id
</select>
</mapper>

@ -158,4 +158,37 @@
#{objId}
</foreach>
</delete>
<select id="realTimeDataList" resultType="com.os.ems.report.domain.RealTimeDataBo">
SELECT ebli.obj_id objId,
ebli.parent_id parentId,
ebli.monitor_code monitorCode,
ebmi.monitor_name monitorName,
ebmi.monitor_type monitorType,
rk.collect_time collectTime,
rk.v_a vA,
rk.v_b vB,
rk.v_c vC,
rk.i_a iA,
rk.i_b iB,
rk.i_c iC,
rk.glys,
rk.zxyg,
rk.fxyg
FROM ems_base_line_info ebli
LEFT JOIN ems_base_monitor_info ebmi
ON ebmi.monitor_code = ebli.monitor_code
LEFT JOIN (SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitor_code ORDER BY obj_id DESC) AS rn
FROM ems_record_dnb_instant) t
WHERE t.rn = 1) rk ON rk.monitor_code = ebmi.monitor_code
<where>
<if test="monitorType != null and monitorType != ''">and ebmi.monitor_type = #{monitorType}</if>
</where>
order by ebli.parent_id, ebli.obj_id
</select>
</mapper>

@ -115,4 +115,30 @@
#{objId}
</foreach>
</delete>
<select id="realTimeDataList" resultType="com.os.ems.report.domain.RealTimeDataBo">
SELECT ebli.obj_id objId,
ebli.parent_id parentId,
ebli.monitor_code monitorCode,
ebmi.monitor_name monitorName,
ebmi.monitor_type monitorType,
rk.collect_time collectTime,
rk.flux_flow fluxFlow,
rk.steam_flow steamFlow,
rk.temperature,
rk.press,
rk.purity
FROM ems_base_line_info ebli
LEFT JOIN ems_base_monitor_info ebmi
ON ebmi.monitor_code = ebli.monitor_code
LEFT JOIN (SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitor_code ORDER BY obj_id DESC) AS rn
FROM ems_record_nitrogen_instant) t
WHERE t.rn = 1) rk ON rk.monitor_code = ebmi.monitor_code
<where>
<if test="monitorType != null and monitorType != ''">and ebmi.monitor_type = #{monitorType}</if>
</where>
order by ebli.parent_id, ebli.obj_id
</select>
</mapper>

@ -127,4 +127,31 @@
#{objId}
</foreach>
</delete>
<select id="realTimeDataList" resultType="com.os.ems.report.domain.RealTimeDataBo">
SELECT ebli.obj_id objId,
ebli.parent_id parentId,
ebli.monitor_code monitorCode,
ebmi.monitor_name monitorName,
ebmi.monitor_type monitorType,
rk.collect_time collectTime,
rk.flux_flow fluxFlow,
rk.steam_flow steamFlow,
rk.temperature,
rk.press,
rk.density
FROM ems_base_line_info ebli
LEFT JOIN ems_base_monitor_info ebmi
ON ebmi.monitor_code = ebli.monitor_code
LEFT JOIN (SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitor_code ORDER BY obj_id DESC) AS rn
FROM ems_record_steam_instant) t
WHERE t.rn = 1) rk ON rk.monitor_code = ebmi.monitor_code
<where>
<if test="monitorType != null and monitorType != ''">and ebmi.monitor_type = #{monitorType}</if>
</where>
order by ebli.parent_id, ebli.obj_id
</select>
</mapper>

@ -94,4 +94,29 @@
#{objId}
</foreach>
</delete>
<select id="realTimeDataList" resultType="com.os.ems.report.domain.RealTimeDataBo">
SELECT ebli.obj_id objId,
ebli.parent_id parentId,
ebli.monitor_code monitorCode,
ebmi.monitor_name monitorName,
ebmi.monitor_type monitorType,
rk.collect_time collectTime,
rk.flux_flow fluxFlow,
rk.water_flow waterFlow
FROM ems_base_line_info ebli
LEFT JOIN ems_base_monitor_info ebmi
ON ebmi.monitor_code = ebli.monitor_code
LEFT JOIN (SELECT *
FROM (SELECT *,
ROW_NUMBER() OVER (PARTITION BY monitor_code ORDER BY obj_id DESC) AS rn
FROM ems_record_water_instant) t
WHERE t.rn = 1) rk ON rk.monitor_code = ebmi.monitor_code
<where>
<if test="monitorType != null and monitorType != ''">and ebmi.monitor_type = #{monitorType}</if>
</where>
order by ebli.parent_id, ebli.obj_id
</select>
</mapper>

Loading…
Cancel
Save