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);
            }
        }
Exemple #2
0
        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"));
        }
Exemple #10
0
        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;
        }
Exemple #11
0
 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);
        }
Exemple #15
0
        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));
        }
Exemple #17
0
        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;
            }
        }
Exemple #19
0
        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);
        }
Exemple #22
0
        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);
        }
Exemple #23
0
 public string Load(PageReq pageRequest, EquipmentStatus entity)
 {
     return(JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity)));
 }
Exemple #24
0
 public override void Activate(BTDatabase database)
 {
     base.Activate(database);
     _trans           = _database.characterManager.transform.Find("DownCollider");
     _equipmentStatus = _database.characterManager.characterBase.equipmentStatus;
 }
Exemple #25
0
 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
                {
                }
            }
        }
Exemple #30
0
 /// <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));
 }
Exemple #34
0
 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 "";
     }
 }
Exemple #35
0
		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));
        }
Exemple #37
0
 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);
            }
        }
Exemple #40
0
 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 "";
     }
 }