| | |
| | | public static async void Handler() |
| | | { |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_FinishTaskForOutbound; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_AutoQiTaoOutbound; |
| | | while (true) |
| | | { |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = string.Empty; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound = string.Empty; |
| | | try |
| | | { |
| | | if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_FinishTaskForOutbound && SystemValue.isStartedModel) |
| | | if (SystemValue.isAllowRuning_DataProcess_RobotBuffer_AutoQiTaoOutbound && SystemValue.isStartedModel) |
| | | { |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_OutboundFinish) |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | var result = obj.R_OutboundNumber; |
| | | if (string.IsNullOrEmpty(result)) |
| | | List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.å¨åº).ToList(); |
| | | var queryPageckCodeList = qunList.Select(x => x.PackageCode).Distinct().ToList(); |
| | | List<mes_batchOrderUPI_new> upiList = wmsDB.mes_batchOrderUPI_new.Where(x => queryPageckCodeList.Contains(x.PackageCode)).ToList(); |
| | | var groups = qunList.GroupBy(x => x.PackageCode); |
| | | foreach (var group in groups) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound = $"{rgvLocation.ToString()}- åºåºåºä½å·æ¯ç©ºç,æ¤æ¬¡å¾ªç¯ç»æ"; |
| | | continue; |
| | | } |
| | | |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.å¨åº).ToList(); |
| | | var queryPageckCodeList = qunList.Select(x => x.PackageCode).Distinct().ToList(); |
| | | List<mes_batchOrderUPI_new> upiList = wmsDB.mes_batchOrderUPI_new.Where(x => queryPageckCodeList.Contains(x.PackageCode)).ToList(); |
| | | var groups = qunList.GroupBy(x => x.PackageCode); |
| | | foreach (var group in groups) |
| | | var packageCode = group.Key; |
| | | var allCount = upiList.Where(x => x.PackageCode == packageCode).Count(); |
| | | if (allCount == group.ToList().Count()) |
| | | { |
| | | var packageCode = group.Key; |
| | | var allCount = upiList.Where(x => x.PackageCode == packageCode).Count(); |
| | | if (allCount == group.ToList().Count()) |
| | | //满足é½å¥ï¼åºåº |
| | | group.ToList().ForEach(x => |
| | | { |
| | | //满足é½å¥ï¼åºåº |
| | | group.ToList().ForEach(x => |
| | | x.StockStatus = (int)StockStatusEnum.é½å
å¾
åºåº; |
| | | |
| | | //çæåºåºä»»å¡ |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | var new_task = new wms_rbline_task() |
| | | { |
| | | x.StockStatus = (int)StockStatusEnum.é½å
å¾
åºåº; |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | |
| | | //çæåºåºä»»å¡ |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | var new_task = new wms_rbline_task() |
| | | { |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | |
| | | UPI = x.Upi, |
| | | Length = x.Length, |
| | | Width = x.Width, |
| | | Thk = x.Thk, |
| | | IssueTime = DateTime.Now, |
| | | PlanNo = x.PlanNo, |
| | | OrderId = x.OrderId, |
| | | PackageCode = x.PackageCode, |
| | | PlaceCode = x.PlaceCode, |
| | | RbTaskType = (int)RbTaskTypeEnum.åºåºä»»å¡, |
| | | RbTaskTypeEnumName = RbTaskTypeEnum.åºåºä»»å¡.ToString(), |
| | | TaskStatus = (int)TaskStatusEnum.æ°å»º, |
| | | TaskStatusName = TaskStatusEnum.æ°å»º.ToString(), |
| | | TaskMsg = "å
¥åº", |
| | | UPI = x.Upi, |
| | | Length = x.Length, |
| | | Width = x.Width, |
| | | Thk = x.Thk, |
| | | IssueTime = DateTime.Now, |
| | | PlanNo = x.PlanNo, |
| | | OrderId = x.OrderId, |
| | | PackageCode = x.PackageCode, |
| | | PlaceCode = x.PlaceCode, |
| | | RbTaskType = (int)RbTaskTypeEnum.åºåºä»»å¡, |
| | | RbTaskTypeEnumName = RbTaskTypeEnum.åºåºä»»å¡.ToString(), |
| | | TaskStatus = (int)TaskStatusEnum.æ°å»º, |
| | | TaskStatusName = TaskStatusEnum.æ°å»º.ToString(), |
| | | TaskMsg = "å
¥åº", |
| | | |
| | | |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | }; |
| | | CreateTime = DateTime.Now, |
| | | CreateUserName = "CC", |
| | | UpdateTime = DateTime.Now, |
| | | UpdateUserName = "CC", |
| | | }; |
| | | |
| | | wmsDB.wms_rbline_task.Add(new_task); |
| | | wmsDB.wms_rbline_task.Add(new_task); |
| | | |
| | | var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB); |
| | | place.PlaceStatus = (int)PlaceStatusEnum.éå®; |
| | | }); |
| | | } |
| | | var place = StationHandler.GetPlaceByPlaceCode(x.PlaceCode, wmsDB); |
| | | place.PlaceStatus = (int)PlaceStatusEnum.éå®; |
| | | }); |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_FinishTaskForOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | } |
| | | } |