Exemple #1
0
        /// <summary>
        /// Заполняет набор данных информацией о текущих зарегистрированных сотрудниках
        /// </summary>
        /// <param name="susp">true - выбираются только "подозрительные" сотрудники (у которых временной диапазон приход/уход слишком большой); false - выбираются все текуще зарегистированные сотрудники  </param>
        private dsCurrent fillToEdit(bool susp)
        {
            dsCurrent sqlDS = null;
            string    sql   = "";

            try
            {
                sql = sql + "SELECT ec.MID,em.MCODE,ISNULL(em.MSURNAME, '')+' '+ISNULL(em.MNAME, '')+' '+ISNULL(em.MSECNAME, '') AS FIO, em.MDEPARTMENT as MDEPARTMENT,em.MGROUP as MGROUP, ec.INDT as INOUTDATETIME, ";
                sql = sql + "CAST(DATEDIFF(mi, ec.INDT, GETDATE()) / 60 AS varchar) + ' ч. ' + CAST(DATEDIFF(mi, ec.INDT, GETDATE()) % 60 AS varchar)+' мин.' AS DUR ";
                sql = sql + "FROM EmplCurrent AS ec INNER JOIN EmplMain AS em ON ec.MID = em.MID WHERE  (ec.ID IN (SELECT MAX(ID) AS MAXID FROM EmplCurrent AS ec1 GROUP BY MID)) AND (ec.OUTDT IS NULL) ";
                if (susp)
                {
                    sql = sql + " AND (DATEDIFF(mi, ec.INDT,GETDATE()) > 720) ";                 //в минутах подозрительное время на работе, сейчас 12 часов
                }
                sql = sql + " ORDER BY em.MSURNAME";

                OleDbDataAdapter sqlDA = new OleDbDataAdapter(sql, conStr);
                sqlDA.SelectCommand.CommandTimeout = 120;

                sqlDS = new dsCurrent();
                sqlDA.Fill(sqlDS, "EmplEdit");
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }

            return(sqlDS);
        }
Exemple #2
0
        public override DataSet Clone()
        {
            dsCurrent cln = ((dsCurrent)(base.Clone()));

            cln.InitVars();
            return(cln);
        }
Exemple #3
0
        /// <summary>
        /// Иницирует к открытию отчёт о текуще зарегистрированных сотрудниках
        /// </summary>
        private void btnPrint_Click(object sender, System.EventArgs e)
        {
            dsCurrent ds = null;

            try
            {
                crCurrent cr = new crCurrent();
                ds = fillCurrent(cbSusp.Checked);
                cr.SetDataSource(ds);

                fmRep codeRep = new fmRep(cr);
                codeRep.ShowDialog();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Не удалось создать отчёт! " + ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }
        }
Exemple #4
0
        private void fmEmplEdit_Load(object sender, System.EventArgs e)
        {
            DataSet sqlDS = new DataSet();
            string  sql   = "";

            try
            {
                OleDbDataAdapter sqlDA = new OleDbDataAdapter(sql, conStr);
                sqlDA.SelectCommand.CommandTimeout = 120;
                sqlDS = new dsCurrent();

                sql = "SELECT ISNULL(MSURNAME, '')+' '+ISNULL(MNAME, '')+' '+ISNULL(MSECNAME, ''), " +
                      "MDEPARTMENT AS FIO, MGROUP FROM EmplMain WHERE MCODE = '" + emplMcode + "'";
                sqlDA.SelectCommand.CommandText = sql;
                sqlDA.Fill(sqlDS);

                tbFIO.Text      = (string)sqlDS.Tables[2].Rows[0][0];
                tbDivision.Text = sqlDS.Tables[2].Rows[0][1] as string;
                tbGroup.Text    = Convert.ToString(sqlDS.Tables[2].Rows[0][2]);

//				sql="SELECT TOP 1 MPHOTO FROM EmplMain where MCODE = '" + emplMcode + "'";
//                sqlDA.SelectCommand.CommandText = sql;
//				sqlDA.Fill(sqlDS);
//				byte [] photo=(Convert.IsDBNull(sqlDS.Tables[2].Rows[0][0]))?new byte[0]:(byte [])sqlDS.Tables[2].Rows[0][0];
////				if(photo.Length!=0)
////				{
////					MemoryStream ms=new MemoryStream(photo);
////					pbPhoto.Image=new Bitmap(ms);
////					lbPhoto.Hide();
////				}
////				else
////				{
////					pbPhoto.Image=null;
////					lbPhoto.Show();
////				}

                sql = "SELECT ISNULL(em.MSURNAME, '')+' '+ISNULL(em.MNAME, '')+' '+ISNULL(em.MSECNAME, '') AS FIO, em.MDEPARTMENT as MDEPARTMENT,em.MGROUP as MGROUP, ec.INDT as INOUTDATETIME, ";
                sql = sql + "CAST(DATEDIFF(mi, ec.INDT, GETDATE()) / 60 AS varchar) + ' ч. ' + CAST(DATEDIFF(mi, ec.INDT, GETDATE()) % 60 AS varchar)+' мин.' AS DUR ";
                sql = sql + "FROM EmplCurrent AS ec INNER JOIN EmplMain AS em ON ec.MID = em.MID WHERE  em.MCODE = '" + emplMcode + "'";
                sql = sql + " ORDER BY em.MSURNAME";

                sqlDA.SelectCommand.CommandText = sql;
                sqlDA.Fill(sqlDS, "EmplEdit");
            }
            catch (Exception e1)
            {
                MessageBox.Show(e1.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            }

            if (sqlDS == null)
            {
                MessageBox.Show("Не удалось загрузить данные о выбранном сотруднике!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                Close();
            }
            else
            {
                try
                {
                    if (dgCurrent.TableStyles["EmplEdit"] == null)
                    {
                        DataGridTableStyle ts = new DataGridTableStyle();
                        ts.MappingName          = "EmplEdit";
                        ts.AllowSorting         = true;
                        ts.AlternatingBackColor = Color.Honeydew;
                        //фио
                        DataGridTextBoxColumn tb3 = new DataGridTextBoxColumn();
                        tb3.Width       = 150;
                        tb3.MappingName = Convert.ToString(sqlDS.Tables["EmplEdit"].Columns[0].ColumnName);
                        tb3.HeaderText  = "ФИО";
                        tb3.ReadOnly    = true;
                        //отдел
                        DataGridTextBoxColumn tb4 = new DataGridTextBoxColumn();
                        tb4.Width       = 150;
                        tb4.MappingName = Convert.ToString(sqlDS.Tables["EmplEdit"].Columns[1].ColumnName);
                        tb4.HeaderText  = "Отдел";
                        tb4.ReadOnly    = true;
                        //группа
                        DataGridTextBoxColumn tb5 = new DataGridTextBoxColumn();
                        tb5.Width       = 100;
                        tb5.MappingName = Convert.ToString(sqlDS.Tables["EmplEdit"].Columns[2].ColumnName);
                        tb5.HeaderText  = "Группа";
                        tb5.ReadOnly    = true;
                        //время прихода
                        DataGridTextBoxColumn tb6 = new DataGridTextBoxColumn();
                        tb6.Width       = 120;
                        tb6.MappingName = Convert.ToString(sqlDS.Tables["EmplEdit"].Columns[3].ColumnName);
                        tb6.HeaderText  = "Приход";
                        //времени на рабочем месте
                        DataGridTextBoxColumn tb7 = new DataGridTextBoxColumn();
                        tb7.Width       = 100;
                        tb7.MappingName = Convert.ToString(sqlDS.Tables["EmplEdit"].Columns[4].ColumnName);
                        tb7.HeaderText  = "Отработано";
                        tb7.ReadOnly    = true;

                        ts.GridColumnStyles.Add(tb3);
                        ts.GridColumnStyles.Add(tb4);
                        ts.GridColumnStyles.Add(tb5);
                        ts.GridColumnStyles.Add(tb6);
                        ts.GridColumnStyles.Add(tb7);

                        dgCurrent.TableStyles.Add(ts);
                        dgCurrent.ReadOnly = false;
                    }
                    dgCurrent.SetDataBinding(sqlDS, "EmplEdit");
                }
                catch (Exception e2)
                {
                    MessageBox.Show("Ошибка при инициализации таблицы. " + e2.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }
            }
        }
Exemple #5
0
        /// <summary>
        /// Связывает элемент управления "таблица" на форме с набором данных о текуще зарегистрированных сотрудниках
        /// </summary>
        /// <param name="susp"></param>
        private void setGridToEdit(bool susp)
        {
            dsCurrent dsCur = fillToEdit(susp);

            if (dsCur == null)
            {
                MessageBox.Show("Не удалось загрузить данные о присутствующих на данный момент сотрудниках!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                Close();
            }
            else
            {
                try
                {
                    if (dgCurrent.TableStyles["EmplEdit"] == null)
                    {
                        DataGridTableStyle ts = new DataGridTableStyle();
                        ts.MappingName          = "EmplEdit";
                        ts.AllowSorting         = true;
                        ts.AlternatingBackColor = Color.Honeydew;
                        DataGridTextBoxColumn tb1 = new DataGridTextBoxColumn();
                        //идентификатор
                        tb1.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[0].ColumnName);
                        tb1.Width       = 0;
                        //штрих-код
                        DataGridTextBoxColumn tb2 = new DataGridTextBoxColumn();
                        tb2.Width       = 120;
                        tb2.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[1].ColumnName);
                        tb2.HeaderText  = "Штрих-код";
                        //фио
                        DataGridTextBoxColumn tb3 = new DataGridTextBoxColumn();
                        tb3.Width       = 200;
                        tb3.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[2].ColumnName);
                        tb3.HeaderText  = "ФИО";
                        //отдел
                        DataGridTextBoxColumn tb4 = new DataGridTextBoxColumn();
                        tb4.Width       = 200;
                        tb4.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[3].ColumnName);
                        tb4.HeaderText  = "Отдел";
                        //группа
                        DataGridTextBoxColumn tb5 = new DataGridTextBoxColumn();
                        tb5.Width       = 150;
                        tb5.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[4].ColumnName);
                        tb5.HeaderText  = "Группа";
                        //время прихода
                        DataGridTextBoxColumn tb6 = new DataGridTextBoxColumn();
                        tb6.Width       = 120;
                        tb6.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[5].ColumnName);
                        tb6.HeaderText  = "Приход";
                        //времени на рабочем месте
                        DataGridTextBoxColumn tb7 = new DataGridTextBoxColumn();
                        tb7.Width       = 100;
                        tb7.MappingName = Convert.ToString(dsCur.Tables["EmplEdit"].Columns[6].ColumnName);
                        tb7.HeaderText  = "Отработано";

                        ts.GridColumnStyles.Add(tb1);
                        ts.GridColumnStyles.Add(tb2);
                        ts.GridColumnStyles.Add(tb3);
                        ts.GridColumnStyles.Add(tb4);
                        ts.GridColumnStyles.Add(tb5);
                        ts.GridColumnStyles.Add(tb6);
                        ts.GridColumnStyles.Add(tb7);

                        dgCurrent.TableStyles.Add(ts);
                        dgCurrent.ReadOnly = true;
                    }
                    dgCurrent.SetDataBinding(dsCur, "EmplEdit");
                }
                catch (Exception e)
                {
                    MessageBox.Show("Ошбика при инициализации таблицы. " + e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }
            }
        }