|  |  |  | 
|---|
|  |  |  | { | 
|---|
|  |  |  | R_ConveyorLineFLInfo conveyorLineInfoRead = device.Communicator.ReadCustomer<R_ConveyorLineFLInfo>(deviceProRead.DeviceProAddress); | 
|---|
|  |  |  | bool conveyArrivaled = device.GetValue<R_ConveyorLineFLDB, bool>(R_ConveyorLineFLDB.ConveyArrivaled, item.StationCode); | 
|---|
|  |  |  | if (conveyArrivaled) | 
|---|
|  |  |  | //è¾é线åæå£å°ä½æ´æ°ä»»å¡ç¶æ | 
|---|
|  |  |  | if (conveyorLineInfoRead!=null && conveyArrivaled) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Dt_Task newTask = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNum.ObjToInt() && x.PalletCode == conveyorLineInfoRead.Barcode && x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode == item.StackerCraneCode && !string.IsNullOrEmpty(x.DeviceCode)); | 
|---|
|  |  |  | if (newTask != null) | 
|---|
|  |  |  | Dt_Task LineTask = _taskRepository.QueryFirst(x => x.TaskNum == conveyorLineInfoRead.TaskNum.ObjToInt() && x.PalletCode == conveyorLineInfoRead.Barcode && x.TaskState == TaskStatusEnum.Line_Executing.ObjToInt() && x.DeviceCode == item.StackerCraneCode); | 
|---|
|  |  |  | if (LineTask != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | _taskService.UpdateTask(newTask, TaskStatusEnum.AGV_Execute); | 
|---|
|  |  |  | _taskService.UpdateTask(LineTask, TaskStatusEnum.AGV_Execute); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | WriteError(item.StationName, $"å
¥åºå°ä½ä¿¡å·ï¼æçå·{conveyorLineInfoRead.Barcode},ä»»å¡å·:{conveyorLineInfoRead.TaskNum}"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //åéè¾éçº¿ä»»å¡ | 
|---|
|  |  |  | Dt_Task? newTask = _taskRepository.QueryData(x => x.TaskState == TaskStatusEnum.New.ObjToInt() && x.DeviceCode == item.StackerCraneCode && x.TaskType>=TaskTypeEnum.Inbound.ObjToInt()).OrderBy(x=>x.TaskNum).FirstOrDefault(); | 
|---|
|  |  |  | if (newTask != null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | device.SetValue(W_ConveyorLineFLDB.Barcode, newTask.PalletCode, item.StationCode); | 
|---|
|  |  |  | Thread.Sleep(500); | 
|---|
|  |  |  | device.SetValue(W_ConveyorLineFLDB.TaskNum, newTask.TaskNum, item.StationCode); | 
|---|
|  |  |  | Thread.Sleep(500); | 
|---|
|  |  |  | device.SetValue(GroundStationDBName.W_PutFinish, true, item.StationCode); | 
|---|
|  |  |  | _taskService.UpdateTask(newTask, TaskStatusEnum.Line_Executing); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|