Beispiel #1
0
        private void grdvAndonEvents_FocusedRowObjectChanged(object sender, FocusedRowObjectChangedEventArgs e)
        {
            #region 如果当前登录的社区为伟世通(60006),则会判断当前事件是否已经关联了 T144LeafID
            if (IRAPUser.Instance.CommunityID == 60006)
            {
                if (e.FocusedRowHandle < 0)
                {
                    btnEventCauseConfirm.Enabled = false;
                    btnEventClose.Enabled        = false;

                    return;
                }

                if (e.Row is AndonEventToClose)
                {
                    AndonEventToClose adnonEvent = e.Row as AndonEventToClose;

                    int    errCode    = 0;
                    string errText    = "";
                    int    t144LeafID = 0;

                    IRAPFVSClient.Instance.ufn_GetT144LeafID(
                        IRAPUser.Instance.CommunityID,
                        adnonEvent.EventFactID,
                        IRAPUser.Instance.SysLogID,
                        ref t144LeafID,
                        out errCode,
                        out errText);
                    if (errCode == 0)
                    {
                        btnEventCauseConfirm.Enabled = t144LeafID == 0;
                        btnEventClose.Enabled        = t144LeafID != 0;
                    }
                    else
                    {
                        btnEventCauseConfirm.Enabled = false;
                        btnEventClose.Enabled        = false;

                        IRAPMessageBox.Instance.Show(
                            errText,
                            Text,
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);

                        GetAndonEventsToClose();
                    }
                }
            }
            #endregion
        }
Beispiel #2
0
        private void btnEventClose_Click(object sender, EventArgs e)
        {
            if (grdvAndonEvents.GetFocusedDataSourceRowIndex() >= 0)
            {
                string strProcedureName =
                    string.Format(
                        "{0}.{1}",
                        className,
                        MethodBase.GetCurrentMethod().Name);

                int index = grdvAndonEvents.GetFocusedDataSourceRowIndex();
                if (index < 0)
                {
                    IRAPMessageBox.Instance.Show(
                        "请选择一个需要关闭的安灯事件!",
                        Text,
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Exclamation);
                    return;
                }

                WriteLog.Instance.WriteBeginSplitter(strProcedureName);
                try
                {
                    #region 关闭安灯事件
                    WriteLog.Instance.Write(string.Format("关闭安灯事件[{0}]", events[index].EventFactID), strProcedureName);
                    WriteLog.Instance.Write("采集关闭者的用户代码和满意度评分", strProcedureName);

                    string userCode          = "";
                    int    satisfactoryLevel = 0;
                    long   nextEventFactID   = 0;

                    AndonEventToClose andonEvent = grdvAndonEvents.GetFocusedRow() as AndonEventToClose;

                    andonEvent.StopEventFactID = 0;
                    if (andonEvent.StopEventFactID == 0)
                    {
                        using (frmAndonEventCloseProperties formAndonEventClose = new frmAndonEventCloseProperties())
                        {
                            if (formAndonEventClose.ShowDialog() == DialogResult.Cancel)
                            {
                                WriteLog.Instance.Write(
                                    string.Format(
                                        "取消关闭安灯事件[{0}]",
                                        events[index].EventFactID),
                                    strProcedureName);

                                GetAndonEventsToClose();

                                return;
                            }
                            else
                            {
                                userCode          = formAndonEventClose.UserInfo.UserCode;
                                satisfactoryLevel = formAndonEventClose.Satisfactory;
                            }
                        }
                    }
                    else
                    {
                        using (frmAndonEventCloseWithProductionLineStopped formClose =
                                   new frmAndonEventCloseWithProductionLineStopped(
                                       currentProductionLine.T134LeafID,
                                       andonEvent.EventFactID))
                        {
                            if (formClose.ShowDialog() == DialogResult.Cancel)
                            {
                                WriteLog.Instance.Write(
                                    string.Format(
                                        "取消关闭安灯事件[{0}]",
                                        events[index].EventFactID),
                                    strProcedureName);

                                GetAndonEventsToClose();

                                return;
                            }
                            else
                            {
                                userCode          = formClose.UserInfo.UserCode;
                                satisfactoryLevel = formClose.Satisfactory;
                                nextEventFactID   = formClose.NewEventFactID;
                            }
                        }
                    }

                    WriteLog.Instance.Write(
                        string.Format("采集到关闭者代码[{0}]、满意度评分[{1}]、新关联停线的安灯事件事实号[{2}]",
                                      userCode,
                                      satisfactoryLevel,
                                      nextEventFactID),
                        strProcedureName);

                    int    errCode    = 0;
                    string errText    = "";
                    long   transactNo = 0;
                    long   factID     = 0;
                    string opNode     = ((MenuInfo)Tag).OpNode;

                    transactNo =
                        IRAPUTSClient.Instance.mfn_GetTransactNo(
                            IRAPUser.Instance.CommunityID,
                            1,
                            IRAPUser.Instance.SysLogID,
                            opNode);
                    factID =
                        IRAPUTSClient.Instance.mfn_GetFactID(
                            IRAPUser.Instance.CommunityID,
                            1,
                            IRAPUser.Instance.SysLogID,
                            opNode);

                    IRAPFVSClient.Instance.usp_SaveFact_AndonEventClose(
                        IRAPUser.Instance.CommunityID,
                        transactNo,
                        factID,
                        events[index].EventFactID,
                        nextEventFactID,
                        events[index].OpID,
                        userCode,
                        satisfactoryLevel,
                        IRAPUser.Instance.SysLogID,
                        out errCode,
                        out errText);
                    WriteLog.Instance.Write(string.Format("({0}){1}", errCode, errText), strProcedureName);
                    if (errCode == 0)
                    {
                        IRAPMessageBox.Instance.Show(
                            errText,
                            Text,
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Asterisk);
                    }
                    else
                    {
                        IRAPMessageBox.Instance.Show(
                            errText,
                            Text,
                            MessageBoxButtons.OK,
                            MessageBoxIcon.Error);
                    }

                    GetAndonEventsToClose();
                    #endregion

                    RefreshCurrentProductionLine();
                }
                catch (Exception error)
                {
                    WriteLog.Instance.Write(error.Message, strProcedureName);
                    IRAPMessageBox.Instance.Show(error.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    WriteLog.Instance.WriteEndSplitter(strProcedureName);
                }
            }
        }
Beispiel #3
0
        private void btnEventCauseConfirm_Click(object sender, EventArgs e)
        {
            if (grdvAndonEvents.GetFocusedDataSourceRowIndex() < 0)
            {
                return;
            }

            if (!(grdvAndonEvents.GetFocusedRow() is AndonEventToClose))
            {
                return;
            }

            AndonEventToClose andonEvent = grdvAndonEvents.GetFocusedRow() as AndonEventToClose;

            string remark     = "";
            int    t144LeafID = 0;

            using (frmAndonEventClosePropertiesVisteon formEventExtProperties =
                       new frmAndonEventClosePropertiesVisteon())
            {
                formEventExtProperties.T134LeafID = currentProductionLine.T134LeafID;

                if (formEventExtProperties.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                remark     = formEventExtProperties.Remark;
                t144LeafID = formEventExtProperties.T144LeafID;
            }

            string strProcedureName =
                string.Format(
                    "{0}.{1}",
                    className,
                    MethodBase.GetCurrentMethod().Name);

            WriteLog.Instance.WriteBeginSplitter(strProcedureName);
            try
            {
                int    errCode = 0;
                string errText = "";
                IRAPFVSClient.Instance.usp_SaveFact_AndonEventNote(
                    IRAPUser.Instance.CommunityID,
                    andonEvent.EventFactID,
                    t144LeafID,
                    remark,
                    IRAPUser.Instance.SysLogID,
                    out errCode,
                    out errText);
                WriteLog.Instance.Write(
                    string.Format("({0}){1}", errCode, errText),
                    strProcedureName);

                if (errCode != 0)
                {
                    IRAPMessageBox.Instance.Show(
                        errText,
                        Text,
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                }
                else
                {
                    btnEventCauseConfirm.Enabled = false;
                    btnEventClose.Enabled        = true;
                }
            }
            finally
            {
                WriteLog.Instance.WriteEndSplitter(strProcedureName);
            }
        }