| <?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.matrix.system.hive.dao.SysBusinessDataDao"> | 
|     <!-- 定义SysBusinessData 的复杂关联map --> | 
|     <resultMap type="com.matrix.system.hive.bean.SysBusinessData" id="SysBusinessDataMap"> | 
|         <id property="id" column="id"/> | 
|         <result property="createBy" column="create_by"/> | 
|         <result property="createTime" column="create_time"/> | 
|         <result property="updateBy" column="update_by"/> | 
|         <result property="updateTime" column="update_time"/> | 
|         <result property="time" column="time"/> | 
|         <result property="companyId" column="company_id"/> | 
|         <result property="shopId" column="shop_id"/> | 
|         <result property="name" column="name"/> | 
|         <result property="value" column="value"/> | 
|         <result property="code" column="code"/> | 
|         <result property="sequence" column="sequence"/> | 
|         <result property="dataType" column="data_type"/> | 
|         <result property="t1" column="t1"/> | 
|         <result property="t2" column="t2"/> | 
|         <result property="t3" column="t3"/> | 
|         <result property="t4" column="t4"/> | 
|         <result property="t5" column="t5"/> | 
|         <result property="t6" column="t6"/> | 
|         <result property="t7" column="t7"/> | 
|         <result property="t8" column="t8"/> | 
|         <result property="t9" column="t9"/> | 
|         <result property="t10" column="t10"/> | 
|         <result property="t11" column="t11"/> | 
|         <result property="t12" column="t12"/> | 
|         <result property="t13" column="t13"/> | 
|         <result property="t14" column="t14"/> | 
|         <result property="t15" column="t15"/> | 
|     </resultMap> | 
|   | 
|   | 
|     <!-- 定义SysBusinessData 的简单map  ,本map不添加其他的关联属性 --> | 
|     <resultMap type="com.matrix.system.hive.bean.SysBusinessData" id="SysBusinessDataSimpleMap"> | 
|         <id property="id" column="id"/> | 
|         <result property="createBy" column="create_by"/> | 
|         <result property="createTime" column="create_time"/> | 
|         <result property="updateBy" column="update_by"/> | 
|         <result property="updateTime" column="update_time"/> | 
|         <result property="time" column="time"/> | 
|         <result property="companyId" column="company_id"/> | 
|         <result property="shopId" column="shop_id"/> | 
|         <result property="name" column="name"/> | 
|         <result property="value" column="value"/> | 
|         <result property="code" column="code"/> | 
|         <result property="sequence" column="sequence"/> | 
|         <result property="dataType" column="data_type"/> | 
|         <result property="t1" column="t1"/> | 
|         <result property="t2" column="t2"/> | 
|         <result property="t3" column="t3"/> | 
|         <result property="t4" column="t4"/> | 
|         <result property="t5" column="t5"/> | 
|         <result property="t6" column="t6"/> | 
|         <result property="t7" column="t7"/> | 
|         <result property="t8" column="t8"/> | 
|         <result property="t9" column="t9"/> | 
|         <result property="t10" column="t10"/> | 
|         <result property="t11" column="t11"/> | 
|         <result property="t12" column="t12"/> | 
|         <result property="t13" column="t13"/> | 
|         <result property="t14" column="t14"/> | 
|         <result property="t15" column="t15"/> | 
|     </resultMap> | 
|   | 
|     <!-- 字段sql --> | 
|     <sql id="columns"> | 
|         create_by, | 
|         create_time, | 
|         update_by, | 
|         update_time, | 
|             id, | 
|             time, | 
|             company_id, | 
|             shop_id, | 
|             name, | 
|             value, | 
|             code, | 
|             sequence, | 
|             data_type, | 
|             t1, | 
|             t2, | 
|             t3, | 
|             t4, | 
|             t5, | 
|             t6, | 
|             t7, | 
|             t8, | 
|             t9, | 
|             t10, | 
|             t11, | 
|             t12, | 
|             t13, | 
|             t14, | 
|             t15 | 
|     </sql> | 
|   | 
|     <!-- 属性sql --> | 
|     <sql id="propertys"> | 
|         #{item.createBy}, | 
|         now(), | 
|         #{item.updateBy}, | 
|         now(), | 
|             #{item.id}, | 
|             #{item.time}, | 
|             #{item.companyId}, | 
|             #{item.shopId}, | 
|             #{item.name}, | 
|             #{item.value}, | 
|             #{item.code}, | 
|             #{item.sequence}, | 
|             #{item.dataType}, | 
|             #{item.t1}, | 
|             #{item.t2}, | 
|             #{item.t3}, | 
|             #{item.t4}, | 
|             #{item.t5}, | 
|             #{item.t6}, | 
|             #{item.t7}, | 
|             #{item.t8}, | 
|             #{item.t9}, | 
|             #{item.t10}, | 
|             #{item.t11}, | 
|             #{item.t12}, | 
|             #{item.t13}, | 
|             #{item.t14}, | 
|             #{item.t15} | 
|     </sql> | 
|   | 
|     <!-- where sql --> | 
|     <sql id="where_sql"> | 
|   | 
|         <if test="record!=null"> | 
|             <if test="(record.id!=null and record.id!='') or  (record.id!='' and record.id==0)  "> | 
|                 and id = #{record.id} | 
|             </if> | 
|             <if test="record.time!=null   "> | 
|                 and to_days(time) = to_days(#{record.time}) | 
|             </if> | 
|             <if test="(record.companyId!=null and record.companyId!='') or  (record.companyId!='' and record.companyId==0)  "> | 
|                 and company_id = #{record.companyId} | 
|             </if> | 
|             <if test="(record.shopId!=null and record.shopId!='') or  (record.shopId!='' and record.shopId==0)  "> | 
|                 and shop_id = #{record.shopId} | 
|             </if> | 
|             <if test="(record.name!=null and record.name!='') or  (record.name!='' and record.name==0)  "> | 
|                 and name = #{record.name} | 
|             </if> | 
|             <if test="(record.value!=null and record.value!='') or  (record.value!='' and record.value==0)  "> | 
|                 and value = #{record.value} | 
|             </if> | 
|             <if test="(record.code!=null and record.code!='') or  (record.code!='' and record.code==0)  "> | 
|                 and code = #{record.code} | 
|             </if> | 
|             <if test="(record.sequence!=null and record.sequence!='') or  (record.sequence!='' and record.sequence==0)  "> | 
|                 and sequence = #{record.sequence} | 
|             </if> | 
|             <if test="(record.dataType!=null and record.dataType!='') or  (record.dataType!='' and record.dataType==0)  "> | 
|                 and data_type = #{record.dataType} | 
|             </if> | 
|             <if test="(record.t1!=null and record.t1!='') or  (record.t1!='' and record.t1==0)  "> | 
|                 and t1 = #{record.t1} | 
|             </if> | 
|             <if test="(record.t2!=null and record.t2!='') or  (record.t2!='' and record.t2==0)  "> | 
|                 and t2 = #{record.t2} | 
|             </if> | 
|             <if test="(record.t3!=null and record.t3!='') or  (record.t3!='' and record.t3==0)  "> | 
|                 and t3 = #{record.t3} | 
|             </if> | 
|             <if test="(record.t4!=null and record.t4!='') or  (record.t4!='' and record.t4==0)  "> | 
|                 and t4 = #{record.t4} | 
|             </if> | 
|             <if test="(record.t5!=null and record.t5!='') or  (record.t5!='' and record.t5==0)  "> | 
|                 and t5 = #{record.t5} | 
|             </if> | 
|             <if test="(record.t6!=null and record.t6!='') or  (record.t6!='' and record.t6==0)  "> | 
|                 and t6 = #{record.t6} | 
|             </if> | 
|             <if test="(record.t7!=null and record.t7!='') or  (record.t7!='' and record.t7==0)  "> | 
|                 and t7 = #{record.t7} | 
|             </if> | 
|             <if test="(record.t8!=null and record.t8!='') or  (record.t8!='' and record.t8==0)  "> | 
|                 and t8 = #{record.t8} | 
|             </if> | 
|             <if test="(record.t9!=null and record.t9!='') or  (record.t9!='' and record.t9==0)  "> | 
|                 and t9 = #{record.t9} | 
|             </if> | 
|             <if test="(record.t10!=null and record.t10!='') or  (record.t10!='' and record.t10==0)  "> | 
|                 and t10 = #{record.t10} | 
|             </if> | 
|             <if test="(record.t11!=null and record.t11!='') or  (record.t11!='' and record.t11==0)  "> | 
|                 and t11 = #{record.t11} | 
|             </if> | 
|             <if test="(record.t12!=null and record.t12!='') or  (record.t12!='' and record.t12==0)  "> | 
|                 and t12 = #{record.t12} | 
|             </if> | 
|             <if test="(record.t13!=null and record.t13!='') or  (record.t13!='' and record.t13==0)  "> | 
|                 and t13 = #{record.t13} | 
|             </if> | 
|             <if test="(record.t14!=null and record.t14!='') or  (record.t14!='' and record.t14==0)  "> | 
|                 and t14 = #{record.t14} | 
|             </if> | 
|             <if test="(record.t15!=null and record.t15!='') or  (record.t15!='' and record.t15==0)  "> | 
|                 and t15 = #{record.t15} | 
|             </if> | 
|         </if> | 
|   | 
|     </sql> | 
|   | 
|     <!--  插入方法   --> | 
|     <insert id="insert" parameterType="com.matrix.system.hive.bean.SysBusinessData" | 
|             useGeneratedKeys="true" keyProperty="item.id"> | 
|         INSERT INTO sys_business_data ( | 
|         <include refid="columns"></include> | 
|         ) | 
|         VALUES ( | 
|         <include refid="propertys"></include> | 
|         ) | 
|     </insert> | 
|   | 
|   | 
|     <!--  批量插入   --> | 
|     <insert id="batchInsert" parameterType="java.util.List"> | 
|         INSERT INTO sys_business_data ( | 
|         <include refid="columns"></include> | 
|         ) | 
|         VALUES | 
|         <foreach collection="list" item="item" index="index" separator=",">( | 
|             <include refid="propertys"></include> | 
|             ) | 
|         </foreach> | 
|     </insert> | 
|   | 
|   | 
|     <!--  根据Map更新 部分更新   --> | 
|     <update id="updateByMap" parameterType="java.util.HashMap"> | 
|         UPDATE sys_business_data | 
|         <set> | 
|             <if test="_parameter.containsKey('time')"> | 
|                 time = #{time}, | 
|             </if> | 
|             <if test="_parameter.containsKey('companyId')"> | 
|                 company_id = #{companyId}, | 
|             </if> | 
|             <if test="_parameter.containsKey('shopId')"> | 
|                 shop_id = #{shopId}, | 
|             </if> | 
|             <if test="_parameter.containsKey('name')"> | 
|                 name = #{name}, | 
|             </if> | 
|             <if test="_parameter.containsKey('value')"> | 
|                 value = #{value}, | 
|             </if> | 
|             <if test="_parameter.containsKey('code')"> | 
|                 code = #{code}, | 
|             </if> | 
|             <if test="_parameter.containsKey('sequence')"> | 
|                 sequence = #{sequence}, | 
|             </if> | 
|             <if test="_parameter.containsKey('dataType')"> | 
|                 data_type = #{dataType}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t1')"> | 
|                 t1 = #{t1}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t2')"> | 
|                 t2 = #{t2}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t3')"> | 
|                 t3 = #{t3}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t4')"> | 
|                 t4 = #{t4}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t5')"> | 
|                 t5 = #{t5}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t6')"> | 
|                 t6 = #{t6}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t7')"> | 
|                 t7 = #{t7}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t8')"> | 
|                 t8 = #{t8}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t9')"> | 
|                 t9 = #{t9}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t10')"> | 
|                 t10 = #{t10}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t11')"> | 
|                 t11 = #{t11}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t12')"> | 
|                 t12 = #{t12}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t13')"> | 
|                 t13 = #{t13}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t14')"> | 
|                 t14 = #{t14}, | 
|             </if> | 
|             <if test="_parameter.containsKey('t15')"> | 
|                 t15 = #{t15}, | 
|             </if> | 
|         </set> | 
|         WHERE id=#{id} | 
|     </update> | 
|   | 
|   | 
|     <!--  根据对象更新 部分更新   --> | 
|     <update id="updateByModel" parameterType="Integer"> | 
|         UPDATE sys_business_data | 
|         <set> | 
|             <if test="record.time != null "> | 
|                 time = #{record.time}, | 
|             </if> | 
|             <if test="record.companyId != null "> | 
|                 company_id = #{record.companyId}, | 
|             </if> | 
|             <if test="record.shopId != null "> | 
|                 shop_id = #{record.shopId}, | 
|             </if> | 
|             <if test="record.name != null and record.name != '' "> | 
|                 name = #{record.name}, | 
|             </if> | 
|             <if test="record.value != null and record.value != '' "> | 
|                 value = #{record.value}, | 
|             </if> | 
|             <if test="record.code != null and record.code != '' "> | 
|                 code = #{record.code}, | 
|             </if> | 
|             <if test="record.sequence != null "> | 
|                 sequence = #{record.sequence}, | 
|             </if> | 
|             <if test="record.dataType != null "> | 
|                 data_type = #{record.dataType}, | 
|             </if> | 
|             <if test="record.t1 != null and record.t1 != '' "> | 
|                 t1 = #{record.t1}, | 
|             </if> | 
|             <if test="record.t2 != null and record.t2 != '' "> | 
|                 t2 = #{record.t2}, | 
|             </if> | 
|             <if test="record.t3 != null and record.t3 != '' "> | 
|                 t3 = #{record.t3}, | 
|             </if> | 
|             <if test="record.t4 != null and record.t4 != '' "> | 
|                 t4 = #{record.t4}, | 
|             </if> | 
|             <if test="record.t5 != null and record.t5 != '' "> | 
|                 t5 = #{record.t5}, | 
|             </if> | 
|             <if test="record.t6 != null and record.t6 != '' "> | 
|                 t6 = #{record.t6}, | 
|             </if> | 
|             <if test="record.t7 != null and record.t7 != '' "> | 
|                 t7 = #{record.t7}, | 
|             </if> | 
|             <if test="record.t8 != null and record.t8 != '' "> | 
|                 t8 = #{record.t8}, | 
|             </if> | 
|             <if test="record.t9 != null and record.t9 != '' "> | 
|                 t9 = #{record.t9}, | 
|             </if> | 
|             <if test="record.t10 != null and record.t10 != '' "> | 
|                 t10 = #{record.t10}, | 
|             </if> | 
|             <if test="record.t11 != null and record.t11 != '' "> | 
|                 t11 = #{record.t11}, | 
|             </if> | 
|             <if test="record.t12 != null and record.t12 != '' "> | 
|                 t12 = #{record.t12}, | 
|             </if> | 
|             <if test="record.t13 != null and record.t13 != '' "> | 
|                 t13 = #{record.t13}, | 
|             </if> | 
|             <if test="record.t14 != null and record.t14 != '' "> | 
|                 t14 = #{record.t14}, | 
|             </if> | 
|             <if test="record.t15 != null and record.t15 != '' "> | 
|                 t15 = #{record.t15}, | 
|             </if> | 
|         </set> | 
|         WHERE id=#{record.id} | 
|     </update> | 
|   | 
|   | 
|     <!-- 批量删除 --> | 
|     <delete id="deleteByIds" parameterType="java.util.List"> | 
|         delete from sys_business_data where id in | 
|         <foreach collection="list" index="index" item="item" open="(" | 
|                  separator="," close=")"> | 
|             #{item} | 
|         </foreach> | 
|     </delete> | 
|   | 
|     <!-- 根据id删除--> | 
|     <delete id="deleteById" parameterType="Integer"> | 
|         DELETE FROM sys_business_data | 
|         where  id=#{id}  | 
|     </delete> | 
|   | 
|     <!-- 根据对象删除--> | 
|     <delete id="deleteByModel" parameterType="com.matrix.system.hive.bean.SysBusinessData"> | 
|         DELETE FROM sys_business_data | 
|         <where> | 
|             <include refid="where_sql"></include> | 
|         </where> | 
|     </delete> | 
|   | 
|   | 
|     <!-- 分页查询 --> | 
|     <select id="selectInPage" resultMap="SysBusinessDataMap"> | 
|         select | 
|         <include refid="columns"></include> | 
|         from sys_business_data | 
|         <where> | 
|             <include refid="where_sql"></include> | 
|         </where> | 
|         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
|             <if test="pageVo.sort !=null  and pageVo.order !=null"> | 
|                 order by | 
|                 ${pageVo.sort} ${pageVo.order} | 
|             </if> | 
|             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
|                 limit | 
|                 #{pageVo.offset},#{pageVo.limit} | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <!-- 查询总条数 --> | 
|     <select id="selectTotalRecord" parameterType="long" resultType="java.lang.Integer"> | 
|         select count(*) | 
|         from sys_business_data | 
|         <where> | 
|             <include refid="where_sql"></include> | 
|         </where> | 
|     </select> | 
|   | 
|     <!-- 根据id查询--> | 
|     <select id="selectById" resultMap="SysBusinessDataMap"> | 
|         select | 
|         <include refid="columns"></include> | 
|         from sys_business_data | 
|         where id=#{id} | 
|     </select> | 
|   | 
|   | 
|     <!-- 根据id 锁表查询--> | 
|     <select id="selectForUpdate" resultMap="SysBusinessDataMap"> | 
|         select | 
|         <include refid="columns"></include> | 
|         from sys_business_data | 
|         where id=#{id} | 
|         for update | 
|     </select> | 
|   | 
|   | 
|     <!-- 根据对象查询--> | 
|     <select id="selectByModel" resultMap="SysBusinessDataMap"> | 
|         select | 
|         <include refid="columns"></include> | 
|         from sys_business_data | 
|         <where> | 
|             <include refid="where_sql"></include> | 
|         </where> | 
|     </select> | 
|   | 
|     <select id="selectShowList" resultType="com.matrix.system.hive.statistics.BusinessDataShowVo"> | 
|         SELECT shop_id , | 
|         a.time, | 
|         b.SHOP_NAME as shopName, | 
|         MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END ) cashPay, | 
|         MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END ) cardPay, | 
|         MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END ) arrearsPay, | 
|         MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END ) freeConsumePay, | 
|         MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END ) consumePay, | 
|         MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END)  refundCashPay, | 
|         MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END)  refundCardPay | 
|         FROM sys_business_data a | 
|         left join sys_shop_info b on a.shop_id=b.ID | 
|         <where> | 
|             <if test="record.beginTime !=null"> | 
|                 and to_days(a.time) >= to_days(#{record.beginTime}) | 
|             </if> | 
|             <if test="record.endTime !=null"> | 
|                 <![CDATA[ and to_days(a.time) <=  to_days(#{record.endTime}) ]]> | 
|             </if> | 
|             <if test="record.shopId !=null and record.shopId != ''"> | 
|                 and a.shop_Id = #{record.shopId} | 
|             </if> | 
|         </where> | 
|         GROUP BY a.time ,a.shop_id | 
|         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
|             <if test="pageVo.sort !=null  and pageVo.order !=null"> | 
|                 order by | 
|                 ${pageVo.sort} ${pageVo.order} | 
|             </if> | 
|             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
|                 limit | 
|                 #{pageVo.offset},#{pageVo.limit} | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|   | 
|     <select id="selectShowListTotal" resultType="java.lang.Integer"  > | 
|         select count(1) from ( | 
|         SELECT shop_id , | 
|         a.time | 
|         FROM sys_business_data a | 
|         <where> | 
|             <if test="record.beginTime !=null"> | 
|                 and to_days(a.time) >= to_days(#{record.beginTime}) | 
|             </if> | 
|             <if test="record.endTime !=null"> | 
|                 <![CDATA[ and to_days(a.time) <=  to_days(#{record.endTime}) ]]> | 
|             </if> | 
|             <if test="record.shopId !=null and record.shopId != ''"> | 
|                 and a.shop_Id = #{record.shopId} | 
|             </if> | 
|         </where> | 
|         GROUP BY a.time ,a.shop_id | 
|         ) t | 
|     </select> | 
|   | 
|     <select id="selectApiBusinessDataInPage" resultType="com.matrix.system.app.vo.BusinessesDataShowVo"> | 
|         select | 
|             date_format(a.time, #{record.t1}) dataTime, | 
|             sum(cashPay + cardPay + arrearsPay) totalPay, | 
|             sum(cashPay) cashPay, | 
|             sum(cardPay) cardPay, | 
|             sum(arrearsPay) arrearsPay, | 
|             sum(freeConsumePay) freeConsumePay, | 
|             sum(consumePay) consumePay, | 
|             sum(refundCardPay) refundCardPay, | 
|             sum(refundCashPay) refundCashPay | 
|         from ( | 
|                  select | 
|                         company_id, | 
|                         shop_id, | 
|                         a.time, | 
|                         MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END)            cashPay, | 
|                         MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END)            cardPay, | 
|                         MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END)         arrearsPay, | 
|                         MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END)     freeConsumePay, | 
|                         MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END)         consumePay, | 
|                         MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay, | 
|                         MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay | 
|                  from sys_business_data a | 
|                  group by a.time, company_id, shop_id | 
|              ) a | 
|         <where> | 
|             <if test="record.companyId != null"> | 
|                 and a.company_id=#{record.companyId} | 
|             </if> | 
|             <if test="record.shopId != null"> | 
|                 and a.shop_id=#{record.shopId} | 
|             </if> | 
|         </where> | 
|         group by date_format(a.time, #{record.t1}) | 
|         order by a.time desc | 
|         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
|             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
|                 limit | 
|                 #{pageVo.offset},#{pageVo.limit} | 
|             </if> | 
|         </if> | 
|     </select> | 
|   | 
|     <select id="selectApiBusinessDataTotal" resultType="java.lang.Integer"> | 
|         select | 
|             count(1) | 
|         from ( | 
|             select | 
|                 date_format(a.time, #{record.t1}) dataTime, | 
|                 sum(cashPay + cardPay + arrearsPay) totalPay, | 
|                 sum(cashPay) cashPay, | 
|                 sum(cardPay) cardPay, | 
|                 sum(arrearsPay) arrearsPay, | 
|                 sum(freeConsumePay) freeConsumePay, | 
|                 sum(consumePay) consumePay, | 
|                 sum(refundCardPay) refundCardPay, | 
|                 sum(refundCashPay) refundCashPay | 
|             from ( | 
|                 select | 
|                 company_id, | 
|                 shop_id, | 
|                 a.time, | 
|                 MAX(CASE code WHEN 'cashPay' THEN value ELSE 0 END)            cashPay, | 
|                 MAX(CASE code WHEN 'cardPay' THEN value ELSE 0 END)            cardPay, | 
|                 MAX(CASE code WHEN 'arrearsPay' THEN value ELSE 0 END)         arrearsPay, | 
|                 MAX(CASE code WHEN 'freeConsumePay' THEN value ELSE 0 END)     freeConsumePay, | 
|                 MAX(CASE code WHEN 'consumePay' THEN value ELSE 0 END)         consumePay, | 
|                 MAX(CASE code WHEN 'refundCashPay' THEN ABS(value) ELSE 0 END) refundCashPay, | 
|                 MAX(CASE code WHEN 'refundCardPay' THEN ABS(value) ELSE 0 END) refundCardPay | 
|                 from sys_business_data a | 
|                 group by a.time, company_id, shop_id | 
|             ) a | 
|             <where> | 
|                 <if test="record.companyId != null"> | 
|                     and a.company_id=#{record.companyId} | 
|                 </if> | 
|                 <if test="record.shopId != null"> | 
|                     and a.shop_id=#{record.shopId} | 
|                 </if> | 
|             </where> | 
|             group by date_format(a.time, #{record.t1}) | 
|             order by a.time desc | 
|         ) a | 
|     </select> | 
| </mapper> |