| | |
| | | <?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.SeClientCardMapper"> |
| | | <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table se_client_card--> |
| | | <id column="id" jdbcType="BIGINT" property="id" /> |
| | | <result column="cardAddr" jdbcType="VARCHAR" property="cardaddr" /> |
| | | <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="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" /> |
| | | <result column="lossDtDt" jdbcType="TIMESTAMP" property="lossdtdt" /> |
| | | <result column="cancelDt" jdbcType="TIMESTAMP" property="canceldt" /> |
| | | <result column="unlockDt" jdbcType="TIMESTAMP" property="unlockdt" /> |
| | | <result column="reversalDt" jdbcType="TIMESTAMP" property="reversaldt" /> |
| | | <result column="refundDt" jdbcType="TIMESTAMP" property="refunddt" /> |
| | | <result column="consumeDt" jdbcType="TIMESTAMP" property="consumedt" /> |
| | | <result column="lastOper" jdbcType="TINYINT" property="lastoper" /> |
| | | <result column="remarks" jdbcType="VARCHAR" property="remarks" /> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | 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"> |
| | | <!--@mbg.generated--> |
| | | select |
| | | <include refid="Base_Column_List" /> |
| | | from se_client_card |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | delete from se_client_card |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | |
| | | <!--依据水卡地址获取水卡编号(12月19日废弃)--> |
| | | <select id="getCardIdByAddr" resultType="java.lang.Long"> |
| | | SELECT id AS cardId FROM se_client_card WHERE cardAddr = #{cardAddr} |
| | | </select> |
| | | |
| | | <!--根据水卡编号获取水卡表主键(12月19日添加后废弃)--> |
| | | <select id="getCardIdByNum" resultType="java.lang.Long"> |
| | | SELECT id AS cardId FROM se_client_card WHERE cardNum = #{cardNum} |
| | | </select> |
| | | |
| | | <!--根据水卡编号获取水卡表主键及农户编号--> |
| | | <select id="getCardIdAndClientNum" resultType="java.util.Map"> |
| | | <!-- 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 |
| | | WHERE cardNum LIKE CONCAT('%',#{areaCode},'%') |
| | | ORDER BY cardNum desc |
| | | LIMIT 0,1 |
| | | </select> |
| | | |
| | | <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`, 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}, #{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} |
| | | ) |
| | | |
| | | </insert> |
| | | <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" useGeneratedKeys="true"> |
| | | <!--@mbg.generated--> |
| | | insert into se_client_card |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="cardaddr != null"> |
| | | <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | <!--@Table se_client_card--> |
| | | <id column="id" jdbcType="BIGINT" property="id"/> |
| | | <result column="protocol" jdbcType="VARCHAR" property="protocol"/> |
| | | <result column="cardAddr" jdbcType="VARCHAR" property="cardaddr"/> |
| | | <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="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"/> |
| | | <result column="lossDtDt" jdbcType="TIMESTAMP" property="lossdtdt"/> |
| | | <result column="cancelDt" jdbcType="TIMESTAMP" property="canceldt"/> |
| | | <result column="unlockDt" jdbcType="TIMESTAMP" property="unlockdt"/> |
| | | <result column="reversalDt" jdbcType="TIMESTAMP" property="reversaldt"/> |
| | | <result column="refundDt" jdbcType="TIMESTAMP" property="refunddt"/> |
| | | <result column="consumeDt" jdbcType="TIMESTAMP" property="consumedt"/> |
| | | <result column="lastOper" jdbcType="TINYINT" property="lastoper"/> |
| | | <result column="remarks" jdbcType="VARCHAR" property="remarks"/> |
| | | </resultMap> |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, |
| | | protocol, |
| | | cardAddr, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | cardNum, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | clientId, |
| | | </if> |
| | | <if test="money != null"> |
| | | money, |
| | | </if> |
| | | <if test="state != null"> |
| | | `state`, |
| | | </if> |
| | | <if test="originalCardId != null"> |
| | | original_card_id, |
| | | </if> |
| | | <if test="createdt != null"> |
| | | createDt, |
| | | </if> |
| | | <if test="replacedt != null"> |
| | | replaceDt, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | rechargeDt, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | lossDtDt, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | cancelDt, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | unlockDt, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | reversalDt, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | refundDt, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | consumeDt, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | lastOper, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | remarks, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="cardaddr != null"> |
| | | #{cardaddr,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | #{cardnum,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | #{clientid,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="money != null"> |
| | | #{money,jdbcType=FLOAT}, |
| | | </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> |
| | | <if test="replacedt != null"> |
| | | #{replacedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | #{rechargedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | #{canceldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | #{unlockdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | #{reversaldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | #{refunddt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | #{consumedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | #{lastoper,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | #{remarks,jdbcType=VARCHAR}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | update se_client_card |
| | | <set> |
| | | <if test="cardaddr != null"> |
| | | cardAddr = #{cardaddr,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | cardNum = #{cardnum,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | clientId = #{clientid,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="money != null"> |
| | | money = #{money,jdbcType=FLOAT}, |
| | | </if> |
| | | <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> |
| | | <if test="replacedt != null"> |
| | | replaceDt = #{replacedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | rechargeDt = #{rechargedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | lossDtDt = #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | cancelDt = #{canceldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | unlockDt = #{unlockdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | reversalDt = #{reversaldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | refundDt = #{refunddt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | consumeDt = #{consumedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | lastOper = #{lastoper,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | remarks = #{remarks,jdbcType=VARCHAR}, |
| | | </if> |
| | | </set> |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | update se_client_card |
| | | set cardAddr = #{cardaddr,jdbcType=VARCHAR}, |
| | | cardNum = #{cardnum,jdbcType=BIGINT}, |
| | | 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}, |
| | | lossDtDt = #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | cancelDt = #{canceldt,jdbcType=TIMESTAMP}, |
| | | unlockDt = #{unlockdt,jdbcType=TIMESTAMP}, |
| | | reversalDt = #{reversaldt,jdbcType=TIMESTAMP}, |
| | | refundDt = #{refunddt,jdbcType=TIMESTAMP}, |
| | | consumeDt = #{consumedt,jdbcType=TIMESTAMP}, |
| | | lastOper = #{lastoper,jdbcType=TINYINT}, |
| | | remarks = #{remarks,jdbcType=VARCHAR} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | remarks |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | | select |
| | | <include refid="Base_Column_List"/> |
| | | from se_client_card |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </select> |
| | | <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> |
| | | <!--@mbg.generated--> |
| | | delete |
| | | from se_client_card |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </delete> |
| | | |
| | | <!--根据农户主键获取水卡列表--> |
| | | <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> |
| | | <!--依据水卡地址获取水卡编号(12月19日废弃)--> |
| | | <!--2024-06-30取消废弃,恢复使用--> |
| | | <select id="getCardIdByAddr" resultType="java.lang.Long"> |
| | | SELECT id AS cardId |
| | | FROM se_client_card |
| | | WHERE cardAddr = #{cardAddr} |
| | | ORDER BY id DESC |
| | | LIMIT 1 |
| | | </select> |
| | | |
| | | <!--根据水卡编号获取操作记录列表--> |
| | | <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap"> |
| | | SELECT * FROM v_operate WHERE cardNum = ${cardNum} |
| | | </select> |
| | | <!--根据水卡编号获取水卡表主键(12月19日添加后废弃)--> |
| | | <select id="getCardIdByNum" resultType="java.lang.Long"> |
| | | SELECT id AS cardId |
| | | FROM se_client_card |
| | | WHERE cardNum = #{cardNum} |
| | | </select> |
| | | |
| | | <!--根据水卡编号获取余额--> |
| | | <select id="getMoneyByCardNum" resultType="java.lang.Float"> |
| | | SELECT money FROM se_client_card WHERE cardNum = ${cardNum} |
| | | </select> |
| | | <!--根据水卡编号获取水卡表主键及农户编号--> |
| | | <select id="getCardIdAndClientNum" resultType="java.util.Map"> |
| | | <!-- SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}--> |
| | | SELECT card.id AS cardId, |
| | | cli.clientNum, |
| | | cli.id AS clientId, |
| | | protocol |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON card.clientId = cli.id |
| | | WHERE card.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> |
| | | <!-- 根据水卡编号获取水卡对应的农户id和姓名 --> |
| | | <select id="getClientIdAndNameByCardAddrAndCardNo" resultType="java.util.Map"> |
| | | SELECT cli.id AS clientId, |
| | | cli.name AS clientName |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON card.clientId = cli.id |
| | | WHERE card.cardAddr = #{cardAddr} |
| | | and 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 |
| | | (CASE |
| | | WHEN state = 1 THEN '正常' |
| | | WHEN state = 2 THEN '已注销' |
| | | WHEN state = 3 THEN '已挂失' |
| | | END) AS stateName |
| | | FROM se_client_card |
| | | WHERE cardNum = ${cardNum} |
| | | </select> |
| | | |
| | | <!--根据指定条件获取水卡列表记录数,应用程序使用--> |
| | | <select id="getCardsCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | SELECT |
| | | COUNT(*) AS recordCount |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON card.clientId = cli.id |
| | | <where> |
| | | <if test = "clientNum != null and clientNum !=''"> |
| | | AND cli.clientNum like CONCAT('%',#{clientNum},'%') |
| | | </if> |
| | | <!-- 根据水卡编号获取水卡 --> |
| | | <select id="getCardsByAddrAndNum" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo1"> |
| | | SELECT id, |
| | | money |
| | | FROM se_client_card |
| | | WHERE cardAddr = #{cardAddr} |
| | | and cardNum = #{cardNum} |
| | | </select> |
| | | |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | <!--根据行政区划串模糊查询水卡编号--> |
| | | <select id="getCardNumOfMax" resultType="java.lang.String"> |
| | | SELECT cardNum |
| | | FROM se_client_card |
| | | WHERE cardNum LIKE CONCAT(#{areaCode}, '%') |
| | | ORDER BY cardNum desc |
| | | LIMIT 0,1 |
| | | </select> |
| | | |
| | | <if test = "cardNum != null and cardNum !=''"> |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | insert into se_client_card (id, protocol, cardAddr, cardNum, clientId, |
| | | money, `state`, original_card_id, createDt, |
| | | replaceDt, rechargeDt, lossDtDt, |
| | | cancelDt, unlockDt, reversalDt, refundDt, |
| | | consumeDt, lastOper, remarks) |
| | | values (#{id,jdbcType=BIGINT}, #{protocol,jdbcType=VARCHAR}, #{cardaddr,jdbcType=VARCHAR}, |
| | | #{cardnum,jdbcType=BIGINT}, #{clientid,jdbcType=BIGINT}, |
| | | #{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}) |
| | | </insert> |
| | | <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard" |
| | | useGeneratedKeys="true"> |
| | | <!--@mbg.generated--> |
| | | insert into se_client_card |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | id, |
| | | </if> |
| | | <if test="protocol != null"> |
| | | protocol, |
| | | </if> |
| | | <if test="cardaddr != null"> |
| | | cardAddr, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | cardNum, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | clientId, |
| | | </if> |
| | | <if test="money != null"> |
| | | money, |
| | | </if> |
| | | <if test="state != null"> |
| | | `state`, |
| | | </if> |
| | | <if test="originalCardId != null"> |
| | | original_card_id, |
| | | </if> |
| | | <if test="createdt != null"> |
| | | createDt, |
| | | </if> |
| | | <if test="replacedt != null"> |
| | | replaceDt, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | rechargeDt, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | lossDtDt, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | cancelDt, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | unlockDt, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | reversalDt, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | refundDt, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | consumeDt, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | lastOper, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | remarks, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="id != null"> |
| | | #{id,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="protocol != null"> |
| | | #{protocol,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardaddr != null"> |
| | | #{cardaddr,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | #{cardnum,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | #{clientid,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="money != null"> |
| | | #{money,jdbcType=FLOAT}, |
| | | </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> |
| | | <if test="replacedt != null"> |
| | | #{replacedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | #{rechargedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | #{canceldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | #{unlockdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | #{reversaldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | #{refunddt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | #{consumedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | #{lastoper,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | #{remarks,jdbcType=VARCHAR}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | update se_client_card |
| | | <set> |
| | | <if test="protocol != null"> |
| | | protocol = #{protocol,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardaddr != null"> |
| | | cardAddr = #{cardaddr,jdbcType=VARCHAR}, |
| | | </if> |
| | | <if test="cardnum != null"> |
| | | cardNum = #{cardnum,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="clientid != null"> |
| | | clientId = #{clientid,jdbcType=BIGINT}, |
| | | </if> |
| | | <if test="money != null"> |
| | | money = #{money,jdbcType=FLOAT}, |
| | | </if> |
| | | <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> |
| | | <if test="replacedt != null"> |
| | | replaceDt = #{replacedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="rechargedt != null"> |
| | | rechargeDt = #{rechargedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lossdtdt != null"> |
| | | lossDtDt = #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="canceldt != null"> |
| | | cancelDt = #{canceldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="unlockdt != null"> |
| | | unlockDt = #{unlockdt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="reversaldt != null"> |
| | | reversalDt = #{reversaldt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="refunddt != null"> |
| | | refundDt = #{refunddt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="consumedt != null"> |
| | | consumeDt = #{consumedt,jdbcType=TIMESTAMP}, |
| | | </if> |
| | | <if test="lastoper != null"> |
| | | lastOper = #{lastoper,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="remarks != null"> |
| | | remarks = #{remarks,jdbcType=VARCHAR}, |
| | | </if> |
| | | </set> |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClientCard"> |
| | | <!--@mbg.generated--> |
| | | update se_client_card |
| | | set protocol = #{protocol,jdbcType=VARCHAR}, |
| | | cardAddr = #{cardaddr,jdbcType=VARCHAR}, |
| | | cardNum = #{cardnum,jdbcType=BIGINT}, |
| | | 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}, |
| | | lossDtDt = #{lossdtdt,jdbcType=TIMESTAMP}, |
| | | cancelDt = #{canceldt,jdbcType=TIMESTAMP}, |
| | | unlockDt = #{unlockdt,jdbcType=TIMESTAMP}, |
| | | reversalDt = #{reversaldt,jdbcType=TIMESTAMP}, |
| | | refundDt = #{refunddt,jdbcType=TIMESTAMP}, |
| | | consumeDt = #{consumedt,jdbcType=TIMESTAMP}, |
| | | lastOper = #{lastoper,jdbcType=TINYINT}, |
| | | remarks = #{remarks,jdbcType=VARCHAR} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <update id="updateMoney"> |
| | | update se_client_card |
| | | set money = #{money,jdbcType=FLOAT} |
| | | where id = #{id,jdbcType=BIGINT} |
| | | </update> |
| | | <!--根据农户主键获取水卡列表(物理卡+虚拟卡)--> |
| | | <select id="getCardInfoByClientId" resultType="com.dy.pipIrrGlobal.voSe.VoCardInfo"> |
| | | SELECT * |
| | | FROM (SELECT '物理卡' AS cardType, |
| | | card.cardNum AS cardNum, |
| | | card.money AS money, |
| | | (CASE |
| | | WHEN card.state = 1 THEN '正常' |
| | | WHEN card.state = 2 THEN '已注销' |
| | | ELSE '已挂失' |
| | | END) AS state |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON cli.id = card.clientId |
| | | WHERE state != 4 AND card.clientId = #{clientId,jdbcType=BIGINT} |
| | | UNION ALL |
| | | SELECT '虚拟卡' AS cardType, |
| | | vc.vc_num AS cardNum, |
| | | vc.money AS money, |
| | | (CASE |
| | | WHEN vc.in_use = 0 THEN '未使用' |
| | | WHEN vc.in_use = 1 THEN '使用中' |
| | | END) AS state |
| | | FROM se_virtual_card vc |
| | | INNER JOIN se_client cli ON cli.id = vc.client_id |
| | | WHERE vc.client_id = #{clientId,jdbcType=BIGINT} |
| | | ) card |
| | | ORDER BY card.Money DESC, card.State DESC |
| | | </select> |
| | | |
| | | <!--根据指定条件获取水卡列表,应用程序使用--> |
| | | <select id="getCards" 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> |
| | | <if test = "clientNum != null and clientNum !=''"> |
| | | AND cli.clientNum like CONCAT('%',#{clientNum},'%') |
| | | </if> |
| | | <!--根据水卡编号获取操作记录列表--> |
| | | <select id="getOperateRecordsByCardNum" resultType="java.util.HashMap"> |
| | | SELECT |
| | | ope.id AS orderNumber, |
| | | cli.villageId, |
| | | cli.districtTitle, |
| | | cli.clientNum, |
| | | cli.`name`, |
| | | card.cardNum, |
| | | cli.idCard, |
| | | cli.phone, |
| | | IFNULL(ope.money,0) AS money, |
| | | IFNULL(ope.gift,0) AS gift, |
| | | IFNULL(ope.card_cost,0) AS cardCost, |
| | | IFNULL((ope.money + ope.trade_amount + ope.gift),0) AS afterRecharge, |
| | | ope.payment_id AS paymentId, |
| | | pay.name AS paymentMethod, |
| | | CASE |
| | | WHEN ope.operate_type = 1 THEN '开卡' |
| | | WHEN ope.operate_type = 2 THEN '充值' |
| | | WHEN ope.operate_type = 3 THEN '销卡' |
| | | END AS operateType, |
| | | ope.operate_dt AS operateDt, |
| | | user.name AS operatorName |
| | | FROM se_card_operate ope |
| | | LEFT JOIN se_client cli ON cli.id = ope.client_id |
| | | LEFT JOIN se_client_card card ON card.id = ope.card_id |
| | | LEFT JOIN se_payment_method pay ON pay.id = ope.payment_id |
| | | LEFT JOIN ba_user user ON user.id = ope.operator |
| | | WHERE ope.operate_valid = 2 AND ope.operate_type in (1,2,3) AND cardNum = #{cardNum,jdbcType=BIGINT} |
| | | <!-- SELECT *--> |
| | | <!-- FROM v_operate--> |
| | | <!-- WHERE cardNum = #{cardNum,jdbcType=BIGINT}--> |
| | | </select> |
| | | |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | <!--根据水卡编号获取余额--> |
| | | <select id="getMoneyByCardNum" resultType="java.lang.Float"> |
| | | SELECT money |
| | | FROM se_client_card |
| | | WHERE cardNum = #{cardNum,jdbcType=BIGINT} |
| | | </select> |
| | | |
| | | <if test = "cardNum != null and cardNum !=''"> |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | </where> |
| | | 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="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,jdbcType=BIGINT} |
| | | </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 card.clientId = card2.clientId AND card2.state = 1) |
| | | </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 (CASE |
| | | WHEN state = 1 THEN '正常' |
| | | WHEN state = 2 THEN '已注销' |
| | | WHEN state = 3 THEN '已挂失' |
| | | WHEN state = 4 THEN '无效卡片' |
| | | END) AS stateName |
| | | FROM se_client_card |
| | | WHERE cardNum = #{cardNum,jdbcType=BIGINT} |
| | | </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.id) |
| | | 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="getCardsCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON card.clientId = cli.id |
| | | <where> |
| | | AND card.state = 1 |
| | | <if test="clientNum != null and clientNum != ''"> |
| | | AND cli.clientNum like CONCAT('%', #{clientNum}, '%') |
| | | </if> |
| | | |
| | | <!--判断指定水卡是否为挂失状态且无补卡记录--> |
| | | <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> |
| | | <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> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取水卡列表,应用程序使用--> |
| | | <select id="getCards" resultType="com.dy.pipIrrGlobal.voSe.VoCards"> |
| | | SELECT cli.clientNum, |
| | | cli.name AS clientName, |
| | | cardNum, |
| | | cli.phone, |
| | | cli.idCard, |
| | | card.state AS cardState, |
| | | '正常' 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> |
| | | AND card.state = 1 |
| | | <if test="clientNum != null and clientNum != ''"> |
| | | AND cli.clientNum like CONCAT('%', #{clientNum}, '%') |
| | | </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> |
| | | </where> |
| | | 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="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, |
| | | cardNum, |
| | | cli.phone, |
| | | cli.idCard, |
| | | card.state AS cardState, |
| | | '已挂失' 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.id) |
| | | 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="getLostCount" resultType="java.lang.Integer"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client_card card |
| | | <where> |
| | | AND card.state = 3 |
| | | <if test="cardNum != null and cardNum > 0"> |
| | | AND card.cardNum = #{cardNum} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定水卡编号获取已补卡数量(补卡、解锁使用)--> |
| | | <select id="getReplacedCount" 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.id |
| | | <where> |
| | | <if test="cardNum != null and cardNum > 0"> |
| | | AND card.cardNum = #{cardNum} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <!--根据农户姓名和手机号获取水卡列表记录数,应用程序使用--> |
| | | <select id="getCardsByClientNameAndPhoneCount" 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 = 1 |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND cli.name like CONCAT('%', #{clientName}, '%') |
| | | </if> |
| | | |
| | | <if test="phone != null and phone != ''"> |
| | | AND cli.phone like CONCAT('%', #{phone}, '%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <!--根据农户姓名和手机号获取水卡列表,应用程序使用--> |
| | | <select id="getCardsByClientNameAndPhone" resultType="com.dy.pipIrrGlobal.voSe.VoCards2"> |
| | | SELECT card.id AS clientCardId, |
| | | cli.id AS clientId, |
| | | 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 |
| | | LEFT JOIN se_client cli ON card.clientId = cli.id |
| | | <where> |
| | | card.state = 1 |
| | | <if test="clientName != null and clientName != ''"> |
| | | AND cli.name like CONCAT('%', #{clientName}, '%') |
| | | </if> |
| | | |
| | | <if test="phone != null and phone != ''"> |
| | | AND cli.phone like CONCAT('%', #{phone}, '%') |
| | | </if> |
| | | </where> |
| | | 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> |
| | | <!--根据农户ID查询正常状态的水卡列表,小程序使用--> |
| | | <select id="getCardsByClientID" resultType="com.dy.pipIrrGlobal.voWe.VoCards3"> |
| | | SELECT card.id AS clientCardId, |
| | | cli.id AS clientId, |
| | | 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 = 1 |
| | | AND cli.id like CONCAT('%', #{clientId}, '%') |
| | | |
| | | |
| | | ORDER BY card.id |
| | | </select> |
| | | <!--当前余额总量(物理卡)--> |
| | | <select id="getTotalMoneyIcCards" resultType="java.lang.Double"> |
| | | SELECT IFNULL(SUM(money), 0) AS totalMoney |
| | | FROM `se_client_card` |
| | | WHERE state = 1 |
| | | </select> |
| | | |
| | | <!--根据水卡地址获取水卡数量,无效卡片排除在外--> |
| | | <select id="getCountByCardAddr" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client_card |
| | | WHERE cardAddr = #{cardAddr} AND se_client_card.state != 4 |
| | | </select> |
| | | |
| | | <!--根据水卡地址获取指定状态的水卡数量--> |
| | | <select id="getCountByCardAddrAndState" resultType="java.lang.Long"> |
| | | SELECT COUNT(*) AS recordCount |
| | | FROM se_client_card |
| | | WHERE cardAddr = #{cardAddr} |
| | | AND state IN (1, 3) |
| | | </select> |
| | | |
| | | <!--获取指定时间段水卡使用情况记录数量--> |
| | | <select id="getCardUsagesCount" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage"> |
| | | SELECT |
| | | cli.name AS clientName, |
| | | card.cardNum, |
| | | (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.cardId = card.id AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge, |
| | | (SELECT ROUND(SUM(his.cl_this_money),2) FROM rm_open_close_valve_history his WHERE his.cl_ic_card_no = card.cardNum AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption, |
| | | ROUND(card.money,2) AS balance |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON cli.id = card.clientId |
| | | INNER JOIN se_recharge_history rch ON rch.cardId = card.id |
| | | <where> |
| | | <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="clientNum != null and clientNum != ''"> |
| | | AND cli.clientNum like CONCAT('%', #{clientNum}, '%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--获取指定时间段水卡使用情况:充值合计、消费合计、余额--> |
| | | <select id="getCardUsages" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage"> |
| | | SELECT |
| | | cli.name AS clientName, |
| | | card.cardNum, |
| | | (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.cardId = card.id AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge, |
| | | (SELECT ROUND(SUM(his.cl_this_money),2) FROM rm_open_close_valve_history his WHERE his.cl_ic_card_no = card.cardNum AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption, |
| | | ROUND(card.money,2) AS balance |
| | | FROM se_client_card card |
| | | INNER JOIN se_client cli ON cli.id = card.clientId |
| | | INNER JOIN se_recharge_history rch ON rch.cardId = card.id |
| | | <where> |
| | | <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="clientNum != null and clientNum != ''"> |
| | | AND cli.clientNum like CONCAT('%', #{clientNum}, '%') |
| | | </if> |
| | | </where> |
| | | ORDER BY cli.name, card.cardNum |
| | | <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="getTotalRecharge" resultType="java.lang.Float"> |
| | | SELECT ROUND(SUM(amount),2) AS totalRecharge |
| | | FROM se_recharge_history |
| | | WHERE operateDt BETWEEN #{timeStart} AND #{timeStop} |
| | | </select> |
| | | |
| | | <!--获取指定时间段内水卡消费总计--> |
| | | <select id="getTotalConsumption" resultType="java.lang.Float"> |
| | | SELECT ROUND(SUM(cl_this_money),2) AS totalConsumption |
| | | FROM rm_open_close_valve_history |
| | | WHERE cl_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </select> |
| | | |
| | | <!--依据水卡地址将最后一条无效状态的指定操作记录改为有效--> |
| | | <update id="turnCardValidByAddr"> |
| | | UPDATE se_client_card |
| | | SET state = 1 |
| | | WHERE id = ( |
| | | SELECT id FROM ( |
| | | SELECT id |
| | | FROM se_client_card |
| | | WHERE state = 4 AND cardAddr = #{cardAddr} AND lastOper = #{operateType} |
| | | ORDER BY id DESC |
| | | LIMIT 1) AS subquery |
| | | ); |
| | | </update> |
| | | |
| | | <!--根据水卡ID获取原水卡ID,补卡通知中使用--> |
| | | <select id="getOriginalCardIdByCardId" resultType="java.lang.Long"> |
| | | SELECT original_card_id AS originalCardId FROM se_client_card WHERE id = #{cardId}; |
| | | </select> |
| | | </mapper> |