| | |
| | | var executeLog = ExecuteJob(context, () => Run(context)); |
| | | }); |
| | | } |
| | | public static bool TempHK = false; // æ¯å¦ç©ºæçååºä¼å
|
| | | public static int HKNumber = 0; // 空æçååºçæ°é 妿已ç»åäºåä¸ªäº é£å°±ä¸è½éå¶åºåºçäº |
| | | string[] endStationNo = new string[] { "70101", "70103", "70104", "70106" }; |
| | | public string Run(IJobExecutionContext context) |
| | | { |
| | | using (VOLContext dbCcontext = new VOLContext()) |
| | |
| | | List<int> currentLayer = new List<int>(); |
| | | foreach (var item in rgvData.data) |
| | | { |
| | | if (item.rgvId == "1") |
| | | { |
| | | client.WriteValue(CLineInfoDBName.RGV01.ToString(), item.status); |
| | | } |
| | | if (item.rgvId == "2") |
| | | { |
| | | client.WriteValue(CLineInfoDBName.RGV02.ToString(), item.status); |
| | | } |
| | | if (item.rgvId == "3") |
| | | { |
| | | client.WriteValue(CLineInfoDBName.RGV03.ToString(), item.status); |
| | | } |
| | | //0离线 1æ£å¸¸ 2æ
é |
| | | if (item.status != 1) |
| | | carCount++; |
| | | else |
| | | currentLayer.Add(item.layer); |
| | | |
| | | } |
| | | if (carCount == 3) |
| | | { |
| | |
| | | continue; |
| | | } |
| | | |
| | | // è¿éå ä¸ä¸ªå¤æï¼æ¯å¦ææä¸¤ä¸ªä»»å¡å»70101 æä»»å¡Aå
ä¸å çåºå
å°70101 ä½å¯è½ä»»å¡Aårgvæ¢å±çå½±å ä»»å¡B å
å°åºåºåºçç¼åæ¶ å¯¼è´Bå
è¿å»å°äº70101é£è¾¹ |
| | | // è¿éè¦å¤æ 妿æä»»å¡BçRGVä»»å¡è¦ä¸åçæ¶åï¼å¤æå颿¯å¦æä»»å¡ï¼å¦ææï¼å¤æè¿ä¸ªä»»å¡æ¯å¦å·²å°è¾¾ç¼åæ¶æè
æ¯ä»»å¡åºåºè¾é线æ§è¡ä¸æè½ä¸å |
| | | if (endStationNo.Contains(wcsInfo.wcstask_endPoint)) // è¯ææ¯å»åè£
å°ç |
| | | { |
| | | Dt_TaskWCSinfo WcsTask = taskWCSinfoRepository.FindFirst(x => |
| | | x.wcstask_endPoint == wcsInfo.wcstask_endPoint |
| | | && x.wcstask_taskNumber != wcsInfo.wcstask_taskNumber |
| | | && (x.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString() || x.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | | && x.wcstask_state != TaskState.TaskState_Assigned.ToString() |
| | | && (x.wcstask_state != TaskState.TaskState_Box_Out_Line_Executing.ToString() || x.wcstask_state != TaskState.TaskState_Empty_Out_Line_Executing.ToString()) |
| | | ); |
| | | if (WcsTask != null) |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | |
| | | //ååä¸ä¸ªä¿æ¤ï¼æ¥ç对åºçæ¾è´§ç«å°ä¸æ¯ææè´§ï¼å³è¯»åç«å°æ¯å¦å¤äºè´è½½å¾
æºçç¶æï¼å¦ææ¯ï¼è¯´ææä¸è¥¿ |
| | | if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Out.ToString() || |
| | | wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString() || |
| | |
| | | //ç©¿æ¢è½¦æ¾è´§ç«å° |
| | | string targetStation = wcsInfo.wcstask_endLocation; |
| | | //夿æå°å½åæ¾è´§ä½ç½®ç就䏿§è¡ |
| | | Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => r.wcstask_endPoint == targetStation && r.wcstask_id != wcsInfo.wcstask_id); |
| | | if (null != executingTask) |
| | | Dt_TaskWCSinfo executingTask = taskWCSinfoRepository.FindFirst(r => |
| | | r.wcstask_endPoint == targetStation |
| | | && r.wcstask_id != wcsInfo.wcstask_id |
| | | && r.wcstask_state != TaskState.TaskState_Assigned.ToString()); |
| | | |
| | | if (null != executingTask) // è¿ä¸ªå¤æä¸»è¦æ¯å¤æç©ºæçååºç å¦æç©ºæçååºå°60101 é£åºåºå°60101çå°±ä¸è½ä¸å |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | |
| | | // è¿éè·åä¸ä¸ªç©ºæçååºçï¼å¦ææç空æå·²ç»å¨å¤é¢æéå¾é¿äº 飿就ä¸è½ä¸åå
¥åºçä»»å¡äº |
| | | // è¿éè¦è¯»åä¸ä¸ªä¿¡å· |
| | | int Return_Quantity = int.Parse(client.ReadValue(CLineInfoDBName.Return_Quantity.ToString()).ToString()); |
| | | if (Return_Quantity >= 8) // åªè¦ç©ºæçå¨è·¯ä¸çæ°é >= 8 é£ä¹å空æççä¼å
çº§å°±è¦æé«äº |
| | | { |
| | | TempHK = true; |
| | | } |
| | | |
| | | if (HKNumber == 4) |
| | | { |
| | | TempHK = false; |
| | | HKNumber = 0; |
| | | } |
| | | |
| | | if (TempHK) |
| | | { |
| | | |
| | | if ((wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Outbound.ToString() || wcsInfo.wcstask_type == TaskType.TaskType_Empty_Pallet_Outbound.ToString()) |
| | | && wcsInfo.wcstask_state == TaskState.TaskState_Assigned.ToString() |
| | | && endStationNo.Contains(wcsInfo.wcstask_endPoint)) |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // 妿å个ç«å°åæ¶æè´è½½ï¼é£æå°±è¦ææçTempHK ç»è®¾ç½®ä¸ºTrue å½è®¾ç½®ä¸ºTrueäº æå°±ä¼è¿å
¥ä¸ä¸ªæ¡ä»¶ |
| | | |
| | | //if (rgvTask.rgvtask_areaCode.Equals("OutboundArea")) |
| | | //{ |
| | |
| | | continue; |
| | | else |
| | | { |
| | | Dt_TaskRGVinfo currentTask = taskRGVinfoRepository.FindFirst(r => r.rgvtask_endNode == rgvTask.rgvtask_endNode && r.rgvtask_taskStatus != RGVTaskState.RgvTaskState_Wait_Send.ToString()); |
| | | Dt_TaskRGVinfo currentTask = taskRGVinfoRepository.FindFirst(r => r.rgvtask_endNode == rgvTask.rgvtask_endNode |
| | | && r.rgvtask_taskStatus != RGVTaskState.RgvTaskState_Wait_Send.ToString()); |
| | | if (null != currentTask) |
| | | continue; |
| | | } |
| | |
| | | |
| | | |
| | | |
| | | //æ¤å¤æ¥çå½åæ£å¨è¿è¡çæµé任塿¡æ°ï¼éè¦æ§å¶æ°éï¼çº¿ä½ç¼åæ°éæéï¼æµééè¦æ¶é´ï¼æå®3个 |
| | | //æ¤å¤æ¥çå½åæ£å¨è¿è¡çæµé任塿¡æ°ï¼éè¦æ§å¶æ°éï¼çº¿ä½ç¼åæ°éæéï¼æµééè¦æ¶é´ï¼æå®2个 |
| | | if (wcsInfo.wcstask_type == TaskType.TaskType_Box_Pallet_Measure_Out.ToString()) |
| | | { |
| | | List<Dt_TaskWCSinfo> measureList = taskWCSinfoRepository.Find(x => |
| | |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | SendRGVTaskAction(rgvTask, wcsInfo, taskRGVinfoRepository, taskWCSinfoRepository); |
| | | } |