|  |  |  | 
|---|
|  |  |  | <mapper namespace="com.zy.asrs.mapper.ReportQueryMapper"> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- mapper不支持sql语句嵌套时,采用sql片段包含方式,解决xml标签问题 --> | 
|---|
|  |  |  | <sql id="viewStayTimeConditionSql"> | 
|---|
|  |  |  | <sql id="viewStayTimeConditionSql"> | 
|---|
|  |  |  | <if test="loc_no!=null and loc_no!='' "> | 
|---|
|  |  |  | and loc_no like '%' + #{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 test="stay_time!=null and stay_time!='' "> | 
|---|
|  |  |  | and stay_time > #{stay_time} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <!--       <if test="appe_time!=null and appe_time!='' "> --> | 
|---|
|  |  |  | <!--          and appe_time > #{appe_time} --> | 
|---|
|  |  |  | <!--       </if> --> | 
|---|
|  |  |  | <if test="maktx!=null and maktx!='' "> | 
|---|
|  |  |  | and (maktx like '%' + #{maktx} + '%' | 
|---|
|  |  |  | or lgnum like '%' + #{maktx} + '%' | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="begin_date!=null and begin_date!='' "> | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | and appe_time >= #{begin_date} | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | and appe_time >= #{begin_date} | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="end_date!=null and end_date!='' "> | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | and appe_time <= #{end_date} | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | 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 appe_time,loc_no,matnr) as rowid | 
|---|
|  |  |  | from asr_stk_staytime_view | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | 1=1 | 
|---|
|  |  |  | <include refid="viewStayTimeConditionSql"></include> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | ) as a | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | rowid between ((#{pageNumber}-1)*#{pageSize}+1) and (#{pageNumber}*#{pageSize}) | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | order by a.appe_time asc | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | 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 asr_stk_staytime_view a | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | 1=1 | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | <include refid="viewStayTimeConditionSql"></include> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!-- 不分页查询所有信息,用于excel导出 --> | 
|---|
|  |  |  | <select id="getViewStayTimeAll" parameterType="com.zy.asrs.entity.ViewStayTimeBean" resultType="com.zy.asrs.entity.ViewStayTimeBean"> | 
|---|
|  |  |  | select * from asr_stk_staytime_view a | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | 1=1 | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | <include refid="viewStayTimeConditionSql"></include> | 
|---|
|  |  |  | <![CDATA[ | 
|---|
|  |  |  | order by appe_time asc | 
|---|
|  |  |  | ]]> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | 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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </mapper> | 
|---|
|  |  |  | </mapper> | 
|---|