|  |  | 
 |  |  |     LEFT JOIN se_client_card card ON card.id = ope.card_id | 
 |  |  |     LEFT JOIN se_payment_method pay ON pay.id = ope.payment_id | 
 |  |  |     LEFT JOIN ba_user user ON user.id = ope.operator | 
 |  |  |     WHERE ope.operate_valid = 2 AND ope.operate_type in (1,2,3) AND cardNum = #{cardNum,jdbcType=BIGINT} | 
 |  |  |     <!--        SELECT *--> | 
 |  |  |     <!--        FROM v_operate--> | 
 |  |  |     <!--        WHERE cardNum = #{cardNum,jdbcType=BIGINT}--> | 
 |  |  | <!--    WHERE ope.operate_valid = 2 AND ope.operate_type in (1,2,3) AND cardNum = #{cardNum,jdbcType=BIGINT}--> | 
 |  |  |     <where> | 
 |  |  |       AND ope.operate_valid = 2 | 
 |  |  |       AND ope.operate_type in (1,2,3) | 
 |  |  |       <if test="cardNum != null and cardNum != ''"> | 
 |  |  |         AND card.cardNum = #{cardNum} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="cardAddr != null and cardAddr != ''"> | 
 |  |  |         AND card.cardAddr = #{cardAddr} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据水卡编号获取余额--> | 
 |  |  |   <select id="getMoneyByCardNum" resultType="java.lang.Float"> | 
 |  |  |     SELECT money | 
 |  |  |     FROM se_client_card | 
 |  |  |     WHERE cardNum = #{cardNum,jdbcType=BIGINT} | 
 |  |  | <!--    WHERE cardNum = #{cardNum,jdbcType=BIGINT}--> | 
 |  |  |     <where> | 
 |  |  |       <if test="cardNum != null and cardNum != ''"> | 
 |  |  |         AND cardNum = #{cardNum} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="cardAddr != null and cardAddr != ''"> | 
 |  |  |         AND cardAddr = #{cardAddr} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据水卡编号获取充值总额--> | 
 |  |  | 
 |  |  |     SELECT SUM(his.amount) AS amount | 
 |  |  |     FROM se_recharge_history his | 
 |  |  |     INNER JOIN se_client_card card ON his.cardId = card.id | 
 |  |  |     WHERE card.cardNum = #{cardNum,jdbcType=BIGINT} | 
 |  |  | <!--    WHERE card.cardNum = #{cardNum,jdbcType=BIGINT}--> | 
 |  |  |     <where> | 
 |  |  |       <if test="cardNum != null and cardNum != ''"> | 
 |  |  |         AND card.cardNum = #{cardNum} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test="cardAddr != null and cardAddr != ''"> | 
 |  |  |         AND card.cardAddr = #{cardAddr} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据水卡编号获取卡片状态:1-开卡,2-补卡,3-充值,4-挂失,5-注销,6-解锁,7-冲正,8-消费--> | 
 |  |  | 
 |  |  |   <!--检查卡地址是否已存在(管理卡表 + 农户水卡表)--> | 
 |  |  |   <select id="checkCardAddrExists" resultType="java.lang.Long"> | 
 |  |  |     SELECT COUNT(*) AS totalCount FROM ( | 
 |  |  |       -- 检查管理卡表中的所有记录 | 
 |  |  |       -- 检查管理卡表中正常(1)和挂失(3)状态的记录,排除已注销(2)和未写卡(4) | 
 |  |  |       SELECT card_addr FROM se_management_card  | 
 |  |  |       WHERE card_addr = #{cardAddr} | 
 |  |  |         AND state IN (1, 3) | 
 |  |  |        | 
 |  |  |       UNION ALL | 
 |  |  |        |