|  |  | 
 |  |  |     <result column="cashier_name" jdbcType="VARCHAR" property="cashierName" /> | 
 |  |  |     <result column="trade_amount" jdbcType="FLOAT" property="tradeAmount" /> | 
 |  |  |     <result column="gift" jdbcType="FLOAT" property="gift" /> | 
 |  |  |     <result column="total_amount" jdbcType="FLOAT" property="totalAmount" /> | 
 |  |  |     <result column="refund_amount" jdbcType="FLOAT" property="refundAmount" /> | 
 |  |  |     <result column="operate_date" jdbcType="TIMESTAMP" property="operateDate" /> | 
 |  |  |     <result column="audit_status" jdbcType="TINYINT" property="auditStatus" /> | 
 |  |  |   </resultMap> | 
 |  |  |   <sql id="Base_Column_List"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     id, cashier_id, cashier_name, trade_amount, gift, total_amount, operate_date, audit_status | 
 |  |  |     id, cashier_id, cashier_name, trade_amount, gift, refund_amount, operate_date, audit_status | 
 |  |  |   </sql> | 
 |  |  |   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  | 
 |  |  |   <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeGeneral"> | 
 |  |  |     <!--@mbg.generated--> | 
 |  |  |     insert into se_general (id, cashier_id, cashier_name,  | 
 |  |  |       trade_amount, gift, total_amount,  | 
 |  |  |       trade_amount, gift, refund_amount, | 
 |  |  |       operate_date, audit_status) | 
 |  |  |     values (#{id,jdbcType=BIGINT}, #{cashierId,jdbcType=BIGINT}, #{cashierName,jdbcType=VARCHAR},  | 
 |  |  |       #{tradeAmount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT},  | 
 |  |  |       #{tradeAmount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{refundAmount,jdbcType=FLOAT}, | 
 |  |  |       #{operateDate,jdbcType=TIMESTAMP}, #{auditStatus,jdbcType=TINYINT}) | 
 |  |  |   </insert> | 
 |  |  |   <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeGeneral"> | 
 |  |  | 
 |  |  |       <if test="gift != null"> | 
 |  |  |         gift, | 
 |  |  |       </if> | 
 |  |  |       <if test="totalAmount != null"> | 
 |  |  |         total_amount, | 
 |  |  |       <if test="refundAmount != null"> | 
 |  |  |         refund_amount, | 
 |  |  |       </if> | 
 |  |  |       <if test="operateDate != null"> | 
 |  |  |         operate_date, | 
 |  |  | 
 |  |  |       <if test="gift != null"> | 
 |  |  |         #{gift,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="totalAmount != null"> | 
 |  |  |         #{totalAmount,jdbcType=FLOAT}, | 
 |  |  |       <if test="refundAmount != null"> | 
 |  |  |         #{refundAmount,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operateDate != null"> | 
 |  |  |         #{operateDate,jdbcType=TIMESTAMP}, | 
 |  |  | 
 |  |  |       <if test="gift != null"> | 
 |  |  |         gift = #{gift,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="totalAmount != null"> | 
 |  |  |         total_amount = #{totalAmount,jdbcType=FLOAT}, | 
 |  |  |       <if test="refundAmount != null"> | 
 |  |  |         refund_amount = #{refundAmount,jdbcType=FLOAT}, | 
 |  |  |       </if> | 
 |  |  |       <if test="operateDate != null"> | 
 |  |  |         operate_date = #{operateDate,jdbcType=TIMESTAMP}, | 
 |  |  | 
 |  |  |       cashier_name = #{cashierName,jdbcType=VARCHAR}, | 
 |  |  |       trade_amount = #{tradeAmount,jdbcType=FLOAT}, | 
 |  |  |       gift = #{gift,jdbcType=FLOAT}, | 
 |  |  |       total_amount = #{totalAmount,jdbcType=FLOAT}, | 
 |  |  |       refund_amount = #{refundAmount,jdbcType=FLOAT}, | 
 |  |  |       operate_date = #{operateDate,jdbcType=TIMESTAMP}, | 
 |  |  |       audit_status = #{auditStatus,jdbcType=TINYINT} | 
 |  |  |     where id = #{id,jdbcType=BIGINT} | 
 |  |  | 
 |  |  |     SELECT | 
 |  |  |         us.id AS cashierId, | 
 |  |  |         us.`name` AS cashierName, | 
 |  |  |         IFNULL(SUM(ope.trade_amount),0) AS tradeAmount, | 
 |  |  |         (IFNULL(SUM(ope.trade_amount),0) + IFNULL(SUM(ope.card_cost),0)) AS tradeAmount, | 
 |  |  |         IFNULL(SUM(ope.gift),0) AS gift, | 
 |  |  |         IFNULL((SUM(ope.trade_amount) + SUM(ope.gift)),0) AS totalAmount, | 
 |  |  |         IFNULL(SUM(ope.refund_amount),0) AS refundAmount, | 
 |  |  |         Date(ope.operate_dt) AS operateDate, | 
 |  |  |         1 AS auditStatus | 
 |  |  |     FROM se_card_operate ope | 
 |  |  |         INNER JOIN ba_user us ON ope.operator = us.id | 
 |  |  |     WHERE Date(ope.operate_dt) = #{operateDate} | 
 |  |  |     GROUP BY ope.operator, Date(ope.operate_dt) | 
 |  |  |  | 
 |  |  |     UNION ALL | 
 |  |  |  | 
 |  |  |     SELECT | 
 |  |  |         1000000 AS cashierId, | 
 |  |  |         '微信' AS cashierName, | 
 |  |  |         IFNULL(SUM(amount), 0) AS tradeAmount, | 
 |  |  |         0 AS gift, | 
 |  |  |         0 AS refundAmount, | 
 |  |  |         Date(recharge_time) AS operateDate, | 
 |  |  |         1 AS auditStatus | 
 |  |  |     FROM se_wallet_recharge | 
 |  |  |     WHERE Date(recharge_time) = #{operateDate} | 
 |  |  |     GROUP BY Date(recharge_time) | 
 |  |  |  | 
 |  |  |     UNION ALL | 
 |  |  |  | 
 |  |  |     SELECT | 
 |  |  |         1000000 AS cashierId, | 
 |  |  |         '微信' AS cashierName, | 
 |  |  |         IFNULL(-SUM(refund_amount), 0) AS tradeAmount, | 
 |  |  |         0 AS gift, | 
 |  |  |         0 AS refundAmount, | 
 |  |  |         Date(audit_time) AS operateDate, | 
 |  |  |         1 AS auditStatus | 
 |  |  |     FROM se_refund | 
 |  |  |     WHERE Date(audit_time) = #{operateDate} | 
 |  |  |     GROUP BY Date(audit_time) | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据指定条件获取总账记录数--> | 
 |  |  | 
 |  |  |         cashier_name AS cashierName, | 
 |  |  |         trade_amount AS tradeAmount, | 
 |  |  |         gift, | 
 |  |  |         total_amount AS totalAmount, | 
 |  |  |         refund_amount AS refundAmount, | 
 |  |  |         Date(operate_date) AS operateDate, | 
 |  |  |         (CASE | 
 |  |  |           WHEN audit_status = 1 THEN "未审核" | 
 |  |  | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY Date(operate_date) 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> | 
 |  |  |  | 
 |  |  |   <!--获取指定日期、指定收银员、指定支付方式实收金额合计--> | 
 |  |  | 
 |  |  |     GROUP BY ope.payment_id,  Date(ope.operate_dt) | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根基指定日期、指定收银员获取笔数合计、实收金额合计、赠送金额合计--> | 
 |  |  |   <select id="getTransactionStatisticsSums" resultType="java.util.Map"> | 
 |  |  |     SELECT | 
 |  |  |       SUM(count) AS totalCount, | 
 |  |  |       SUM(received) AS totalReceived, | 
 |  |  |       SUM(gift) AS totalGift | 
 |  |  |     FROM v_transactionstatistics2 | 
 |  |  |     <where> | 
 |  |  |       <if test = "tradeDate != null and tradeDate !=''"> | 
 |  |  |         AND tradeDate = #{tradeDate} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "cashierId != null and cashierId >0"> | 
 |  |  |         AND cashierId = ${cashierId} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--  财务对账审核页,收银员+日期分组,排除交易类型分组,记录数--> | 
 |  |  |   <select id="getToAuditRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
 |  |  |     SELECT | 
 |  |  |     COUNT(*) AS recordCount | 
 |  |  |     FROM v_transactionstatistics2 | 
 |  |  | <!--  <select id="getToAuditRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">--> | 
 |  |  | <!--    SELECT--> | 
 |  |  | <!--    COUNT(*) AS recordCount--> | 
 |  |  | <!--    FROM v_trade_summary--> | 
 |  |  | <!--    <where>--> | 
 |  |  | <!--      <if test = "cashierId != null and cashierId > 0">--> | 
 |  |  | <!--        AND cashierId = ${cashierId}--> | 
 |  |  | <!--      </if>--> | 
 |  |  |  | 
 |  |  | <!--      <if test = "tradeDate != null">--> | 
 |  |  | <!--        AND tradeDate = #{tradeDate}--> | 
 |  |  | <!--      </if>--> | 
 |  |  | <!--    </where>--> | 
 |  |  | <!--  </select>--> | 
 |  |  |  | 
 |  |  |   <!--开卡系统交易统计,收银员+日期+类型分组--> | 
 |  |  |   <select id="getSummaries" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> | 
 |  |  |     SELECT * FROM v_trade_summary | 
 |  |  |     <where> | 
 |  |  |       <if test = "cashierId != null and cashierId > 0"> | 
 |  |  |         AND cashierId = ${cashierId} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "tradeDate != null"> | 
 |  |  |         AND tradeDate = #{tradeDate} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--财务对账审核页,收银员+日期分组,排除交易类型分组--> | 
 |  |  |   <select id="getToAudit" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> | 
 |  |  |     SELECT * FROM v_transactionstatistics2 | 
 |  |  |     <where> | 
 |  |  |       <if test = "cashierId != null and cashierId > 0"> | 
 |  |  |         AND cashierId = ${cashierId} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "tradeDate != null"> | 
 |  |  |         AND tradeDate = #{tradeDate} | 
 |  |  |       <if test = "timeStart != null and timeStop != null"> | 
 |  |  |         AND Date(tradeDate) BETWEEN #{timeStart} AND #{timeStop} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY tradeDate | 
 |  |  |     <if test="pageCurr != null and pageSize != null"> | 
 |  |  |       LIMIT ${pageCurr}, ${pageSize} | 
 |  |  |     </if> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--  根据收银员ID及日期获取财务对账_交易明细记录数--> | 
 |  |  |   <select id="getTradeDetailsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
 |  |  |     SELECT | 
 |  |  |         COUNT(*) AS recordCount | 
 |  |  |     FROM v_trade_details | 
 |  |  |     <where> | 
 |  |  |       <if test = "cashierId != null and cashierId > 0"> | 
 |  |  |         AND cashierId = ${cashierId} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "tradeDate != null"> | 
 |  |  |         AND Date(tradeTime) = #{tradeDate} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |   </select> | 
 |  |  |  | 
 |  |  |   <!--根据收银员ID及日期获取财务对账_交易明细记录--> | 
 |  |  |   <select id="getTradeDetails" resultType="com.dy.pipIrrGlobal.voSe.VoTradeDetails"> | 
 |  |  |     SELECT * FROM v_trade_details | 
 |  |  |     <where> | 
 |  |  |       <if test = "cashierId != null and cashierId > 0"> | 
 |  |  |         AND cashierId = ${cashierId} | 
 |  |  |       </if> | 
 |  |  |  | 
 |  |  |       <if test = "tradeDate != null"> | 
 |  |  |         AND Date(tradeTime) = #{tradeDate} | 
 |  |  |       </if> | 
 |  |  |     </where> | 
 |  |  |     ORDER BY tradeTime | 
 |  |  |     <trim prefix="limit " > | 
 |  |  |       <if test="start != null and count != null"> | 
 |  |  |         #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
 |  |  |       </if> | 
 |  |  |     </trim> | 
 |  |  |   </select> | 
 |  |  | </mapper> |