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
|
{
|
/// <summary>
|
/// 生成任务
|
/// </summary>
|
/// <param name="station">站点信息</param>
|
/// <param name="isInEq">设备上料或下料</param>
|
public static void CreateTask(StationInfo station, bool isInEq, string type = "")
|
{
|
var have_task = freeDB.Select<dt_agvtask>()
|
.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);
|
}
|
}
|
|
/// <summary>
|
/// 创建提升机任务
|
/// </summary>
|
/// <param name="task"></param>
|
public static void CreateTiShenJiTask(dt_agvtask task)
|
{
|
//提升机路由
|
Dictionary<string, string> router = new Dictionary<string, string>()
|
{
|
//一楼到二楼
|
{"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);
|
}
|
}
|
}
|
}
|