|
|
@@ -2,6 +2,7 @@
|
|
|
using System.Collections;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
+using System.Security.Cryptography.X509Certificates;
|
|
|
using System.Threading;
|
|
|
using System.Threading.Tasks;
|
|
|
using FluentResults;
|
|
|
@@ -17,7 +18,6 @@ using OHV.Common.Shareds;
|
|
|
using OHV.SqliteDAL;
|
|
|
using Prism.Events;
|
|
|
using VehicleControlSystem.ControlLayer.Actuator.Cylinder;
|
|
|
-using VehicleControlSystem.ControlLayer.DB;
|
|
|
using VehicleControlSystem.ControlLayer.Drive;
|
|
|
using VehicleControlSystem.ControlLayer.IO;
|
|
|
using VehicleControlSystem.ControlLayer.MQ;
|
|
|
@@ -73,7 +73,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
{
|
|
|
if ( SetField( ref this.currentTag, value ) )
|
|
|
{
|
|
|
- var info = sql.VehicleInfoDAL.GetInfo();
|
|
|
+ var info = sql.VehicleInfoDAL.GetAll().FirstOrDefault();
|
|
|
info.CurrentTag = value.ToString();
|
|
|
sql.VehicleInfoDAL.Update( info );
|
|
|
|
|
|
@@ -167,7 +167,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
{
|
|
|
if ( SetField( ref this.vehicleState, value ) )
|
|
|
{
|
|
|
- var info = sql.VehicleInfoDAL.GetInfo();
|
|
|
+ var info = sql.VehicleInfoDAL.GetAll().FirstOrDefault();
|
|
|
info.VehicleState = value;
|
|
|
sql.VehicleInfoDAL.Update( info );
|
|
|
}
|
|
|
@@ -182,7 +182,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
{
|
|
|
if ( SetField( ref this.machineMode, value ) )
|
|
|
{
|
|
|
- var info = sql.VehicleInfoDAL.GetInfo();
|
|
|
+ var info = sql.VehicleInfoDAL.GetAll().FirstOrDefault();
|
|
|
info.MachineMode = value;
|
|
|
sql.VehicleInfoDAL.Update( info );
|
|
|
}
|
|
|
@@ -618,7 +618,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
ThreadStart();
|
|
|
|
|
|
//TimerUtils.Once(5000, () => { this.CurrentPosition = 1000; });
|
|
|
- var v = sql.VehicleInfoDAL.GetInfo();
|
|
|
+ var v = sql.VehicleInfoDAL.GetAll().FirstOrDefault();
|
|
|
v.CurrentTag = "0000";
|
|
|
v.VehicleState = eVehicleState.None;
|
|
|
v.MachineMode = eMachineMode.LocalMode;
|
|
|
@@ -689,7 +689,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
var reply = new DriveControlEventArgs();
|
|
|
|
|
|
int targetTag = args.TargetRouteID;
|
|
|
- var route = sql.RouteDal.GetK( targetTag );
|
|
|
+ var route = sql.RouteDal.Get( x => x.Name.Equals( targetTag ) ).FirstOrDefault();
|
|
|
if ( route == null )
|
|
|
{
|
|
|
reply.Result = Results.Fail( "Not Found Route" );
|
|
|
@@ -834,10 +834,10 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
if ( this.autoManager.AutoModeStateProperty != eAutoModeState.Run ) //
|
|
|
continue;
|
|
|
|
|
|
- var subCmd = sql.SubCmdDAL.GetSubCmd();
|
|
|
+ var subCmd = sql.SubCmdDAL.GetAll().FirstOrDefault();
|
|
|
if ( subCmd == null ) continue;
|
|
|
|
|
|
- if ( !sql.CommandDAL.All.Any( x => x.CommandID.Equals( subCmd.CmdID ) ) )
|
|
|
+ if ( !sql.CommandDAL.GetAll().Any( x => x.CommandID.Equals( subCmd.CmdID ) ) )
|
|
|
{
|
|
|
if ( subCmd.CmdType == SubCmd.eCmdType.Auto ) //자동 명령중 Main Command 가 없으면 삭제.
|
|
|
{
|
|
|
@@ -933,7 +933,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
{
|
|
|
this.OnMoveReady?.Invoke();
|
|
|
|
|
|
- var moveReadyBuzzerTime = sql.ConfigDal.GetValueToInt( ConstString.BuzzerStartReadyTime );
|
|
|
+ var moveReadyBuzzerTime = CastTo<int>.From<string>( sql.ConfigDal.GetById( ConstString.BuzzerStartReadyTime ).Value );
|
|
|
Thread.Sleep( moveReadyBuzzerTime );
|
|
|
|
|
|
this.VehicleStateProperty = eVehicleState.Move;
|
|
|
@@ -989,10 +989,10 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
|
|
|
//Todo: 이동중 명령이 삭제 되면 처리 할일들.
|
|
|
//이동중 메인 명력이 없어진다면 정지 후
|
|
|
- if ( !sql.CommandDAL.HasK( this.CurrentSubCommand.CmdID ) )
|
|
|
+ if ( null == sql.CommandDAL.GetById( this.CurrentSubCommand.CmdID ) )
|
|
|
{
|
|
|
logger.D( "[Wait Move Done] - 메인 명령 사라짐" );
|
|
|
- var cmd = sql.CommandDAL.GetCmd();
|
|
|
+ var cmd = sql.CommandDAL.GetAll();
|
|
|
if ( cmd == null )
|
|
|
{
|
|
|
logger.D( "[Wait Move Done] - Main Command not Exist Motion Stop" );
|
|
|
@@ -1047,7 +1047,6 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
|
|
|
int result = 0;
|
|
|
|
|
|
-
|
|
|
result = this.PIOAndLoad( sub.TargetID );
|
|
|
if ( result != 0 )
|
|
|
{
|
|
|
@@ -1057,16 +1056,10 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
}
|
|
|
this.PIOSensorOff();
|
|
|
|
|
|
- //PIO 내부 이동.
|
|
|
- //result = this.clamp.Lock_Sync();
|
|
|
- //if ( result != 0 )
|
|
|
- //{
|
|
|
- // this.OccurVehicleAlarm( result );
|
|
|
- // return false;
|
|
|
- //}
|
|
|
-
|
|
|
//Load, Unload 가 끝나면 메인 Command 를 완료 했다고 판단.
|
|
|
- sql.CommandDAL.UpdateState( sub.CmdID, eCommandState.Complete );
|
|
|
+ var cmd = sql.CommandDAL.GetById( sub.CmdID );
|
|
|
+ cmd.State = eCommandState.Complete;
|
|
|
+ sql.CommandDAL.Update(cmd);
|
|
|
sql.SubCmdDAL.Clean();
|
|
|
|
|
|
LockUtils.Wait( 1000 );
|
|
|
@@ -1114,7 +1107,9 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
|
|
|
this.PIOSensorOff();
|
|
|
|
|
|
- sql.CommandDAL.UpdateState( sub.CmdID, eCommandState.Complete );
|
|
|
+ var cmd = sql.CommandDAL.GetById( sub.CmdID );
|
|
|
+ cmd.State = eCommandState.Complete;
|
|
|
+ sql.CommandDAL.Update(cmd);
|
|
|
sql.SubCmdDAL.Clean();
|
|
|
|
|
|
LockUtils.Wait( 1000 );
|
|
|
@@ -1129,8 +1124,10 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
int result = 0;
|
|
|
result = this.StartBatteryCharge();
|
|
|
|
|
|
- sql.CommandDAL.UpdateState( subCmd.CmdID, eCommandState.Complete );
|
|
|
- sql.SubCmdDAL.Delete( subCmd );
|
|
|
+ var cmd = sql.CommandDAL.GetById( subCmd.CmdID );
|
|
|
+ cmd.State = eCommandState.Complete;
|
|
|
+ sql.CommandDAL.Update( cmd );
|
|
|
+ sql.SubCmdDAL.Clean();
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -1141,7 +1138,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
/// <returns></returns>
|
|
|
int PIOBatteryCharge( SubCmd sub )
|
|
|
{
|
|
|
- var route = sql.RouteDal.GetRoute( sub.TargetID );
|
|
|
+ var route = sql.RouteDal.GetById( sub.TargetID );
|
|
|
|
|
|
if ( !CorrectPosition( route, this.CurrentPosition ) )
|
|
|
{
|
|
|
@@ -1149,7 +1146,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
return 0; //Alarm
|
|
|
}
|
|
|
|
|
|
- var pioTimeout = sql.ConfigDal.GetValueToInt( ConstString.PIOTimeOut );
|
|
|
+ var pioTimeout = CastTo<int>.From<string>( sql.ConfigDal.GetById( ConstString.PIOTimeOut ).Value );
|
|
|
|
|
|
PIOClear();
|
|
|
loggerPIO.I( $"Start Charge PIO - [{sub.TargetID}]" );
|
|
|
@@ -1182,7 +1179,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
if ( !this.refObjects.IO.IsOn( "IN_PIO_READY" ) || this.refObjects.IO.IsOn( "IN_PIO_RECEIVE_RUN" ) )
|
|
|
break;
|
|
|
|
|
|
- if ( !sql.CommandDAL.HasK( this.CurrentSubCommand.CmdID ) )
|
|
|
+ if ( null == sql.CommandDAL.GetById( this.CurrentSubCommand.CmdID ) )
|
|
|
{
|
|
|
PIOClear();
|
|
|
logger.D( "[Wait Charging] - 메인 명령 사라짐" );
|
|
|
@@ -1212,7 +1209,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
#if SIMULATION
|
|
|
this.PIOSensorOn();
|
|
|
|
|
|
- var pioTimeout = sql.ConfigDal.GetValueToInt( ConstString.PIOTimeOut );
|
|
|
+ var pioTimeout = CastTo<int>.From<string>( sql.ConfigDal.GetById( ConstString.PIOTimeOut ).Value );
|
|
|
|
|
|
PIOClear();
|
|
|
loggerPIO.I( $"Start Battery Charge PIO" );
|
|
|
@@ -1289,7 +1286,7 @@ namespace VehicleControlSystem.ControlLayer
|
|
|
#if SIMULATION
|
|
|
loggerPIO.I( $"Stop Battery Charge PIO" );
|
|
|
|
|
|
- var pioTimeout = sql.ConfigDal.GetValueToInt( ConstString.PIOTimeOut );
|
|
|
+ var pioTimeout = CastTo<int>.From<string>( sql.ConfigDal.GetById( ConstString.PIOTimeOut ).Value );
|
|
|
|
|
|
this.PIOClear();
|
|
|
|