| | |
| | | using HslCommunication; |
| | | using Newtonsoft.Json; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | LogRecord.WriteLog(LogEnum.Errer, str.ToString()); |
| | | } |
| | | } |
| | | |
| | | // è¿éè¦åä¸ä¸ª æä¸äºæçå·²ç»åºå°å¤é¢å»äº ä½ç¶æè¿æ¯æåæºè¿è¡ä¸ 导è´åé¢çåä¸åºå» |
| | | Dt_TaskWCSinfo OutTask = taskWCSinfoRepository.Find(r => |
| | | r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString() |
| | | && endStationNo.Contains(r.wcstask_endPoint) |
| | | ).FirstOrDefault(); |
| | | if (OutTask != null) |
| | | { |
| | | double secondsPassend = (DateTime.Now - OutTask.wcstask_dispatcherTime.Value).TotalSeconds; |
| | | if (secondsPassend > 38) // 妿大äº38ç§ è¿æ²¡ç¨æåæºå®æ å°±è¦æå¨ |
| | | { |
| | | string state = TaskState.TaskState_Box_Out_Line_Executing.ToString(); |
| | | if (OutTask.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | | { |
| | | state = TaskState.TaskState_Empty_Out_Line_Executing.ToString(); |
| | | } |
| | | OutTask.wcstask_state = state; |
| | | OutTask.wcstask_dispatcherTime = DateTime.Now; |
| | | taskWCSinfoRepository.Update(OutTask, true); |
| | | string str = $"åºåºåº åºåº æåæºå·²ç»å
çæçå·²ç»åºå» ä½ç¶æè¿æ¯æåæºæ§è¡ä¸... {DateTime.Now}ï¼æçå·:{OutTask.wcstask_barcode},ä»»å¡å·ï¼{OutTask.wcstask_taskNumber}"; |
| | | LogRecord.WriteLog(LogEnum.Errer, str.ToString()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | public static void OutboundAreaDispathAction(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client) |
| | | { |
| | |
| | | continue; |
| | | |
| | | //åä¸å±ææ§è¡ä¸çä»»å¡ä¸æ·»å |
| | | Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => |
| | | (r.wcstask_startPoint == wcsTask.wcstask_startPoint || r.wcstask_endPoint == wcsTask.wcstask_endPoint) |
| | | && (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())); |
| | | //Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => |
| | | //(r.wcstask_startPoint == wcsTask.wcstask_startPoint || r.wcstask_endPoint == wcsTask.wcstask_endPoint) |
| | | //&& (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString() || r.wcstask_state == TaskState.TaskState_HoisterExecuting.ToString())); |
| | | //if (null != executingTask) |
| | | // continue; |
| | | // èä½¼ å°ä¸é¢ä¿®æ¹æä¸é¢ |
| | | Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => |
| | | (r.wcstask_startPoint == wcsTask.wcstask_startPoint) |
| | | && (r.wcstask_state == TaskState.TaskState_RGV_Received.ToString())); |
| | | if (null != executingTask) |
| | | continue; |
| | | |
| | | List<Dt_TaskWCSinfo> listTarget = taskWCSinfoRepository.Find(r => r.wcstask_endPoint == wcsTask.wcstask_endPoint && |
| | | r.wcstask_state != TaskState.TaskState_Assigned.ToString()); |
| | | |
| | | //if (listTarget != null && listTarget.Count > 1) |
| | | //{ |
| | | // continue; |
| | | //} |
| | | //else |
| | | //{ |
| | | // wcsInfo = wcsTask; |
| | | //} |
| | | |
| | | string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), wcsTask.wcstask_endPoint).ToString(); |
| | | |
| | |
| | | return BarcodeLockDict[barcode].Item1; |
| | | } |
| | | } |
| | | |
| | | public static bool KtpHkflag = false; // è®°å½ç©ºæçååºçé误 |
| | | public static DateTime curDate; // è®°å½é误åççæ¶é´ |
| | | public static void InboundRequestAction(IDt_TaskWCSinfoRepository taskWCSinfoRepository, IDt_TaskRGVinfoRepository taskRGVinfoRepository, PLCClient client) |
| | | { |
| | | try |
| | | { |
| | | if (KtpHkflag) |
| | | { |
| | | double secondsPassend = (DateTime.Now - curDate).TotalSeconds; |
| | | if (secondsPassend > 6) |
| | | { |
| | | client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 1); |
| | | KtpHkflag = false; |
| | | } |
| | | } |
| | | |
| | | |
| | | int R_Line_PLCDispatch = int.Parse(client.ReadValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo).ToString()); |
| | | bool load = bool.Parse(client.ReadValue(CLineInfoDBName.R_Line_LoadSleep.ToString(), ReInboundRequestStationNo).ToString()); |
| | | if (R_Line_PLCDispatch == 1 && load) |
| | | { |
| | | string barcode = client.ReadValue(CLineInfoDBName.R_Line_Barcode.ToString(), ReInboundRequestStationNo).ToString(); |
| | | |
| | | // è¿éè¦å ä¸ä¸ªå¤æï¼å¦ææ¿åæ¥ç空æçæ¯800001ï¼ä½æ¯ææä¸æ¡è¿ä¸ªæçç任塿¯800001è¿æ²¡æå°æå®çåè£
å°ï¼æä»¥æè¦å®æè¿ä¸ªä»»å¡ |
| | | |
| | | |
| | | if (!string.IsNullOrEmpty(barcode) && !"0".Equals(barcode)) |
| | | { |
| | |
| | | && (endStationNo.Contains(x.wcstask_endPoint))); |
| | | if (IsTask != null) |
| | | { |
| | | //卿¤å®æè¯¥ç©ºæåºåºä»»å¡ |
| | | // è¿éè¦å ä¸ä¸ªå¤æï¼å¦ææ¿åæ¥ç空æçæ¯800001ï¼ä½æ¯ææä¸æ¡è¿ä¸ªæçç任塿¯800001è¿æ²¡æå°æå®çåè£
å°ï¼æä»¥æè¦å®æè¿ä¸ªä»»å¡ |
| | | // 卿¤å®æè¯¥ç©ºæåºåºä»»å¡ |
| | | WebResponseContent content = taskWCSinfoRepository.DbContextBeginTransaction(() => |
| | | { |
| | | //䏿¥WMSä»»å¡å®æ |
| | | content = WMSApi.TellWmsTaskFinished(IsTask.wcstask_barcode); |
| | | content = WMSApi.TellWmsTaskFinished(IsTask.wcstask_barcode,IsTask.wcstask_backUp_2); |
| | | if (content.Status) |
| | | { |
| | | //ç§»å¨ä»»å¡å°åå²è¡¨ |
| | |
| | | WebResponseContent content = WMSApi.PostInboundRequstToWMS(barcode); |
| | | if (content.Status) |
| | | { |
| | | //WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString()); |
| | | //wcsInfo = CommonFunction.AddWCSEmptyInboundTask(wmsTask, taskWCSinfoRepository); |
| | | //taskWCSinfoRepository.Add(wcsInfo, true); |
| | | //client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 2); |
| | | try |
| | | { |
| | | WmsTaskInfo wmsTask = JsonConvert.DeserializeObject<WmsTaskInfo>(content.Data.ToString()); |
| | |
| | | catch (Exception ex) |
| | | { |
| | | client.WriteValue(CLineInfoDBName.W_Line_PLCDispatch.ToString(), ReInboundRequestStationNo, 3); |
| | | KtpHkflag = true; |
| | | curDate = DateTime.Now; // æ¥éäºï¼è®°å½ä¸ä¸è¿ä¸ªéè¯¯åæ¶é´ï¼ |
| | | LogRecord.WriteLog(LogEnum.Errer, DateTime.Now.ToString() + ex.Message.ToString()); |
| | | |
| | | Console.Out.WriteLine(DateTime.Now + ex.Message); |
| | | } |
| | | } |