|
@@ -12,22 +12,25 @@ namespace WCS.Service.Works.Station
|
|
|
{
|
|
|
protected override void Do(StationDevice obj)
|
|
|
{
|
|
|
- obj.WhetherToExecute(IstationRequest.堆垛机放货完成请求目标地址);
|
|
|
- //找到当前站台为当前设备且任务为堆垛机完成的任务
|
|
|
- DB.Do(db =>
|
|
|
+ obj.EX(obj =>
|
|
|
{
|
|
|
- var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.TYPE == TaskType.出库 && v.SRMSTATION == obj.Entity.CODE && v.STATUS == TaskStatus.堆垛机完成);
|
|
|
- if (task == null) throw new WarnException("WCS无该任务信息");
|
|
|
- if (task.SRMSTATION != obj.Entity.CODE && task.STATUS != TaskStatus.堆垛机完成) throw new WarnException("任务状态不是堆垛机完成");
|
|
|
- task.STATUS = TaskStatus.执行中;
|
|
|
- db.Default.SaveChanges();
|
|
|
- task.CreateStatusLog(db, $"状态由[{TaskStatus.堆垛机完成}]变更为[{task.STATUS}]-{obj.Entity.Code}", this.GetType());
|
|
|
- //开始写入目标地址
|
|
|
- obj.Data.Tasknum = task.ID;
|
|
|
- obj.Data.Goodsstart = obj.Entity.CODE.ToShort();
|
|
|
- obj.Data.Goodsend = task.ADDRNEXT.ToShort();
|
|
|
- obj.Data.CmdType = IstationCmdType.堆垛机放货完成请求目标地址;
|
|
|
- obj.Data.VoucherNo++;
|
|
|
+ obj.WhetherToExecute(IstationRequest.堆垛机放货完成请求目标地址);
|
|
|
+ //找到当前站台为当前设备且任务为堆垛机完成的任务
|
|
|
+ DB.Do(db =>
|
|
|
+ {
|
|
|
+ var task = db.Default.Set<WCS_TASK>().FirstOrDefault(v => v.TYPE == TaskType.出库 && v.SRMSTATION == obj.Entity.CODE && v.STATUS == TaskStatus.堆垛机完成);
|
|
|
+ if (task == null) throw new WarnException("WCS无该任务信息");
|
|
|
+ if (task.SRMSTATION != obj.Entity.CODE && task.STATUS != TaskStatus.堆垛机完成) throw new WarnException("任务状态不是堆垛机完成");
|
|
|
+ task.STATUS = TaskStatus.执行中;
|
|
|
+ db.Default.SaveChanges();
|
|
|
+ task.CreateStatusLog(db, $"状态由[{TaskStatus.堆垛机完成}]变更为[{task.STATUS}]-{obj.Entity.Code}", this.GetType());
|
|
|
+ //开始写入目标地址
|
|
|
+ obj.Data.Tasknum = task.ID;
|
|
|
+ obj.Data.Goodsstart = obj.Entity.CODE.ToShort();
|
|
|
+ obj.Data.Goodsend = task.ADDRNEXT.ToShort();
|
|
|
+ obj.Data.CmdType = IstationCmdType.堆垛机放货完成请求目标地址;
|
|
|
+ obj.Data.VoucherNo++;
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -42,26 +45,29 @@ namespace WCS.Service.Works.Station
|
|
|
{
|
|
|
protected override void Do(StationDeviceGroup obj)
|
|
|
{
|
|
|
- //找到当前站台为当前设备且任务为堆垛机完成的任务
|
|
|
- DB.Do(db =>
|
|
|
+ obj.EX(obj =>
|
|
|
{
|
|
|
- foreach (var dev in obj.Items)
|
|
|
+ //找到当前站台为当前设备且任务为堆垛机完成的任务
|
|
|
+ DB.Do(db =>
|
|
|
{
|
|
|
- //当前组有一个运行的设备就停止执行
|
|
|
- if (dev.Data3.Status.HasFlag(StationStatus.运行状态位)) throw new DoException("设备运行中");
|
|
|
- if (dev.Data2.Status.HasFlag(IstationStatus.光电状态)) throw new WarnException("有光电,产品未离开设备");
|
|
|
- if (dev.Data2.Tasknum < 10000) throw new WarnException("任务号错误");
|
|
|
- if (dev.Data2.Request != IstationRequest.月台出库口任务完成) throw new WarnException("无完成任务请求");
|
|
|
+ foreach (var dev in obj.Items)
|
|
|
+ {
|
|
|
+ //当前组有一个运行的设备就停止执行
|
|
|
+ if (dev.Data3.Status.HasFlag(StationStatus.运行状态位)) throw new DoException("设备运行中");
|
|
|
+ if (dev.Data2.Status.HasFlag(IstationStatus.光电状态)) throw new WarnException("有光电,产品未离开设备");
|
|
|
+ if (dev.Data2.Request != IstationRequest.月台出库口任务完成) throw new WarnException("无完成任务请求");
|
|
|
+ if (dev.Data2.Tasknum < 10000) throw new WarnException("任务号错误");
|
|
|
|
|
|
- var task = db.Default.Set<WCS_TASK>().Where(v => v.ID == dev.Data2.Tasknum).FirstOrDefault();
|
|
|
- if (task.STATUS != TaskStatus.执行中)
|
|
|
- throw new WarnException($"{task.ID}任务状态错误");
|
|
|
- task.STATUS = TaskStatus.已完成;
|
|
|
- db.Default.SaveChanges();
|
|
|
- task.CreateStatusLog(db, $"状态由[{TaskStatus.执行中}]变更为[{task.STATUS}]-{dev.Entity.CODE}", this.GetType());
|
|
|
- dev.Data.CmdType = IstationCmdType.月台出库口任务完成;
|
|
|
- dev.Data.VoucherNo++;
|
|
|
- }
|
|
|
+ var task = db.Default.Set<WCS_TASK>().Where(v => v.ID == dev.Data2.Tasknum).FirstOrDefault();
|
|
|
+ if (task.STATUS != TaskStatus.执行中)
|
|
|
+ throw new WarnException($"{task.ID}任务状态错误");
|
|
|
+ task.STATUS = TaskStatus.已完成;
|
|
|
+ db.Default.SaveChanges();
|
|
|
+ task.CreateStatusLog(db, $"状态由[{TaskStatus.执行中}]变更为[{task.STATUS}]-{dev.Entity.CODE}", this.GetType());
|
|
|
+ dev.Data.CmdType = IstationCmdType.月台出库口任务完成;
|
|
|
+ dev.Data.VoucherNo++;
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
}
|
|
|
|