diff --git a/app/src/main/java/com/example/medilightv2android/models/ClinicalSession.kt b/app/src/main/java/com/example/medilightv2android/models/ClinicalSession.kt index f8d84c7..b73a30d 100644 --- a/app/src/main/java/com/example/medilightv2android/models/ClinicalSession.kt +++ b/app/src/main/java/com/example/medilightv2android/models/ClinicalSession.kt @@ -30,9 +30,8 @@ enum class SubjectType(val label: String) { } /** - * 측정 단계. - * - ALIGN_0CM ~ ALIGN_4CM: 정렬모드 알고리즘 개발용 (기기 아래 끝 기준 치골 위 0~4cm) - * - BV: cradle 부착 후 본측정 (방광 추정 알고리즘 개발용) + * 측정 단계 — 회의 결정으로 BV 제거. 정렬모드 알고리즘 개발용 5단계만. + * - ALIGN_0CM ~ ALIGN_4CM: 기기 아래 끝 기준 치골 위 0~4cm */ enum class ClinicalStep(val label: String, val description: String, val isAlignment: Boolean) { ALIGN_0CM("0 cm", "기기 아래 끝이 치골 바로 위", true), @@ -40,7 +39,6 @@ enum class ClinicalStep(val label: String, val description: String, val isAlignm ALIGN_2CM("2 cm", "치골 위로 2 cm", true), ALIGN_3CM("3 cm", "치골 위로 3 cm", true), ALIGN_4CM("4 cm", "치골 위로 4 cm", true), - BV("BV", "Cradle 부착 후 본측정", false) } data class ClinicalSession( diff --git a/app/src/main/java/com/example/medilightv2android/services/ClinicalSessionStore.kt b/app/src/main/java/com/example/medilightv2android/services/ClinicalSessionStore.kt index c764bde..e478dad 100644 --- a/app/src/main/java/com/example/medilightv2android/services/ClinicalSessionStore.kt +++ b/app/src/main/java/com/example/medilightv2android/services/ClinicalSessionStore.kt @@ -55,6 +55,11 @@ object ClinicalSessionStore { com.example.medilightv2android.models.SubjectType.PHANTOM var lastTrueVolumeMl: String = "" // 문자열로 보관 (입력 폼과 동일 형식) var lastAbdomenThicknessMm: String = "" + // 회의 결정: Step/Posture 마지막 선택 유지 — 매번 0cm로 리셋되는 불편 제거 + var lastPosture: com.example.medilightv2android.models.ClinicalPosture = + com.example.medilightv2android.models.ClinicalPosture.SUPINE + var lastStep: com.example.medilightv2android.models.ClinicalStep = + com.example.medilightv2android.models.ClinicalStep.ALIGN_0CM /** End 시점에 measurement.json 통합 생성용 — 측정 중 사이클 누적 */ private val cyclesBuffer = mutableListOf() @@ -66,6 +71,8 @@ object ClinicalSessionStore { lastSubjectType = session.subjectType lastTrueVolumeMl = session.trueVolumeMl?.toString() ?: "" lastAbdomenThicknessMm = session.abdomenThicknessMm?.toString() ?: "" + lastPosture = session.posture + lastStep = session.step cyclesBuffer.clear() currentLogDir()?.mkdirs() writeMeta(context) diff --git a/app/src/main/java/com/example/medilightv2android/ui/views/clinical/ClinicalHomeView.kt b/app/src/main/java/com/example/medilightv2android/ui/views/clinical/ClinicalHomeView.kt index d20e456..bb44ee9 100644 --- a/app/src/main/java/com/example/medilightv2android/ui/views/clinical/ClinicalHomeView.kt +++ b/app/src/main/java/com/example/medilightv2android/ui/views/clinical/ClinicalHomeView.kt @@ -59,8 +59,9 @@ fun ClinicalHomeView(appState: AppState) { } // 라벨 입력 state — 마지막 입력값 기억 (Store에서 자동 채움) - var posture by remember { mutableStateOf(ClinicalPosture.SUPINE) } - var step by remember { mutableStateOf(ClinicalStep.ALIGN_0CM) } + // 마지막 선택값 유지 — 매 측정마다 0cm/SUPINE으로 리셋되는 불편 제거 (회의 결정) + var posture by remember { mutableStateOf(ClinicalSessionStore.lastPosture) } + var step by remember { mutableStateOf(ClinicalSessionStore.lastStep) } var examiner by remember { mutableStateOf(ClinicalSessionStore.lastExaminer) } var notes by remember { mutableStateOf(ClinicalSessionStore.lastNotes) } // 측정 대상 분류 (회의 결정: Phantom/Human/ETC 버튼)