|  |  |  | 
|---|
|  |  |  | using Admin.NET.Application; | 
|---|
|  |  |  | using iWareCC.StationService; | 
|---|
|  |  |  | using iWareCommon.Common.Globle; | 
|---|
|  |  |  | using iWareCommon.Utils; | 
|---|
|  |  |  | using iWareModel; | 
|---|
|  |  |  | 
|---|
|  |  |  | LogType logType = LogType.DataProcess_RobotBuffer_FinishTaskForOutbound; | 
|---|
|  |  |  | while (true) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã | 
|---|
|  |  |  | Thread.Sleep(500);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã | 
|---|
|  |  |  | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty; | 
|---|
|  |  |  | try | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && SystemValue.isStartedModel) | 
|---|
|  |  |  | {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && | 
|---|
|  |  |  | if (SystemValue.isStartedModel) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var rgvLocation = StationLocationEnum.BZ39.ToString(); | 
|---|
|  |  |  | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); | 
|---|
|  |  |  | if (obj.R_OutboundFinish) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var result = obj.R_OutboundNumber; | 
|---|
|  |  |  | if (string.IsNullOrEmpty(result)) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- åºåºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //var result = obj.R_OutboundNumber; | 
|---|
|  |  |  | //if (string.IsNullOrEmpty(result)) | 
|---|
|  |  |  | //{ | 
|---|
|  |  |  | //    SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- åºåºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; | 
|---|
|  |  |  | //    continue; | 
|---|
|  |  |  | //} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var result2 = obj.R_Outbound_TaskID; | 
|---|
|  |  |  | if (result2 == 0) | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | using (WmsDBModel wmsDB = new WmsDBModel()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var task = wmsDB.wms_rbline_task.Where(x => x.PlaceCode == obj.R_OutboundNumber | 
|---|
|  |  |  | && x.TaskNo == obj.R_Outbound_TaskID.ToString() | 
|---|
|  |  |  | && x.RbTaskType == (int)RbTaskTypeEnum.åºåºä»»å¡ | 
|---|
|  |  |  | && x.TaskStatus == (int)TaskStatusEnum.å·²ä¸å).FirstOrDefault(); | 
|---|
|  |  |  | var task = wmsDB.wms_rbline_task.Where(x => | 
|---|
|  |  |  | x.TaskNo == obj.R_Outbound_TaskID.ToString() | 
|---|
|  |  |  | && (x.RbTaskType == (int)RbTaskTypeEnum.é½å
åºåºä»»å¡ || x.RbTaskType == (int)RbTaskTypeEnum.强å¶åºåºä»»å¡) | 
|---|
|  |  |  | ).OrderByDescending(x => x.Id).FirstOrDefault(); | 
|---|
|  |  |  | if (task == null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},根殠R_OutboundNumber:{obj.R_OutboundNumber}æ²¡ææ¾å°å·²ä¸åç任塠"; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | if (task.TaskStatus == (int)TaskStatusEnum.已宿) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | using (StationServiceClient client = new StationServiceClient()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation, false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var upiCode = task.UPI; | 
|---|
|  |  |  | 
|---|
|  |  |  | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()},æ ¹æ®UPI:{upiCode}æ²¡ææ¾å°å¯¹è±¡ "; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //æ´æ°æ¿ä»¶çç¶æååºå | 
|---|
|  |  |  | if (task.RbTaskType == (int)RbTaskTypeEnum.é½å
åºåºä»»å¡) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | upiObj.UpiStatus = (int)UpiStatusEnum.å·²é½å
; | 
|---|
|  |  |  | upiObj.AreaCode = (int)AreaCodeEnum.ç ååºå; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else if (task.RbTaskType == (int)RbTaskTypeEnum.强å¶åºåºä»»å¡) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | upiObj.UpiStatus = (int)UpiStatusEnum.å·²ä¸çº¿; | 
|---|
|  |  |  | upiObj.AreaCode = (int)AreaCodeEnum.ä¸çº¿åºå; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //åºååå° | 
|---|
|  |  |  | wms_stock_quan qun = wmsDB.wms_stock_quan.Where(x => x.PlaceCode == task.PlaceCode).FirstOrDefault(); | 
|---|
|  |  |  | wmsDB.wms_stock_quan.Remove(qun); | 
|---|
|  |  |  | 
|---|
|  |  |  | var place = StationHandler.GetPlaceByPlaceCode(task.PlaceCode, wmsDB); | 
|---|
|  |  |  | place.PlaceStatus = (int)PlaceStatusEnum.æ£å¸¸; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //ç»PLCæ¨éä»»å¡å®æç¡®è®¤ä¿¡å· | 
|---|
|  |  |  | using (StationServiceClient client = new StationServiceClient()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, true, rgvLocation, true); | 
|---|
|  |  |  | if (!res.result) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ å¤±è´¥,OutboundFinishConfirmAsync è¿å:{res.resMsg}"; | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | Log4NetHelper.WriteInfoLog(logType, $"{rgvLocation.ToString()}-ä¸ååºåºä»»å¡ æå,OutboundFinishConfirmAsyncï¼åæ°: ç«ç¹{rgvLocation}"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | WmsRecordUpiProcessHandler.SaveWmsRecordUpiProcess(wmsDB, upiObj, task.PlaceCode, $"åºç¼ååºï¼{task.PlaceCode}," + task.TaskMsg); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wmsDB.SaveChanges(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | else | 
|---|
|  |  |  | { | 
|---|
|  |  |  | using (StationServiceClient client = new StationServiceClient()) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | var res = await client.OutboundFinishConfirmAsync((int)EDevice.Station, false, rgvLocation, false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | catch (Exception ex) | 
|---|