protected void btnOK_Click(object sender, EventArgs e) { try { EquipmentInfo equipmentData = EquipmentInfo.GetEquipmentByName(mEQP.EquipmentName); if (mEQP.Tag != equipmentData.Tag) { throw new RuleCimesException(TextMessage.Error.T00747("")); } string EqpID = ciEquipment.Must(lblEquipment); string Reason = csReason.Must(lblReasonCode).Value; EquipmentStateInfo equipmentState = EquipmentStateInfo.GetEquipmentStateByState(ddlNewState.Must(lblNewState).Text); var txnStamp = new TransactionStamp(User.Identity.Name, ProgramRight, ProgramRight, this.ApplicationName); var rcData = csReason.GetBusinessReason().CategoryReason; txnStamp.CategoryReasonCode = rcData; txnStamp.Description = ttbDesc.Text.Trim(); #region 檢查是否有設定機台變更狀態警報,若有,則發送警報 //使用Function取得ALM設定,可彈性使用 //取得機台狀態警報設定,預設是抓取系統資料設定[EquipStateAlarm] AlarmTypeInfo AlarmType = RuleExtendManager.GetEquipmentChangeStateAlarm(equipmentData, ddlNewState.Must(lblNewState).Text); string ALMsg = @"[Subject:{0}][Content:{1}:{2}; {3}:{4}; {5}:{6}; {7}:{8}; {9}:{10}]"; if (AlarmType != null) { // "[Content:TEST][Subject:TEST]" ALMsg = string.Format(ALMsg, ProgramInformationBlock1.Caption, lblEquipment.Text, mEQP.EquipmentName, lblOldState.Text, mEQP.CurrentState, lblNewState.Text, equipmentState.State, lblReasonCode.Text, rcData.Reason, lblDescription.Text, txnStamp.Description); } #endregion using (var cts = CimesTransactionScope.Create()) { EMSTransaction.ChangeState(equipmentData, equipmentState, txnStamp); RuleExtendManager.EquipmentTxnEnd(equipmentData); cts.Complete(); } #region 發送警報 if (AlarmType != null) { AlarmService WebServiceALM = new AlarmService(); string url = "http://" + Request.Url.Host + Request.ApplicationPath + "/ALM/Services/AlarmService.asmx"; WebServiceALM.Url = url; string ReturnMsg = WebServiceALM.LaunchAlarm(AlarmType.GroupRights, AlarmType.TYPE, ALMsg, txnStamp.RecordTime, "UI", User.Identity.Name); } #endregion Response.Redirect(ciMes.Security.UserSetting.GetPreviousListPage(this), false); } catch (Exception ex) { HandleError(ex); } }
private void LoadControlDefault() { ttbDesc.Enabled = false; csReason.Setup(ProgramRight, "ALL", "Default", ReasonMode.Category); if (csReason.IsNull) { throw new RuleCimesException(TextMessage.Error.T00642(ProgramRight, "ALL", "Default", ReasonMode.Category.ToString())); } if (ttbOldState.Text.Trim() != "") { #region P_GET_CHAGNESTATE_EQPSTATE List <EquipmentStateInfo> eqpState = RuleExtendManager.GetChangeStateEqpState(ttbOldState.Text.Trim()); eqpState.Sort(p => p.State); #endregion ddlNewState.DataSource = eqpState; } ddlNewState.DataTextField = "State"; ddlNewState.DataValueField = "State"; ddlNewState.DataBind(); ddlNewState.Items.Insert(0, string.Empty); ddlNewState.Enabled = false; if (Request["NewStatus"].IsNullOrEmpty()) { //[01597]傳入的參數{0}為空值,無法提供所需數據! throw new RuleCimesException(TextMessage.Error.T01597("NewStatus")); } var item = ddlNewState.Items.FindByValue(Request["NewStatus"].ToString()); if (item != null) { ddlNewState.ClearSelection(); item.Selected = true; } }