<?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.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper">
|
<resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
|
<!--@mbg.generated-->
|
<!--@Table rm_open_close_valve_history-->
|
<id column="id" jdbcType="BIGINT" property="id"/>
|
<result column="client_id" jdbcType="BIGINT" property="clientId"/>
|
<result column="client_name" jdbcType="VARCHAR" property="clientName"/>
|
<result column="controller_id" jdbcType="BIGINT" property="controllerId"/>
|
<result column="intake_id" jdbcType="BIGINT" property="intakeId"/>
|
<result column="rtu_addr" jdbcType="VARCHAR" property="rtuAddr"/>
|
<result column="op_dt" jdbcType="TIMESTAMP" property="opDt"/>
|
<result column="op_type" jdbcType="TINYINT" property="opType"/>
|
<result column="op_total_amount" jdbcType="DOUBLE" property="opTotalAmount"/>
|
<result column="op_ic_card_no" jdbcType="VARCHAR" property="opIcCardNo"/>
|
<result column="op_ic_card_addr" jdbcType="VARCHAR" property="opIcCardAddr"/>
|
<result column="op_remain_money" jdbcType="DOUBLE" property="opRemainMoney"/>
|
<result column="open_dt" jdbcType="TIMESTAMP" property="openDt"/>
|
<result column="op_order_no" jdbcType="VARCHAR" property="opOrderNo"/>
|
<result column="op_ele_total_amount" jdbcType="FLOAT" property="opEleTotalAmount"/>
|
<result column="op_water_remain_user" jdbcType="FLOAT" property="opWaterRemainUser"/>
|
<result column="cl_dt" jdbcType="TIMESTAMP" property="clDt"/>
|
<result column="cl_type" jdbcType="TINYINT" property="clType"/>
|
<result column="cl_total_amount" jdbcType="DOUBLE" property="clTotalAmount"/>
|
<result column="cl_ic_card_no" jdbcType="VARCHAR" property="clIcCardNo"/>
|
<result column="cl_ic_card_addr" jdbcType="VARCHAR" property="clIcCardAddr"/>
|
<result column="cl_remain_money" jdbcType="DOUBLE" property="clRemainMoney"/>
|
<result column="cl_this_amount" jdbcType="DOUBLE" property="clThisAmount"/>
|
<result column="cl_this_money" jdbcType="DOUBLE" property="clThisMoney"/>
|
<result column="cl_this_time" jdbcType="INTEGER" property="clThisTime"/>
|
<result column="cl_open_dt" jdbcType="TIMESTAMP" property="clOpenDt"/>
|
<result column="close_dt" jdbcType="TIMESTAMP" property="closeDt"/>
|
<result column="cl_order_no" jdbcType="VARCHAR" property="clOrderNo"/>
|
<result column="cl_ele_total_amount" jdbcType="FLOAT" property="clEleTotalAmount"/>
|
<result column="cl_water_remain_user" jdbcType="FLOAT" property="clWaterRemainUser"/>
|
<result column="cl_this_ele" jdbcType="FLOAT" property="clThisEle"/>
|
</resultMap>
|
<sql id="Base_Column_List">
|
<!--@mbg.generated-->
|
id,
|
client_id,
|
client_name,
|
controller_id,
|
intake_id,
|
rtu_addr,
|
op_dt,
|
op_type,
|
op_total_amount,
|
op_ic_card_no,
|
op_ic_card_addr,
|
op_remain_money,
|
open_dt,
|
op_order_no,
|
op_ele_total_amount,
|
op_water_remain_user,
|
cl_dt,
|
cl_type,
|
cl_total_amount,
|
cl_ic_card_no,
|
cl_ic_card_addr,
|
cl_remain_money,
|
cl_this_amount,
|
cl_this_money,
|
cl_this_time,
|
cl_open_dt,
|
close_dt,
|
cl_order_no,
|
cl_ele_total_amount,
|
cl_water_remain_user,
|
cl_this_ele
|
</sql>
|
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
|
<!--@mbg.generated-->
|
select
|
<include refid="Base_Column_List"/>
|
from rm_open_close_valve_history
|
where id = #{id,jdbcType=BIGINT}
|
</select>
|
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
|
<!--@mbg.generated-->
|
delete
|
from rm_open_close_valve_history
|
where id = #{id,jdbcType=BIGINT}
|
</delete>
|
<insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
|
<!--@mbg.generated-->
|
insert into rm_open_close_valve_history (id, client_id, client_name,
|
controller_id, intake_id,
|
rtu_addr, op_dt, op_type,
|
op_total_amount, op_ic_card_no, op_ic_card_addr,
|
op_remain_money, open_dt, op_order_no,
|
op_ele_total_amount, op_water_remain_user, cl_dt,
|
cl_type, cl_total_amount, cl_ic_card_no,
|
cl_ic_card_addr, cl_remain_money, cl_this_amount,
|
cl_this_money, cl_this_time, cl_open_dt,
|
close_dt, cl_order_no, cl_ele_total_amount,
|
cl_water_remain_user, cl_this_ele)
|
values (#{id,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{clientName,jdbcType=VARCHAR},
|
#{controllerId,jdbcType=BIGINT}, #{intakeId,jdbcType=BIGINT},
|
#{rtuAddr,jdbcType=VARCHAR}, #{opDt,jdbcType=TIMESTAMP}, #{opType,jdbcType=TINYINT},
|
#{opTotalAmount,jdbcType=DOUBLE}, #{opIcCardNo,jdbcType=VARCHAR}, #{opIcCardAddr,jdbcType=VARCHAR},
|
#{opRemainMoney,jdbcType=DOUBLE}, #{openDt,jdbcType=TIMESTAMP}, #{opOrderNo,jdbcType=VARCHAR},
|
#{opEleTotalAmount,jdbcType=FLOAT}, #{opWaterRemainUser,jdbcType=FLOAT}, #{clDt,jdbcType=TIMESTAMP},
|
#{clType,jdbcType=TINYINT}, #{clTotalAmount,jdbcType=DOUBLE}, #{clIcCardNo,jdbcType=VARCHAR},
|
#{clIcCardAddr,jdbcType=VARCHAR}, #{clRemainMoney,jdbcType=DOUBLE}, #{clThisAmount,jdbcType=DOUBLE},
|
#{clThisMoney,jdbcType=DOUBLE}, #{clThisTime,jdbcType=INTEGER}, #{clOpenDt,jdbcType=TIMESTAMP},
|
#{closeDt,jdbcType=TIMESTAMP}, #{clOrderNo,jdbcType=VARCHAR}, #{clEleTotalAmount,jdbcType=FLOAT},
|
#{clWaterRemainUser,jdbcType=FLOAT}, #{clThisEle,jdbcType=FLOAT})
|
</insert>
|
<insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
|
<!--@mbg.generated-->
|
insert into rm_open_close_valve_history
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
id,
|
</if>
|
<if test="clientId != null">
|
client_id,
|
</if>
|
<if test="clientName != null">
|
client_name,
|
</if>
|
<if test="controllerId != null">
|
controller_id,
|
</if>
|
<if test="intakeId != null">
|
intake_id,
|
</if>
|
<if test="rtuAddr != null">
|
rtu_addr,
|
</if>
|
<if test="opDt != null">
|
op_dt,
|
</if>
|
<if test="opType != null">
|
op_type,
|
</if>
|
<if test="opTotalAmount != null">
|
op_total_amount,
|
</if>
|
<if test="opIcCardNo != null">
|
op_ic_card_no,
|
</if>
|
<if test="opIcCardAddr != null">
|
op_ic_card_addr,
|
</if>
|
<if test="opRemainMoney != null">
|
op_remain_money,
|
</if>
|
<if test="openDt != null">
|
open_dt,
|
</if>
|
<if test="opOrderNo != null">
|
op_order_no,
|
</if>
|
<if test="opEleTotalAmount != null">
|
op_ele_total_amount,
|
</if>
|
<if test="opWaterRemainUser != null">
|
op_water_remain_user,
|
</if>
|
<if test="clDt != null">
|
cl_dt,
|
</if>
|
<if test="clType != null">
|
cl_type,
|
</if>
|
<if test="clTotalAmount != null">
|
cl_total_amount,
|
</if>
|
<if test="clIcCardNo != null">
|
cl_ic_card_no,
|
</if>
|
<if test="clIcCardAddr != null">
|
cl_ic_card_addr,
|
</if>
|
<if test="clRemainMoney != null">
|
cl_remain_money,
|
</if>
|
<if test="clThisAmount != null">
|
cl_this_amount,
|
</if>
|
<if test="clThisMoney != null">
|
cl_this_money,
|
</if>
|
<if test="clThisTime != null">
|
cl_this_time,
|
</if>
|
<if test="clOpenDt != null">
|
cl_open_dt,
|
</if>
|
<if test="closeDt != null">
|
close_dt,
|
</if>
|
<if test="clOrderNo != null">
|
cl_order_no,
|
</if>
|
<if test="clEleTotalAmount != null">
|
cl_ele_total_amount,
|
</if>
|
<if test="clWaterRemainUser != null">
|
cl_water_remain_user,
|
</if>
|
<if test="clThisEle != null">
|
cl_this_ele,
|
</if>
|
</trim>
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<if test="id != null">
|
#{id,jdbcType=BIGINT},
|
</if>
|
<if test="clientId != null">
|
#{clientId,jdbcType=BIGINT},
|
</if>
|
<if test="clientName != null">
|
#{clientName,jdbcType=VARCHAR},
|
</if>
|
<if test="controllerId != null">
|
#{controllerId,jdbcType=BIGINT},
|
</if>
|
<if test="intakeId != null">
|
#{intakeId,jdbcType=BIGINT},
|
</if>
|
<if test="rtuAddr != null">
|
#{rtuAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="opDt != null">
|
#{opDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="opType != null">
|
#{opType,jdbcType=TINYINT},
|
</if>
|
<if test="opTotalAmount != null">
|
#{opTotalAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="opIcCardNo != null">
|
#{opIcCardNo,jdbcType=VARCHAR},
|
</if>
|
<if test="opIcCardAddr != null">
|
#{opIcCardAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="opRemainMoney != null">
|
#{opRemainMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="openDt != null">
|
#{openDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="opOrderNo != null">
|
#{opOrderNo,jdbcType=VARCHAR},
|
</if>
|
<if test="opEleTotalAmount != null">
|
#{opEleTotalAmount,jdbcType=FLOAT},
|
</if>
|
<if test="opWaterRemainUser != null">
|
#{opWaterRemainUser,jdbcType=FLOAT},
|
</if>
|
<if test="clDt != null">
|
#{clDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clType != null">
|
#{clType,jdbcType=TINYINT},
|
</if>
|
<if test="clTotalAmount != null">
|
#{clTotalAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="clIcCardNo != null">
|
#{clIcCardNo,jdbcType=VARCHAR},
|
</if>
|
<if test="clIcCardAddr != null">
|
#{clIcCardAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="clRemainMoney != null">
|
#{clRemainMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisAmount != null">
|
#{clThisAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisMoney != null">
|
#{clThisMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisTime != null">
|
#{clThisTime,jdbcType=INTEGER},
|
</if>
|
<if test="clOpenDt != null">
|
#{clOpenDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="closeDt != null">
|
#{closeDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clOrderNo != null">
|
#{clOrderNo,jdbcType=VARCHAR},
|
</if>
|
<if test="clEleTotalAmount != null">
|
#{clEleTotalAmount,jdbcType=FLOAT},
|
</if>
|
<if test="clWaterRemainUser != null">
|
#{clWaterRemainUser,jdbcType=FLOAT},
|
</if>
|
<if test="clThisEle != null">
|
#{clThisEle,jdbcType=FLOAT},
|
</if>
|
</trim>
|
</insert>
|
<update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
|
<!--@mbg.generated-->
|
update rm_open_close_valve_history
|
<set>
|
<if test="clientId != null">
|
client_id = #{clientId,jdbcType=BIGINT},
|
</if>
|
<if test="clientName != null">
|
client_name = #{clientName,jdbcType=VARCHAR},
|
</if>
|
<if test="controllerId != null">
|
controller_id = #{controllerId,jdbcType=BIGINT},
|
</if>
|
<if test="intakeId != null">
|
intake_id = #{intakeId,jdbcType=BIGINT},
|
</if>
|
<if test="rtuAddr != null">
|
rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="opDt != null">
|
op_dt = #{opDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="opType != null">
|
op_type = #{opType,jdbcType=TINYINT},
|
</if>
|
<if test="opTotalAmount != null">
|
op_total_amount = #{opTotalAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="opIcCardNo != null">
|
op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR},
|
</if>
|
<if test="opIcCardAddr != null">
|
op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="opRemainMoney != null">
|
op_remain_money = #{opRemainMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="openDt != null">
|
open_dt = #{openDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="opOrderNo != null">
|
op_order_no = #{opOrderNo,jdbcType=VARCHAR},
|
</if>
|
<if test="opEleTotalAmount != null">
|
op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT},
|
</if>
|
<if test="opWaterRemainUser != null">
|
op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT},
|
</if>
|
<if test="clDt != null">
|
cl_dt = #{clDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clType != null">
|
cl_type = #{clType,jdbcType=TINYINT},
|
</if>
|
<if test="clTotalAmount != null">
|
cl_total_amount = #{clTotalAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="clIcCardNo != null">
|
cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR},
|
</if>
|
<if test="clIcCardAddr != null">
|
cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR},
|
</if>
|
<if test="clRemainMoney != null">
|
cl_remain_money = #{clRemainMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisAmount != null">
|
cl_this_amount = #{clThisAmount,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisMoney != null">
|
cl_this_money = #{clThisMoney,jdbcType=DOUBLE},
|
</if>
|
<if test="clThisTime != null">
|
cl_this_time = #{clThisTime,jdbcType=INTEGER},
|
</if>
|
<if test="clOpenDt != null">
|
cl_open_dt = #{clOpenDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="closeDt != null">
|
close_dt = #{closeDt,jdbcType=TIMESTAMP},
|
</if>
|
<if test="clOrderNo != null">
|
cl_order_no = #{clOrderNo,jdbcType=VARCHAR},
|
</if>
|
<if test="clEleTotalAmount != null">
|
cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT},
|
</if>
|
<if test="clWaterRemainUser != null">
|
cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT},
|
</if>
|
<if test="clThisEle != null">
|
cl_this_ele = #{clThisEle,jdbcType=FLOAT},
|
</if>
|
</set>
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
<update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory">
|
<!--@mbg.generated-->
|
update rm_open_close_valve_history
|
set client_id = #{clientId,jdbcType=BIGINT},
|
client_name = #{clientName,jdbcType=VARCHAR},
|
controller_id = #{controllerId,jdbcType=BIGINT},
|
intake_id = #{intakeId,jdbcType=BIGINT},
|
rtu_addr = #{rtuAddr,jdbcType=VARCHAR},
|
op_dt = #{opDt,jdbcType=TIMESTAMP},
|
op_type = #{opType,jdbcType=TINYINT},
|
op_total_amount = #{opTotalAmount,jdbcType=DOUBLE},
|
op_ic_card_no = #{opIcCardNo,jdbcType=VARCHAR},
|
op_ic_card_addr = #{opIcCardAddr,jdbcType=VARCHAR},
|
op_remain_money = #{opRemainMoney,jdbcType=DOUBLE},
|
open_dt = #{openDt,jdbcType=TIMESTAMP},
|
op_order_no = #{opOrderNo,jdbcType=VARCHAR},
|
op_ele_total_amount = #{opEleTotalAmount,jdbcType=FLOAT},
|
op_water_remain_user = #{opWaterRemainUser,jdbcType=FLOAT},
|
cl_dt = #{clDt,jdbcType=TIMESTAMP},
|
cl_type = #{clType,jdbcType=TINYINT},
|
cl_total_amount = #{clTotalAmount,jdbcType=DOUBLE},
|
cl_ic_card_no = #{clIcCardNo,jdbcType=VARCHAR},
|
cl_ic_card_addr = #{clIcCardAddr,jdbcType=VARCHAR},
|
cl_remain_money = #{clRemainMoney,jdbcType=DOUBLE},
|
cl_this_amount = #{clThisAmount,jdbcType=DOUBLE},
|
cl_this_money = #{clThisMoney,jdbcType=DOUBLE},
|
cl_this_time = #{clThisTime,jdbcType=INTEGER},
|
cl_open_dt = #{clOpenDt,jdbcType=TIMESTAMP},
|
close_dt = #{closeDt,jdbcType=TIMESTAMP},
|
cl_order_no = #{clOrderNo,jdbcType=VARCHAR},
|
cl_ele_total_amount = #{clEleTotalAmount,jdbcType=FLOAT},
|
cl_water_remain_user = #{clWaterRemainUser,jdbcType=FLOAT},
|
cl_this_ele = #{clThisEle,jdbcType=FLOAT}
|
where id = #{id,jdbcType=BIGINT}
|
</update>
|
|
<!--根据指定条件获取开关阀报历史记录数量-->
|
<select id="getOpenCloseValveReportsCount_history" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
|
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
|
</if>
|
<if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
|
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
|
</if>
|
</where>
|
</select>
|
|
<!--根据指定条件获取开关阀报历史记录-->
|
<select id="getOpenCloseValveReports_history" resultType="com.dy.pipIrrGlobal.voRm.VoOpenCloseValve">
|
SELECT oh.intake_id AS intakeId,
|
inta.name AS intakenum,
|
oh.rtu_addr AS rtuAddr,
|
oh.client_name AS clientName,
|
oh.op_ic_card_no AS openIcNum,
|
oh.op_ic_card_addr AS openIcAddr,
|
oh.op_dt AS openTime,
|
CASE
|
WHEN oh.op_type = 1 THEN '刷卡开阀'
|
WHEN oh.op_type = 3 THEN '中心站开阀'
|
WHEN oh.op_type = 5 THEN '余额不足关阀'
|
WHEN oh.op_type = 8 THEN '用户远程开阀'
|
WHEN oh.op_type = 11 THEN '开关阀卡开阀'
|
ELSE '未知'
|
END AS openType,
|
oh.op_order_no AS openOrderNo,
|
oh.op_total_amount AS openTotalAmount,
|
oh.op_remain_money AS openRemainMoney,
|
oh.op_water_remain_user AS openWaterRemain,
|
oh.op_ele_total_amount AS openEleTotalAmount,
|
oh.cl_ic_card_no AS closeIcNum,
|
oh.cl_ic_card_addr AS closeIcAddr,
|
oh.cl_dt AS closeTime,
|
CASE
|
WHEN oh.cl_type = 2 THEN '刷卡关阀'
|
WHEN oh.cl_type = 4 THEN '中心站关阀'
|
WHEN oh.cl_type = 5 THEN '余额不足关阀'
|
WHEN oh.cl_type = 6 THEN '流量计故障关阀'
|
WHEN oh.cl_type = 7 THEN '紧急关闭'
|
WHEN oh.cl_type = 9 THEN '用户远程关阀'
|
WHEN oh.cl_type = 10 THEN '开关阀卡关阀'
|
WHEN oh.cl_type = 12 THEN '黑名单命令关阀'
|
WHEN oh.cl_type = 13 THEN '用户远程定时关阀'
|
WHEN oh.cl_type = 14 THEN '用户远程定量关阀'
|
ELSE '未知'
|
END AS closeType,
|
oh.cl_this_amount AS closeThisAmount,
|
oh.cl_this_time AS thisTime,
|
oh.cl_this_money AS thisMoney,
|
oh.cl_remain_money AS closeRemainMoney,
|
oh.cl_total_amount AS closeTotalAmount
|
FROM rm_open_close_valve_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_open != null and timeStart_open != '' and timeStop_open != null and timeStop_open != ''">
|
AND oh.op_dt BETWEEN #{timeStart_open} AND #{timeStop_open}
|
</if>
|
<if test="timeStart_close != null and timeStart_close != '' and timeStop_close != null and timeStop_close != ''">
|
AND oh.cl_dt BETWEEN #{timeStart_close} AND #{timeStop_close}
|
</if>
|
</where>
|
ORDER BY oh.op_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="getNeverOpenValveIntakesCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
AND NOT EXISTS(SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
|
AND intake_id = inta.id)
|
</select>
|
<!--获取指定时间段内从未开过阀的取水口-->
|
<select id="getNeverOpenValveIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
|
SELECT inta.id AS intakeId,
|
inta.name AS intakeNum,
|
blo.name AS blockName
|
FROM pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
AND NOT EXISTS(SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}
|
AND intake_id = inta.id)
|
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="getOpenValveGtIntakesCount" resultType="java.lang.Long">
|
select count(*)
|
from (SELECT COUNT(*) AS recordCount,
|
inta.id AS intakeId,
|
inta.name AS intakeNum,
|
blo.name AS blockName
|
FROM pr_intake inta
|
LEFT JOIN (SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
GROUP BY intakeId, intakeNum, blockName
|
HAVING recordCount > #{value}) a
|
</select>
|
<!--获取指定时间段内开阀次数超过指定值的取水口-->
|
<select id="getOpenValveGtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
|
SELECT COUNT(*) AS recordCount,
|
inta.id AS intakeId,
|
inta.name AS intakeNum,
|
blo.name AS blockName
|
FROM pr_intake inta
|
LEFT JOIN (SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
GROUP BY intakeId, intakeNum, blockName
|
HAVING recordCount > #{value}
|
<!-- 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="getOpenValveLtIntakesCount" resultType="java.lang.Long">
|
select count(*)
|
from (SELECT COUNT(*) AS recordCount,
|
inta.id AS intakeId,
|
inta.name AS intakeNum,
|
blo.name AS blockName
|
FROM pr_intake inta
|
LEFT JOIN (SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
GROUP BY intakeId, intakeNum, blockName
|
HAVING recordCount < #{value}) a
|
</select>
|
<!--获取指定时间段内开阀次数低于指定值的取水口-->
|
<select id="getOpenValveLtIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
|
SELECT COUNT(*) AS recordCount,
|
inta.id AS intakeId,
|
inta.name AS intakeNum,
|
blo.name AS blockName
|
FROM pr_intake inta
|
LEFT JOIN (SELECT *
|
FROM rm_open_close_valve_history
|
WHERE op_dt BETWEEN #{timeStart} AND #{timeStop}) his ON his.intake_id = inta.id
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
WHERE inta.deleted = 0
|
GROUP BY intakeId, intakeNum, blockName
|
HAVING recordCount < #{value}
|
<!-- 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="getLargeOpenCountClientsCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
|
(SELECT COUNT(*)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
|
</if>
|
</where>
|
</select>
|
|
<!--获取指定时间段内开阀次数超过指定值的农户-->
|
<select id="getLargeOpenCountClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
|
SELECT cli.id AS clientId,
|
cli.name AS clientName,
|
cli.clientNum,
|
CONCAT(cli.districtTitle, cli.address) AS address,
|
cli.phone,
|
cli.idCard
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
|
(SELECT COUNT(*)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{openCount}
|
</if>
|
</where>
|
ORDER BY cli.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="getSmallOpenCountClientsCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
|
(SELECT COUNT(*)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount}
|
</if>
|
</where>
|
</select>
|
|
<!--获取指定时间段内开阀次数低于指定值的农户-->
|
<select id="getSmallOpenCountClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
|
SELECT cli.id AS clientId,
|
cli.name AS clientName,
|
cli.clientNum,
|
CONCAT(cli.districtTitle, cli.address) AS address,
|
cli.phone,
|
cli.idCard
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and openCount != null">
|
(SELECT COUNT(*)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) < #{openCount}
|
</if>
|
</where>
|
ORDER BY cli.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="getLargeWaterConsumptionClientsCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
|
(SELECT SUM(his.cl_this_amount)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
|
</if>
|
</where>
|
</select>
|
|
<!--获取指定时间段内用水量超过指定值的农户-->
|
<select id="getLargeWaterConsumptionClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
|
SELECT cli.id AS clientId,
|
cli.name AS clientName,
|
cli.clientNum,
|
CONCAT(cli.districtTitle, cli.address) AS address,
|
cli.phone,
|
cli.idCard
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterConsumption != null">
|
(SELECT SUM(his.cl_this_amount)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterConsumption}
|
</if>
|
</where>
|
ORDER BY cli.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="getLargeAmountSpentClientsCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
|
(SELECT SUM(his.cl_this_money)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
|
</if>
|
</where>
|
</select>
|
<!--获取指定时间段内消费金额超过指定值的农户-->
|
<select id="getLargeAmountSpentClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
|
SELECT cli.id AS clientId,
|
cli.name AS clientName,
|
cli.clientNum,
|
CONCAT(cli.districtTitle, cli.address) AS address,
|
cli.phone,
|
cli.idCard
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and amountSpent != null">
|
(SELECT SUM(his.cl_this_money)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{amountSpent}
|
</if>
|
</where>
|
ORDER BY cli.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="getLargeWaterDurationClientsCount" resultType="java.lang.Long">
|
SELECT COUNT(*) AS recordCount
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
|
(SELECT SUM(his.cl_this_time)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
|
</if>
|
</where>
|
</select>
|
|
<!--获取指定时间段内用水时长超过指定值的农户-->
|
<select id="getLargeWaterDurationClients" resultType="com.dy.pipIrrGlobal.voSt.VoClient">
|
SELECT cli.id AS clientId,
|
cli.name AS clientName,
|
cli.clientNum,
|
CONCAT(cli.districtTitle, cli.address) AS address,
|
cli.phone,
|
cli.idCard
|
FROM se_client cli
|
<where>
|
<if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != '' and waterDuration != null">
|
(SELECT SUM(his.cl_this_time)
|
FROM rm_open_close_valve_history his
|
WHERE his.client_id = cli.id
|
AND his.op_dt BETWEEN #{timeStart} AND #{timeStop}) > #{waterDuration}
|
</if>
|
</where>
|
ORDER BY cli.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="getUseWaterGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from
|
( SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_amount),0) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_amount),0) > #{value}) c
|
</select>
|
<!--指定时间段用水量超过指定值的取水口-->
|
<select id="getUseWaterGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_amount),0) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_amount),0) > #{value}
|
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="getExpenseGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from
|
( SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_money),0) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_money),0) > #{value}) c
|
</select>
|
<!--指定时间段内消费金额超过指定值的取水口-->
|
<select id="getExpenseGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_money),0) AS value
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_money),0) > #{value}
|
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="getUseWaterDurationGtValueIntakesCount" resultType="java.lang.Long">
|
select
|
count(*)
|
from
|
( SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value}) c
|
</select>
|
<!--指定时间段内用水时长超过指定值的取水口-->
|
<select id="getUseWaterDurationGtValueIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntakeOpenCount">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName ,
|
IFNULL(SUM(rocvh.cl_this_time),0) AS recordCount
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
LEFT JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt >= #{timeStart} AND rocvh.cl_dt <= #{timeStop} AND inta.deleted = 0
|
GROUP BY inta.id
|
HAVING IFNULL(SUM(rocvh.cl_this_time),0) > #{value}
|
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="getHaveOpenNoCloseIntakesCount" resultType="java.lang.Long">
|
select count(*) from
|
(
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
|
GROUP BY inta.id) c
|
</select>
|
<!--指定时间段 有开阀 无关阀的取水口-->
|
<select id="getHaveOpenNoCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.op_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.cl_dt IS NULL AND inta.deleted = 0
|
GROUP BY inta.id
|
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="getNoOpenHaveCloseIntakesCount" resultType="java.lang.Long">
|
select count(*) from
|
(
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
|
GROUP BY inta.id) c
|
</select>
|
<!--指定时间段 无开阀 有关阀的取水口-->
|
<select id="getNoOpenHaveCloseIntakes" resultType="com.dy.pipIrrGlobal.voSt.VoIntake">
|
SELECT
|
inta.id AS intakeId,
|
inta.NAME AS intakeNum,
|
blo.NAME AS blockName
|
FROM
|
pr_intake inta
|
INNER JOIN ba_block blo ON blo.id = inta.blockId
|
inner JOIN rm_open_close_valve_history rocvh ON rocvh.intake_id = inta.id
|
WHERE rocvh.cl_dt BETWEEN #{timeStart} AND #{timeStop} AND rocvh.op_dt IS NULL AND inta.deleted = 0
|
GROUP BY inta.id
|
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>
|