AutoRun OFF 시 Lock 해제 현상 수정

This commit is contained in:
최민영 2026-03-17 19:59:43 +09:00
parent 15785353c1
commit d22baebb84

View File

@ -91,10 +91,18 @@ namespace ILSOS_CCW_H52A {
seq.RunStateChanged += AutoRunSeq_RunStateChanged; seq.RunStateChanged += AutoRunSeq_RunStateChanged;
} }
private const ushort LogOut = 65535; // CMY - 급해서 해두긴 했는데 더 좋은 방향으로 바꾸어야함
private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e) private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e)
{ {
//AutoRun 상황에서 Recipe Save Lock //AutoRun 상황에서 Recipe Save Lock
AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, e.state != SequenceRunState.Idle); bool RecipeLockEnable = e.state != SequenceRunState.Idle;
if (ApplicationExt.PermissionLevel == LogOut) {
AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, true);
RecipeLockEnable = true; // CMY - LogOut 되어 있으면 무조건 락
} else
AuroraEnv.RecipeManager.SaveLock(CommonRecipeIds.ScannerObjectTeaching, RecipeLockEnable);
bool AutoRunState = e.state == SequenceRunState.Running; bool AutoRunState = e.state == SequenceRunState.Running;
Application.Current.Dispatcher.Invoke(() => { Application.Current.Dispatcher.Invoke(() => {
if (AutoRunState) if (AutoRunState)
@ -102,17 +110,17 @@ namespace ILSOS_CCW_H52A {
else else
WeldingRecipeManager.ReloadWeldingRecipe(WeldingRecipeManager.SelectedRecipe.name); WeldingRecipeManager.ReloadWeldingRecipe(WeldingRecipeManager.SelectedRecipe.name);
_UCRecipe.IsEnabled = e.state != SequenceRunState.Running; if (RecipeLockEnable == false || e.state == SequenceRunState.Running) {
_UCRecipe.IsEnabled = e.state != SequenceRunState.Running; // CMY - Recipe Lock을 풀 조건이 아니면 Enable은 건드리지 않는다.
}
}); if (RecipeLockEnable)
Application.Current.Dispatcher.Invoke(() => {
if (AutoRunState)
Log.E($"AutoRun Start. Recipe Lock Enable True"); Log.E($"AutoRun Start. Recipe Lock Enable True");
else else
Log.E("AutoRun End. Recipe Lock Enable False"); Log.E("AutoRun End. Recipe Lock Enable False");
}); });
} }
private void OnPermissionChanged(EventMessage message) private void OnPermissionChanged(EventMessage message)
{ {
bool permissionOn = ApplicationExt.PermissionLevel <= (ushort)PermissionLevel.LEVEL3; bool permissionOn = ApplicationExt.PermissionLevel <= (ushort)PermissionLevel.LEVEL3;