|
@@ -46,6 +46,27 @@ namespace Terminal
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 从终端结构体中获得车牌号
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="ts"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private string GetLicenseFromTerm(TerminalStru ts)
|
|
|
+ {
|
|
|
+ string header = Encoding.ASCII.GetString(BitConverter.GetBytes(ts.licenseCodeB));
|
|
|
+ string identityA = Encoding.ASCII.GetString(BitConverter.GetBytes(ts.licenseCodeC));
|
|
|
+ byte[] bytes = BitConverter.GetBytes(ts.licenseCodeD);
|
|
|
+ List<byte> newBytes = new List<byte>();
|
|
|
+ for (int i = 0; i < bytes.Length; i++)
|
|
|
+ {
|
|
|
+ if (bytes[i] != 0x00) { newBytes.Add(bytes[i]); }
|
|
|
+ }
|
|
|
+ string identityB = Encoding.ASCII.GetString(newBytes.ToArray());
|
|
|
+ return header + identityA + identityB;
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 更新所有车位信息
|
|
|
+ /// </summary>
|
|
|
private void UpdateAllParkingSpace()
|
|
|
{
|
|
|
string findParkingSpace = "select parkingSpaceID from parkingspace;";
|
|
@@ -80,25 +101,12 @@ namespace Terminal
|
|
|
insertSpaceList.Add(insertParkingSpace);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- }
|
|
|
- /// <summary>
|
|
|
- /// 从终端结构体中获得车牌号
|
|
|
- /// </summary>
|
|
|
- /// <param name="ts"></param>
|
|
|
- /// <returns></returns>
|
|
|
- private string GetLicenseFromTerm(TerminalStru ts)
|
|
|
- {
|
|
|
- string header = Encoding.ASCII.GetString(BitConverter.GetBytes(ts.licenseCodeB));
|
|
|
- string identityA = Encoding.ASCII.GetString(BitConverter.GetBytes(ts.licenseCodeC));
|
|
|
- byte[] bytes = BitConverter.GetBytes(ts.licenseCodeD);
|
|
|
- List<byte> newBytes = new List<byte>();
|
|
|
- for (int i = 0; i < bytes.Length; i++)
|
|
|
+ try
|
|
|
{
|
|
|
- if (bytes[i] != 0x00) { newBytes.Add(bytes[i]); }
|
|
|
+ Monitor.Monitor.localDBOper.UpdateTransaction(updateSpaceList);
|
|
|
+ Monitor.Monitor.localDBOper.Insert(insertSpaceList);
|
|
|
}
|
|
|
- string identityB = Encoding.ASCII.GetString(newBytes.ToArray());
|
|
|
- return header + identityA + identityB;
|
|
|
+ catch (Exception e) { Console.WriteLine("更新本地所有车位异常"+e.Message); }
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// 更新车辆状态
|
|
@@ -255,25 +263,10 @@ namespace Terminal
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
- /// 停车相关操作
|
|
|
- /// 1.读取到号牌机启动指令,启动号牌机并根据是否注册用户进行操作
|
|
|
- /// 非注册拿到号牌后记录并告知plc
|
|
|
- /// 注册用户,核对号牌与用户关联信息
|
|
|
- /// 2.停车流程结束,写数据库
|
|
|
+ /// 停车流程,收到PLC停车完成信号后操作过程
|
|
|
/// </summary>
|
|
|
- private void ParkProcess()
|
|
|
+ private void ParkCompleteSubProcess()
|
|
|
{
|
|
|
- //1.号牌机启动
|
|
|
- Task.Factory.StartNew(() =>
|
|
|
- {
|
|
|
- while (!isClosing)
|
|
|
- {
|
|
|
- ParkNumSubProcess();
|
|
|
- Thread.Sleep(Monitor.Monitor.plcRefreshInterval);
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- //2.停车流程结束
|
|
|
int processAttrib = Monitor.Monitor.mainBlockInfo.parkingRunning;
|
|
|
int processCompleted = Monitor.Monitor.mainBlockInfo.processCompleted;
|
|
|
int currentTerm = Monitor.Monitor.mainBlockInfo.terminalID;
|
|
@@ -322,8 +315,8 @@ namespace Terminal
|
|
|
try { parkingRecordsID = reader.GetInt32("parkingRecordsID"); } catch (Exception) { break; };
|
|
|
//更新本地车辆表
|
|
|
UpdateVehicle(license, parkingRecordsID, 1, true, false);
|
|
|
-
|
|
|
-
|
|
|
+ //更新本地车位
|
|
|
+ UpdateAllParkingSpace();
|
|
|
//注册用户加入云端操作
|
|
|
if (term.btnStatus == 0)
|
|
|
{
|
|
@@ -334,6 +327,37 @@ namespace Terminal
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 停车相关操作
|
|
|
+ /// 1.读取到号牌机启动指令,启动号牌机并根据是否注册用户进行操作
|
|
|
+ /// 非注册拿到号牌后记录并告知plc
|
|
|
+ /// 注册用户,核对号牌与用户关联信息
|
|
|
+ /// 2.停车流程结束,写数据库
|
|
|
+ /// </summary>
|
|
|
+ private void ParkProcess()
|
|
|
+ {
|
|
|
+ //1.号牌机启动
|
|
|
+ Task.Factory.StartNew(() =>
|
|
|
+ {
|
|
|
+ while (!isClosing)
|
|
|
+ {
|
|
|
+ ParkNumSubProcess();
|
|
|
+ Thread.Sleep(Monitor.Monitor.plcRefreshInterval);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ Task.Factory.StartNew(()=> {
|
|
|
+ while (!isClosing)
|
|
|
+ {
|
|
|
+ ParkCompleteSubProcess();
|
|
|
+ Thread.Sleep(Monitor.Monitor.plcRefreshInterval);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 取车相关操作
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
private void FetchProcess()
|
|
|
{
|
|
|
|
|
@@ -341,10 +365,10 @@ namespace Terminal
|
|
|
|
|
|
public void Start()
|
|
|
{
|
|
|
- Task.Factory.StartNew(() =>
|
|
|
- {
|
|
|
+ //Task.Factory.StartNew(() =>
|
|
|
+ //{
|
|
|
|
|
|
- });
|
|
|
+ //});
|
|
|
}
|
|
|
|
|
|
public void Stop()
|