using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEAWCS_Common;
|
using WIDESEAWCS_QuartzJob;
|
|
namespace WIDESEAWCS_Tasks
|
{
|
public partial class AGVsignal
|
{
|
/// <summary>
|
/// 申请进出交管区
|
/// </summary>
|
/// <param name="areaModel"></param>
|
/// <returns></returns>
|
public static object applyTrafficCtlArea(applyTrafficCtlAreaModel areaModel)
|
{
|
try
|
{
|
if (areaModel == null) throw new Exception("请求数据为空或传参格式有误");
|
if (string.IsNullOrEmpty(areaModel.areaName)) throw new Exception("交管区编号为空");
|
switch (areaModel.type)
|
{
|
case 1:
|
AGVApplyIn(areaModel);
|
break;
|
case 2:
|
AGVApplyOut(areaModel);
|
break;
|
default:
|
throw new Exception($"未定义申请类型[type:{areaModel.type}]");
|
}
|
}
|
catch (Exception ex)
|
{
|
return new { code = 400, message = ex.Message };
|
}
|
return new { code = 200, message = "success" };
|
}
|
|
public static void AGVApplyIn(applyTrafficCtlAreaModel areaModel)
|
{
|
try
|
{
|
CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == areaModel.areaName) as CommonConveyorLine;
|
if (conveyorLine == null) throw new Exception("未找到输送线设备信息");
|
if (!conveyorLine.IsConnected) throw new Exception($"输送线设备通讯异常");
|
}
|
catch (Exception ex)
|
{
|
throw new Exception(ex.Message);
|
}
|
}
|
|
public static void AGVApplyOut(applyTrafficCtlAreaModel areaModel)
|
{
|
try
|
{
|
CommonConveyorLine? conveyorLine = Storage.Devices.FirstOrDefault(x => x.DeviceName == "输送线") as CommonConveyorLine;
|
if (conveyorLine == null) throw new Exception("未找到输送线设备信息");
|
if (!conveyorLine.IsConnected) throw new Exception($"输送线设备通讯异常");
|
}
|
catch (Exception ex)
|
{
|
throw new Exception(ex.Message);
|
}
|
}
|
}
|
}
|