|
@@ -38,7 +38,7 @@ namespace WCS.Service.Extensions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == Entity.CODE)) return;
|
|
|
+ if (ExDevice.Any(v => v == Entity.CODE)) throw new WarnException($"[{Entity.CODE}]--触发并发管控");
|
|
|
AddExDevice(Entity.CODE);
|
|
|
act(this);
|
|
|
}
|
|
@@ -253,7 +253,7 @@ namespace WCS.Service.Extensions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == Entity.CODE)) return;
|
|
|
+ if (ExDevice.Any(v => v == Entity.CODE)) throw new WarnException($"[{Entity.CODE}]--触发并发管控");
|
|
|
AddExDevice(Entity.CODE);
|
|
|
act(this);
|
|
|
}
|
|
@@ -352,7 +352,7 @@ namespace WCS.Service.Extensions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == Entity.CODE)) return;
|
|
|
+ if (ExDevice.Any(v => v == Entity.CODE)) throw new WarnException($"[{Entity.CODE}]--触发并发管控");
|
|
|
AddExDevice(Entity.CODE);
|
|
|
act(this);
|
|
|
}
|
|
@@ -599,7 +599,7 @@ namespace WCS.Service.Extensions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == Entity.CODE)) return;
|
|
|
+ if (ExDevice.Any(v => v == Entity.CODE)) throw new WarnException($"[{Entity.CODE}]--触发并发管控");
|
|
|
AddExDevice(Entity.CODE);
|
|
|
act(this);
|
|
|
}
|
|
@@ -633,21 +633,25 @@ namespace WCS.Service.Extensions
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
+ var code = "";
|
|
|
if (Entity.CODE == "SRM3" || Entity.CODE == "SRM4")
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == "SRM3-SRM4-Out")) return;
|
|
|
- AddExDevice("SRM3-SRM4-Out");
|
|
|
+ code = "SRM3-SRM4-Out";
|
|
|
+ if (ExDevice.Any(v => v == code)) throw new WarnException($"触发出库并发管控--[{code}]");
|
|
|
+ AddExDevice(code);
|
|
|
}
|
|
|
if (Entity.CODE == "SRM5" || Entity.CODE == "SRM6")
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == "SRM5-SRM6-Out")) return;
|
|
|
- AddExDevice("SRM5-SRM6-Out");
|
|
|
+ code = "SRM5-SRM6-Out";
|
|
|
+ if (ExDevice.Any(v => v == code)) throw new WarnException($"触发出库并发管控--[{code}]");
|
|
|
+ AddExDevice(code);
|
|
|
}
|
|
|
|
|
|
if (Entity.CODE == "SRM7" || Entity.CODE == "SRM8")
|
|
|
{
|
|
|
- if (ExDevice.Any(v => v == "SRM7-SRM8-Out")) return;
|
|
|
- AddExDevice("SRM7-SRM8-Out");
|
|
|
+ code = "SRM7-SRM8-Out";
|
|
|
+ if (ExDevice.Any(v => v == code)) throw new WarnException($"触发出库并发管控--[{code}]");
|
|
|
+ AddExDevice(code);
|
|
|
}
|
|
|
|
|
|
act(this);
|
|
@@ -722,6 +726,49 @@ namespace WCS.Service.Extensions
|
|
|
_ => SrmFork.货叉1,
|
|
|
};
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 检查同组堆垛机是否有出库任务正在执行
|
|
|
+ /// </summary>
|
|
|
+ public void CheckOutTask()
|
|
|
+ {
|
|
|
+ //检查同组堆垛机是否有正在执行出库任务的
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ switch (Entity.CODE)
|
|
|
+ {
|
|
|
+ case "SRM3":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM4" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM4正在执行出库任务");
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SRM4":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM3" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM3正在执行出库任务");
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SRM5":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM6" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM6正在执行出库任务");
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SRM6":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM5" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM5正在执行出库任务");
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SRM7":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM7" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM7正在执行出库任务");
|
|
|
+ break;
|
|
|
+
|
|
|
+ case "SRM8":
|
|
|
+ if (db.Default.Set<WCS_TASK>().Any(v => v.STATUS == TaskStatus.堆垛机执行 && v.DEVICE == "SRM8" && v.TYPE == TaskType.出库))
|
|
|
+ throw new DoException("SRM8正在执行出库任务");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/// <summary>
|