| 
					
				 | 
			
			
				@@ -71,6 +71,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 WCS_TaskInfo taskInfo = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 SqlSugarHelper.Do(db => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      World.Log($"堆垛机任务处理:开始--完成任务{obj.Data2.TaskFinishiId}", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       //根据DB521任务号获取对应任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       var task = db.Default.Queryable<WCS_TaskInfo>().First(v => v.ID == obj.Data2.TaskFinishiId) ?? throw new KnownException($"未找到任务{obj.Data2.TaskFinishiId}", LogLevelEnum.High); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       if (task.Status != Entity.TaskStatus.StackerExecution) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -79,6 +80,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               var taskDtl = db.Default.Queryable<WCS_TaskDtl>().Where(v => v.ParentTaskCode == task.ID && v.Desc == "任务下发堆垛机执行").SplitTable(v => v.Take(2)).ToList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               if (!taskDtl.Any()) throw new KnownException($"任务{task.ID}状态是{task.Status.Description()}.堆垛机完成任务需要对应任务状态处于堆垛机执行中", LogLevelEnum.High); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              World.Log($"堆垛机任务处理:结束--异常完成任务{obj.Data2.TaskFinishiId}异常", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -145,6 +147,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (taskInfo.Type == TaskType.OutDepot && taskInfo.Status == TaskStatus.ConveyorExecution) WmsApi.SrmPickOutCompleted(taskInfo.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 写入信号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.OkAck = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:结束--完成任务{obj.Data2.TaskFinishiId}", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //堆垛机是否可以下发任务 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -208,6 +211,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (taskInfo == null) throw new KnownException("数据更新错误", LogLevelEnum.High); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var addrFrom = taskInfo.AddrFrom.Split("-"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var addrTo = taskInfo.AddrTo.Split("-"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:开始--下发移库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //下发任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskNumber = taskInfo.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.SLine = addrFrom[0].ToShort(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -218,6 +222,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.ELayer = addrTo[2].ToShort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskType = SrmTaskTypeEnum.MoveGoods; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.VoucherNo++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:结束---下发移库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #endregion 移库 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -269,6 +274,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (taskInfo == null) throw new KnownException("数据更新错误", LogLevelEnum.High); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var addrTo = taskInfo.AddrTo.Split("-"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:开始--下发入库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //下发任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskNumber = taskInfo.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskType = SrmTaskTypeEnum.Default; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -279,6 +285,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.ECol = addrTo[1].ToShort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.ELayer = addrTo[2].ToShort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.VoucherNo++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:结束---下发入库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else if (enterOrOut == 3 || !lastIsOut) //出库任务 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -353,7 +360,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (taskInfo == null) throw new KnownException("数据更新错误", LogLevelEnum.High); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var addrFrom = taskInfo.AddrFrom.Split("-"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:开始--下发出库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskNumber = taskInfo.ID; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.SLine = addrFrom[0].ToShort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.SCol = addrFrom[1].ToShort(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -363,6 +370,7 @@ namespace WCS.WorkEngineering.Systems 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.ELayer = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.TaskType = SrmTaskTypeEnum.Default; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 obj.Data.VoucherNo++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                World.Log($"堆垛机任务处理:结束---下发出库任务[{obj.Data.TaskNumber}][{obj.Data.SLine}][{obj.Data.SCol}][{obj.Data.SLayer}][{obj.Data.ELine}][{obj.Data.ECol}][{obj.Data.ELayer}][{obj.Data.TaskType}][{obj.Data.VoucherNo}]", LogLevelEnum.Mid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             #endregion 出入库 
			 |