wuzeyu
2024-07-11 288fd4f39fae6bcd0a26cdbcbf0a17c3bd3a877d
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml
@@ -9,13 +9,13 @@
    <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-->
@@ -32,10 +32,10 @@
  <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">
@@ -57,8 +57,8 @@
      <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,
@@ -83,8 +83,8 @@
      <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},
@@ -110,8 +110,8 @@
      <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},
@@ -129,7 +129,7 @@
      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}
@@ -146,28 +146,28 @@
  <!--根据交易日期获取总账记录列表(待生成的)  -->
  <select id="getGeneralByOperateDate" resultType="com.dy.pipIrrGlobal.pojoSe.SeGeneral">
    SELECT
      us.id AS cashierId,
      us.`name` AS cashierName,
      IFNULL(SUM(ope.trade_amount),0) AS tradeAmount,
      IFNULL(SUM(ope.gift),0) AS gift,
      IFNULL((SUM(ope.trade_amount) + SUM(ope.gift)),0) AS totalAmount,
      Date(ope.operate_dt) AS operateDate,
      1 AS auditStatus
        us.id AS cashierId,
        us.`name` AS cashierName,
        (IFNULL(SUM(ope.trade_amount),0) + IFNULL(SUM(ope.card_cost),0)) AS tradeAmount,
        IFNULL(SUM(ope.gift),0) AS gift,
        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
        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,
      IFNULL(SUM(amount), 0) AS totalAmount,
      Date(recharge_time) AS operateDate,
      1 AS auditStatus
        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)
@@ -175,13 +175,13 @@
    UNION ALL
    SELECT
      1000000 AS cashierId,
      '微信' AS cashierName,
      IFNULL(-SUM(refund_amount), 0) AS tradeAmount,
      0 AS gift,
      IFNULL(-SUM(refund_amount), 0) AS totalAmount,
      Date(audit_time) AS operateDate,
      1 AS auditStatus
        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)
@@ -215,7 +215,7 @@
        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 "未审核"
@@ -265,50 +265,32 @@
    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_trade_summary
    <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_trade_summary
    <where>
      <if test = "cashierId != null and cashierId > 0">
        AND cashierId = ${cashierId}
      </if>
<!--  <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>
<!--      <if test = "tradeDate != null">-->
<!--        AND tradeDate = #{tradeDate}-->
<!--      </if>-->
<!--    </where>-->
<!--  </select>-->
  <!--财务对账审核页,收银员+日期+类型分组,排除交易类型分组-->
  <select id="getToAudit" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics">
  <!--开卡系统交易统计,收银员+日期+类型分组-->
  <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 test = "timeStart != null and timeStop != null">
        AND Date(tradeDate) BETWEEN #{timeStart} AND #{timeStop}
      </if>
    </where>
    ORDER BY tradeDate
@@ -325,7 +307,7 @@
      </if>
      <if test = "tradeDate != null">
        AND tradeDate = #{tradeDate}
        AND Date(tradeTime) = #{tradeDate}
      </if>
    </where>
  </select>
@@ -338,8 +320,8 @@
        AND cashierId = ${cashierId}
      </if>
      <if test = "tradeTime != null">
        AND tradeTime = #{tradeTime}
      <if test = "tradeDate != null">
        AND Date(tradeTime) = #{tradeDate}
      </if>
    </where>
    ORDER BY tradeTime