| | |
| | | /// </summary> |
| | | public static class DataProcess_RobotBuffer_IssueOutboundTask |
| | | { |
| | | |
| | | public static async void Handler() |
| | | { |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_BZ39; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_IssueOutboundTask; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = string.Empty; |
| | | Thread.Sleep(1000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = string.Empty; |
| | | try |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_BZ39 && SystemValue.isStartedModel) |
| | | {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_IssueOutboundTask && |
| | | if (SystemValue.isStartedModel) |
| | | { |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | /* |
| | | * 1ã仿°æ®åºä¸å¤ææ¯å¦é½å¥ |
| | | * 2ãæ ¹æ®é½å¥ç»æï¼æ¨éç»PLC |
| | | */ |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_ReqParseData) |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var result = obj.R_ReadCodeResult; |
| | | if (string.IsNullOrEmpty(result)) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-请æ±äºè§£ç ï¼ä½æ¯ç»ææ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | var upiCode = result; |
| | | var qitaoReault = false; |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueTaskForRobotBuffer(wmsDB); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-æâå·²ä¸åâçä»»å¡ï¼ä¸è½å¤ç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | |
| | | |
| | | |
| | | var taskList = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber |
| | | && x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º).OrderBy(x => x.PackageCode).ToList(); |
| | | if (taskList == null) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},æ ¹æ® R_OutboundNumber:{obj.R_OutboundNumber}æ²¡ææ¾å°å·²ä¸åçä»»å¡ "; |
| | | continue; |
| | | } |
| | | |
| | | var doTask = taskList.FirstOrDefault(); |
| | | |
| | | var upiObj = wmsDB.mes_batchOrderUPI_new.Where(x => x.UPI == upiCode).FirstOrDefault(); |
| | | if (upiObj == null) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; |
| | | continue; |
| | | } |
| | | |
| | | //è¿éæ¹ä¸º ä¸å åºåºä»»å¡ |
| | | var noFinishOutTask = TaskHandler.ValidateIssueTaskForNoFinishTaskByOutStore(wmsDB); |
| | | if (noFinishOutTask == true) |
| | | {//è¡¨ç¤ºæ²¡ææªç»æçåºåºä»»å¡ï¼é£ä¹å°± åå§å请æ±åºåºæä»¤ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | var res = await client.WriteOutStoreTaskInfoAsync((int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | var res = await client.WriteOutStoreTaskInfoAsync(true, (int)EDevice.Station, rgvLocation, "", 0); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()}-åå§å请æ±åºåºæä»¤ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | //Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-åå§å请æ±åºåºæä»¤ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | //è¦æ¯æå·²ä¸åçä»»å¡ï¼å°±ä¸è¦æ§è¡ |
| | | var isValidate = TaskHandler.ValidateIssueOutTaskForRobotBuffer(wmsDB); |
| | | if (!isValidate) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $" å½åæâå·²ä¸åâçåºåºä»»å¡ï¼ä¸è½å次å¤çä¸åä»»å¡,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | |
| | | //åå建æ¶é´ææ©çé£ä¸ªè¦åºåºçå
|
| | | if (string.IsNullOrEmpty(FormCC.currHandlerPackageCodeForIssueOutboundTask)) |
| | | { |
| | | var firstTask = wmsDB.wms_rbline_task.Where(x => |
| | | (x.RbTaskType == (int)RbTaskTypeEnum.é½å
åºåºä»»å¡ || x.RbTaskType == (int)RbTaskTypeEnum.强å¶åºåºä»»å¡) |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º).OrderBy(x => x.CreateTime).FirstOrDefault(); |
| | | if (firstTask == null) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()},æ ¹æ® æ²¡ææ¾å° æ°å»º çä»»å¡ "; |
| | | FormCC.currHandlerPackageCodeForIssueOutboundTask = ""; |
| | | continue; |
| | | } |
| | | FormCC.currHandlerPackageCodeForIssueOutboundTask = firstTask.PackageCode; |
| | | } |
| | | else |
| | | { |
| | | var firstTask = wmsDB.wms_rbline_task.Where(x => |
| | | (x.RbTaskType == (int)RbTaskTypeEnum.é½å
åºåºä»»å¡ || x.RbTaskType == (int)RbTaskTypeEnum.强å¶åºåºä»»å¡) |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º |
| | | && x.PackageCode == FormCC.currHandlerPackageCodeForIssueOutboundTask |
| | | ).OrderBy(x => x.CreateTime).FirstOrDefault(); |
| | | if (firstTask == null) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()},æ ¹æ® æ²¡ææ¾å° æ°å»º çä»»å¡ "; |
| | | FormCC.currHandlerPackageCodeForIssueOutboundTask = ""; |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | var taskList = wmsDB.wms_rbline_task.Where(x => |
| | | (x.RbTaskType == (int)RbTaskTypeEnum.é½å
åºåºä»»å¡ || x.RbTaskType == (int)RbTaskTypeEnum.强å¶åºåºä»»å¡) |
| | | && x.TaskStatus == (int)TaskStatusEnum.æ°å»º).Where(x => x.PackageCode == FormCC.currHandlerPackageCodeForIssueOutboundTask).OrderBy(x => x.CreateTime).ToList(); |
| | | if (taskList == null) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()},æ ¹æ® æ²¡ææ¾å° æ°å»º çä»»å¡ "; |
| | | continue; |
| | | } |
| | | |
| | | var doTask = taskList.FirstOrDefault(); |
| | | |
| | | |
| | | ////è¿éä¸å åºåºä»»å¡ |
| | | //using (StationServiceClient client = new StationServiceClient()) |
| | | //{ |
| | | // //é¦å
è¦æ¸
ç |
| | | // //var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, false, rgvLocation); |
| | | // //if (!res.result) |
| | | // //{ |
| | | // // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,OutboundFinishConfirmAsync è¿å:{res.resMsg}"; |
| | | // // continue; |
| | | // //} |
| | | // //else |
| | | // //{ |
| | | // // Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,OutboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | // //} |
| | | |
| | | // var res = await client.WriteOutStoreTaskInfoAsync(false, (int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | // if (!res.result) |
| | | // { |
| | | // SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}"; |
| | | // continue; |
| | | // } |
| | | // else |
| | | // { |
| | | // Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: ç«ç¹{rgvLocation}"); |
| | | // } |
| | | //} |
| | | |
| | | doTask.TaskStatus = (int)TaskStatusEnum.å·²ä¸å; |
| | | doTask.IssueTime = DateTime.Now; |
| | | |
| | | int changeNum = wmsDB.SaveChanges(); |
| | | if (changeNum > 0) |
| | | { |
| | | //å¿
é¡»è¦ç»PLCä¸åæå,è§£å³å¯è½ä¼ç»PLCéå¤ä¸åä»»å¡çæ
åµ |
| | | var isRight = true; |
| | | while (isRight) |
| | | { |
| | | //è¿éä¸å åºåºä»»å¡ |
| | | using (StationServiceClient client = new StationServiceClient()) |
| | | { |
| | | |
| | | var res = await client.WriteOutStoreTaskInfoAsync(false, (int)EDevice.Station, rgvLocation, doTask.PlaceCode, Convert.ToInt32(doTask.TaskNo)); |
| | | if (!res.result) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsync è¿å:{res.resMsg}åæ°: PlaceCode:{doTask.PlaceCode},TaskNo:{doTask.TaskNo}"; |
| | | Log4NetHelper.WriteErrorLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ 失败,WriteOutStoreTaskInfoAsyncï¼åæ°: PlaceCode:{doTask.PlaceCode},TaskNo:{doTask.TaskNo},æ¡ç :{doTask.Upi}"); |
| | | continue; |
| | | } |
| | | else |
| | | { |
| | | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,WriteOutStoreTaskInfoAsyncï¼åæ°: PlaceCode:{doTask.PlaceCode},TaskNo:{doTask.TaskNo},æ¡ç :{doTask.Upi}"); |
| | | isRight = false; |
| | | } |
| | | } |
| | | Thread.Sleep(1000); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg._lbl_alert_DataProcess_BZ39 += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_IssueOutboundTask += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | } |
| | | } |