|  | @@ -137,7 +137,7 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |                      obj.Data.Tasknum = task.ID;
 | 
	
		
			
				|  |  |                      obj.Data.Goodsstart = obj.Entity.CODE.ToShort();
 | 
	
		
			
				|  |  |                      obj.Data.Goodsend = task.ADDRNEXT.ToShort();
 | 
	
		
			
				|  |  | -                    obj.Data.CmdType = IstationCmdType.堆垛机放货完成请求目标地址;
 | 
	
		
			
				|  |  | +                    obj.Data.CmdType = IstationCmdType.分配目标地址;
 | 
	
		
			
				|  |  |                      obj.Data.VoucherNo++;
 | 
	
		
			
				|  |  |                  });
 | 
	
		
			
				|  |  |              });
 | 
	
	
		
			
				|  | @@ -149,6 +149,42 @@ namespace WCS.Service.Works.Station
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /// <summary>
 | 
	
		
			
				|  |  | +    /// 涂布出库返回任务长度
 | 
	
		
			
				|  |  | +    /// </summary>
 | 
	
		
			
				|  |  | +    [WorkTitle(typeof(CoatingHandler), "涂布出库返回任务长度")]
 | 
	
		
			
				|  |  | +    public class 涂布出库返回任务长度 : DeviceWork<StationDevice>
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        protected override void Do(StationDevice obj)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            obj.EX(obj =>
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (!obj.Data2.Status.HasFlag(IstationStatus.光电状态)) throw new DoException("无光电");
 | 
	
		
			
				|  |  | +                if (obj.Data3.Status.HasFlag(StationStatus.运行状态位)) throw new DoException("设备运行中");
 | 
	
		
			
				|  |  | +                if (obj.Data.VoucherNo != obj.Data2.VoucherNo)
 | 
	
		
			
				|  |  | +                    throw new WarnException($"等待任务[{obj.Data2.Tasknum}]执行--凭证号不一致[{obj.Data.VoucherNo}][{obj.Data2.VoucherNo}]");
 | 
	
		
			
				|  |  | +                if (obj.Data2.Tasknum < 10000) throw new DoException("无任务");
 | 
	
		
			
				|  |  | +                if (obj.Data2.Request != IstationRequest.请求分配目标地址) throw new WarnException("有任务无请求");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                DB.Do(db =>
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    var task = db.Default.Set<WCS_TASK>().Find(obj.Data2.Tasknum);
 | 
	
		
			
				|  |  | +                    if (task == null) throw new WarnException("WCS无该任务信息");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    //开始写入目标地址
 | 
	
		
			
				|  |  | +                    obj.Data.CmdType = IstationCmdType.分配目标地址;
 | 
	
		
			
				|  |  | +                    obj.Data.GoodsSize = (short)task.Length;
 | 
	
		
			
				|  |  | +                    obj.Data.VoucherNo++;
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        protected override bool SelectDevice(WCS_DEVICE dev)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            return dev.CODE == "1334" || dev.CODE == "1335";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  |      /// 涂布叫料
 | 
	
		
			
				|  |  |      /// </summary>
 |