<?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.zy.asrs.mapper.ReportQueryMapper"> 
 | 
  
 | 
<!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> 
 | 
<sql id="viewStayTimeConditionSql"> 
 | 
        <if test="loc_no!=null and loc_no!='' "> 
 | 
            and asr_loc_mast.loc_no like '%' + #{loc_no} + '%' 
 | 
        </if> 
 | 
        <if test="specs!=null and specs!='' "> 
 | 
            and specs like '%' + #{specs} + '%' 
 | 
        </if> 
 | 
        <if test="matnr!=null and matnr!='' "> 
 | 
            and matnr like '%' + #{matnr} + '%' 
 | 
        </if> 
 | 
        <if test="stay_time!=null and stay_time!='' "> 
 | 
            and stay_time > #{stay_time} 
 | 
        </if> 
 | 
        <if test="maktx!=null and maktx!='' "> 
 | 
            and (maktx like '%' + #{maktx} + '%' 
 | 
            or lgnum like '%' + #{maktx} + '%' 
 | 
            or tbnum like '%' + #{maktx} + '%' 
 | 
            or tbpos like '%' + #{maktx} + '%' 
 | 
            or zmatid like '%' + #{maktx} + '%' 
 | 
            or werks like '%' + #{maktx} + '%' 
 | 
            or anfme like '%' + #{maktx} + '%' 
 | 
            or altme like '%' + #{maktx} + '%' 
 | 
            or zpallet like '%' + #{maktx} + '%' 
 | 
            or bname like '%' + #{maktx} + '%' 
 | 
            ) 
 | 
        </if> 
 | 
        <if test="begin_date!=null and begin_date!='' "> 
 | 
            <![CDATA[ 
 | 
            and appe_time >= #{begin_date} 
 | 
            ]]> 
 | 
        </if> 
 | 
        <if test="end_date!=null and end_date!='' "> 
 | 
            <![CDATA[ 
 | 
            and appe_time <= #{end_date} 
 | 
            ]]> 
 | 
        </if> 
 | 
</sql> 
 | 
  
 | 
<!-- 分页查询所有信息 --> 
 | 
<select id="queryViewStayTimeList" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="com.zy.asrs.entity.ViewStayTimeBean"> 
 | 
    select 
 | 
    * 
 | 
    from ( 
 | 
        select 
 | 
        ROW_NUMBER() over (order by stay_time desc) as row 
 | 
        , * 
 | 
        from 
 | 
        ( 
 | 
            SELECT 
 | 
            GETDATE() AS today 
 | 
            , CONVERT(decimal, DATEDIFF(second,asr_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time 
 | 
            , asr_loc_detl.* 
 | 
            FROM asr_loc_detl 
 | 
            INNER JOIN asr_loc_mast ON asr_loc_detl.loc_no = asr_loc_mast.loc_no 
 | 
            where 1=1 
 | 
            <include refid="viewStayTimeConditionSql"></include> 
 | 
        ) t 
 | 
        left join (select matnr as c ,store_max_date,store_max,store_min from man_mat) b 
 | 
        on t.matnr = b.c 
 | 
        left join (select matnr as f,sum(asr_loc_detl.anfme) as sum_qty from asr_loc_detl group by asr_loc_detl.matnr ) as z 
 | 
        on z.f= b.c 
 | 
  
 | 
    ) a where a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) 
 | 
</select> 
 | 
  
 | 
<select id="getViewStayTimeCount" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="Integer"> 
 | 
    select 
 | 
    count(1) 
 | 
    from ( 
 | 
        select 
 | 
        ROW_NUMBER() over (order by stay_time desc) as row 
 | 
        , * 
 | 
        from 
 | 
        ( 
 | 
            SELECT 
 | 
            GETDATE() AS today 
 | 
            , CONVERT(decimal, DATEDIFF(second,asr_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time 
 | 
            , dbo.asr_loc_detl.* 
 | 
            FROM asr_loc_detl 
 | 
            INNER JOIN asr_loc_mast ON asr_loc_detl.loc_no = asr_loc_mast.loc_no 
 | 
            where 1=1 
 | 
            <include refid="viewStayTimeConditionSql"></include> 
 | 
        ) t 
 | 
    ) a 
 | 
</select> 
 | 
  
 | 
<!-- 分页查询AGV和四项库所有信息 --> 
 | 
<select id="queryAllViewStayTimeList" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="com.zy.asrs.entity.ViewStayTimeBean"> 
 | 
    select 
 | 
        * 
 | 
    from ( 
 | 
             select 
 | 
                 ROW_NUMBER() over (order by stay_time desc) as row 
 | 
        , * 
 | 
             from 
 | 
                 ( 
 | 
                     SELECT 
 | 
                         GETDATE() AS today 
 | 
                          , CONVERT(decimal, DATEDIFF(second,all_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time 
 | 
                          , all_loc_detl.* 
 | 
                     FROM all_loc_detl 
 | 
                     where 1=1 
 | 
                     <include refid="viewStayTimeConditionSql"></include> 
 | 
                 ) t 
 | 
                     left join (select matnr as c ,store_max_date,store_max,store_min from man_mat) b 
 | 
                               on t.matnr = b.c 
 | 
                     left join (select matnr as f,sum(asr_loc_detl.anfme) as sum_qty from asr_loc_detl group by asr_loc_detl.matnr ) as z 
 | 
                               on z.f= b.c 
 | 
  
 | 
         ) a  where a.row between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) 
 | 
</select> 
 | 
<select id="getAllViewStayTimeCount" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="Integer"> 
 | 
    select 
 | 
        count(1) 
 | 
    from ( 
 | 
             select 
 | 
                 ROW_NUMBER() over (order by stay_time desc) as row 
 | 
        , * 
 | 
             from 
 | 
                 ( 
 | 
                     SELECT 
 | 
                         GETDATE() AS today 
 | 
                          , CONVERT(decimal, DATEDIFF(second,all_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time 
 | 
                          , all_loc_detl.* 
 | 
                     FROM all_loc_detl 
 | 
                     where 1=1 
 | 
                     <include refid="viewStayTimeConditionSql"></include> 
 | 
                 ) t 
 | 
         ) a 
 | 
</select> 
 | 
  
 | 
<!-- 不分页查询所有信息,用于excel导出 --> 
 | 
<select id="getViewStayTimeAll" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="com.zy.asrs.entity.ViewStayTimeBean"> 
 | 
    select 
 | 
    * 
 | 
    from ( 
 | 
        select 
 | 
        ROW_NUMBER() over (order by stay_time desc) as row 
 | 
        , * 
 | 
        from 
 | 
        ( 
 | 
            SELECT 
 | 
            GETDATE() AS today 
 | 
            , CONVERT(decimal, DATEDIFF(second,asr_loc_detl.appe_time, GETDATE()) / 86400.0, 9) AS stay_time 
 | 
            , dbo.asr_loc_detl.* 
 | 
            FROM asr_loc_detl 
 | 
            INNER JOIN asr_loc_mast ON asr_loc_detl.loc_no = asr_loc_mast.loc_no 
 | 
            where 1=1 
 | 
            <include refid="viewStayTimeConditionSql"></include> 
 | 
        ) t 
 | 
    ) a 
 | 
</select> 
 | 
  
 | 
<!-- 不分页查询AGV和四项库所有信息,用于excel导出 --> 
 | 
<select id="getAllViewStayTimeAll" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="com.zy.asrs.entity.ViewStayTimeBean"> 
 | 
    SELECT 
 | 
        * 
 | 
    FROM 
 | 
        ( 
 | 
            SELECT 
 | 
                ROW_NUMBER ( ) OVER ( ORDER BY stay_time DESC ) AS row, * 
 | 
            FROM 
 | 
                ( 
 | 
                    SELECT 
 | 
                        GETDATE( ) AS today, 
 | 
                        CONVERT ( DECIMAL, DATEDIFF( SECOND, all_loc_detl.appe_time, GETDATE( ) ) / 86400.0, 9 ) AS stay_time, 
 | 
                        dbo.all_loc_detl.* 
 | 
                    FROM 
 | 
                        all_loc_detl 
 | 
                    where 1=1 
 | 
                    <include refid="viewStayTimeConditionSql"></include> 
 | 
                ) t 
 | 
        ) a 
 | 
</select> 
 | 
</mapper> 
 |