Administrator
2024-01-31 ab37d7d33e2484ee97a602f348ab475101389149
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -289,9 +289,11 @@
      </if>
    </where>
    ORDER BY ope.operate_dt DESC
    <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>
  <!--根据指定条件获取交易记录数-->
@@ -360,6 +362,10 @@
      <if test = "operateTimeStart != null and operateTimeStop != null">
        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
      </if>
      <if test = "cashierId != null and cashierId > 0">
        AND user.id = ${cashierId}
      </if>
    </where>
    ORDER BY ope.operate_dt
@@ -482,23 +488,23 @@
  <!--根据指定条件获取开卡记录-->
  <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCardNew">
    SELECT
    CAST(ope.id AS char) AS id ,
    cli.name AS clientName,
    cli.clientNum AS clientNum,
    card.cardNum AS cardNum,
    card.state AS state,
    (CASE
    WHEN card.state = 1 THEN "正常"
    WHEN card.state = 2 THEN "已注销"
    WHEN card.state = 3 THEN "已挂失"
    END) AS stateName,
    ope.card_cost AS cardCost,
    ope.payment_id AS paymentId,
    (SELECT `name` FROM ba_user WHERE id =  ope.operator) AS operator,
    ope.operate_dt AS operateDt
        CAST(ope.id AS char) AS id ,
        cli.name AS clientName,
        cli.clientNum AS clientNum,
        card.cardNum AS cardNum,
        card.state AS state,
        (CASE
          WHEN card.state = 1 THEN "正常"
          WHEN card.state = 2 THEN "已注销"
          WHEN card.state = 3 THEN "已挂失"
        END) AS stateName,
        ope.card_cost AS cardCost,
        ope.payment_id AS paymentId,
        (SELECT `name` FROM ba_user WHERE id =  ope.operator) AS operator,
        ope.operate_dt AS operateDt
    FROM se_card_operate ope
    INNER JOIN se_client_card card ON ope.card_id = card.id
    INNER JOIN se_client cli ON ope.client_id = cli.id
      INNER JOIN se_client_card card ON ope.card_id = card.id
      INNER JOIN se_client cli ON ope.client_id = cli.id
    <where>
      AND ope.operate_type = 1
      <if test = "clientName != null and clientName !=''">
@@ -518,8 +524,69 @@
      </if>
    </where>
    ORDER BY ope.operate_dt DESC
    <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="getReissueCardRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
    select
    COUNT(*) AS recordCount
    FROM se_card_operate ope
    INNER JOIN se_client_card card ON ope.card_id = card.id
    INNER JOIN se_client cli ON ope.client_id = cli.id
    <where>
      AND ope.operate_type = 4
      <if test = "clientName != null and clientName !=''">
        AND cli.name like CONCAT('%',#{clientName},'%')
      </if>
      <if test = "cardNum != null and cardNum !=''">
        AND card.cardNum like CONCAT('%',#{cardNum},'%')
      </if>
      <if test = "activeTimeStart != null and activeTimeStop != null">
        AND ope.operate_dt BETWEEN #{reissueCardTimeStart} AND #{reissueCardTimeStop}
      </if>
    </where>
  </select>
  <!--根据指定条件获取补卡记录-->
  <select id="getReissueCards" resultType="com.dy.pipIrrGlobal.voSe.VoReissueCard">
    SELECT
    CAST(ope.id AS char) AS id ,
    cli.name AS clientName,
    cli.clientNum AS clientNum,
    card.cardNum AS cardNum,
    ope.card_cost AS cardCost,
    IFNULL(ope.no_trade_amount,0) AS reissueAmount,
    (SELECT `name` FROM ba_user WHERE id =  ope.operator) AS operator,
    ope.operate_dt AS operateDt
    FROM se_card_operate ope
    INNER JOIN se_client_card card ON ope.card_id = card.id
    INNER JOIN se_client cli ON ope.client_id = cli.id
    <where>
      AND ope.operate_type = 4
      <if test = "clientName != null and clientName !=''">
        AND cli.name like CONCAT('%',#{clientName},'%')
      </if>
      <if test = "cardNum != null and cardNum !=''">
        AND card.cardNum like CONCAT('%',#{cardNum},'%')
      </if>
      <if test = "activeTimeStart != null and activeTimeStop != null">
        AND ope.operate_dt BETWEEN #{reissueCardTimeStart} AND #{reissueCardTimeStop}
      </if>
    </where>
    ORDER BY ope.operate_dt DESC
    <trim prefix="limit " >
      <if test="start != null and count != null">
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
      </if>
    </trim>
  </select>
</mapper>