<?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.AllotedAndInstoredDao"> 
 | 
      
 | 
    <resultMap type="com.matrix.system.hive.pojo.AllotedAndInstored" id="AllotedAndInstoredMap"> 
 | 
       <id property="iaId" column="iaId" /> 
 | 
       <result property="skuId" column="skuId" /> 
 | 
        <result property="createTime" column="create_time" /> 
 | 
        <result property="total" column="total" /> 
 | 
        <result property="priceTotal" column="priceTotal" /> 
 | 
         <result property="type" column="type" /> 
 | 
        
 | 
        <result property="skuPrice" column="skuPrice" /> 
 | 
        <result property="goodsId" column="goodsId" /> 
 | 
        <result property="skuName" column="skuName" /> 
 | 
        <result property="goodsName" column="goodsName" /> 
 | 
         
 | 
    </resultMap> 
 | 
    <!-- 分页查询 --> 
 | 
     
 | 
    <select id="selectInPage" resultMap="AllotedAndInstoredMap"> 
 | 
        <if test="record.type==null or record.type=='' "> 
 | 
            SELECT t1.*,t3.name skuName,t3.price skuPrice,t3.id goodsId,t3.name goodsName FROM(SELECT d.INSTORE_DATE create_Time,a.INSTORE_ID iaId,a.SKU_ID skuId,a.AMOUNT total,a.PRICE_TOTAL priceTotal,1 type FROM sys_instore_detail a 
 | 
            LEFT JOIN sys_instore_info d ON d.ID=a.INSTORE_ID  
 | 
            UNION 
 | 
            SELECT c.ALLOTTED_DATE createTime,b.ALLOT_ID iaId,b.SKU_ID skuId,IFNULL(-b.REAL_TOTAL,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info c ON b.ALLOT_ID =c.ID AND c.ALLOTTED_INSTORE_ID =13 
 | 
            UNION 
 | 
            SELECT e.ALLOTTED_DATE createTime, b.ALLOT_ID iaid,b.SKU_ID skuid,IFNULL(-b.receive_total,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info e ON b.ALLOT_ID =e.ID AND e.ALLOTTED_OUTSTORE_ID =13)t1 
 | 
        </if> 
 | 
         
 | 
        <if test="record.type!=null and record.type!='' "> 
 | 
            SELECT t1.*,t3.name skuName,t3.price skuPrice,t3.id goodsId,t3.name goodsName FROM( 
 | 
            <if test="record.type==1"> 
 | 
            SELECT d.INSTORE_DATE create_Time,a.INSTORE_ID iaId,a.SKU_ID skuId,a.AMOUNT total,a.PRICE_TOTAL priceTotal,1 type FROM sys_instore_detail a 
 | 
            LEFT JOIN sys_instore_info d ON d.ID=a.INSTORE_ID  
 | 
            </if> 
 | 
            <if test="record.type==2"> 
 | 
            SELECT c.ALLOTTED_DATE create_Time,b.ALLOT_ID iaId,b.SKU_ID skuId,IFNULL(-b.REAL_TOTAL,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info c ON b.ALLOT_ID =c.ID AND c.ALLOTTED_INSTORE_ID =13 
 | 
            UNION 
 | 
            SELECT e.ALLOTTED_DATE create_Time, b.ALLOT_ID iaid,b.SKU_ID skuid,IFNULL(-b.receive_total,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info e ON b.ALLOT_ID =e.ID AND e.ALLOTTED_OUTSTORE_ID =13 
 | 
            </if> 
 | 
            )t1 
 | 
        </if> 
 | 
        LEFT JOIN sys_goods t3  on t1.skuid = t3.id 
 | 
        where 1=1 
 | 
        <if test="record!=null"> 
 | 
              
 | 
            <if test="record.startTime != null  "> 
 | 
                and t1.create_Time >= #{record.startTime} 
 | 
            </if> 
 | 
            <if test="record.endTime != null "> 
 | 
                and t1.create_Time <= #{record.endTime} 
 | 
            </if>   
 | 
  
 | 
            <if test="record.goodsName != null and record.goodsName!='' "> 
 | 
                and t3.name like CONCAT('%',#{record.goodsName},'%')  
 | 
            </if> 
 | 
             
 | 
        </if> 
 | 
        <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"    resultType="java.lang.Integer"> 
 | 
       <if test="record.type==null or record.type=='' "> 
 | 
            SELECT count(*) FROM(SELECT d.INSTORE_DATE create_Time,a.INSTORE_ID iaId,a.SKU_ID skuId,a.AMOUNT total,a.PRICE_TOTAL priceTotal,1 type FROM sys_instore_detail a 
 | 
            LEFT JOIN sys_instore_info d ON d.ID=a.INSTORE_ID  
 | 
            UNION 
 | 
            SELECT c.ALLOTTED_DATE createTime,b.ALLOT_ID iaId,b.SKU_ID skuId,IFNULL(-b.REAL_TOTAL,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info c ON b.ALLOT_ID =c.ID AND c.ALLOTTED_INSTORE_ID =13 
 | 
            UNION 
 | 
            SELECT e.ALLOTTED_DATE createTime, b.ALLOT_ID iaid,b.SKU_ID skuid,IFNULL(-b.receive_total,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info e ON b.ALLOT_ID =e.ID AND e.ALLOTTED_OUTSTORE_ID =13)t1 
 | 
        </if> 
 | 
         
 | 
        <if test="record.type!=null and record.type!='' "> 
 | 
            SELECT count(*) FROM( 
 | 
            <if test="record.type==1"> 
 | 
            SELECT d.INSTORE_DATE create_Time,a.INSTORE_ID iaId,a.SKU_ID skuId,a.AMOUNT total,a.PRICE_TOTAL priceTotal,1 type FROM sys_instore_detail a 
 | 
            LEFT JOIN sys_instore_info d ON d.ID=a.INSTORE_ID  
 | 
            </if> 
 | 
            <if test="record.type==2"> 
 | 
            SELECT c.ALLOTTED_DATE create_Time,b.ALLOT_ID iaId,b.SKU_ID skuId,IFNULL(-b.REAL_TOTAL,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info c ON b.ALLOT_ID =c.ID AND c.ALLOTTED_INSTORE_ID =13 
 | 
            UNION 
 | 
            SELECT e.ALLOTTED_DATE create_Time, b.ALLOT_ID iaid,b.SKU_ID skuid,IFNULL(-b.receive_total,0) total,NULL priceTotal,2 type FROM sys_allot_detail b  
 | 
            LEFT JOIN sys_allotted_info e ON b.ALLOT_ID =e.ID AND e.ALLOTTED_OUTSTORE_ID =13 
 | 
            </if> 
 | 
            )t1 
 | 
        </if> 
 | 
  
 | 
        LEFT JOIN sys_goods t3  on t1.skuid = t3.id 
 | 
        where 1=1 
 | 
        <if test="record!=null"> 
 | 
            <if test="record.startTime != null  "> 
 | 
                and t1.create_Time >= #{record.startTime} 
 | 
            </if> 
 | 
            <if test="record.endTime != null  "> 
 | 
                and t1.create_Time <= #{record.endTime} 
 | 
            </if>   
 | 
  
 | 
            <if test="record.goodsName != null and record.goodsName!='' "> 
 | 
                and t3.name like CONCAT('%',#{record.goodsName},'%')  
 | 
            </if> 
 | 
             
 | 
        </if> 
 | 
    </select> 
 | 
  
 | 
     
 | 
</mapper> 
 |