| | |
| | | else |
| | | {//其他状态全算待机 |
| | | State = ((int)EnumEquipmentCurrentStateDisplay.待机).ToString(); |
| | | CommonHandleEnumEquipmentCurrentState(db, info, ref State); //公共处理 设备当前状态 [Editby shaocx,2025-01-07] |
| | | } |
| | | } |
| | | } |
| | |
| | | equlogalert.WarnEndTime = DateTimeHelper.GetDateTime(); |
| | | } |
| | | } |
| | | |
| | | |
| | | if (isAddEquipmentCurrentMonitor) |
| | | { |
| | | info.Id = Yitter.IdGenerator.YitIdHelper.NextId(); |
| | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 公共处理 设备当前状态 |
| | | /// </summary> |
| | | /// <param name="db"></param> |
| | | /// <param name="info"></param> |
| | | /// <param name="state"></param> |
| | | private static void CommonHandleEnumEquipmentCurrentState(DbModel db, EquipmentCurrentMonitor info, ref string state) |
| | | { |
| | | try |
| | | { |
| | | //如果是OP35,则处理,如果不是,则不处理 |
| | | var query_WorkingProcedure = "OP35"; |
| | | if (info.WorkingProcedure == query_WorkingProcedure) |
| | | { |
| | | var quereyCreateTime = DateTime.Now.AddMinutes(-5); |
| | | //判断10分钟之内 ,只进 不出 |
| | | var num = db.WorkPieceProcess.Where(o => o.WorkingProcedureCurrent == query_WorkingProcedure |
| | | && (o.EndTime == null || o.EndTime <= DateTime.MinValue) |
| | | && o.CreatedTime >= quereyCreateTime |
| | | ).Count(); |
| | | if (num > 0) |
| | | { |
| | | state = ((int)EnumEquipmentCurrentStateDisplay.生产).ToString(); |
| | | return; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | return; |
| | | } |
| | | return; |
| | | } |
| | | catch (Exception) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 心跳监控 |
| | | /// </summary> |
| | | /// <param name="loginfo"></param> |