| | |
| | | |
| | | public static void OutboundCZ_PLC(IDt_TaskWCSinfoRepository taskWCSinfoRepository,IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client) |
| | | { |
| | | //车轴å¨åºåºå£ä¸åè¾éçº¿ä»»å¡ |
| | | Dt_TaskWCSinfo hisTask = taskWCSinfoRepository.FindFirst(r => (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) |
| | | && (OutboundStationLayerNo.Contains(r.wcstask_startPoint))); |
| | | Dt_TaskWCSinfo hisTask = taskWCSinfoRepository.Find(r => r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) |
| | | .Where(r => OutboundStationLayerNo.Contains(r.wcstask_startPoint) && (r.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || r.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString()))).OrderBy(x => x.wcstask_dispatcherTime).FirstOrDefault(); |
| | | if (null != hisTask) |
| | | { |
| | | if (hisTask.wcstask_type.Equals(TaskType.TaskType_Box_Pallet_Outbound.ToString()) || hisTask.wcstask_type.Equals(TaskType.TaskType_Empty_Pallet_Outbound.ToString())) |
| | | { |
| | | OutboundRequestAction(taskWCSinfoRepository, client); |
| | | } |
| | | |
| | | |
| | | OutboundRequestAction(taskWCSinfoRepository, client); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// åºåºåºç©ºæçåºåº |
| | | /// åºåºåºç©ºæç/宿åºåº |
| | | /// </summary> |
| | | /// <param name="taskWCSinfoRepository"></param> |
| | | /// <param name="client"></param> |
| | |
| | | Dt_TaskWCSinfo wcsInfo = null; |
| | | if (!string.IsNullOrEmpty(rfidResult) && !"0".Equals(rfidResult)) |
| | | wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && (r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString())); |
| | | || r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString())); |
| | | //wcsInfo = taskWCSinfoRepository.FindFirst(r => r.wcstask_barcode == rfidResult && r.wcstask_state == TaskState.TaskState_Assigned.ToString()); |
| | | else |
| | | { |
| | | wcsInfo = taskWCSinfoRepository.Find(r => r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() |
| | | && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault(); |
| | | wcsInfo = taskWCSinfoRepository.Find(r => (r.wcstask_state == TaskState.TaskState_Box_Out_RGV_Finished.ToString() || r.wcstask_state == TaskState.TaskState_Empty_Out_RGV_Finished.ToString() |
| | | || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString()) && OutboundStationLayerNo.Contains(r.wcstask_startPoint)).OrderBy(r => r.wcstask_createTime).FirstOrDefault(); |
| | | } |
| | | if (null == wcsInfo) |
| | | return false; |
| | |
| | | else if (logicValue == 4 || logicValue == 5) |
| | | { |
| | | string taskplc_Result = client.ReadValue(CLineInfoDBName.W_Line_Barcode.ToString(), lineCode).ToString(); |
| | | if(taskplc_Result== wcsInfo.wcstask_barcode) |
| | | if(taskplc_Result == wcsInfo.wcstask_barcode) |
| | | { |
| | | string state = TaskState.TaskState_Box_Out_Line_Executing.ToString(); |
| | | if (wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | | { |
| | | state = TaskState.TaskState_Empty_Out_Line_Executing.ToString(); |
| | | } |
| | | if (wcsInfo.wcstask_state == state) |
| | | return true; |
| | | wcsInfo.wcstask_state = state; |
| | |
| | | if (wcsInfoPLC != null) |
| | | { |
| | | string state = TaskState.TaskState_Box_Out_Line_Executing.ToString(); |
| | | if (wcsInfoPLC.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | | { |
| | | state = TaskState.TaskState_Empty_Out_Line_Executing.ToString(); |
| | | } |
| | | |
| | | |
| | | if (wcsInfoPLC.wcstask_state == state) |
| | | return true; |
| | | wcsInfoPLC.wcstask_state = state; |