diff --git a/dev/RuoYi-Vue-master/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/dev/RuoYi-Vue-master/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
index d6f9167..cfd0360 100644
--- a/dev/RuoYi-Vue-master/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
+++ b/dev/RuoYi-Vue-master/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java
@@ -6,7 +6,7 @@ import org.springframework.boot.jdbc.autoconfigure.DataSourceAutoConfiguration;
/**
* 启动程序
- *
+ *
* @author ruoyi
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@@ -14,17 +14,6 @@ public class RuoYiApplication
{
public static void main(String[] args)
{
- // System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
- System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
- " .-------. ____ __ \n" +
- " | _ _ \\ \\ \\ / / \n" +
- " | ( ' ) | \\ _. / ' \n" +
- " |(_ o _) / _( )_ .' \n" +
- " | (_,_).' __ ___(_ o _)' \n" +
- " | |\\ \\ | || |(_,_)' \n" +
- " | | \\ `' /| `-' / \n" +
- " | | \\ / \\ / \n" +
- " ''-' `'-' `-..-' ");
}
-}
+}
\ No newline at end of file
diff --git a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptDutyStateMapper.java b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptDutyStateMapper.java
index 250606f..009149c 100644
--- a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptDutyStateMapper.java
+++ b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptDutyStateMapper.java
@@ -30,18 +30,24 @@ public interface AptDutyStateMapper
int updateAnswered(@Param("gyid") String gyid, @Param("jcid") String jcid,
@Param("fromStates") List fromStates);
- /** 房间入会:仅补记 hjxysj,ryzt 保持 1 叫乘中(待离寓由挂断触发) */
+ /** 房间入会:ryzt -> 5 通话中 + 补记 hjxysj(待离寓由挂断触发) */
int updateJoinConf(@Param("gyid") String gyid, @Param("jcid") String jcid);
/** 1 叫乘中 -> 2 叫乘报警(30s 无入会 / 平板 NO_ANSWER / FAILED) */
int updateCallFailed(@Param("gyid") String gyid, @Param("jcid") String jcid);
+ /** -> 4 离寓报警:超过应离寓时间未离寓(is_lybj=1 + lybjsj,只报一次) */
+ int updateLeaveAlarm(@Param("gyid") String gyid, @Param("jcid") String jcid);
+
/** 人工「停止叫乘」:ryzt 保持,stoped=1 */
int updateStop(@Param("gyid") String gyid, @Param("jcid") String jcid);
/** 人工「复叫」:清 stoped、ryzt->1、记 fjsj_s */
int updateRecall(@Param("gyid") String gyid, @Param("jcid") String jcid);
+ /** 复叫时间到点自动复叫:不校验来源 ryzt,ryzt->1、重置 jcsj_s、记 fjsj_s */
+ int updateAutoRecall(@Param("gyid") String gyid, @Param("jcid") String jcid);
+
/** 人工「强制结束」:finish_jc=1,不动 finish_ly(不置离寓) */
int updateForceFinish(@Param("gyid") String gyid, @Param("jcid") String jcid);
diff --git a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptJcxxMapper.java b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptJcxxMapper.java
index 9f78b4c..39daeb4 100644
--- a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptJcxxMapper.java
+++ b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/java/com/ruoyi/apt/dispatch/mapper/AptJcxxMapper.java
@@ -53,6 +53,15 @@ public interface AptJcxxMapper
@Param("deadline") Date deadline,
@Param("limit") int limit);
+ /**
+ * 应离寓时间已到但未办理离寓(finish_ly=0 且未报过离寓报警)。
+ *
+ * 与叫乘链路解耦:即使叫乘已完成/已报警,只要没离寓就参与判定。
+ */
+ List
*
- * 建议 cron:{@code 0 * * * * ?}(每分钟),由 sys_job 登记、默认停用,
- * 联调与试点时手工启用(见表 13-15 依赖:Quartz 须启用 ScheduleConfig 或显式登记)。
+ * 建议 cron:{@code 0 * * * * ?}(每分钟)。本项目默认由
+ * {@code AptDispatchScanScheduler} 内置调度器驱动(Quartz 未启用),
+ * 若要改用本任务,须把 {@code apt.dispatch.scan-interval-seconds} 置 0 避免双跑。
*
* @author apt-rev01
*/
diff --git a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/apt-defaults.yml b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/apt-defaults.yml
index 881c40a..337fc3b 100644
--- a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/apt-defaults.yml
+++ b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/apt-defaults.yml
@@ -82,6 +82,10 @@ apt:
tablet-task-ttl-seconds: ${APT_TABLET_TASK_TTL_SEC:900}
# 单次扫描批大小
scan-batch-size: ${APT_SCAN_BATCH:50}
+ # 自带扫描周期(秒):叫乘/复叫时间到点发起、30s 无应答报警、应离寓超时报警
+ # 本项目 Quartz 默认停用(ScheduleConfig 注释、sys_job 未启用),故由内置调度器驱动;
+ # 若改用 sys_job 的 aptDispatchTask.scan(),请把本项置 0 避免双跑
+ scan-interval-seconds: ${APT_SCAN_INTERVAL_SEC:60}
tts-template: ${APT_TTS_TEMPLATE:CALL_ROOM}
tts-text: ${APT_TTS_TEXT:请到门口集合,准备乘车}
# ---------------------------------------------------------------------------
diff --git a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptDutyStateMapper.xml b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptDutyStateMapper.xml
index 8b27919..43ededb 100644
--- a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptDutyStateMapper.xml
+++ b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptDutyStateMapper.xml
@@ -49,14 +49,16 @@
-
UPDATE gy_jcxx
- SET hjxysj = COALESCE(hjxysj, NOW(3)),
+ SET ryzt = '5',
+ hjxysj = COALESCE(hjxysj, NOW(3)),
biz_version = biz_version + 1
WHERE gyid = #{gyid} AND jcid = #{jcid} AND deleted = 0
- AND ryzt = '1' AND finish_jc = '0' AND finish_ly = '0'
+ AND ryzt IN ('0','1','2') AND finish_jc = '0' AND finish_ly = '0'
@@ -69,6 +71,18 @@
AND ryzt = '1' AND finish_jc = '0' AND finish_ly = '0'
+
+
+ UPDATE gy_jcxx
+ SET ryzt = '4',
+ is_lybj = '1',
+ lybjsj = NOW(3),
+ biz_version = biz_version + 1
+ WHERE gyid = #{gyid} AND jcid = #{jcid} AND deleted = 0
+ AND finish_ly = '0' AND is_lybj = '0'
+
+
UPDATE gy_jcxx
SET stoped = '1',
@@ -77,9 +91,15 @@
AND ryzt IN ('1','2') AND finish_ly = '0'
+
UPDATE gy_jcxx
SET ryzt = '1',
+ finish_jc = '0',
stoped = '0',
fjsj_s = NOW(3),
+
+ UPDATE gy_jcxx
+ SET ryzt = '1',
+ jcsj_s = NOW(3),
+ fjsj_s = NOW(3),
+ biz_version = biz_version + 1
+ WHERE gyid = #{gyid} AND jcid = #{jcid} AND deleted = 0
+ AND finish_jc = '0' AND finish_ly = '0' AND stoped = '0'
+ AND ryzt <> '5'
diff --git a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptJcxxMapper.xml b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptJcxxMapper.xml
index 127ee9a..b4be4c4 100644
--- a/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptJcxxMapper.xml
+++ b/dev/RuoYi-Vue-master/ruoyi-apt/src/main/resources/mapper/apt/AptJcxxMapper.xml
@@ -14,7 +14,9 @@
j.id, j.jcid, j.jlid, j.cc, j.jch, j.ryid, j.xm AS rymc, j.fjh,
j.kcsj, j.jcsj, j.jcsj_s AS jcsjS, j.hjxysj, j.jcbjsj_s AS jcbjsjS,
- j.fjsj_s AS fjsjS, j.lybjsj, j.sjlysj,
+
+ j.fjsj, j.fjsj_s AS fjsjS, j.ylysj, j.lybjsj, j.sjlysj,
j.ryzt,
CASE j.ryzt
WHEN '0' THEN '待叫乘'
@@ -151,10 +153,18 @@
'CALL_FAILED', '无应答转叫乘报警'
FROM gy_jcxx j WHERE j.gyid = #{gyid} AND j.jcid = #{jcid} AND j.deleted = 0 AND j.jcbjsj_s IS NOT NULL
UNION ALL
+ SELECT CAST(UNIX_TIMESTAMP(j.fjsj) * 1000 AS SIGNED), j.fjsj,
+ 'RE_CALL_PLANNED', CONCAT('计划复叫时刻 ', DATE_FORMAT(j.fjsj, '%H:%i:%s'))
+ FROM gy_jcxx j WHERE j.gyid = #{gyid} AND j.jcid = #{jcid} AND j.deleted = 0 AND j.fjsj IS NOT NULL
+ UNION ALL
SELECT CAST(UNIX_TIMESTAMP(j.fjsj_s) * 1000 AS SIGNED), j.fjsj_s,
'RE_CALL', '复叫'
FROM gy_jcxx j WHERE j.gyid = #{gyid} AND j.jcid = #{jcid} AND j.deleted = 0 AND j.fjsj_s IS NOT NULL
UNION ALL
+ SELECT CAST(UNIX_TIMESTAMP(j.ylysj) * 1000 AS SIGNED), j.ylysj,
+ 'LEAVE_DUE', CONCAT('应离寓时刻 ', DATE_FORMAT(j.ylysj, '%H:%i:%s'))
+ FROM gy_jcxx j WHERE j.gyid = #{gyid} AND j.jcid = #{jcid} AND j.deleted = 0 AND j.ylysj IS NOT NULL
+ UNION ALL
SELECT CAST(UNIX_TIMESTAMP(j.hjxysj) * 1000 AS SIGNED), j.hjxysj,
'ANSWERED', '应答完成叫乘'
FROM gy_jcxx j WHERE j.gyid = #{gyid} AND j.jcid = #{jcid} AND j.deleted = 0 AND j.hjxysj IS NOT NULL
@@ -256,6 +266,17 @@
LIMIT #{limit}
+
+
+
+
+
+