准时率统计修改

This commit is contained in:
秦鸿展
2026-09-09 23:40:33 +08:00
parent dea39a1a4b
commit ba5d78b36c
2 changed files with 7 additions and 5 deletions
@@ -194,9 +194,9 @@ public class BiPlatformRealDataService {
}
/**
* 今日作业准时率 = 今日准时车辆数 / 今日预约总× 100%(四舍五入取整)
* 今日作业准时率 = 今日准时车辆数 / 今日有入场时间的车辆× 100%(四舍五入取整)
* 准时:实际进入时间 < 预约日期(TARGET_DATE) + 预约结束时间(BOOKING_END_TIME)。
* 今日预约总数为 0 时返回 0。
* 分子分母都只统计有入场时间(ENTRY_TIME 不为空)的车辆;分母为 0 时返回 0。
*/
public int calcTodayOnTimeRate() {
try {
@@ -49,14 +49,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select>
<!-- 今日作业准时率统计:
total 今日预约车辆数(TARGET_DATE = 今天)
total 今日有入场时间的预约车辆数(ENTRY_TIME 不为空 且 TARGET_DATE = 今天)
onTimeCount 今日准时车辆数(实际进入时间 < 预约日期 + 预约结束时间 BOOKING_END_TIME,即 ENTRY_TIME < TRUNC(TARGET_DATE) + 预约时段结束时分)
「准时率 = 今日准时车辆数 / 今日预约总× 100%(四舍五入取整)」
「准时率 = 今日准时车辆数 / 今日有入场时间的车辆× 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 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; TRUNC(TARGET_DATE)