From 10d7b3239e4baec952b9ee8a3e948399916d336c Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 20 十月 2025 08:23:58 +0800
Subject: [PATCH] 13

---
 src/main/resources/mapper/ViewStayTimeMapper.xml |  106 +++++++++++++++++++++++++++++++---------------------
 1 files changed, 63 insertions(+), 43 deletions(-)

diff --git a/src/main/resources/mapper/ViewStayTimeMapper.xml b/src/main/resources/mapper/ViewStayTimeMapper.xml
index bc23e60..2b01a4f 100644
--- a/src/main/resources/mapper/ViewStayTimeMapper.xml
+++ b/src/main/resources/mapper/ViewStayTimeMapper.xml
@@ -4,9 +4,9 @@
 <mapper namespace="com.zy.asrs.mapper.ReportQueryMapper">
 
 <!-- mapper涓嶆敮鎸乻ql璇彞宓屽鏃讹紝閲囩敤sql鐗囨鍖呭惈鏂瑰紡锛岃В鍐硏ml鏍囩闂 -->
-<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="matnr!=null and matnr!='' ">
 			and matnr like '%' + #{matnr} + '%'
@@ -14,9 +14,6 @@
 		<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} + '%'
@@ -32,56 +29,79 @@
 		</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
+	) 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>
\ No newline at end of file
+</mapper>

--
Gitblit v1.9.1