|
@@ -5,6 +5,7 @@ using ServiceCenter.Extensions;
|
|
|
using ServiceCenter.Logs;
|
|
|
using ServiceCenter.Redis;
|
|
|
using ServiceCenter.SqlSugars;
|
|
|
+using SqlSugar;
|
|
|
using System.ComponentModel;
|
|
|
using WCS.Core;
|
|
|
using WCS.Entity;
|
|
@@ -153,7 +154,7 @@ namespace WCS.WorkEngineering.Systems
|
|
|
|
|
|
//找到对应WCS任务
|
|
|
var task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.AgvTaskID == agvInfo.ID);
|
|
|
- if (task == null) throw new Exception($"AGV任务{agvInfo.ID}未找到对应WCS任务");
|
|
|
+ if (task == null) throw new Exception($"AGV任务{agvInfo.ID}未找到对应WCS任务");
|
|
|
this.ExRecord(obj.Entity.Code, $"AGV任务{agvInfo.ID}开始进行巷道分配");
|
|
|
//向WMS获取巷道优先级'
|
|
|
var res = WmsApi.GetTunnelPriorityList(task.ID);
|
|
@@ -286,6 +287,16 @@ namespace WCS.WorkEngineering.Systems
|
|
|
throw new Exception("WCS任务:" + task.ID + "已经分配过巷道,不允许重新分配不同巷道");
|
|
|
}
|
|
|
|
|
|
+ if (task.BusType == "二楼湿拉空轮回立库")
|
|
|
+ {
|
|
|
+ //获取在途任务
|
|
|
+ var n = db.Default.Queryable<WCS_TaskInfo>().Count(v => v.BusType == "二楼湿拉空轮回立库" && v.Status == Entity.TaskStatus.AGVExecution && v.AddrTo == "srm" && v.AddrNext == null);
|
|
|
+ var config = db.Default.Queryable<hjSysConfig>().First(v => v.Code == "MaxAgvTaskNum");
|
|
|
+ if (nextPos.Entity.Code != "1127" && config != null && config.SContent.ToShort() > n)
|
|
|
+ {
|
|
|
+ throw new Exception($"当前在途任务数{n}不足{config.SContent.ToShort()},需在此等待或修改配置数量");
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//更新AGV任务状态
|
|
|
agvInfo.Status = AGVTaskStatus.Complete1;
|
|
@@ -382,6 +393,46 @@ namespace WCS.WorkEngineering.Systems
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 配置信息表
|
|
|
+ /// </summary>
|
|
|
+ [Tenant("hj")]
|
|
|
+ [SugarTable("sys_config", "配置信息表")]
|
|
|
+ public class hjSysConfig : BaseModel
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// 编号
|
|
|
+ /// </summary>
|
|
|
+ [SugarColumn(ColumnName = "code", Length = 100)]
|
|
|
+ public string Code { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 名称
|
|
|
+ /// </summary>
|
|
|
+ [SugarColumn(ColumnName = "name", Length = 100)]
|
|
|
+ public string Name { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 内容
|
|
|
+ /// </summary>
|
|
|
+ [SugarColumn(ColumnName = "scontent", Length = 100)]
|
|
|
+ public string SContent { get; set; }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 类型
|
|
|
+ /// </summary>
|
|
|
+ [SugarColumn(ColumnName = "stype", Length = 50)]
|
|
|
+ public string SType { get; set; }
|
|
|
+
|
|
|
+ [SugarColumn(ColumnName = "default1", Length = 100, IsNullable = true)]
|
|
|
+ public string Default1 { get; set; }
|
|
|
+
|
|
|
+ [SugarColumn(ColumnName = "default2", Length = 100, IsNullable = true)]
|
|
|
+ public string Default2 { get; set; }
|
|
|
+
|
|
|
+ [SugarColumn(ColumnName = "default3", Length = 100, IsNullable = true)]
|
|
|
+ public string Default3 { get; set; }
|
|
|
+ }
|
|
|
|
|
|
public override bool Select(Device dev)
|
|
|
{
|