| | |
| | | <result column="price" jdbcType="FLOAT" property="price" /> |
| | | <result column="card_cost" jdbcType="INTEGER" property="cardCost" /> |
| | | <result column="gift" jdbcType="FLOAT" property="gift" /> |
| | | <result column="refund_amount" jdbcType="FLOAT" property="refundAmount" /> |
| | | <result column="no_trade_amount" jdbcType="FLOAT" property="noTradeAmount" /> |
| | | <result column="operate_type_id" jdbcType="BIGINT" property="operateType" /> |
| | | <result column="operate_type" jdbcType="TINYINT" property="operateType" /> |
| | | <result column="payment_id" jdbcType="BIGINT" property="paymentId" /> |
| | | <result column="remarks" jdbcType="VARCHAR" property="remarks" /> |
| | | <result column="operator" jdbcType="BIGINT" property="operator" /> |
| | |
| | | <sql id="Base_Column_List"> |
| | | <!--@mbg.generated--> |
| | | id, card_id, client_id, money, system_balance, trade_amount, price, card_cost, gift, |
| | | no_trade_amount, operate_type_id, payment_id, remarks, `operator`, operate_dt |
| | | refund_amount, no_trade_amount, operate_type, payment_id, remarks, `operator`, operate_dt |
| | | </sql> |
| | | <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> |
| | | <!--@mbg.generated--> |
| | |
| | | insert into se_card_operate (id, card_id, client_id, |
| | | money, system_balance, trade_amount, |
| | | price, card_cost, gift, |
| | | no_trade_amount, operate_type, payment_id, |
| | | remarks, `operator`, operate_dt |
| | | ) |
| | | refund_amount, no_trade_amount, operate_type, |
| | | payment_id, remarks, `operator`, |
| | | operate_dt) |
| | | values (#{id,jdbcType=BIGINT}, #{cardId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, |
| | | #{money,jdbcType=FLOAT}, #{systemBalance,jdbcType=FLOAT}, #{tradeAmount,jdbcType=FLOAT}, |
| | | #{price,jdbcType=FLOAT}, #{cardCost,jdbcType=INTEGER}, #{gift,jdbcType=FLOAT}, |
| | | #{noTradeAmount,jdbcType=FLOAT}, #{operateType,jdbcType=BIGINT}, #{paymentId,jdbcType=BIGINT}, |
| | | #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP} |
| | | ) |
| | | #{refundAmount,jdbcType=FLOAT}, #{noTradeAmount,jdbcType=FLOAT}, #{operateType,jdbcType=TINYINT}, |
| | | #{paymentId,jdbcType=BIGINT}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, |
| | | #{operateDt,jdbcType=TIMESTAMP}) |
| | | </insert> |
| | | <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeCardOperate"> |
| | | <!--@mbg.generated--> |
| | |
| | | <if test="gift != null"> |
| | | gift, |
| | | </if> |
| | | <if test="refundAmount != null"> |
| | | refund_amount, |
| | | </if> |
| | | <if test="noTradeAmount != null"> |
| | | no_trade_amount, |
| | | </if> |
| | | <if test="operateType != null"> |
| | | operate_type_id, |
| | | operate_type, |
| | | </if> |
| | | <if test="paymentId != null"> |
| | | payment_id, |
| | |
| | | <if test="gift != null"> |
| | | #{gift,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="refundAmount != null"> |
| | | #{refundAmount,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="noTradeAmount != null"> |
| | | #{noTradeAmount,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="operateType != null"> |
| | | #{operateType,jdbcType=BIGINT}, |
| | | #{operateType,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="paymentId != null"> |
| | | #{paymentId,jdbcType=BIGINT}, |
| | |
| | | <if test="gift != null"> |
| | | gift = #{gift,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="refundAmount != null"> |
| | | refund_amount = #{refundAmount,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="noTradeAmount != null"> |
| | | no_trade_amount = #{noTradeAmount,jdbcType=FLOAT}, |
| | | </if> |
| | | <if test="operateType != null"> |
| | | operate_type_id = #{operateType,jdbcType=BIGINT}, |
| | | operate_type = #{operateType,jdbcType=TINYINT}, |
| | | </if> |
| | | <if test="paymentId != null"> |
| | | payment_id = #{paymentId,jdbcType=BIGINT}, |
| | |
| | | price = #{price,jdbcType=FLOAT}, |
| | | card_cost = #{cardCost,jdbcType=INTEGER}, |
| | | gift = #{gift,jdbcType=FLOAT}, |
| | | refund_amount = #{refundAmount,jdbcType=FLOAT}, |
| | | no_trade_amount = #{noTradeAmount,jdbcType=FLOAT}, |
| | | operate_type_id = #{operateType,jdbcType=BIGINT}, |
| | | operate_type = #{operateType,jdbcType=TINYINT}, |
| | | payment_id = #{paymentId,jdbcType=BIGINT}, |
| | | remarks = #{remarks,jdbcType=VARCHAR}, |
| | | `operator` = #{operator,jdbcType=BIGINT}, |
| | |
| | | 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 |
| | | 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 ba_user us ON ope.operator = us.id |
| | | Left JOIN se_payment_method pay ON ope.payment_id = pay.id |
| | | <where> |
| | | AND ope.operate_type = 2 |
| | | AND ope.operate_type in(1, 2, 5) |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | |
| | | <if test = "paymentId != null and paymentId > 0"> |
| | | AND ope.payment_id = ${paymentId} |
| | | </if> |
| | | <!-- <if test = "paymentId != null and paymentId > 0">--> |
| | | <!-- AND ope.payment_id = ${paymentId}--> |
| | | <!-- </if>--> |
| | | |
| | | <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} |
| | | </if> |
| | | <!-- <if test = "rechargeTimeStart != null and rechargeTimeStop != null">--> |
| | | <!-- AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}--> |
| | | <!-- </if>--> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取充值记录--> |
| | | <select id="getRecharges" resultType="com.dy.pipIrrGlobal.voSe.VoRecharge"> |
| | | SELECT |
| | | CAST(ope.id AS char) AS id , |
| | | cli.name AS clientName, |
| | | cli.clientNum, |
| | | card.cardNum, |
| | | ope.trade_amount AS amount, |
| | | (ope.money + ope.trade_amount) AS afterRecharge, |
| | | ope.payment_id, |
| | | ope.price, |
| | | (SELECT `name` FROM ba_user WHERE id = ope.operator) AS operator, |
| | | ope.operate_dt |
| | | ope.id AS opeId, |
| | | card.id AS cardId, |
| | | cli.name AS clientName, |
| | | cli.phone, |
| | | cli.idCard, |
| | | cli.clientNum, |
| | | cli.address, |
| | | card.money, |
| | | cardNum, |
| | | <!-- CASE--> |
| | | <!-- WHEN card.cardNum LIKE '10%' THEN CONCAT(SUBSTRING(card.cardNum, 7, 6),SUBSTRING(card.cardNum, 14, 4))--> |
| | | <!-- ELSE card.cardNum--> |
| | | <!-- END AS cardNum,--> |
| | | IFNULL(ope.card_cost,0) AS cardCost, |
| | | IFNULL(ope.trade_amount, 0) AS amount, |
| | | IFNULL(ope.refund_amount, 0) AS refundAmount, |
| | | (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0)) AS afterRecharge, |
| | | pay.name AS paymentName, |
| | | ope.price, |
| | | us.name AS opr, |
| | | (CASE |
| | | WHEN ope.operate_type = 1 THEN '开卡' |
| | | WHEN ope.operate_type = 2 THEN '充值' |
| | | WHEN ope.operate_type = 5 THEN '返还' |
| | | END) AS operateType, |
| | | ope.operate_dt |
| | | 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 |
| | | INNER JOIN ba_user us ON ope.operator = us.id |
| | | Left JOIN se_payment_method pay ON ope.payment_id = pay.id |
| | | <where> |
| | | AND ope.operate_type = 2 |
| | | AND ope.operate_type in(1, 2, 5) |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | |
| | | <if test = "paymentId != null and paymentId > 0"> |
| | | AND ope.payment_id = ${paymentId} |
| | | </if> |
| | | <!-- <if test = "paymentId != null and paymentId > 0">--> |
| | | <!-- AND ope.payment_id = ${paymentId}--> |
| | | <!-- </if>--> |
| | | |
| | | <if test = "rechargeTimeStart != null and rechargeTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop} |
| | | </if> |
| | | <!-- <if test = "rechargeTimeStart != null and rechargeTimeStop != null">--> |
| | | <!-- AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}--> |
| | | <!-- </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="getTransactionRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | SELECT |
| | | COUNT(*) AS recordCount |
| | | FROM se_card_operate ope |
| | | 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 ba_user user ON ope.operator = user.id |
| | | INNER JOIN se_payment_method pay ON ope.payment_id = pay.id |
| | | FROM v_trade_details |
| | | <where> |
| | | AND ope.operate_type IN(1,2,3,4) |
| | | <if test = "villageId != null and villageId > 0"> |
| | | AND cli.villageId = ${villageId} |
| | | </if> |
| | | |
| | | <if test = "cardNum != null and cardNum >0"> |
| | | AND card.cardNum = ${cardNum} |
| | | AND villageId = #{villageId} |
| | | </if> |
| | | |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | AND tradeTime BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | </if> |
| | | |
| | | <if test = "cashierId != null and cashierId > 0"> |
| | | AND cashierId = #{cashierId} |
| | | </if> |
| | | |
| | | <if test = "tradeTime != null"> |
| | | AND tradeTime = #{tradeTime} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取交易记录--> |
| | | <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTransaction"> |
| | | SELECT |
| | | ope.id AS orderNumber, |
| | | cli.villageId, |
| | | cli.districtTitle, |
| | | cli.clientNum, |
| | | cli.`name`, |
| | | card.cardNum, |
| | | cli.idCard, |
| | | cli.phone, |
| | | (CASE operate_type |
| | | WHEN 1 THEN '开卡' |
| | | WHEN 2 THEN '充值' |
| | | WHEN 3 THEN '销卡' |
| | | WHEN 4 THEN '补卡' |
| | | END) AS operateType, |
| | | ope.operate_dt AS operateTime, |
| | | IFNULL(ope.money, 0) AS money, |
| | | IFNULL(ope.trade_amount, 0) AS waterCost, |
| | | IFNULL(ope.gift, 0) AS gift, |
| | | IFNULL(ope.card_cost, 0) AS cardCost, |
| | | pay.`name` paymentMethod, |
| | | user.name AS operatorName |
| | | FROM se_card_operate ope |
| | | 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 ba_user user ON ope.operator = user.id |
| | | INNER JOIN se_payment_method pay ON ope.payment_id = pay.id |
| | | <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTradeDetails"> |
| | | SELECT * FROM v_trade_details |
| | | <where> |
| | | AND ope.operate_type IN(1,2,3,4) |
| | | <if test = "villageId != null and villageId > 0"> |
| | | AND cli.villageId = ${villageId} |
| | | </if> |
| | | |
| | | <if test = "cardNum != null and cardNum >0"> |
| | | AND card.cardNum = ${cardNum} |
| | | AND villageId = #{villageId} |
| | | </if> |
| | | |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | AND tradeTime BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | </if> |
| | | |
| | | <if test = "cashierId != null and cashierId > 0"> |
| | | AND cashierId = #{cashierId} |
| | | </if> |
| | | </where> |
| | | ORDER BY ope.operate_dt |
| | | ORDER BY tradeTime |
| | | <if test="pageCurr != null and pageSize != null"> |
| | | LIMIT ${pageCurr}, ${pageSize} |
| | | LIMIT #{pageCurr}, #{pageSize} |
| | | </if> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取购水汇总和购卡汇总,获取交易明细使用--> |
| | | <select id="getTransactionSums" resultType="java.util.Map"> |
| | | SELECT |
| | | IFNULL(SUM(trade_amount),0) AS waterCost, |
| | | IFNULL(SUM(card_cost),0) AS cardCost |
| | | <!--根据指定条件获取开卡记录数量--> |
| | | <select id="getActiveCardRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | COUNT(*) AS recordCount |
| | | FROM se_card_operate ope |
| | | 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 ba_user user ON ope.operator = user.id |
| | | INNER JOIN se_payment_method pay ON ope.payment_id = pay.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 IN(1,2,3,4) |
| | | <if test = "villageId != null and villageId > 0"> |
| | | AND cli.villageId = ${villageId} |
| | | AND ope.operate_type = 1 |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "cardNum != null and cardNum >0"> |
| | | AND card.cardNum = ${cardNum} |
| | | <if test = "cardNum != null and cardNum !=''"> |
| | | AND card.cardNum like CONCAT('%',#{cardNum},'%') |
| | | </if> |
| | | |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | <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="getTransactionStatisticsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | <!--根据指定条件获取开卡记录--> |
| | | <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCard"> |
| | | 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 |
| | | <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> |
| | | |
| | | <!--根据指定条件获取通用操作记录数量--> |
| | | <select id="getCommonOperationRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | select |
| | | COUNT(*) AS recordCount |
| | | FROM v_transactionstatistics |
| | | <where> |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取交易统计记录--> |
| | | <select id="getTransactionStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> |
| | | SELECT * FROM v_transactionstatistics |
| | | <where> |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | </if> |
| | | </where> |
| | | ORDER BY tradeDate |
| | | <if test="pageCurr != null and pageSize != null"> |
| | | LIMIT ${pageCurr}, ${pageSize} |
| | | </if> |
| | | </select> |
| | | |
| | | <!--根基指定条件获取笔数合计、实收金额合计、赠送金额合计--> |
| | | <select id="getTransactionStatisticsSums" resultType="java.util.Map"> |
| | | SELECT |
| | | SUM(count) AS totalCount, |
| | | SUM(received) AS totalReceived, |
| | | SUM(gift) AS totalGift |
| | | FROM v_transactionstatistics |
| | | <where> |
| | | <if test = "operateTimeStart != null and operateTimeStop != null"> |
| | | AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--获取指定日期、指定支付方式实收金额合计--> |
| | | <select id="getPaymentSums" resultType="java.lang.Float"> |
| | | SELECT |
| | | SUM(ope.trade_amount) AS tradeAmount |
| | | FROM se_card_operate ope |
| | | 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 ba_user us ON ope.operator = us.id |
| | | <where> |
| | | <if test = "tradeDate != null and tradeDate !=''"> |
| | | AND Date(ope.operate_dt) = #{tradeDate} |
| | | <if test = "operateType != null and operateType > 0"> |
| | | AND ope.operate_type = #{operateType} |
| | | </if> |
| | | |
| | | <if test = "paymentId != null and paymentId >0"> |
| | | AND ope.payment_id = ${paymentId} |
| | | <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 = "timeStart != null and timeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | GROUP BY ope.payment_id, Date(ope.operate_dt) |
| | | </select> |
| | | |
| | | <!--根据指定条件获取通用操作记录--> |
| | | <select id="getCommonOperations" resultType="com.dy.pipIrrGlobal.voSe.VoOperate"> |
| | | SELECT |
| | | cli.name AS clientName, |
| | | cli.clientNum, |
| | | CAST(card.cardNum AS char) AS cardNum, |
| | | us.name AS operator, |
| | | ope.operate_dt AS operateDt, |
| | | IFNULL(ope.trade_amount,0) AS refund, |
| | | (CASE |
| | | WHEN ope.payment_id = 1 THEN '现金' |
| | | END) AS refundTypeName, |
| | | card.money, |
| | | IFNULL(ope.system_balance,0) AS systemBalance |
| | | FROM se_card_operate ope |
| | | 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 ba_user us ON ope.operator = us.id |
| | | <where> |
| | | <if test = "operateType != null and operateType > 0"> |
| | | AND ope.operate_type = #{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 = "timeStart != null and timeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </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> |
| | | |
| | | <!--根据指定条件获取收据列表数--> |
| | | <select id="getReceiptsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> |
| | | SELECT |
| | | COUNT(*) AS recordCount |
| | | FROM se_card_operate ope |
| | | 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_payment_method pay ON ope.payment_id = pay.id |
| | | INNER JOIN ba_user us ON ope.operator = us.id |
| | | INNER JOIN ba_district vil ON cli.villageId = vil.id |
| | | INNER JOIN ba_district tow ON cli.townId = tow.id |
| | | <where> |
| | | AND ope.operate_type IN(1,2) |
| | | <if test = "operateId != null and operateId > 0"> |
| | | AND ope.id = #{operateId} |
| | | </if> |
| | | |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "timeStart != null and timeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据指定条件获取收据列表--> |
| | | <select id="getReceipts" resultType="com.dy.pipIrrGlobal.voSe.VoReceipt"> |
| | | SELECT |
| | | CAST(ope.id AS char) AS orderNumber, |
| | | tow.name AS townName, |
| | | vil.name AS villageName, |
| | | cli.`name`, |
| | | cli.phone, |
| | | CAST(cli.clientNum AS char) AS clientNum, |
| | | CAST(card.cardNum AS char) AS cardNum, |
| | | (CASE |
| | | WHEN ope.operate_type = 1 THEN '开卡' |
| | | WHEN ope.operate_type = 2 THEN '充值' |
| | | END) AS operateType, |
| | | IFNULL(ope.trade_amount,0) AS waterCost, |
| | | IFNULL(ope.card_cost,0) AS cardCost, |
| | | (IFNULL(ope.trade_amount,0) + IFNULL(ope.card_cost,0)) AS amount, |
| | | card.money, |
| | | pay.`name` AS paymentName, |
| | | us.`name` AS operatorName, |
| | | ope.operate_dt AS operateTime, |
| | | NOW() AS currentTime |
| | | FROM se_card_operate ope |
| | | 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_payment_method pay ON ope.payment_id = pay.id |
| | | INNER JOIN ba_user us ON ope.operator = us.id |
| | | INNER JOIN ba_district vil ON cli.villageId = vil.id |
| | | INNER JOIN ba_district tow ON cli.townId = tow.id |
| | | <where> |
| | | AND ope.operate_type IN(1,2) |
| | | <if test = "operateId != null and operateId > 0"> |
| | | AND ope.id = #{operateId} |
| | | </if> |
| | | |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "timeStart != null and timeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </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> |
| | | |
| | | <!--根据指定条件获取收据收费金额合计--> |
| | | <select id="getTotalAmount" parameterType="java.util.Map" resultType="java.lang.Double"> |
| | | SELECT |
| | | SUM(IFNULL(ope.trade_amount,0) + IFNULL(ope.card_cost,0)) AS totalAmount |
| | | FROM se_card_operate ope |
| | | 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_payment_method pay ON ope.payment_id = pay.id |
| | | INNER JOIN ba_user us ON ope.operator = us.id |
| | | INNER JOIN ba_district vil ON cli.villageId = vil.id |
| | | INNER JOIN ba_district tow ON cli.townId = tow.id |
| | | <where> |
| | | AND ope.operate_type IN(1,2) |
| | | <if test = "operateId != null and operateId > 0"> |
| | | AND ope.id = #{operateId} |
| | | </if> |
| | | |
| | | <if test = "clientName != null and clientName !=''"> |
| | | AND cli.name like CONCAT('%',#{clientName},'%') |
| | | </if> |
| | | |
| | | <if test = "timeStart != null and timeStop != null"> |
| | | AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--根据水卡编号获取其挂失时退款金额(补卡时判断使用)--> |
| | | <select id="getTradeAmountByCardNo" resultType="java.lang.Double"> |
| | | SELECT |
| | | ope.trade_amount AS tradeAmount |
| | | FROM se_client_card card |
| | | INNER JOIN se_card_operate ope ON ope.card_id = card.id |
| | | <where> |
| | | AND ope.operate_type = 6 |
| | | AND card.cardNum = #{cardNum} |
| | | </where> |
| | | ORDER BY ope.operate_dt DESC |
| | | LIMIT 0,1 |
| | | </select> |
| | | <!--指定时间段内开卡总数量(物理卡)--> |
| | | <select id="getOpenCountIcCardsCount" resultType="java.lang.Long"> |
| | | SELECT |
| | | count(*) |
| | | FROM |
| | | `se_card_operate` |
| | | WHERE |
| | | operate_dt BETWEEN #{timeStart} AND #{timeStop} AND operate_type = 1 |
| | | </select> |
| | | <!--指定时间段内挂失总数量(物理卡)--> |
| | | <select id="getLossCountIcCardsCount" resultType="java.lang.Long"> |
| | | SELECT |
| | | count(*) |
| | | FROM |
| | | `se_card_operate` |
| | | WHERE |
| | | operate_dt BETWEEN #{timeStart} AND #{timeStop} AND operate_type = 6 |
| | | </select> |
| | | <!--指定时间段内充值总数量(物理卡)--> |
| | | <select id="getRechargeCountIcCardsCount" resultType="java.lang.Long"> |
| | | SELECT |
| | | count(*) |
| | | FROM |
| | | `se_card_operate` |
| | | WHERE |
| | | operate_dt BETWEEN #{timeStart} AND #{timeStop} AND operate_type = 2 |
| | | </select> |
| | | <!--指定时间段内开物理卡农户数量--> |
| | | <select id="getOpenIcCardClientsCount" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from |
| | | ( |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | COUNT(sc.id) AS openCardCount |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 1 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id) c |
| | | </select> |
| | | <!--指定时间段内开物理卡农户--> |
| | | <select id="getOpenIcCardClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount"> |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | COUNT(sc.id) AS openCardCount |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 1 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id |
| | | ORDER BY sc.id DESC |
| | | <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="getRechargeTotalClientsCount" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from |
| | | ( |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id) c |
| | | </select> |
| | | <!--指定时间段内每个农户充值合计--> |
| | | <select id="getRechargeTotalClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal"> |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id |
| | | ORDER BY sc.id DESC |
| | | <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="getRechargeTotalGtValueClientsCount" resultType="java.lang.Long"> |
| | | select |
| | | count(*) |
| | | from |
| | | ( |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id |
| | | HAVING IFNULL(SUM(sco.trade_amount),0) > #{value}) c |
| | | </select> |
| | | <!--指定时间段内物理卡充值金额超过指定值的农户--> |
| | | <select id="getRechargeTotalGtValueClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal"> |
| | | SELECT |
| | | sco.client_id AS clientId, |
| | | sc.`name` AS clientName, |
| | | sc.clientNum AS clientNum, |
| | | sc.address AS address, |
| | | sc.phone AS phone, |
| | | sc.idCard AS idCard, |
| | | IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal |
| | | FROM |
| | | `se_card_operate` sco |
| | | INNER JOIN se_client sc ON sc.id = sco.client_id |
| | | WHERE |
| | | sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0 |
| | | GROUP BY sc.id |
| | | HAVING IFNULL(SUM(sco.trade_amount),0) > #{value} |
| | | ORDER BY sc.id 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> |