Пример #1
0
        private void butSure_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(rtbRejectReason.Text))
                {
                    MessageBox.Show("驳回理由不能为空。", "提示");
                    return;
                }

                JReportRejectItem reportReject = new JReportRejectItem();

                reportReject.驳回人  = _userData.Name;
                reportReject.驳回理由 = rtbRejectReason.Text;
                reportReject.驳回时间 = _reportDbModel.GetServerDate();
                reportReject.驳回状态 = (int)ReportRejectState.rrsRejecting;

                _reportData.驳回信息.驳回明细.Add(reportReject);

                _reportData.状态信息.是否驳回中  = true;
                _reportData.状态信息.最后更新时间 = _reportDbModel.GetServerDate();

                _reportDbModel.RejectReport(_reportData);

                _isOk = true;
                this.Close();
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Пример #2
0
        private void dataGridView1_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                if (_isBinding)
                {
                    return;
                }

                ClearData();

                if (dataGridView1.DataSource == null)
                {
                    return;
                }
                if (dataGridView1.SelectedRows.Count <= 0)
                {
                    return;
                }

                DataGridViewRow dvr = dataGridView1.SelectedRows[0];


                string signKey = dvr.Cells["Key"].Value.ToString();

                JReportRejectItem rejectItem = _reportData.驳回信息.驳回明细.Find(T => T.Key == signKey);

                if (rejectItem != null)
                {
                    txtRejectUser.Text   = rejectItem.驳回人;
                    txtRejectTime.Text   = rejectItem.驳回时间.ToString("yyyy-MM-dd HH:mm");
                    txtRejectState.Text  = ((rejectItem.驳回状态 == 0) ? "驳回中" : ((rejectItem.驳回状态 == 1) ? "已处理" : "已撤销"));
                    rtbRejectReason.Text = rejectItem.驳回理由;

                    if (string.IsNullOrEmpty(rejectItem.处理人) == false)
                    {
                        txtProcessUserName.Text = rejectItem.处理人;
                        txtProcessTime.Text     = rejectItem.处理时间.ToString("yyyy-MM-dd HH:mm");
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }
Пример #3
0
        private void tsbCancel_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridView1.DataSource == null || dataGridView1.SelectedRows.Count <= 0)
                {
                    MessageBox.Show("请选择需要撤销的驳回信息。", "提示");
                    return;
                }

                if (dataGridView1.SelectedRows[0] != dataGridView1.Rows[0])
                {
                    MessageBox.Show("只能撤销最后一次驳回信息。", "提示");
                    return;
                }

                //验证用户级别
                JReportSignInfo signInfo = _reportData.签名信息;

                JReportSignItem signLast = signInfo.签名明细[signInfo.签名明细.Count - 1];

                if (signLast.用户名称 != _userData.Name)
                {
                    if (_userData.Level < signLast.用户级别)
                    {
                        MessageBox.Show("报告最后已由 [" + signLast.用户名称 + "] 处理,无权进行撤销。", "提示");
                        return;
                    }

                    if (_userData.Level == signLast.用户级别)
                    {
                        if (!(_reportPars.EqualAdutingLevel > -1 && _userData.Level >= _reportPars.EqualAdutingLevel))
                        {
                            MessageBox.Show("报告最后已由 [" + signLast.用户名称 + "] 处理,无权进行撤销。", "提示");
                            return;
                        }
                    }
                }


                //检查状态是否改变
                if (CheckStateChange(_reportData) == false)
                {
                    return;
                }

                DataGridViewRow dvr = dataGridView1.SelectedRows[0];

                string rejectKey = dvr.Cells["Key"].Value.ToString();

                JReportRejectInfo rejectInfo = _reportData.驳回信息;
                int backIndex = rejectInfo.驳回明细.FindIndex(T => T.Key == rejectKey);
                if (backIndex < 0)
                {
                    MessageBox.Show("未找到对应驳回信息,不能进行撤销。", "提示");
                    return;
                }

                JReportRejectItem rejectItem = rejectInfo.驳回明细[backIndex];
                if (rejectItem == null)
                {
                    MessageBox.Show("当前所选驳回信息无效,不能进行撤销。", "提示");
                    return;
                }

                if (rejectItem.驳回状态 != 0)
                {
                    MessageBox.Show("当前驳回已被处理,不能进行撤销。", "提示");
                    return;
                }


                rejectItem.驳回状态 = (int)ReportRejectState.rrsCanceled;

                _reportData.状态信息.是否驳回中  = false;
                _reportData.状态信息.最后更新时间 = _reportDbModel.GetServerDate();

                _reportDbModel.RejectReport(_reportData);

                _isOk = true;
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
            }
        }