공차등록/운행알림 기능 개선 - vehicles 테이블 출발지/도착지 저장 및 운행종료 시 초기화

This commit is contained in:
dohyeons
2025-12-09 16:38:47 +09:00
parent 2479e3a0c4
commit 94b371ca0f
2 changed files with 65 additions and 4 deletions

View File

@@ -3818,6 +3818,7 @@ export class ButtonActionExecutor {
const keyValue = resolveSpecialKeyword(config.trackingStatusKeySourceField || "__userId__", context);
if (keyValue) {
// 상태 업데이트
await apiClient.put("/dynamic-form/update-field", {
tableName: statusTableName,
keyField: keyField,
@@ -3826,6 +3827,37 @@ export class ButtonActionExecutor {
updateValue: config.trackingStatusOnStart,
});
console.log("✅ 상태 변경 완료:", config.trackingStatusOnStart);
// 🆕 출발지/도착지도 vehicles 테이블에 저장
if (departure) {
try {
await apiClient.put("/dynamic-form/update-field", {
tableName: statusTableName,
keyField: keyField,
keyValue: keyValue,
updateField: "departure",
updateValue: departure,
});
console.log("✅ 출발지 저장 완료:", departure);
} catch {
// 컬럼이 없으면 무시
}
}
if (arrival) {
try {
await apiClient.put("/dynamic-form/update-field", {
tableName: statusTableName,
keyField: keyField,
keyValue: keyValue,
updateField: "arrival",
updateValue: arrival,
});
console.log("✅ 도착지 저장 완료:", arrival);
} catch {
// 컬럼이 없으면 무시
}
}
}
} catch (statusError) {
console.warn("⚠️ 상태 변경 실패:", statusError);
@@ -4032,6 +4064,23 @@ export class ButtonActionExecutor {
updateValue: effectiveConfig.trackingStatusOnStop,
});
console.log("✅ 상태 변경 완료:", effectiveConfig.trackingStatusOnStop);
// 🆕 운행 종료 시 vehicles 테이블의 출발지/도착지/위도/경도를 null로 초기화
const fieldsToReset = ["departure", "arrival", "latitude", "longitude"];
for (const field of fieldsToReset) {
try {
await apiClient.put("/dynamic-form/update-field", {
tableName: statusTableName,
keyField: keyField,
keyValue: keyValue,
updateField: field,
updateValue: null,
});
} catch {
// 컬럼이 없으면 무시
}
}
console.log("✅ 출발지/도착지/위도/경도 초기화 완료");
}
} catch (statusError) {
console.warn("⚠️ 상태 변경 실패:", statusError);