| | |
| | | namespace iWareCC.ThreadService |
| | | { |
| | | /// <summary> |
| | | /// æºå¨äººç¼åå² äººå·¥å¼ºå¶åºåº å¤ç |
| | | /// æºå¨äººç¼åå² äººå·¥å¼ºå¶å¾
åºåº å¤ç |
| | | /// </summary> |
| | | public static class DataProcess_RobotBuffer_ForceOutbound |
| | | { |
| | | public static bool Handler(string packageCode, ref string alertMsg) |
| | | public static async void Handler() |
| | | { |
| | | alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_AutoQiTaoOutbound; |
| | | |
| | | try |
| | | var alertMsg = ""; |
| | | LogType logType = LogType.DataProcess_RobotBuffer_ForceOutbound; |
| | | while (true) |
| | | { |
| | | |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_ForceOutboundMode == false) |
| | | { |
| | | alertMsg = "PLC䏿¯å¼ºå¶åºåºæ¨¡å¼"; |
| | | return false; |
| | | } |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.å¨åº |
| | | && x.PackageCode == packageCode |
| | | ).ToList(); |
| | | |
| | | foreach (var x in qunList) |
| | | Thread.Sleep(2000);//ä¼ç 2ç§ï¼å°ä¼ç åå°åé¢ï¼æ¯ä¸ºäºä¸é¢çcontinueæ¹æ³æ§è¡å䏿¾ç¤ºé误信æ¯çæç¤ºï¼ï¼ï¼ãEditBy shaocx,2022-05-24ã |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ForceOutbound = string.Empty; |
| | | try |
| | | {//SystemValue.isAllowRuning_DataProcess_RobotBuffer_AutoQiTaoOutbound && |
| | | if (SystemValue.isStartedModel) |
| | | { |
| | | x.StockStatus = (int)StockStatusEnum.人工强å¶å¾
åºåº; |
| | | |
| | | //çæåºåºä»»å¡ |
| | | //è®°å½ä»»å¡ |
| | | var _id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | var new_task = new wms_rbline_task() |
| | | var rgvLocation = StationLocationEnum.BZ39.ToString(); |
| | | if (FormCC.stationView == null) |
| | | { |
| | | Id = _id, |
| | | TaskNo = plcTaskNo, |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ForceOutbound = $"{rgvLocation.ToString()}-è·åPLC对象为null"; |
| | | continue; |
| | | } |
| | | var obj = FormCC.stationView.R_StationForReadCommList.Where(x => x.StationCode == rgvLocation.ToString()).FirstOrDefault(); |
| | | if (obj.R_ForceOutboundMode == false) |
| | | { |
| | | alertMsg = "PLC䏿¯å¼ºå¶åºåºæ¨¡å¼"; |
| | | continue; |
| | | } |
| | | using (WmsDBModel wmsDB = new WmsDBModel()) |
| | | { |
| | | List<wms_stock_quan> qunList = wmsDB.wms_stock_quan.Where(x => x.StockStatus == (int)StockStatusEnum.人工强å¶å¾
åºåº |
| | | ).OrderBy(x => x.PackageCode).ToList(); |
| | | |
| | | UPI = x.Upi, |
| | | Length = x.Length, |
| | | Width = x.Width, |
| | | Thk = x.Thk, |
| | | |
| | | 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 = "人工强å¶å¾
åºåº", |
| | | foreach (var x in qunList) |
| | | { |
| | | x.StockStatus = (int)StockStatusEnum.人工强å¶ä»»å¡å·²å建; |
| | | x.StockStatusName = StockStatusEnum.人工强å¶ä»»å¡å·²å建.ToString(); |
| | | |
| | | //çæåºåºä»»å¡ |
| | | //è®°å½ä»»å¡ |
| | | 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, |
| | | |
| | | 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.éå®; |
| | | |
| | | Thread.Sleep(100); |
| | | Thread.Sleep(100); |
| | | } |
| | | |
| | | |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | wmsDB.SaveChanges(); |
| | | } |
| | | |
| | | return true; |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | alertMsg = " åºç°å¼å¸¸:" + ex.Message; |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_AutoQiTaoOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | |
| | | return false; |
| | | catch (Exception ex) |
| | | { |
| | | SystemWarningMsg._lbl_Alert_DataProcess_RobotBuffer_ForceOutbound += " åºç°å¼å¸¸:" + ex.Message + SysGloble.SPLIT_STR; |
| | | Log4NetHelper.WriteErrorLog(logType, " åºç°å¼å¸¸ï¼" + ex.Message, ex); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |