liurunyu
3 天以前 bb5c0ca59fd23ca6c4b8184023d8707d9d506826
pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -596,6 +596,7 @@
        inta.name                   AS intakeNum,
        inta.lng,
        inta.lat,
        IFNULL(hou.instant_amount, 0) AS instantAmount,
        IFNULL(hou.total_amount, 0) AS totalAmount,
        <if test="onLineMap != null and onLineMap !='' and isOnLine != null">
            rtus.isOnLine,
@@ -736,4 +737,65 @@
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
    <!--获取未绑定到轮灌组的取水口列表-->
    <select id="getFreeIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple">
        SELECT
            id AS intakeId,
            name AS intakeName
        FROM pr_intake inta
        <where>
            AND inta.deleted = 0
            AND NOT EXISTS (SELECT 1 FROM ir_group_intake gi WHERE gi.intake_id = inta.id)
            <if test="intakeName != null and intakeName != ''">
                AND LOWER(inta.name) LIKE CONCAT('%', #{intakeName}, '%')
            </if>
        </where>
    </select>
    <!--获取未绑定虚拟卡的取水口列表,给取水口绑虚拟卡使用-->
    <select id="getNotLinkVcIntakes" resultType="com.dy.pipIrrGlobal.voPr.VoIntakeSimple">
        SELECT
            id AS intakeId,
            name AS intakeName
        FROM pr_intake inta
        WHERE NOT EXISTS (
                SELECT 1
                FROM pr_intake_vc iv
                WHERE iv.intake_id = inta.id
            ) AND inta.deleted = 0
    </select>
    <!-- 为wechat,根据指定取水口名称模糊(后端)查询水口记录数 -->
    <select id="getSomeIntakesCount4Wx" parameterType="java.util.Map" resultType="java.lang.Long">
        SELECT COUNT(*) AS recordCount
        FROM pr_intake tb
        <where>
            tb.deleted = 0
            <if test="intakeNum != null and intakeNum != ''">
                AND tb.name LIKE CONCAT('%', #{intakeNum})
            </if>
        </where>
    </select>
    <!-- 为wechat,根据指定取水口名称模糊(后端)查询水口记录 -->
    <select id="getSomeIntakes4Wx" parameterType="java.util.Map" resultType="com.dy.pipIrrGlobal.voPr.VoOnLineIntake">
        SELECT
        inta.id AS intakeId,
        con.rtuAddr,
        inta.name AS intakeNum
        FROM pr_intake inta
        INNER JOIN pr_controller con ON con.intakeId = inta.id
        <where>
            inta.deleted = 0
            <if test="intakeNum != null and intakeNum != ''">
                AND inta.name LIKE CONCAT('%', #{intakeNum})
            </if>
        </where>
        ORDER BY inta.id DESC
    </select>
</mapper>