<?xml version="1.0" encoding="UTF-8"?> 
 | 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
 | 
<mapper namespace="com.dy.pipIrrGlobal.daoSe.SeActiveCardMapper"> 
 | 
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeActiveCard"> 
 | 
    <!--@mbg.generated--> 
 | 
    <!--@Table se_active_card--> 
 | 
    <id column="id" jdbcType="BIGINT" property="id" /> 
 | 
    <result column="cardId" jdbcType="BIGINT" property="cardid" /> 
 | 
    <result column="clientId" jdbcType="BIGINT" property="clientid" /> 
 | 
    <result column="cardCost" jdbcType="INTEGER" property="cardcost" /> 
 | 
    <result column="paymentId" jdbcType="BIGINT" property="paymentid" /> 
 | 
    <result column="reissueAmount" jdbcType="DOUBLE" property="reissueamount" /> 
 | 
    <result column="operateType" jdbcType="TINYINT" property="operatetype" /> 
 | 
    <result column="remarks" jdbcType="VARCHAR" property="remarks" /> 
 | 
    <result column="operator" jdbcType="BIGINT" property="operator" /> 
 | 
    <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" /> 
 | 
  </resultMap> 
 | 
  <sql id="Base_Column_List"> 
 | 
    <!--@mbg.generated--> 
 | 
    id, cardId, clientId, cardCost, paymentId, reissueAmount, operateType, remarks, `operator`,  
 | 
    operateDt 
 | 
  </sql> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from se_active_card 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from se_active_card 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  
 | 
  <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_active_card (id, cardId, clientId, cardCost, 
 | 
      paymentId, reissueAmount, operateType,  
 | 
      remarks, `operator`, operateDt 
 | 
      ) 
 | 
    values (#{id,jdbcType=BIGINT}, #{cardid,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, #{cardcost,jdbcType=INTEGER}, 
 | 
      #{paymentid,jdbcType=BIGINT}, #{reissueamount,jdbcType=DOUBLE}, #{operatetype,jdbcType=TINYINT},  
 | 
      #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operatedt,jdbcType=TIMESTAMP} 
 | 
      ) 
 | 
  </insert> 
 | 
  
 | 
  <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard" useGeneratedKeys="true"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_active_card 
 | 
    <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
      <if test="cardid != null"> 
 | 
        cardId, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        clientId, 
 | 
      </if> 
 | 
      <if test="cardcost != null"> 
 | 
        cardCost, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        paymentId, 
 | 
      </if> 
 | 
      <if test="reissueamount != null"> 
 | 
        reissueAmount, 
 | 
      </if> 
 | 
      <if test="operatetype != null"> 
 | 
        operateType, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        remarks, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        `operator`, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        operateDt, 
 | 
      </if> 
 | 
    </trim> 
 | 
    <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
      <if test="cardid != null"> 
 | 
        #{cardid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        #{clientid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="cardcost != null"> 
 | 
        #{cardcost,jdbcType=INTEGER}, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        #{paymentid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="reissueamount != null"> 
 | 
        #{reissueamount,jdbcType=DOUBLE}, 
 | 
      </if> 
 | 
      <if test="operatetype != null"> 
 | 
        #{operatetype,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        #{remarks,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        #{operator,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        #{operatedt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_active_card 
 | 
    <set> 
 | 
      <if test="cardid != null"> 
 | 
        cardId = #{cardid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientid != null"> 
 | 
        clientId = #{clientid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="cardcost != null"> 
 | 
        cardCost = #{cardcost,jdbcType=INTEGER}, 
 | 
      </if> 
 | 
      <if test="paymentid != null"> 
 | 
        paymentId = #{paymentid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="reissueamount != null"> 
 | 
        reissueAmount = #{reissueamount,jdbcType=DOUBLE}, 
 | 
      </if> 
 | 
      <if test="operatetype != null"> 
 | 
        operateType = #{operatetype,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        operateDt = #{operatedt,jdbcType=TIMESTAMP}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeActiveCard"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_active_card 
 | 
    set cardId = #{cardid,jdbcType=BIGINT}, 
 | 
      clientId = #{clientid,jdbcType=BIGINT}, 
 | 
      cardCost = #{cardcost,jdbcType=INTEGER}, 
 | 
      paymentId = #{paymentid,jdbcType=BIGINT}, 
 | 
      reissueAmount = #{reissueamount,jdbcType=DOUBLE}, 
 | 
      operateType = #{operatetype,jdbcType=TINYINT}, 
 | 
      remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      operateDt = #{operatedt,jdbcType=TIMESTAMP} 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  
 | 
  <!--根据指定的条件获取开卡记录数--> 
 | 
  <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> 
 | 
    SELECT 
 | 
        COUNT(*) AS recordCount 
 | 
    FROM se_active_card act 
 | 
    INNER JOIN se_client cli ON act.clientId = cli.id 
 | 
    INNER JOIN se_client_card card ON act.cardId = card.id 
 | 
    , (SELECT @i:=0) AS itable 
 | 
    <where> 
 | 
      <if test = "operateType != null and operateType > 0"> 
 | 
        AND act.operateType = ${operateType} 
 | 
      </if> 
 | 
  
 | 
      <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 act.operateDt BETWEEN #{activeTimeStart} AND #{activeTimeStop} 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定的条件获取开卡记录--> 
 | 
  <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCard"> 
 | 
    SELECT 
 | 
        (@i:=@i+1) AS id, 
 | 
        cli.`name` AS clientName, 
 | 
        cli.clientNum, 
 | 
        card.cardNum, 
 | 
        card.state, 
 | 
        (CASE 
 | 
            WHEN card.state = 1 THEN "正常" 
 | 
            WHEN card.state = 2 THEN "已注销" 
 | 
            ELSE "已挂失" 
 | 
        END) AS stateName, 
 | 
        act.reissueAmount, 
 | 
        act.cardCost, 
 | 
        act.paymentId, 
 | 
        (SELECT `name` FROM ba_user WHERE id =  act.operator) AS operator, 
 | 
        act.operateDt 
 | 
    FROM se_active_card act 
 | 
        INNER JOIN se_client cli ON act.clientId = cli.id 
 | 
        INNER JOIN se_client_card card ON act.cardId = card.id 
 | 
        , (SELECT @i:=0) AS itable 
 | 
    <where> 
 | 
      <if test = "operateType != null and operateType > 0"> 
 | 
        AND act.operateType = ${operateType} 
 | 
      </if> 
 | 
  
 | 
      <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 act.operateDt BETWEEN #{activeTimeStart} AND #{activeTimeStop} 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY act.operateDt 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> 
 |