using PlcSiemens.Core.Extension;
using ServiceCenter.Logs;
using WCS.Core;
using WCS.Entity.Protocol.BCR;
namespace WCS.WorkEngineering.Extensions
{
///
/// BCR扩展
///
public class BCR : Device
{
///
/// BCR扩展
///
///
///
public BCR(Device device, World world) : base(device, world)
{
}
///
/// 获取BCR码
///
///
public string GetBCRCode()
{
var barcode = Data.Content.RemoveEscapeCharacters();
if (barcode.IsNullOrWhiteSpace()) throw new KnownException($"{Entity.Code}--扫码失败,内容为空", LogLevelEnum.High);
return barcode;
}
}
///
/// BCR83
///
public class BCR83 : Device
{
///
/// BCR扩展
///
///
///
public BCR83(Device device, World world) : base(device, world)
{
}
///
/// 获取BCR码
///
///
public string GetBCRCode()
{
var barcode = Data.BcrCode.RemoveEscapeCharacters();
if (barcode.IsNullOrWhiteSpace()) throw new KnownException($"{Entity.Code}--扫码失败,内容为空", LogLevelEnum.High);
return barcode;
}
}
///
/// BCR扩展
///
public static class BCRExtension
{
///
/// 获取BCR码
///
///
/// BCR对应站点设备号
///
public static string GetBCRCode(this List bc, string code)
{
code = "BCR" + code;
var bcr = bc.FirstOrDefault(p => p.Entity.Code == code) ?? throw new KnownException($"未找到扫码器{code}", LogLevelEnum.High);
return bcr.GetBCRCode();
}
/////
///// 获取BCR83码集合
/////
/////
/////
//public static string GetBCRCodeList(this BCR83 bc)
//{
//}
}
}