namespace HH.WCS.Mobox3.AnGang.ServiceCore {
///
/// 定时轮询任务
///
public class Monitor
{
/////
///// 空托堆叠入库
/////
//internal static void CheckEmptyCnt()
//{
// var db = DbHelper.GetDbClient();
// try
// {
// var startLoc = db.Queryable().
// Where(a => a.S_AREA_CODE == Settings.Areas[3] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == a.N_CAPACITY).
// OrderBy(a => a.T_MODIFY, OrderByType.Desc).
// First();
// if (startLoc == null)
// {
// LogHelper.Info($"空托堆叠区{Settings.Areas[3]}暂无堆满的空托");
// return;
// }
// var endLoc = db.Queryable().
// Where(a => a.S_AREA_CODE == Settings.Areas[4] && a.N_LOCK_STATE == 0 && a.S_LOCK_STATE == "无" && a.C_ENABLE == "Y" && a.N_CURRENT_NUM == 0).
// OrderBy(a => a.N_CURRENT_NUM, OrderByType.Asc).
// First();
// if (endLoc == null)
// {
// LogHelper.Info($"未找到合适的终点货位,需满足{Settings.Areas[4]}里有未锁定且当前数量等于0的货位");
// return;
// }
// var cntrList = db.Queryable().Where(a => a.S_LOC_CODE == startLoc.S_CODE).OrderBy(a => a.T_CREATE, OrderByType.Asc).ToList();
// if (cntrList.Count < 1)
// {
// LogHelper.Info($"起点{startLoc.S_CODE}未找到货位容器关系信息");
// return;
// }
// string cntrString = "";
// for (int i = 0; i < cntrList.Count; i++)
// {
// if (i == cntrList.Count - 1)//最后一个字符串连接不加逗号
// {
// cntrString += cntrList[i].S_CNTR_CODE;
// }
// else
// {
// cntrString += cntrList[i].S_CNTR_CODE + ",";
// }
// }
// if (WCSHelper.CreateTask(startLoc.S_CODE, endLoc.S_CODE, "空托堆叠入库", 3, cntrString))//创建搬送任务,起点终点容器
// {
// LocationHelper.LockLoc(startLoc.S_CODE, 2);//起点出库锁,
// LocationHelper.LockLoc(endLoc.S_CODE, 1);//终点入库锁
// LogHelper.Info($"生成空托堆叠入库任务成功,容器:{cntrString},起点:{startLoc.S_CODE}");
// }
// else
// {
// LogHelper.Info($"生成空托堆叠入库任务失败,容器:{cntrString},起点:{startLoc.S_CODE}");
// }
// }
// catch (Exception ex)
// {
// LogHelper.Info($"空托堆叠入库异常:{ex.Message}");
// }
//}
}
///
/// 与S7设备交互时的model
///
public class CheckDeciveModel
{
///
/// 心跳
///
public int Heart { set; get; }
///
/// RFID,是容器是托盘
///
public string RfidData { set; get; }
///
/// 允许上下料 0=无任务,11=上料,21=下料,(请求AGV工作)
///
public int AgvAllow { set; get; }
///
/// 任务属性 1 OK,2称重失败,3条码失败,4 RFID读取失败
///
public int TaskProperties { set; get; }
///
/// 准备就绪 0=未准备好,1=准备好
///
public int Ready { set; get; }
///
/// 载货状态 0=输送线无产品,1=输送线有产品
///
public int CargoStatus { set; get; }
///
/// 工位状态 0待机中,1入库方向运行中,2出库方向运行中,3设备故障
///
public int StationStatus { set; get; }
///
/// 去向请求 0待机中,1到位请求
///
public int DestinationRequests { set; get; }
///
/// 扫码信息 扫码枪反馈信息
///
public string BarcodeCode { set; get; }
///
/// 重量
///
public float Weight { set; get; }
///
/// 产线地址
///
public string LineIP { set; get; }
}
}