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;
}
private const ushort LogOut = 65535; // CMY - 급해서 해두긴 했는데 더 좋은 방향으로 바꾸어야함
private void AutoRunSeq_RunStateChanged(object sender, (string sequenceId, SequenceRunState state) e)
{
//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;
Application.Current.Dispatcher.Invoke(() => {
if (AutoRunState)
@ -102,17 +110,17 @@ namespace ILSOS_CCW_H52A {
else
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은 건드리지 않는다.
}
});
Application.Current.Dispatcher.Invoke(() => {
if (AutoRunState)
if (RecipeLockEnable)
Log.E($"AutoRun Start. Recipe Lock Enable True");
else
Log.E("AutoRun End. Recipe Lock Enable False");
});
}
private void OnPermissionChanged(EventMessage message)
{
bool permissionOn = ApplicationExt.PermissionLevel <= (ushort)PermissionLevel.LEVEL3;