private void EquipmentStatusClick(object sender, RoutedEventArgs e) { try { MenuItem item = (MenuItem)sender; if (item != null) { switch (status = (EquipmentStatus)item.Tag) { case EquipmentStatus.Operational: equipmentStatusBackground.Fill = Brushes.Green; if (initComplete && equipmentStatusBackground.ToolTip.ToString() != "") { EquipmentStatusScrollingMarquee.RemoveEquipmentStatusText(EquipmentName + ": " + equipmentStatusBackground.ToolTip.ToString()); } equipmentStatusBackground.ToolTip = ""; break; case EquipmentStatus.Degraded: equipmentStatusBackground.Fill = Brushes.Orange; if (initComplete) { AddEditEquipmentStatusNote(); } break; case EquipmentStatus.Down: equipmentStatusBackground.Fill = Brushes.Red; OperationalStatusClick(offLineMenuItem, new RoutedEventArgs()); if (initComplete) { AddEditEquipmentStatusNote(); } break; case EquipmentStatus.Scheduled: equipmentStatusBackground.Fill = Brushes.Gray; OperationalStatusClick(offLineMenuItem, new RoutedEventArgs()); break; } } operationalMenuItem.IsChecked = degradedMenuItem.IsChecked = downMenuItem.IsChecked = scheduleMenuItem.IsChecked = unscheduledMenuItem.IsChecked = false; item.IsChecked = true; downMenuItem.IsChecked = scheduleMenuItem.IsChecked || unscheduledMenuItem.IsChecked; }catch (Exception ex) { var error = "Error Setting Equipment Status:\nUknown Exception\nSee dump fille"; ErrorLogger.ErrorDialog(error, ErrorType.Failure); ErrorLogger.LogError(error, ex, Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Properties.Settings.Default.AppDataFolder + Properties.Settings.Default.ErrorLogFilename); } }
private async void statusComboBox_SelectedIndexChanged(object sender, EventArgs e) { if (!_loaded) { return; } var strSelItem = statusComboBox.SelectedItem.ToString().Split(' '); string status = ""; for (int i = 0; i < strSelItem.Length; i++) { status += Char.ToUpper(strSelItem[i][0]) + strSelItem[i].Substring(1); } EquipmentStatus enumStat = (EquipmentStatus)(Enum.Parse(typeof(EquipmentStatus), status)); var response = await ApiHelper.Instance.SetEquipmentStatusAsync(_id, enumStat); if (response.Success) { errorLabel.Visible = false; return; } errorLabel.Text = ""; foreach (var error in response.Errors) { errorLabel.Text += error; } errorLabel.Visible = true; return; }
public void DamageCheck(EquipmentStatus Equip, Vector3 Pos, int Direct) { Vector3 MyPos = DownCollider.transform.position; switch (Equip.equipType) { case EquipmentStatus.EquipType.EmptyHand: if (Direct == 1) { if (MyPos.x > Pos.x && MyPos.x < Pos.x + Equip.Range.x && MyPos.y > Pos.y - Equip.Range.y / 2 && MyPos.y < Pos.y + Equip.Range.y / 2) { } } else { if (MyPos.x > Pos.x - Equip.Range.x && MyPos.x < Pos.x && MyPos.y > Pos.y - Equip.Range.y / 2 && MyPos.y < Pos.y + Equip.Range.y / 2) { } } break; case EquipmentStatus.EquipType.Gun: break; case EquipmentStatus.EquipType.Sword: break; case EquipmentStatus.EquipType.Other: break; } }
public CharacterBase(GameObject This) { characterObj = This; UpBody = This.transform.Find("UpBody").gameObject; DownCollider = This.transform.Find("DownCollider").gameObject; UpperAnim = This.transform.Find("UpBody/Upper").GetComponent<Animation>(); FeetAnim = This.transform.Find("UpBody/Upper/Feet").GetComponent<Animation>(); HeadSprite = This.transform.Find("UpBody/Upper/Head").GetComponent<SpriteRenderer>(); BodySprite = This.transform.Find("UpBody/Upper/Body").GetComponent<SpriteRenderer>(); characterAttributes = This.GetComponent<CharacterAttributes>(); localEventManager = This.GetComponent<CharacterManager>().localEventManager; equipmentStatus = new EquipmentStatus("EmptyHand","Small"){Range=new Vector2(1,1)}; characterStatus = new InAir(this,"Normal"); characterStatus.Enter(); EventManager.eventManager.DamageCheckEvent+=DamageCheck; localEventManager.ChangeToAirEvent+=ChangeToAir; localEventManager.ChangeToGroundEvent+=ChangeToGround; localEventManager.JumpEvent += Jump; localEventManager.MoveEvent += Move; localEventManager.AttackEvent += Attack; localEventManager.JumpLeftwardEvent += JumpLeftward; localEventManager.JumpRightwardEvent += JumpRightward; localEventManager.DodgeLeftwardEvent += DodgeLeftward; localEventManager.DodgeRightwardEvent += DodgeRightward; localEventManager.ThrowLeftwardEvent += ThrowLeftward; localEventManager.ThrowRightwardEvent += ThrowRightward; localEventManager.SpecialLeftwardEvent += SpecialLeftward; localEventManager.SpecialRightwardEvent += SpecialRightward; }
public CharacterBase(GameObject This) { characterObj = This; UpBody = This.transform.Find("UpBody").gameObject; DownCollider = This.transform.Find("DownCollider").gameObject; UpperAnim = This.transform.Find("UpBody/Upper").GetComponent <Animation>(); FeetAnim = This.transform.Find("UpBody/Upper/Feet").GetComponent <Animation>(); HeadSprite = This.transform.Find("UpBody/Upper/Head").GetComponent <SpriteRenderer>(); BodySprite = This.transform.Find("UpBody/Upper/Body").GetComponent <SpriteRenderer>(); characterAttributes = This.GetComponent <CharacterAttributes>(); localEventManager = This.GetComponent <CharacterManager>().localEventManager; equipmentStatus = new EquipmentStatus("EmptyHand", "Small") { Range = new Vector2(1, 1) }; characterStatus = new InAir(this, "Normal"); characterStatus.Enter(); EventManager.eventManager.DamageCheckEvent += DamageCheck; localEventManager.ChangeToAirEvent += ChangeToAir; localEventManager.ChangeToGroundEvent += ChangeToGround; localEventManager.JumpEvent += Jump; localEventManager.MoveEvent += Move; localEventManager.AttackEvent += Attack; localEventManager.JumpLeftwardEvent += JumpLeftward; localEventManager.JumpRightwardEvent += JumpRightward; localEventManager.DodgeLeftwardEvent += DodgeLeftward; localEventManager.DodgeRightwardEvent += DodgeRightward; localEventManager.ThrowLeftwardEvent += ThrowLeftward; localEventManager.ThrowRightwardEvent += ThrowRightward; localEventManager.SpecialLeftwardEvent += SpecialLeftward; localEventManager.SpecialRightwardEvent += SpecialRightward; }
public void DamageCheck(EquipmentStatus Equip,Vector3 Pos,int Direct) { Vector3 MyPos = DownCollider.transform.position; switch (Equip.equipType) { case EquipmentStatus.EquipType.EmptyHand: if(Direct==1) { if(MyPos.x>Pos.x&&MyPos.x<Pos.x+Equip.Range.x&&MyPos.y>Pos.y-Equip.Range.y/2&&MyPos.y<Pos.y+Equip.Range.y/2) { } } else { if(MyPos.x>Pos.x-Equip.Range.x&&MyPos.x<Pos.x&&MyPos.y>Pos.y-Equip.Range.y/2&&MyPos.y<Pos.y+Equip.Range.y/2) { } } break; case EquipmentStatus.EquipType.Gun: break; case EquipmentStatus.EquipType.Sword: break; case EquipmentStatus.EquipType.Other: break; } }
public void ChangeTo(EquipmentStatus temp) { equipType = temp.equipType; equipSize = temp.equipSize; Length = temp.Length; if(IsArea){Range = temp.Range;} else{BulletPrefab = temp.BulletPrefab;} }
public TableData Query(EquipmentStatus entity) { var result = new TableData(); var data = _app.Find(EntityToExpression <EquipmentStatus> .GetExpressions(entity)); GetData(data, result); result.count = data.Count(); return(result); }
public ActionResult Create(EquipmentStatus status) { if (ModelState.IsValid) { _equipmentStatusDao.Create(status); return(RedirectToAction("Index", "EquipmentStatus")); } ViewBag.categories = _statuses; return(View("Index")); }
public UavStatus(EquipmentId equipmentId, int index, EquipmentStatus status, int code) { if (code > (1 << 6)) { throw new ArgumentException($"Error code must be in the range 0-{1<<6}", nameof(code)); } this.EquipmentId = equipmentId; this.Index = index; this.Status = status; this.Code = code; }
public string Upd(EquipmentStatus Table_entity) { try { _app.Upd(Table_entity); } catch (Exception ex) { Result.Status = false; Result.Message = ex.Message; } return(JsonHelper.Instance.Serialize(Result)); }
public void ChangeTo(EquipmentStatus temp) { equipType = temp.equipType; equipSize = temp.equipSize; Length = temp.Length; if (IsArea) { Range = temp.Range; } else { BulletPrefab = temp.BulletPrefab; } }
public async Task <ActionResult <bool> > UpdateEquipment(UpdateEquipmentRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (!EquipmentStatus.IsEquipmentStatus(request.Status)) { return(BadRequest("Status is not valid. Must be: " + string.Join(", ", EquipmentStatus.ListAllStatuses()))); } return(await _equipmentService.UpdateEquipment(request)); }
/// <summary> /// 设置Control State状态: /// CEID 113==>ONLINE REMOTE /// 112==>ONLINE LOCAL /// 111==>OFFLINE /// 114==>EQUIPMENT STATUS CHANGE /// </summary> /// <param name="ceid"></param> /// <returns></returns> private bool launchControlStateProcess(int ceid) { ControlStateChangeReport controlStateChangeReport = new ControlStateChangeReport() { CEID = ceid, EquipmentStatus = new EquipmentStatus() { CRST = ceid == 114 ? CRST.R : (CRST)ceid, EQST = this._equipmentStatusInfo.EQST, EQSTCODE = this._equipmentStatusInfo.EQSTCODE, }, RPTID = 100, }; var replyMsg = S6F11(controlStateChangeReport.SecsItem, (int)ceid); switch (ceid) { case (int)CRST.R: case (int)CRST.L: if (replyMsg != null && replyMsg.GetSFString() == "S6F12") { int ack = replyMsg.GetCommandValue(); if (ack == 0) { this._equipmentStatusInfo = controlStateChangeReport.EquipmentStatus; itializeScenario?.UpdateControlState(this._equipmentStatusInfo.CRST); return(true); } } break; case (int)CRST.O: // no matter what happened, send control state change event this._equipmentStatusInfo = controlStateChangeReport.EquipmentStatus; itializeScenario?.UpdateControlState(this._equipmentStatusInfo.CRST); return(true); case 114: if (replyMsg != null && replyMsg.GetSFString() == "S6F12") { return(replyMsg.GetCommandValue() == 0); } break; default: break; } CIMBASE.WriteLog(LogLevel.ERROR, "something was wrong when sending S6F11 message."); return(false); }
public async Task <EquipmentStatus> GetEquipmentStatusOfSelectedEmployeeAsync(string employeeId) { DoingStuff = true; EquipmentStatus status = default; var response = await _client.GetAsync("equipment/status/" + employeeId); if (response.IsSuccessStatusCode) { status = (EquipmentStatus)(await response.Content.ReadAsAsync <int>()); } DoingStuff = false; return(status); }
public ActionResult Edit(EquipmentStatus status) { if (ModelState.IsValid) { EquipmentStatus cat = _equipmentStatusDao.GetById(status.Id); cat.Title = status.Title; cat.Description = status.Description; _equipmentStatusDao.Update(cat); return(RedirectToAction("Index", "EquipmentStatus")); } ViewBag.categories = _statuses; EquipmentStatus es = _equipmentStatusDao.GetById(status.Id); return(View("Index", es)); }
public string GetTemplate() { var result = new TableData(); List <EquipmentStatus> listEquipmentStatus = new List <EquipmentStatus>(); EquipmentStatus entity = _app.FindSingle(u => u.Id > 0); if (entity != null) { listEquipmentStatus.Add(entity); } else { listEquipmentStatus.Add(new EquipmentStatus()); } result.data = listEquipmentStatus; result.count = listEquipmentStatus.Count; return(JsonHelper.Instance.Serialize(result)); }
internal void GroupEquipmentStatusChange(EquipmentStatus newStatus) { switch (newStatus) { case EquipmentStatus.Degraded: equipmentStatusBackground.Fill = Brushes.Orange; break; case EquipmentStatus.Down: equipmentStatusBackground.Fill = Brushes.Red; break; case EquipmentStatus.Operational: equipmentStatusBackground.Fill = Brushes.Green; break; case EquipmentStatus.Scheduled: equipmentStatusBackground.Fill = Brushes.Gray; break; } }
private EquipmentStatus SelectedStatus() { EquipmentStatus status = EquipmentStatus.Operational; switch (equipmentStatus.SelectedIndex) { case 1: status = EquipmentStatus.Degraded; break; case 2: status = EquipmentStatus.Down; break; case 3: status = EquipmentStatus.OffLine; break; } return(status); }
public Response ImportIn(IFormFile excelfile) { Response result = new Infrastructure.Response(); List <EquipmentStatus> exp = imp.ConvertToModel <EquipmentStatus>(excelfile); string sErrorMsg = ""; for (int i = 0; i < exp.Count; i++) { try { EquipmentStatus e = exp[i]; e.Id = null; _app.Add(e); } catch (Exception ex) { sErrorMsg += "第" + (i + 2) + "行:" + ex.Message + "<br>"; result.Message = sErrorMsg; break; } } if (sErrorMsg.Equals(string.Empty)) { if (exp.Count == 0) { sErrorMsg += "没有发现有效数据, 请确定模板是否正确, 或是否有填充数据!"; result.Message = sErrorMsg; } else { result.Message = "导入完成"; } } else { result.Status = false; result.Message = result.Message; } return(result); }
/// <summary> /// 启动建立连接进程 online by Unit /// </summary> /// <returns></returns> public bool LaunchOnlineProcess(EquipmentInfo equipmentInfo) { SubScenarioName = Resource.Intialize_Scenario_1; this._equipmentBaseInfo = equipmentInfo.EquipmentBase; this._equipmentStatusInfo = equipmentInfo.EquipmentStatus; // send estublish communication request var replyMsg = S1F13(_equipmentBaseInfo.SecsItem); if ((replyMsg != null && replyMsg.GetSFString() == "S1F14")) { var ack = replyMsg.GetCommandValue(); if (ack != 0) { CIMBASE.WriteLog(LogLevel.INFO, "Host denies establish communication request."); return(false); } } if (replyMsg == null) { return(false); } replyMsg = S1F1(); if (replyMsg == null || replyMsg.F == 0) {// host denies online request CIMBASE.WriteLog(LogLevel.INFO, "Host denies online request."); return(false); } CIMBASE.WriteLog(LogLevel.DEBUG, "Host grants online."); if (launchControlStateProcess((int)CRST.R)) { if (LaunchDateTimeUpdateProcess()) { return(launchControlStateProcess(114)); } } CIMBASE.WriteLog(LogLevel.ERROR, "estublish communication with host failed."); return(false); }
private static Equipment MapEquipment(IDataReader reader) { Equipment singleItem = new Equipment(); int startingIndex = 0; singleItem.Id = reader.GetSafeInt32(startingIndex++); singleItem.Name = reader.GetSafeString(startingIndex++); singleItem.EquipmentTypeId = reader.GetSafeInt32(startingIndex++); singleItem.EquipmentStatusId = reader.GetSafeInt32(startingIndex++); singleItem.Description = reader.GetSafeString(startingIndex++); singleItem.SerialNumber = reader.GetSafeString(startingIndex++); singleItem.UserId = reader.GetSafeInt32(startingIndex++); EquipmentType et = new EquipmentType(); singleItem.EquipmentType = et; singleItem.EquipmentType.Id = reader.GetSafeInt32(startingIndex++); singleItem.EquipmentType.Name = reader.GetSafeString(startingIndex++); EquipmentStatus es = new EquipmentStatus(); singleItem.EquipmentStatus = es; singleItem.EquipmentStatus.Id = reader.GetSafeInt32(startingIndex++); singleItem.EquipmentStatus.Name = reader.GetSafeString(startingIndex++); return(singleItem); }
public string Load(PageReq pageRequest, EquipmentStatus entity) { return(JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity))); }
public override void Activate(BTDatabase database) { base.Activate(database); _trans = _database.characterManager.transform.Find("DownCollider"); _equipmentStatus = _database.characterManager.characterBase.equipmentStatus; }
public virtual IActionResult EquipmentIdStatusPut([FromRoute] int id, [FromBody] EquipmentStatus item) { return(_service.EquipmentIdStatusPutAsync(id, item)); }
public void DamageCheck(EquipmentStatus Equip,Vector3 Pos,int Direct) { DamageCheckEvent(Equip,Pos,Direct); }
/// <summary> /// Process Report /// CEID: 301=>start, 304=>cancel, 305=>abort, 306=>pause, 307=>resume /// </summary> /// <returns></returns> public bool LaunchProcessReport(RCMD rcmd, ProcessLaunchReport processLaunchReport, EquipmentStatus equipmentStatus) { int ceid = 0; switch (rcmd) { case RCMD.START: ceid = 301; break; case RCMD.CANCEL: ceid = 304; break; case RCMD.ABORT: ceid = 305; break; case RCMD.PAUSE: ceid = 306; break; case RCMD.RESUME: ceid = 307; break; case RCMD.OPERATOR_CALL: default: break; } if (ceid <= 0) { CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "CEID value is out of range. CEID: " + ceid); return(false); } ProcessLaunchReport newReport = new ProcessLaunchReport(0, ceid, 100, equipmentStatus, 301) { LOTID = processLaunchReport.LOTID, PTID = processLaunchReport.PTID, PTTYPE = processLaunchReport.PTTYPE, PTUSETYPE = processLaunchReport.PTUSETYPE, CSTID = processLaunchReport.CSTID, PPID = processLaunchReport.PPID, }; var replyMsg = S6F11(newReport.SecsItem, (int)ceid); if (replyMsg != null && replyMsg.GetSFString() == "S6F12") { try { int ack = replyMsg.GetCommandValue(); if (ack == 0) { return(true); } } catch (InvalidOperationException ex) { CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "", ex); return(false); } } CIMBASE.WriteLog(AATS.Log.LogLevel.ERROR, "something wrong was happened when send process report"); return(false); }
public void DamageCheck(EquipmentStatus Equip, Vector3 Pos, int Direct) { DamageCheckEvent(Equip, Pos, Direct); }
public void SetStatus(EquipmentStatus status) { var now = DateTime.Now; var oldShift = Equipment.EquipmentManager.Instance.GetShift(LastUpdateTime.TimeOfDay); var currentShift = Equipment.EquipmentManager.Instance.GetShift(now.TimeOfDay); if (oldShift != currentShift) { if (currentShift == EquipmentManager.ShiftType.GY) { Clear(); } } if (status != LastStatus) PoleTime = now; if (status == EquipmentStatus.AUTO_RUNNING) { if (LastStatus == EquipmentStatus.AUTO_RUNNING) { RunTime = LastSummaryTime + (now - PoleTime); } else { LastSummaryTime = RunTime; LastStatus = EquipmentStatus.AUTO_RUNNING; } } else if (status == EquipmentStatus.RUN_DOWN) { if (LastStatus == EquipmentStatus.RUN_DOWN) { StopTime = LastSummaryTime + (now - PoleTime); } else { LastSummaryTime = StopTime; LastStatus = EquipmentStatus.RUN_DOWN; } } else if (status == EquipmentStatus.ERROR) { if (LastStatus == EquipmentStatus.AUTO_RUNNING || LastStatus == EquipmentStatus.RUN_DOWN) { LastSummaryTime = AlarmTime; LastStatus = EquipmentStatus.ERROR; } else if (LastStatus != EquipmentStatus.ERROR) { LastStatus = EquipmentStatus.AUTO_STOP; } if (LastStatus == EquipmentStatus.ERROR) { AlarmTime = LastSummaryTime + (now - PoleTime); } } else if (status == EquipmentStatus.AUTO_STOPPING || status == EquipmentStatus.WAITING) { if (LastStatus == EquipmentStatus.AUTO_RUNNING || LastStatus == EquipmentStatus.RUN_DOWN) { LastStatus = EquipmentStatus.AUTO_RUNNING; } else LastStatus = EquipmentStatus.AUTO_STOP; } else { LastStatus = EquipmentStatus.AUTO_STOP; } if (now - _lastSaveTime > AutoSaveTime.Time) { _lastSaveTime = now; Save(now); } LastUpdateTime = now; if (now.TimeOfDay < EquipmentManager.Instance.GY_SHIFT_START_TIME) StopTime = now.TimeOfDay - RunTime - AlarmTime + TWO_HOUR; else StopTime = now.TimeOfDay - EquipmentManager.Instance.GY_SHIFT_START_TIME - RunTime - AlarmTime; if (StopTime < TimeSpan.Zero) StopTime = TimeSpan.Zero; if (AlarmCount <= 0) { MTBI = RunTime; } else { try { MTBI = new TimeSpan(RunTime.Ticks / (AlarmCount + 1)); } catch { } } }
/// <summary> /// Сохранить экипировку. /// </summary> private void Save() { if (_cells.Count() > 0) { var status = new EquipmentStatus(_cells); status.Save(); } }
public void Ins(EquipmentStatus entity) { _app.Add(entity); }
public TableData Load(PageReq pageRequest, EquipmentStatus entity) { return(_app.Load(pageRequest, entity)); }
public TableData ExportData(EquipmentStatus entity) { return(_app.ExportData(entity)); }
public static string StatusName(EquipmentStatus status) { switch(status){ case EquipmentStatus.HEAVY: return "Heavy"; case EquipmentStatus.STUCK: return "Stuck"; case EquipmentStatus.MERCIFUL: return "Merciful"; case EquipmentStatus.DAMAGED: return "Damaged"; case EquipmentStatus.DULLED: return "Dulled"; case EquipmentStatus.INFESTED: return "Infested"; case EquipmentStatus.NEGATED: return "Negated"; case EquipmentStatus.POSSESSED: return "Possessed"; case EquipmentStatus.RUSTED: return "Rusted"; case EquipmentStatus.WEAK_POINT: return "Weak point"; case EquipmentStatus.WORN_OUT: return "Worn out"; case EquipmentStatus.POISONED: return "Poison-covered"; case EquipmentStatus.LOW_ON_ARROWS: return "Low on arrows"; case EquipmentStatus.ALMOST_OUT_OF_ARROWS: return "Almost out of arrows"; case EquipmentStatus.ONE_ARROW_LEFT: return "One arrow left"; case EquipmentStatus.OUT_OF_ARROWS: return "Out of arrows"; default: return ""; } }
public override void Activate (BTDatabase database) { base.Activate (database); _trans = _database.characterManager.transform.Find ("DownCollider"); _equipmentStatus = _database.characterManager.characterBase.equipmentStatus; }
public ActionResult Detail(int id) { EquipmentStatus equipmentStatus = _equipmentStatusDao.GetById(id); return(View(equipmentStatus)); }
public static Color StatusColor(EquipmentStatus status) { switch(status){ case EquipmentStatus.LOW_ON_ARROWS: return Color.DarkBlue; case EquipmentStatus.ALMOST_OUT_OF_ARROWS: return Color.Blue; case EquipmentStatus.ONE_ARROW_LEFT: //if I add more statuses, I might make these all the same color. don't want to hog ALL the blue. return Color.DarkCyan; case EquipmentStatus.OUT_OF_ARROWS: return Color.Cyan; case EquipmentStatus.POISONED: //weapon-only statuses return Color.Green; case EquipmentStatus.MERCIFUL: return Color.Yellow; case EquipmentStatus.POSSESSED: return Color.Red; case EquipmentStatus.DULLED: return Color.DarkGray; case EquipmentStatus.HEAVY: //statuses that might apply to both return Color.DarkYellow; case EquipmentStatus.STUCK: return Color.Magenta; case EquipmentStatus.NEGATED: return Color.White; case EquipmentStatus.WEAK_POINT: //armor-only statuses return Color.Blue; case EquipmentStatus.WORN_OUT: return Color.Yellow; case EquipmentStatus.DAMAGED: return Color.Red; case EquipmentStatus.INFESTED: return Color.DarkGreen; case EquipmentStatus.RUSTED: return Color.DarkRed; default: return Color.RandomDark; } }
public void Upd(EquipmentStatus entity) { _app.Update(entity); }
public Response EquipmentWorkNodeApp(EquipmentWorkNodeModel equipmentWorkNode) { using (var tran = _context.Database.BeginTransaction()) { Response <ReviseModel> Response = new Response <ReviseModel>(); string sErrorMsg = ""; //if (!CheckLogin()) //{ // Response.Code = 500; // Response.Status = false; // Response.Message = "请先登录!"; // return Response; //} try { Equipment equipment = _unitWork.FindSingle <Equipment>(u => u.Code.Equals(equipmentWorkNode.EquipmentCode)); if (equipment == null) { sErrorMsg += "设备号为:" + equipmentWorkNode.EquipmentCode + "系统中不存在,请确认<br>"; Response.Message = sErrorMsg; } else { EquipmentStatus equipmentStatus = _unitWork.FindSingle <EquipmentStatus>(u => u.EquipmentId.Equals(equipment.Id)); if (equipmentWorkNode.EquipmentCode == EquipmentStart.桁车1 || equipmentWorkNode.EquipmentCode == EquipmentStart.桁车2 || equipmentWorkNode.EquipmentCode == EquipmentStart.桁车3) { StepTrace stCar = _unitWork.Find <StepTrace>(u => u.SerialNumber == equipmentWorkNode.SerialNumber).FirstOrDefault(); if (equipmentWorkNode.Status == "1") { stCar.StationId = equipment.StationId; stCar.StationOutTime = DateTime.Now; equipmentStatus.Status = equipmentWorkNode.Status; } else { stCar.StationId = 0; stCar.StationInTime = DateTime.Now; equipmentStatus.Status = "0"; } _unitWork.UpdateByTracking(stCar); equipmentStatus.UpdateBy = "ECSApi"; equipmentStatus.UpdateTime = DateTime.Now; _unitWork.Update(equipmentStatus); } else { //工位工序对应关系 StepStation stepStation = _unitWork.Find <StepStation>(u => u.StationId == equipment.StationId).FirstOrDefault(); Step step = _unitWork.Find <Step>(u => u.ProductCode == equipmentWorkNode.ProductCode && u.StepType == stepStation.StepType).FirstOrDefault(); //更新设备状态 if (equipmentWorkNode.Status == "0") { equipmentStatus.Status = equipmentWorkNode.Status; equipmentStatus.UpdateBy = "ECSApi"; equipmentStatus.UpdateTime = DateTime.Now; _unitWork.Update(equipmentStatus); } else if (equipmentWorkNode.Status == "1")//开始工作 { if (equipmentWorkNode.EquipmentCode == EquipmentStart.组对1 || equipmentWorkNode.EquipmentCode == EquipmentStart.组对2 || equipmentWorkNode.EquipmentCode == EquipmentStart.组对3 || equipmentWorkNode.EquipmentCode == EquipmentStart.组对4 || equipmentWorkNode.EquipmentCode == EquipmentStart.组对5 || equipmentWorkNode.EquipmentCode == EquipmentStart.组对6) {//开始生产,写入在制品 StepTrace steptrace = _unitWork.FindSingle <StepTrace>(u => u.WONumber.Equals(equipmentWorkNode.OrderCode)); if (steptrace == null) { steptrace = new StepTrace(); steptrace.WONumber = equipmentWorkNode.OrderCode; steptrace.ProductCode = equipmentWorkNode.ProductCode; steptrace.SerialNumber = equipmentWorkNode.SerialNumber; steptrace.LineId = equipment.LineId; steptrace.StepId = step.Id; steptrace.StationId = equipment.StationId; steptrace.NextStepId = _unitWork.FindSingle <Step>(u => u.Sequence == step.Sequence + 1).Id; steptrace.IsNG = false; steptrace.IsInvalid = false; steptrace.LineInTime = DateTime.Now; steptrace.StationInTime = DateTime.Now; steptrace.CreateBy = "ECSApi"; steptrace.CreateTime = DateTime.Now; _unitWork.Add(steptrace); } } else { StepTrace st = _unitWork.Find <StepTrace>(u => u.SerialNumber == equipmentWorkNode.SerialNumber).FirstOrDefault(); st.StepId = step.Id; st.StationId = equipment.StationId; if (step.Sequence == 4) { st.NextStepId = 0; } else { st.NextStepId = _unitWork.FindSingle <Step>(u => u.Sequence == step.Sequence + 1).Id; } st.StationInTime = DateTime.Now; _unitWork.UpdateByTracking(st); } equipmentStatus.Status = equipmentWorkNode.Status; equipmentStatus.UpdateBy = "ECSApi"; equipmentStatus.UpdateTime = DateTime.Now; _unitWork.Update(equipmentStatus); } else if (equipmentWorkNode.Status == "2")//完成 { equipmentStatus.Status = "0"; equipmentStatus.UpdateBy = "ECSApi"; equipmentStatus.UpdateTime = DateTime.Now; _unitWork.Update(equipmentStatus); //执行其它逻辑块(如更新steptrace在制品信息,呼叫桁车已转至下一个工序,给三一MES工序报工等) if (_unitWork.IsExist <StepTrace>(u => u.SerialNumber == equipmentWorkNode.SerialNumber)) { //在制品追踪表 StepTrace stepTrace = _unitWork.Find <StepTrace>(u => u.SerialNumber == equipmentWorkNode.SerialNumber).FirstOrDefault(); stepTrace.StationOutTime = DateTime.Now; //取下道工序 int?StationIdSequence = _unitWork.FindSingle <Step>(u => u.Id.Equals(stepTrace.StepId)).Sequence; //如果下道工序为最后一道机加工序则为空否则取下道工序 if (step.Sequence == 4) { stepTrace.LineOutTime = DateTime.Now; stepTrace.NextStepId = 0; _unitWork.UpdateByTracking(stepTrace); OrderHeader oh; if (equipmentWorkNode.OrderCode != null) { oh = _unitWork.Find <OrderHeader>(u => u.Code == equipmentWorkNode.OrderCode).FirstOrDefault(); } else { var headerid = _unitWork.FindSingle <OrderDetiail>(u => u.SerialNumber == equipmentWorkNode.SerialNumber).OrderHeaderId; oh = _unitWork.Find <OrderHeader>(u => u.Id == headerid).FirstOrDefault(); } //更新明细状态为完成 OrderDetiail orderdt = _unitWork.Find <OrderDetiail>(u => u.OrderCode.Equals(equipmentWorkNode.OrderCode) && u.SerialNumber == equipmentWorkNode.SerialNumber).FirstOrDefault(); orderdt.ExecuteStatus = "done"; orderdt.EndTime = DateTime.Now; orderdt.UpdateBy = "ECSApi"; orderdt.UpdateTime = DateTime.Now; _unitWork.Update(orderdt); if (oh.CompleteQty == null) { oh.CompleteQty = 0; } oh.CompleteQty = oh.CompleteQty + 1; List <OrderDetiail> orderDetiails = _unitWork.Find <OrderDetiail>(u => u.OrderCode.Equals(equipmentWorkNode.OrderCode) && u.ExecuteStatus != "done").ToList(); if (orderDetiails.Count == 0) { //更新工单状态为已完成 oh.Status = OrderStatus.完成; oh.ActualEndTime = DateTime.Now; oh.UpdateBy = "ECSApi"; oh.UpdateTime = DateTime.Now; _unitWork.Update(oh); } if (oh.Status == OrderStatus.完成) { //在制品写入历史表 StepTraceHistory stepTraceHistory = _unitWork.FindSingle <StepTraceHistory>(u => u.WONumber.Equals(stepTrace.WONumber)); if (stepTraceHistory == null) { stepTraceHistory = new StepTraceHistory(); stepTrace.CopyTo(stepTraceHistory); stepTraceHistory.Id = null; _unitWork.Add(stepTraceHistory); //删除已完成的在制品数据 _unitWork.DeleteByTracking(stepTrace); } OrderHeaderHistory orderHeaderHistory = _unitWork.FindSingle <OrderHeaderHistory>(u => u.Code.Equals(oh.Code)); if (orderHeaderHistory == null) { orderHeaderHistory = new OrderHeaderHistory(); //工单主表写入工单历史表 oh.CopyTo(orderHeaderHistory); orderHeaderHistory.Id = null; _unitWork.Add(orderHeaderHistory); //写入工单明细历史表 List <OrderDetiail> detiails = _unitWork.Find <OrderDetiail>(u => u.OrderHeaderId.Equals(oh.Id)).ToList(); foreach (OrderDetiail oddt in detiails) { OrderDetiailHistory orderDetiailHistory = new OrderDetiailHistory(); oddt.CopyTo(orderDetiailHistory); orderDetiailHistory.Id = null; orderDetiailHistory.OrderHeaderId = orderHeaderHistory.Id; _unitWork.Add(orderDetiailHistory); } } } } else { //stepTrace.NextStepId = _unitWork.FindSingle<Step>(u => u.Sequence == StationIdSequence + 1).Id; stepTrace.UpdateBy = "ECSApi"; stepTrace.UpdateTime = DateTime.Now; _unitWork.Update(stepTrace); } //写入过站记录表 StepTraceLog stepTraceLog = _unitWork.FindSingle <StepTraceLog>(u => u.WONumber.Equals(stepTrace.WONumber) && u.SerialNumber == stepTrace.SerialNumber && u.StationId == stepTrace.StationId); if (stepTraceLog == null) { stepTraceLog = new StepTraceLog(); stepTraceLog.WONumber = stepTrace.WONumber; stepTraceLog.ProductCode = stepTrace.ProductCode; stepTraceLog.SerialNumber = stepTrace.SerialNumber; stepTraceLog.LineId = stepTrace.LineId; stepTraceLog.StationId = stepTrace.StationId; stepTraceLog.PassOrFail = "pass"; stepTraceLog.IsNG = stepTrace.IsNG; stepTraceLog.NGcode = stepTrace.NGcode; stepTraceLog.LineInTime = stepTrace.LineInTime; stepTraceLog.StationInTime = stepTrace.StationInTime; stepTraceLog.StationOutTime = DateTime.Now; stepTraceLog.CreateBy = "ECSApi"; stepTraceLog.CreateTime = DateTime.Now; //如果工序为最后一道机加则更新出线时间 if (step.Sequence == 4) { stepTraceLog.LineOutTime = DateTime.Now; } _unitWork.Add(stepTraceLog); } } else { sErrorMsg += "在制品:" + equipmentWorkNode.SerialNumber + "不存在或已完工,请至在制品历史页面确认!<br>"; Response.Message = sErrorMsg; } } else { sErrorMsg += "状态为:" + equipmentWorkNode.Status + "不识别的设备状态<br>"; Response.Message = sErrorMsg; } } } tran.Commit(); } catch (Exception ex) { tran.Rollback(); Response.Code = 500; Response.Status = false; Response.Message = (Response.Message == "操作成功" ? "" : Response.Message) + "\r\n" + "EquipmentCode:" + equipmentWorkNode.EquipmentCode + "反馈失败!" + ex.Message; } return(Response); } }
public static string StatusDescription(EquipmentStatus status) { switch(status){ case EquipmentStatus.POISONED: //weapon-only statuses return " Poison-covered -- Poisons the target, and might poison you too."; case EquipmentStatus.MERCIFUL: return " Merciful -- Unable to take the last bit of health from an enemy."; case EquipmentStatus.POSSESSED: return " Possessed -- This weapon will sometimes attack the wrong target."; case EquipmentStatus.DULLED: return " Dulled -- This weapon deals minimum damage on each hit."; case EquipmentStatus.LOW_ON_ARROWS: return " Low on arrows -- Your quiver feels a bit light."; case EquipmentStatus.ALMOST_OUT_OF_ARROWS: return " Almost out of arrows -- Your quiver is almost empty."; case EquipmentStatus.ONE_ARROW_LEFT: return " One arrow left -- This final arrow will have perfect accuracy."; case EquipmentStatus.OUT_OF_ARROWS: return " Out of arrows -- Repair your equipment to restock your arrows."; case EquipmentStatus.HEAVY: //statuses that might apply to both return " Heavy -- Attacking with this weapon often causes exhaustion."; case EquipmentStatus.STUCK: return " Stuck -- This item can't be unequipped."; case EquipmentStatus.NEGATED: return " Negated -- The enchantment on this item has been suppressed."; case EquipmentStatus.WEAK_POINT: //armor-only statuses return " Weak point -- Enemies are twice as likely to score critical hits."; case EquipmentStatus.WORN_OUT: return " Worn out -- Any further wear on this armor might damage it."; case EquipmentStatus.DAMAGED: return " Damaged -- This armor provides no protection."; case EquipmentStatus.INFESTED: return " Infested -- Insects constantly bite the wearer."; case EquipmentStatus.RUSTED: return " Rusted"; //not implemented default: return ""; } }