From 1f096af76bf2398348c12fe3d3144cdd7c762985 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 20 十月 2024 23:34:20 +0800
Subject: [PATCH] fix find move dir

---
 repository/captureRepo.go |   48 ++++++++++++++++++++++++++++--------------------
 1 files changed, 28 insertions(+), 20 deletions(-)

diff --git a/repository/captureRepo.go b/repository/captureRepo.go
index 73f0347..92d391c 100644
--- a/repository/captureRepo.go
+++ b/repository/captureRepo.go
@@ -3,6 +3,8 @@
 import (
 	"encoding/base64"
 	"encoding/json"
+	"strconv"
+	"strings"
 	"time"
 
 	"gat1400Exchange/client"
@@ -218,16 +220,8 @@
 		floor = runState.Floor
 
 		for i := 0; i < config.NVCSConf.WaitRunTime; i++ {
-			if runState = nvcs.FindMovePosition(faceAppearTime.Unix()+3, floor); runState.Floor != "" {
-				switch runState.RunState {
-				case nvcs.RunUp:
-					runDir = "in"
-				case nvcs.RunDown:
-					runDir = "out"
-				case nvcs.RunStop:
-					runDir = ""
-				}
-
+			if runState = nvcs.CurrentRunState(); runState.Floor != "" && runState.Floor != floor {
+				runDir = compareFloor(floor, runState.Floor)
 				break
 			}
 
@@ -279,16 +273,8 @@
 		floor = runState.Floor
 
 		for i := 0; i < config.NVCSConf.WaitRunTime; i++ {
-			if runState = nvcs.FindMovePosition(faceAppearTime.Unix()+3, floor); runState.Floor != "" {
-				switch runState.RunState {
-				case nvcs.RunUp:
-					runDir = "in"
-				case nvcs.RunDown:
-					runDir = "out"
-				case nvcs.RunStop:
-					runDir = ""
-				}
-
+			if runState = nvcs.CurrentRunState(); runState.Floor != "" && runState.Floor != floor {
+				runDir = compareFloor(floor, runState.Floor)
 				break
 			}
 
@@ -355,3 +341,25 @@
 		logger.Warn(err.Error())
 	}
 }
+
+func compareFloor(str1, str2 string) string {
+	// 鍘绘帀瀛楃涓叉渶鍚庝竴涓瓧绗� 'F'
+	numStr1 := strings.TrimSuffix(str1, "F")
+	numStr2 := strings.TrimSuffix(str2, "F")
+
+	// 杞崲涓� int 绫诲瀷
+	num1, err1 := strconv.Atoi(numStr1)
+	num2, err2 := strconv.Atoi(numStr2)
+
+	// 妫�鏌ヨ浆鎹㈡槸鍚︽垚鍔�
+	if err1 != nil || err2 != nil {
+		return ""
+	}
+
+	// 姣旇緝涓や釜鏁存暟鐨勫ぇ灏�
+	if num1 > num2 {
+		return "out"
+	} else {
+		return "in"
+	}
+}

--
Gitblit v1.8.0