| | |
| | | <if test="intakeNum != null and intakeNum != ''"> |
| | | AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') |
| | | </if> |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND oh.client_name LIKE CONCAT('%', #{clientName}, '%') |
| | | </if> |
| | | <if test="rtuAddr != null and rtuAddr != ''"> |
| | | AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') |
| | | </if> |
| | |
| | | oh.client_name AS clientName, |
| | | oh.op_ic_card_no AS openIcNum, |
| | | oh.op_ic_card_addr AS openIcAddr, |
| | | oh.op_dt AS openTime, |
| | | oh.open_dt AS openTime, |
| | | CASE |
| | | WHEN oh.op_type = 1 THEN '刷卡开阀' |
| | | WHEN oh.op_type = 3 THEN '中心站开阀' |
| | |
| | | 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, |
| | | oh.close_dt AS closeTime, |
| | | CASE |
| | | WHEN oh.cl_type = 2 THEN '刷卡关阀' |
| | | WHEN oh.cl_type = 4 THEN '中心站关阀' |
| | |
| | | </if> |
| | | <if test="intakeNum != null and intakeNum != ''"> |
| | | AND inta.name LIKE CONCAT('%', #{intakeNum}, '%') |
| | | </if> |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND oh.client_name LIKE CONCAT('%', #{clientName}, '%') |
| | | </if> |
| | | <if test="rtuAddr != null and rtuAddr != ''"> |
| | | AND oh.rtu_addr LIKE CONCAT('%', #{rtuAddr}, '%') |
| | |
| | | </trim> |
| | | </select> |
| | | |
| | | <!--获取指定时间段内用水量低于指定值的农户数量--> |
| | | <select id="getSmallWaterConsumptionClientsCount" 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="getSmallWaterConsumptionClients" 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, |
| | | IFNULL((SELECT SUM(his.cl_this_amount) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS waterConsumption |
| | | 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 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="getSmallAmountSpentClientsCount" 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="getSmallAmountSpentClients" 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, |
| | | IFNULL((SELECT SUM(his.cl_this_money) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS amountSpent |
| | | 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 |
| | |
| | | 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="getSmallWaterDurationClientsCount" 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="getSmallWaterDurationClients" 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, |
| | | IFNULL((SELECT SUM(his.cl_this_time) |
| | | FROM rm_open_close_valve_history his |
| | | <where> |
| | | his.client_id = cli.id |
| | | <if test="timeStart != null and timeStart != '' and timeStop != null and timeStop != ''"> |
| | | AND his.op_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | ),0) AS waterDuration |
| | | 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 |
| | |
| | | INNER JOIN pr_intake inta ON inta.id = och.intake_id |
| | | <where> |
| | | AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL |
| | | AND och.cl_this_money> 0 |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | |
| | | INNER JOIN pr_intake inta ON inta.id = och.intake_id |
| | | <where> |
| | | AND och.cl_ic_card_no IS NOT NULL AND och.client_id IS NOT NULL |
| | | AND och.cl_this_money> 0 |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |