BI月台作业准时率计算

This commit is contained in:
秦鸿展
2026-09-09 22:02:31 +08:00
parent 3907b126d9
commit 0493030620
3 changed files with 10 additions and 12 deletions
@@ -50,16 +50,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 今日作业准时率统计:
total 今日预约总车辆数(TARGET_DATE = 今天)
onTimeCount 今日准时车辆数(已进场且实际进时间不超过该预约的预约结束时间 BOOKING_END_TIME
「准时= 今日(TARGET_DATE=今天)已进场且 ENTRY_TIME <= BOOKING_END_TIME;超过则视为不准时
准时率 = onTimeCount / total × 100%
onTimeCount 今日准时车辆数(实际进时间 < 预约日期 + 预约结束时间 BOOKING_END_TIME,即 ENTRY_TIME < TRUNC(TARGET_DATE) + 预约时段结束时分
「准时= 今日准时车辆数 / 今日预约总数 × 100%(四舍五入取整)」
BOOKING_END_TIME 存纯时分(如 18:30),故用 TO_DATE 解析后取其时分间隔加到 TARGET_DATE 上
-->
<select id="queryTodayOnTimeStats" resultType="com.mhd.bi.domain.biPlatformRealData.repository.po.RealOnTimeStatPO">
SELECT
SUM(CASE WHEN TARGET_DATE IS NOT NULL AND TRUNC(TARGET_DATE) = TRUNC(SYSDATE) THEN 1 ELSE 0 END) AS total,
SUM(CASE WHEN ENTRY_TIME IS NOT NULL
AND TRUNC(TARGET_DATE) = TRUNC(SYSDATE)
AND ENTRY_TIME &lt;= BOOKING_END_TIME
AND ENTRY_TIME &lt; TRUNC(TARGET_DATE)
+ (TO_DATE(BOOKING_END_TIME, 'HH24:MI') - TRUNC(TO_DATE(BOOKING_END_TIME, 'HH24:MI')))
THEN 1 ELSE 0 END) AS onTimeCount
FROM NGWL_TEST_YMS.QMS_MAIN_BUSINESS
</select>