using System; using System.Collections.Generic; using WIDESEA_Common; using WIDESEA_Common.Tools; using WIDESEA_Entity.DomainModels; using WIDESEA_Entity.DomainModels.Equipment; namespace WIDESEA_WCS.JobsPart.Public { public partial class WCSCommon { /// /// 生成任务 /// /// 站点信息 /// 设备上料或下料 public static void CreateTask(StationInfo station, bool isInEq, string type = "") { var have_task = freeDB.Select() .Where(t => t.agv_toaddress == station.stationCode || t.agv_fromaddress == station.stationCode) .Any(); if (!have_task) { dt_agvtask agvtask = new dt_agvtask(); agvtask.agv_id = Guid.NewGuid(); if (isInEq) { agvtask.agv_fromaddress = WCSCommon.GetAddress(station.stationCode, !isInEq, type); agvtask.agv_toaddress = station.stationCode; } else { agvtask.agv_fromaddress = station.stationCode; agvtask.agv_toaddress = WCSCommon.GetAddress(station.stationCode, !isInEq); } agvtask.agv_tasknum = "KH-" + IdenxManager.GetTaskNo(); agvtask.agv_code = station.agvCenterName; agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString(); agvtask.agv_tasktype = AGVTaskTypeEnum.TaskType_Outbound.ToString(); agvtask.agv_worktype = 1;//工作类型 agvtask.agv_materielid = type; agvtask.agv_qty = 1; agvtask.agv_createtime = DateTime.Now; agvtask.agv_grade = 0;//任务优先级 agvtask.agv_userid = "WCS"; freeDB.Add(agvtask); CreateTiShenJiTask(agvtask); } } /// /// 创建提升机任务 /// /// public static void CreateTiShenJiTask(dt_agvtask task) { //提升机路由 Dictionary router = new Dictionary() { //一楼到二楼 {"GDXZJ1R2" ,"GDXZJC2"}, {"GDXZJ1R1" ,"GDXZJC1"}, {"GDXFJ1R2" ,"GDXFJC2"}, {"GDXFJ1R1" ,"GDXFJC1"}, //二楼到三楼 {"GDXZJC2" ,"GDXZJ3C2"}, {"GDXZJC1" ,"GDXZJ3C1"}, {"GDXFJC2" ,"GDXFJ3C2"}, {"GDXFJC1" ,"GDXFJ3C1"}, }; if (router.ContainsKey(task.agv_toaddress)) { dt_agvtask agvtask = new dt_agvtask(); agvtask.agv_id = Guid.NewGuid(); agvtask.agv_tasknum = task.agv_tasknum + "_T"; agvtask.agv_fromaddress = task.agv_toaddress; agvtask.agv_toaddress = router[task.agv_toaddress]; agvtask.agv_code = ""; agvtask.agv_taskstate = AGVTaskStateEnum.Create.ToString(); agvtask.agv_tasktype = "提升机"; agvtask.agv_worktype = 1;//工作类型 agvtask.agv_materielid = ""; agvtask.agv_qty = 1; agvtask.agv_createtime = DateTime.Now; agvtask.agv_grade = 0;//任务优先级 agvtask.agv_userid = "WCS"; freeDB.Add(agvtask); } } } }