|  |  |  | 
|---|
|  |  |  | <result column="clientId" jdbcType="BIGINT" property="clientid" /> | 
|---|
|  |  |  | <result column="money" jdbcType="FLOAT" property="money" /> | 
|---|
|  |  |  | <result column="state" jdbcType="TINYINT" property="state" /> | 
|---|
|  |  |  | <result column="original_card_id" jdbcType="BIGINT" property="originalCardId"/> | 
|---|
|  |  |  | <result column="createDt" jdbcType="TIMESTAMP" property="createdt" /> | 
|---|
|  |  |  | <result column="replaceDt" jdbcType="TIMESTAMP" property="replacedt" /> | 
|---|
|  |  |  | <result column="rechargeDt" jdbcType="TIMESTAMP" property="rechargedt" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  | <sql id="Base_Column_List"> | 
|---|
|  |  |  | <!--@mbg.generated--> | 
|---|
|  |  |  | id, cardAddr, cardNum, clientId, money, `state`, createDt, replaceDt, rechargeDt, | 
|---|
|  |  |  | id, cardAddr, cardNum, clientId, money, `state`, original_card_id, createDt, replaceDt, rechargeDt, | 
|---|
|  |  |  | lossDtDt, cancelDt, unlockDt, reversalDt, refundDt, consumeDt, lastOper, remarks | 
|---|
|  |  |  | </sql> | 
|---|
|  |  |  | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> | 
|---|
|  |  |  | <!--@mbg.generated--> | 
|---|
|  |  |  | insert into se_client_card (id, cardAddr, cardNum, clientId, | 
|---|
|  |  |  | money, `state`, createDt, | 
|---|
|  |  |  | money, `state`, original_card_id, createDt, | 
|---|
|  |  |  | replaceDt, rechargeDt, lossDtDt, | 
|---|
|  |  |  | cancelDt, unlockDt, reversalDt, refundDt, | 
|---|
|  |  |  | consumeDt, lastOper, remarks | 
|---|
|  |  |  | ) | 
|---|
|  |  |  | values (#{id,jdbcType=BIGINT}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, | 
|---|
|  |  |  | #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{originalCardId,jdbcType=BIGINT}, #{createdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | #{canceldt,jdbcType=TIMESTAMP}, #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | #{refunddt,jdbcType=TIMESTAMP}, #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR} | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="state != null"> | 
|---|
|  |  |  | `state`, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="originalCardId != null"> | 
|---|
|  |  |  | original_card_id, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="createdt != null"> | 
|---|
|  |  |  | createDt, | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="state != null"> | 
|---|
|  |  |  | #{state,jdbcType=TINYINT}, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="originalCardId != null"> | 
|---|
|  |  |  | #{originalCardId,jdbcType=BIGINT}, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="createdt != null"> | 
|---|
|  |  |  | #{createdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | 
|---|
|  |  |  | <if test="state != null"> | 
|---|
|  |  |  | `state` = #{state,jdbcType=TINYINT}, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="originalCardId != null"> | 
|---|
|  |  |  | `original_card_id` = #{originalCardId,jdbcType=BIGINT}, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="createdt != null"> | 
|---|
|  |  |  | createDt = #{createdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | 
|---|
|  |  |  | clientId = #{clientid,jdbcType=BIGINT}, | 
|---|
|  |  |  | money = #{money,jdbcType=FLOAT}, | 
|---|
|  |  |  | `state` = #{state,jdbcType=TINYINT}, | 
|---|
|  |  |  | original_card_id = #{originalCardId,jdbcType=BIGINT}, | 
|---|
|  |  |  | createDt = #{createdt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | replaceDt = #{replacedt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | rechargeDt = #{rechargedt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据水卡编号获取卡片状态:1-开卡,2-补卡,3-充值,4-挂失,5-注销,6-解锁,7-冲正,8-消费--> | 
|---|
|  |  |  | <select id="getCardStateByCardNum" resultType="java.lang.String"> | 
|---|
|  |  |  | <!--    SELECT--> | 
|---|
|  |  |  | <!--      (CASE--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 1 THEN "开卡"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 2 THEN "补卡"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 3 THEN "充值"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 4 THEN "挂失"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 5 THEN "注销"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 6 THEN "解锁"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 7 THEN "冲正"--> | 
|---|
|  |  |  | <!--         WHEN lastOper = 8 THEN "消费"--> | 
|---|
|  |  |  | <!--        END) AS stateName--> | 
|---|
|  |  |  | <!--    FROM se_client_card--> | 
|---|
|  |  |  | <!--    WHERE cardNum = ${cardNum}--> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | (CASE | 
|---|
|  |  |  | WHEN lastOper = 1 THEN "开卡" | 
|---|
|  |  |  | WHEN lastOper = 2 THEN "补卡" | 
|---|
|  |  |  | WHEN lastOper = 3 THEN "充值" | 
|---|
|  |  |  | WHEN lastOper = 4 THEN "挂失" | 
|---|
|  |  |  | WHEN lastOper = 5 THEN "注销" | 
|---|
|  |  |  | WHEN lastOper = 6 THEN "解锁" | 
|---|
|  |  |  | WHEN lastOper = 7 THEN "冲正" | 
|---|
|  |  |  | WHEN lastOper = 8 THEN "消费" | 
|---|
|  |  |  | (CASE | 
|---|
|  |  |  | WHEN state = 1 THEN '正常' | 
|---|
|  |  |  | WHEN state = 2 THEN '已注销' | 
|---|
|  |  |  | WHEN state = 3 THEN '已挂失' | 
|---|
|  |  |  | END) AS stateName | 
|---|
|  |  |  | FROM se_client_card | 
|---|
|  |  |  | WHERE cardNum = ${cardNum} | 
|---|
|  |  |  | 
|---|
|  |  |  | WHEN card.state = 3 THEN '已挂失' | 
|---|
|  |  |  | End) AS stateName, | 
|---|
|  |  |  | '农户卡' AS cardType, | 
|---|
|  |  |  | card.money | 
|---|
|  |  |  | FORMAT(card.money, 2) AS money | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | ORDER BY card.id | 
|---|
|  |  |  | <if test="pageCurr != null and pageSize != null"> | 
|---|
|  |  |  | LIMIT ${pageCurr}, ${pageSize} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <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="getUnreplacedRecordCount" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | COUNT(*) AS recordCount | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum) | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--获取已挂失未补卡的记录--> | 
|---|
|  |  |  | <select id="getUnreplaced" resultType="com.dy.pipIrrGlobal.voSe.VoCards"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | cli.clientNum, | 
|---|
|  |  |  | cli.name AS clientName, | 
|---|
|  |  |  | card.cardNum, | 
|---|
|  |  |  | cli.phone, | 
|---|
|  |  |  | cli.idCard, | 
|---|
|  |  |  | card.state AS cardState, | 
|---|
|  |  |  | (CASE | 
|---|
|  |  |  | WHEN card.state = 1 THEN '正常' | 
|---|
|  |  |  | WHEN card.state = 2 THEN '已注销' | 
|---|
|  |  |  | WHEN card.state = 3 THEN '已挂失' | 
|---|
|  |  |  | End) AS stateName, | 
|---|
|  |  |  | '农户卡' AS cardType, | 
|---|
|  |  |  | FORMAT(card.money,2) AS money | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client cli ON card.clientId = cli.id | 
|---|
|  |  |  | WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum) | 
|---|
|  |  |  | ORDER BY card.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="isLostAndUnreplaced" resultType="java.lang.Integer"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | COUNT(*) AS recordCount | 
|---|
|  |  |  | FROM se_client_card card | 
|---|
|  |  |  | INNER JOIN se_client_card card2 ON card2.original_card_id = card.cardNum | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | AND card.state = 3 | 
|---|
|  |  |  | <if test = "cardNum != null and cardNum > 0"> | 
|---|
|  |  |  | AND card.cardNum = #{cardNum} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | </mapper> | 
|---|