Administrator
2024-01-12 8f77fb7d7b71c49ae17bd84aad6e12aeb5859c3b
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -6,8 +6,8 @@
    <!--@Table se_client_card-->
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="cardAddr" jdbcType="VARCHAR" property="cardaddr" />
    <result column="cardNum" jdbcType="VARCHAR" property="cardnum" />
    <result column="clientNum" jdbcType="VARCHAR" property="clientnum" />
    <result column="cardNum" jdbcType="BIGINT" property="cardnum" />
    <result column="clientId" jdbcType="BIGINT" property="clientid" />
    <result column="money" jdbcType="FLOAT" property="money" />
    <result column="state" jdbcType="TINYINT" property="state" />
    <result column="createDt" jdbcType="TIMESTAMP" property="createdt" />
@@ -23,7 +23,7 @@
  </resultMap>
  <sql id="Base_Column_List">
    <!--@mbg.generated-->
    id, cardAddr, cardNum, clientNum, money, `state`, createDt, replaceDt, rechargeDt,
    id, cardAddr, cardNum, clientId, money, `state`, createDt, replaceDt, rechargeDt,
    lossDtDt, cancelDt, unlockDt, reversalDt, consumeDt, lastOper, remarks
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -51,11 +51,18 @@
  <!--根据水卡编号获取水卡表主键及农户编号-->
  <select id="getCardIdAndClientNum" resultType="java.util.Map">
    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}
<!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
    SELECT
        card.id AS cardId,
        cli.clientNum,
        cli.id AS clientId
    FROM se_client_card card
        INNER JOIN se_client cli ON card.clientId = cli.id
    WHERE card.cardNum = #{cardNum}
  </select>
  <!--根据行政区划串模块查询水卡编号-->
  <!--根据行政区划串模糊查询水卡编号-->
  <select id="getCardNumOfMax"  resultType="java.lang.String">
    SELECT cardNum
    FROM se_client_card
@@ -64,23 +71,22 @@
    LIMIT 0,1
  </select>
  <!--添加水卡记录-->
  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard">
    <!--@mbg.generated-->
    insert into se_client_card (id, cardAddr, cardNum, clientNum,
      money, `state`, createDt,
      replaceDt, rechargeDt, lossDtDt,
      cancelDt, unlockDt, reversalDt,
    insert into se_client_card (id, cardAddr, cardNum, clientId,
      money, `state`, createDt,
      replaceDt, rechargeDt, lossDtDt,
      cancelDt, unlockDt, reversalDt,
      consumeDt, lastOper, remarks
      )
    values (#{id,jdbcType=BIGINT}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=VARCHAR}, #{clientnum,jdbcType=VARCHAR},
      #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP},
      #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP},
      #{canceldt,jdbcType=TIMESTAMP}, #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP},
    values (#{id,jdbcType=BIGINT}, #{cardaddr,jdbcType=VARCHAR}, #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT},
      #{money,jdbcType=FLOAT}, #{state,jdbcType=TINYINT}, #{createdt,jdbcType=TIMESTAMP},
      #{replacedt,jdbcType=TIMESTAMP}, #{rechargedt,jdbcType=TIMESTAMP}, #{lossdtdt,jdbcType=TIMESTAMP},
      #{canceldt,jdbcType=TIMESTAMP}, #{unlockdt,jdbcType=TIMESTAMP}, #{reversaldt,jdbcType=TIMESTAMP},
      #{consumedt,jdbcType=TIMESTAMP}, #{lastoper,jdbcType=TINYINT}, #{remarks,jdbcType=VARCHAR}
      )
  </insert>
  </insert>
  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true">
    <!--@mbg.generated-->
    insert into se_client_card
@@ -91,8 +97,8 @@
      <if test="cardnum != null">
        cardNum,
      </if>
      <if test="clientnum != null">
        clientNum,
      <if test="clientid != null">
        clientId,
      </if>
      <if test="money != null">
        money,
@@ -136,10 +142,10 @@
        #{cardaddr,jdbcType=VARCHAR},
      </if>
      <if test="cardnum != null">
        #{cardnum,jdbcType=VARCHAR},
        #{cardnum,jdbcType=BIGINT},
      </if>
      <if test="clientnum != null">
        #{clientnum,jdbcType=VARCHAR},
      <if test="clientid != null">
        #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        #{money,jdbcType=FLOAT},
@@ -187,10 +193,10 @@
        cardAddr = #{cardaddr,jdbcType=VARCHAR},
      </if>
      <if test="cardnum != null">
        cardNum = #{cardnum,jdbcType=VARCHAR},
        cardNum = #{cardnum,jdbcType=BIGINT},
      </if>
      <if test="clientnum != null">
        clientNum = #{clientnum,jdbcType=VARCHAR},
      <if test="clientid != null">
        clientId = #{clientid,jdbcType=BIGINT},
      </if>
      <if test="money != null">
        money = #{money,jdbcType=FLOAT},
@@ -235,8 +241,8 @@
    <!--@mbg.generated-->
    update se_client_card
    set cardAddr = #{cardaddr,jdbcType=VARCHAR},
      cardNum = #{cardnum,jdbcType=VARCHAR},
      clientNum = #{clientnum,jdbcType=VARCHAR},
      cardNum = #{cardnum,jdbcType=BIGINT},
      clientId = #{clientid,jdbcType=BIGINT},
      money = #{money,jdbcType=FLOAT},
      `state` = #{state,jdbcType=TINYINT},
      createDt = #{createdt,jdbcType=TIMESTAMP},
@@ -251,4 +257,55 @@
      remarks = #{remarks,jdbcType=VARCHAR}
    where id = #{id,jdbcType=BIGINT}
  </update>
  <!--根据农户主键获取水卡列表-->
  <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo">
    SELECT
        cardNum,
        '用户卡' AS cardType,
        money,
        (CASE
            WHEN state = 1 THEN "正常"
            WHEN state = 2 THEN "已注销"
            ELSE "已挂失"
        END) AS state
    FROM se_client_card
    WHERE clientId = ${clientId}
  </select>
  <!--根据水卡编号获取操作记录列表-->
  <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap">
    SELECT * FROM v_operate WHERE cardNum = ${cardNum}
  </select>
  <!--根据水卡编号获取余额-->
  <select id="getMoneyByCardNum" resultType="java.lang.Float">
    SELECT money FROM se_client_card WHERE cardNum = ${cardNum}
  </select>
  <!--根据水卡编号获取充值总额-->
  <select id="sumRechargeByCardNum" resultType="java.lang.Float">
    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}
  </select>
  <!--根据水卡编号获取卡片状态: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>
</mapper>