| | |
| | | <result column="loss_amount" jdbcType="FLOAT" property="lossAmount" /> |
| | | <result column="water_press" jdbcType="FLOAT" property="waterPress" /> |
| | | <result column="battery_volt" jdbcType="FLOAT" property="batteryVolt" /> |
| | | <result column="sun_volt" jdbcType="FLOAT" property="sunVolt" /> |
| | | <result column="signal_value" jdbcType="INTEGER" property="signalValue" /> |
| | | <result column="water_price" jdbcType="FLOAT" property="waterPrice" /> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, controller_id, intake_id, rtu_addr, dt, rtu_dt, instant_amount, total_amount, |
| | | loss_amount, water_press, battery_volt, sun_volt, signal_value, water_price |
| | | loss_amount, water_press, battery_volt, signal_value, water_price |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | |
| | | insert into rm_on_hour_report_history (id, controller_id, intake_id, |
| | | rtu_addr, dt, rtu_dt, |
| | | instant_amount, total_amount, loss_amount, |
| | | water_press, battery_volt, sun_volt, |
| | | water_press, battery_volt, |
| | | signal_value, water_price) |
| | | values (#{id,jdbcType=BIGINT}, #{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT}, |
| | | #{rtuAddr,jdbcType=VARCHAR}, #{dt,jdbcType=TIMESTAMP}, #{rtuDt,jdbcType=TIMESTAMP}, |
| | | #{instantAmount,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, #{lossAmount,jdbcType=FLOAT}, |
| | | #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, #{sunVolt,jdbcType=FLOAT}, |
| | | #{waterPress,jdbcType=FLOAT}, #{batteryVolt,jdbcType=FLOAT}, |
| | | #{signalValue,jdbcType=INTEGER}, #{waterPrice,jdbcType=FLOAT}) |
| | | </insert> |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOnHourReportHistory"> |
| | |
| | | </if> |
| | | <if test="batteryVolt != null"> |
| | | battery_volt, |
| | | </if> |
| | | <if test="sunVolt != null"> |
| | | sun_volt, |
| | | </if> |
| | | <if test="signalValue != null"> |
| | | signal_value, |
| | |
| | | </if> |
| | | <if test="batteryVolt != null"> |
| | | #{batteryVolt,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="sunVolt != null"> |
| | | #{sunVolt,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="signalValue != null"> |
| | | #{signalValue,jdbcType=INTEGER}, |
| | |
| | | <if test="batteryVolt != null"> |
| | | battery_volt = #{batteryVolt,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="sunVolt != null"> |
| | | sun_volt = #{sunVolt,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="signalValue != null"> |
| | | signal_value = #{signalValue,jdbcType=INTEGER}, |
| | | </if> |
| | |
| | | loss_amount = #{lossAmount,jdbcType=FLOAT}, |
| | | water_press = #{waterPress,jdbcType=FLOAT}, |
| | | battery_volt = #{batteryVolt,jdbcType=FLOAT}, |
| | | sun_volt = #{sunVolt,jdbcType=FLOAT}, |
| | | signal_value = #{signalValue,jdbcType=INTEGER}, |
| | | water_price = #{waterPrice,jdbcType=FLOAT} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | |
| | | <!--根据指定条件获取整点报历史记录数量--> |
| | | <select id="getOnHourReportsCount_history" resultType="java.lang.Long"> |
| | | SELECT |
| | | COUNT(*) AS recordCount |
| | | FROM rm_on_hour_report_history oh |
| | | INNER JOIN pr_intake inta ON inta.id = oh.intake_id |
| | | <where> |
| | | <if test="intakeId != null and intakeId >0"> |
| | | AND oh.intake_id = #{intakeId} |
| | | </if> |
| | | <if test = "intakeNum != null and intakeNum !=''"> |
| | | AND inta.name LIKE CONCAT('%',#{intakeNum},'%') |
| | | </if> |
| | | <if test = "rtuAddr != null and rtuAddr !=''"> |
| | | AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr},'%') |
| | | </if> |
| | | <if test = "timeStart != null and timeStop != null"> |
| | | AND oh.dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取整点报历史记录--> |
| | | <select id="getOnHourReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOnHour"> |
| | | SELECT |
| | | oh.intake_id AS intakeId, |
| | | inta.`name` AS intakeNum, |
| | | oh.rtu_addr AS rtuAddr, |
| | | oh.dt AS receiveTime, |
| | | oh.instant_amount AS instantAmount, |
| | | oh.total_amount AS totalAmount, |
| | | oh.loss_amount AS lossAmount, |
| | | oh.water_press AS waterPress, |
| | | oh.battery_volt AS batteryVolt, |
| | | oh.signal_value AS signalValue, |
| | | oh.water_price AS waterPrice |
| | | FROM rm_on_hour_report_history oh |
| | | INNER JOIN pr_intake inta ON inta.id = oh.intake_id |
| | | <where> |
| | | <if test="intakeId != null and intakeId >0"> |
| | | AND oh.intake_id = #{intakeId,jdbcType=BIGINT} |
| | | </if> |
| | | <if test = "intakeNum != null and intakeNum !=''"> |
| | | AND inta.name LIKE CONCAT('%',#{intakeNum,jdbcType=VARCHAR},'%') |
| | | </if> |
| | | <if test = "rtuAddr != null and rtuAddr !=''"> |
| | | AND oh.rtu_addr LIKE CONCAT('%',#{rtuAddr,jdbcType=VARCHAR},'%') |
| | | </if> |
| | | <if test = "timeStart != null and timeStop != null"> |
| | | AND oh.dt BETWEEN #{timeStart,jdbcType=INTEGER} AND #{timeStop,jdbcType=INTEGER} |
| | | </if> |
| | | </where> |
| | | ORDER BY oh.dt DESC |
| | | <trim prefix="limit " > |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--获取指定时间段内未上线取水口数量--> |
| | | <select id="getNotOnlineIntakesCount" resultType="java.lang.Long"> |
| | | SELECT |
| | | COUNT(*) AS recordCount |
| | | FROM pr_intake inta |
| | | LEFT JOIN |
| | | (SELECT intake_id FROM rm_on_hour_report_history |
| | | <where> |
| | | <if test = "idStart != null"> |
| | | id <![CDATA[>=]]> #{idStart} |
| | | </if> |
| | | <if test = "idEnd != null"> |
| | | AND id <![CDATA[<=]]> #{idEnd} |
| | | </if> |
| | | </where>) his |
| | | ON his.intake_id = inta.id |
| | | LEFT JOIN ba_block blo ON blo.id = inta.blockId |
| | | WHERE his.intake_id IS NULL AND inta.deleted = 0 |
| | | </select> |
| | | |
| | | <!--获取指定时间段内未上线的取水口--> |
| | | <select id="getNotOnlineIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake"> |
| | | SELECT |
| | | inta.id AS intakeId, |
| | | inta.name AS intakeNum, |
| | | inta.lng AS lng, |
| | | inta.lat AS lat, |
| | | blo.name AS blockName |
| | | FROM pr_intake inta |
| | | LEFT JOIN |
| | | (SELECT intake_id FROM rm_on_hour_report_history |
| | | <where> |
| | | <if test = "idStart != null"> |
| | | id <![CDATA[>=]]> #{idStart} |
| | | </if> |
| | | <if test = "idEnd != null"> |
| | | AND id <![CDATA[<=]]> #{idEnd} |
| | | </if> |
| | | </where>) his |
| | | ON his.intake_id = inta.id |
| | | LEFT JOIN ba_block blo ON blo.id = inta.blockId |
| | | WHERE his.intake_id IS NULL AND inta.deleted = 0 |
| | | ORDER BY inta.id |
| | | <trim prefix="limit " > |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | <!--指定时间段内累积流量超过指定值的取水口数量--> |
| | | <select id="getTotalFlowGtValueIntakesCount" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from |
| | | ( |
| | | SELECT |
| | | inta.id AS intakeId, |
| | | inta.NAME AS intakeNum, |
| | | blo.NAME AS blockName , |
| | | IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value |
| | | FROM |
| | | pr_intake inta |
| | | INNER JOIN ba_block blo ON blo.id = inta.blockId |
| | | LEFT JOIN (SELECT |
| | | intake_id, |
| | | total_amount |
| | | FROM |
| | | rm_on_hour_report_history rohrs |
| | | WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt) |
| | | FROM rm_on_hour_report_history |
| | | WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id |
| | | LEFT JOIN ( SELECT |
| | | intake_id, |
| | | total_amount |
| | | FROM |
| | | rm_on_hour_report_history rohrs |
| | | WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt) |
| | | FROM rm_on_hour_report_history |
| | | WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id |
| | | WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0 |
| | | ) c |
| | | </select> |
| | | <!--指定时间段内累积流量超过指定值的取水口--> |
| | | <select id="getTotalFlowGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount"> |
| | | SELECT |
| | | inta.id AS intakeId, |
| | | inta.NAME AS intakeNum, |
| | | blo.NAME AS blockName , |
| | | IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) AS value |
| | | FROM |
| | | pr_intake inta |
| | | INNER JOIN ba_block blo ON blo.id = inta.blockId |
| | | LEFT JOIN (SELECT |
| | | intake_id, |
| | | total_amount |
| | | FROM |
| | | rm_on_hour_report_history rohrs |
| | | WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt) |
| | | FROM rm_on_hour_report_history |
| | | WHERE rtu_dt <= #{timeStart})) AS a ON inta.id = a.intake_id |
| | | LEFT JOIN ( SELECT |
| | | intake_id, |
| | | total_amount |
| | | FROM |
| | | rm_on_hour_report_history rohrs |
| | | WHERE rohrs.rtu_dt = ( SELECT MAX(rtu_dt) |
| | | FROM rm_on_hour_report_history |
| | | WHERE rtu_dt <= #{timeStop})) AS b ON inta.id = b.intake_id |
| | | WHERE IFNULL(b.total_amount, 0)-IFNULL(a.total_amount, 0) > #{value} AND inta.deleted = 0 |
| | | ORDER BY inta.id |
| | | <trim prefix="limit " > |
| | | <if test="start != null and count != null"> |
| | | #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} |
| | | </if> |
| | | </trim> |
| | | </select> |
| | | </mapper> |