pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -451,4 +451,75 @@
    </where>
    GROUP BY ope.payment_id,  Date(ope.operate_dt)
  </select>
  <!--根据指定条件获取开卡记录数量-->
  <select id="getActiveCardRecordCount" 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 = 1
      <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 = "state != null and state > 0">
        AND card.state = ${state}
      </if>
      <if test = "activeTimeStart != null and activeTimeStop != null">
        AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop}
      </if>
    </where>
  </select>
  <!--根据指定条件获取开卡记录-->
  <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
    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 = 1
      <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 = "state != null and state > 0">
        AND card.state = ${state}
      </if>
      <if test = "activeTimeStart != null and activeTimeStop != null">
        AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop}
      </if>
    </where>
    ORDER BY ope.operate_dt DESC
    <if test="pageCurr != null and pageSize != null">
      LIMIT ${pageCurr}, ${pageSize}
    </if>
  </select>
</mapper>