From d553a4be94d4f6ee162cc353a28b220403909cfc Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期六, 03 十月 2026 00:58:19 +0800
Subject: [PATCH] ai优化
---
src/api/ecg/queuesequence/index.ts | 95 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 87 insertions(+), 8 deletions(-)
diff --git a/src/api/ecg/queuesequence/index.ts b/src/api/ecg/queuesequence/index.ts
index 4490d6d..39f400b 100644
--- a/src/api/ecg/queuesequence/index.ts
+++ b/src/api/ecg/queuesequence/index.ts
@@ -1,14 +1,32 @@
import request from '@/config/axios'
-// 鎺掗槦 VO
+/**
+ * 棰勭害鏃舵瑙勫垯锛坬ueue_sequence 琛級
+ *
+ * 涓氬姟璇存槑锛�
+ * 璇ヨ〃璁板綍**姣忎釜妫�鏌ラ」鐩湪姣忎釜棰勭害鏃舵鐨勫彇鍙疯鍒�**锛�
+ * 路 queueSet / queueFull 鈥斺�� 鏅�氭偅鑰呭湪璇ユ椂娈电殑銆岃捣濮嬪簭鍙枫�嶄笌銆屽簭鍙蜂笂闄愩��
+ * 路 queueNo 鈥斺�� 褰撳墠宸插彂鍒板嚑鍙凤紙鍙栧彿鏃朵粠姝ゅ�煎線鍚庡彂锛�
+ * 路 vip 涓変釜瀛楁鍚岀悊
+ *
+ * 璇ヨ〃**鍘熶负姣忓ぉ鑷姩鐢熸垚**锛岀幇宸叉敼涓�**鎵嬪伐缁存姢**锛堟晠闇�瑕佺淮鎶ょ晫闈級銆�
+ * 娉ㄦ剰锛氭瘡鏃ラ噸缃粛鍦ㄨ繍琛岋紙`QueueSequenceMapper#initNumber` 浼氭妸
+ * `queue_no` 閲嶇疆鍥� `queue_set`锛夛紝鎵�浠ョ淮鎶ゆ椂**涓昏鏀� queueSet / queueFull**銆�
+ *
+ * 鏃舵鍊� timeSlot 涓� `HHMMHHMM` 褰㈠紡锛屽 `8000830` 琛ㄧず `08:00-08:30`
+ * 锛堝皬鏃朵笉琛ラ浂锛屾晠 800 鍗� 08:00锛夈�傚彲鐢ㄤ笅鏂� formatTimeSlot / parseTimeSlot 杞崲銆�
+ */
export interface QueueSequenceVO {
- id: number // id
- checkType: number // 棰勭害妫�鏌ョ被鍨�
- timeSlot: number
- queueNo: number
- queueVipNo: number
- queueFull: number
- queueVipFull: number
+ id?: number // id锛堟柊澧炴椂鐣欑┖锛�
+ checkType?: number // 妫�鏌ラ」鐩紙check_type.value锛�
+ timeSlot?: number // 鏃舵锛圚HMMHHMM锛�
+ queueNo?: number // 鏅�氾細褰撳墠搴忓彿
+ queueSet?: number // 鏅�氾細璧峰搴忓彿锛堟瘡鏃ラ噸缃洖鍒版鍊硷級
+ queueVipNo?: number // vip锛氬綋鍓嶅簭鍙�
+ queueVipSet?: number // vip锛氳捣濮嬪簭鍙�
+ queueFull?: number // 鏅�氾細搴忓彿涓婇檺
+ queueVipFull?: number // vip锛氬簭鍙蜂笂闄�
+ createTime?: Date
}
// 鎺掗槦 API
@@ -17,7 +35,68 @@
// 鑾峰緱褰撳ぉ鏈弧鐨刅IP鏃堕棿娈�
getTimeslotByCheckType: async (checkType: number) => {
return await request.get({ url: `/ecg/queue-sequence/get-timeslot-by-checktype?checkType=` + checkType })
+ },
+
+ // ==================== 棰勭害鏃舵缁存姢锛堝 / 鍒� / 鏀� / 鏌ワ級 ====================
+
+ /** 鍒嗛〉鏌ヨ棰勭害鏃舵瑙勫垯 */
+ getQueueSequencePage: async (params: any) => {
+ return await request.get({ url: `/ecg/queue-sequence/page`, params })
+ },
+
+ /** 鏌ヨ鍗曟潯棰勭害鏃舵瑙勫垯 */
+ getQueueSequence: async (id: number) => {
+ return await request.get({ url: `/ecg/queue-sequence/get?id=` + id })
+ },
+
+ /** 鏂板棰勭害鏃舵瑙勫垯 */
+ createQueueSequence: async (data: QueueSequenceVO) => {
+ return await request.post({ url: `/ecg/queue-sequence/create`, data })
+ },
+
+ /** 淇敼棰勭害鏃舵瑙勫垯 */
+ updateQueueSequence: async (data: QueueSequenceVO) => {
+ return await request.put({ url: `/ecg/queue-sequence/update`, data })
+ },
+
+ /** 鍒犻櫎棰勭害鏃舵瑙勫垯 */
+ deleteQueueSequence: async (id: number) => {
+ return await request.delete({ url: `/ecg/queue-sequence/delete?id=` + id })
}
}
+/**
+ * 鎶� `HHMMHHMM` 褰㈠紡鐨勬椂娈靛�兼牸寮忓寲涓� `HH:mm-HH:mm`銆�
+ *
+ * 渚嬶細8000830 鈫� "08:00-08:30"锛�13301400 鈫� "13:30-14:00"
+ * 鏃犳硶瑙f瀽鏃跺師鏍疯繑鍥炲瓧绗︿覆銆�
+ */
+export function formatTimeSlot(timeSlot?: number | null): string {
+ if (timeSlot === null || timeSlot === undefined) return '-'
+ const s = String(timeSlot)
+ if (!/^\d{5,8}$/.test(s)) return s
+ // 绾﹀畾锛氭渶鍚� 4 浣嶄负缁撴潫 HHmm锛屽叾浣欎负寮�濮� HHmm
+ const endPart = s.slice(-4)
+ const startPart = s.slice(0, s.length - 4)
+ const fmt = (p: string): string => {
+ if (p.length < 3) return p
+ const mm = p.slice(-2)
+ const hh = p.slice(0, p.length - 2)
+ return `${hh.padStart(2, '0')}:${mm}`
+ }
+ return `${fmt(startPart)}-${fmt(endPart)}`
+}
+
+/**
+ * 鎶� `HH:mm-HH:mm` 瑙f瀽鍥� `HHMMHHMM` 鏁板�笺��
+ * 渚嬶細"08:00-08:30" 鈫� 8000830
+ * 瑙f瀽澶辫触杩斿洖 undefined銆�
+ */
+export function parseTimeSlot(text?: string | null): number | undefined {
+ if (!text) return undefined
+ const m = String(text).trim().match(/^(\d{1,2}):(\d{2})\s*-\s*(\d{1,2}):(\d{2})$/)
+ if (!m) return undefined
+ const [, h1, m1, h2, m2] = m
+ return Number(`${Number(h1)}${m1}${Number(h2)}${m2}`)
+}
--
Gitblit v1.9.3