Example #1
0
 public void MakePlacement(PlacementConfig config)
 {
     try
     {
         dtClasses    = helper.getDs(strSelect_Class_Data, "Classes_Data").Tables[0];
         dtTeachers   = helper.getDs(strSelect_Teachers_Data, "Teachers_Data").Tables[0];
         dtTeachers   = dtTeachers.Select("IsSupervisor=False").CopyToDataTable();
         dtSupervisor = helper.getDs(strSelect_Teachers_Data, "Teachers_Data").Tables[0];
         dtSupervisor = dtSupervisor.Select("IsSupervisor=True").CopyToDataTable();
         dtSpareTime  = helper.getDs(strSelect_SpareTime_Data, "SpaerTime_Data").Tables[0];
         dtPlacement  = helper.getDs(strSelect_Placement_Data, "Placement_Data").Tables[0];
         for (Week = config.Cbegin_week; Week < 19; Week++)
         {
             UpdataWeek(dtSupervisor);
             if (CheckWeekPeo(Week) >= config.Cnumpeo_min)
             {
                 SelectSameDay(config, Week);
             }
             else
             {
                 continue;
             }
         }
         UpdateALL();
     }
     catch (System.Exception ex)
     {
         MessageBox.Show("排课失败" + ex.ToString());
     }
 }
Example #2
0
      private string classnumber(string teachername)
      {
          System.Data.DataTable dtTeachers = helper.getDs(strSelect_Teachers_Data, "Teachers_Data").Tables[0];
          DataRow[]             teacher    = dtTeachers.Select("Teacher='" + teachername + "'");
          if (teacher.Length != 0)
          {
              string teachernumber = teacher[0][0].ToString();
              return(teachernumber);
          }
          else
          {
              string classnumber = "0000000000";

              return(classnumber);
          }
      }
Example #3
0
 private void FindEmailAddress(List <string> ListSupervisor, SqlHelper help, List <string> ListAddress)
 {
     for (int i = 0; i < ListSupervisor.Count; i++)
     {
         string    selectcommand = "select * from Teachers_Data where Teacher like '" + "%" + ListSupervisor[i] + "%" + "'";
         DataRow[] dr            = help.getDs(selectcommand, "Teachers_Data").Tables[0].Select();
         ListAddress.Add(dr[0][2].ToString());
     }
 }
Example #4
0
        private EmailInfo InitializeEmailInfo()
        {
            EmailInfo Info = new EmailInfo();

            Info.AddFiles = FilePath;
            Info.User     = Common.Common.MailAddress;
            Info.PassWord = Common.Common.MailPassword;
            Info.Content  = "";
            Info.Title    = DateTime.Now.ToLongTimeString() + "听课反馈";

            Info.Receiver = help.getDs("select * from Teachers_Data where Teacher like '%" + Listview.CheckedItems[0].SubItems[6].Text + "%'", "Teachers_Data").Tables[0].Rows[0][2].ToString();
            return(Info);
        }
        public void insert(MessageInfo info)
        {
            DataTable dt = helper.getDs("select * from Logs_Data", "Logs_Data").Tables[0];
            DataRow   dr = dt.NewRow();

            dr[0] = frmMain.IpAndName[info.Address];
            dr[1] = info.Allmessage;
            dr[2] = DateTimeToStamp(info.Time);
            dr[3] = info.Type;
            dt.Rows.Add(dr);
            OleDbDataAdapter oledbadapter = helper.adapter("select * from Logs_Data");

            oledbadapter.Update(dt);
        }
Example #6
0
        /// <summary>
        /// 从数据库中选择要导出的教学进度
        /// </summary>
        public bool InitData(string condition)
        {
            string selectcommand = "";

            if (condition != "")
            {
                selectcommand = "select Teacher,Class_Type,Class_Week,Class_Day,Class_Number,Class_Name from Classes_Data" + " where " + condition;
            }
            else
            {
                selectcommand = "select Teacher,Class_Type,Class_Week,Class_Day,Class_Number,Class_Name from Classes_Data";
            }

            dtclass = help.getDs(selectcommand, "Classes_Data").Tables[0];
            if (dtclass.Rows.Count == 0)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Example #7
0
 private void buttonX1_Click(object sender, EventArgs e)
 {
     if (comboBox1.SelectedItem != null)
     {
         if (comboBox1.SelectedIndex == 0)
         {
             SqlHelper help = new SqlHelper();
             DataTable dt = help.getDs("select * from Classes_Data", "Classes_Data").Tables[0];
             frmClasses frm = new frmClasses(date, dt);
             frm.Show();
             this.Close();
         }
         else
         {
            // frmPlanSearch frm = new frmPlanSearch(date);
            // frm.Show();
            // this.Close();
         }
     }
     else
     {
         MessageBox.Show("请选择查找的数据表");
     }
 }
Example #8
0
        private void NoIdTeacher()
        {
            SqlHelper help = new SqlHelper();
            DataTable dtClass = help.getDs("select * from Classes_Data","Classes_Data").Tables[0];
            DataRow[] NoIDteacher = dtClass.Select("Teacher_ID='" + "0000000000" + "' ");
            daTeachers = help.adapter("select * from Teachers_Data");
            dtTeachers = new System.Data.DataTable();
            daTeachers.Fill(dtTeachers);
            daTeachers.FillSchema(dtTeachers, SchemaType.Source);
            List<string> teachers = new List<string> { };
            DataTable Idteacher_dt = dtTeachers.Copy();   //  获取Class_Data的架构
            Idteacher_dt.Clear();
            for (int i = 0; i < NoIDteacher.Length; i++)
            {
                teachers.Add(NoIDteacher[i][2].ToString());
            }
            string[] newteachers = teachers.Distinct<string>().ToArray();
            teachers.Clear();
            for (int i = 0; i < dtTeachers.Rows.Count;i++ )
            {
                teachers.Add(dtTeachers.Rows[i][1].ToString());
            }
            string[] oldteachers = teachers.Distinct<string>().ToArray();
            for (int z = 0; z < newteachers.Length; z++)
            {
                for (int i = 0; i < oldteachers.Length;i++ )
                {
                    if (newteachers[z].ToString().Equals(oldteachers[i].ToString()))
                    {
                        newteachers[z] = "";
                    }

                }

            }

            for (int i = 0; i < newteachers.Length;i++ )
            {   if(newteachers[i]!=""){
                DataRow dr_teacher = Idteacher_dt.NewRow();
                dr_teacher[1] = newteachers[i].ToString();
                dr_teacher[0] = newteachers[i].ToString();
                dr_teacher[7] = 0;
                dr_teacher[8] = 0;
                dr_teacher[9] = 0;
                dr_teacher[10] = 0;
                Idteacher_dt.Rows.Add(dr_teacher);
               }
            }

            dtTeachers.Merge(Idteacher_dt, true);
            daTeachers.Update(dtTeachers);
        }
Example #9
0
        private void buttonItem12_Click(object sender, EventArgs e)
        {
            if (listView1.CheckedItems.Count == 1)
            {
                SqlHelper help = new SqlHelper();
                DataTable dt = help.getDs("select * from Placement_Data", "Placement_Data").Tables[0];
                DataRow[] dr = dt.Select("Teacher like '%" + listView1.CheckedItems[0].SubItems[6].Text + "%'" + " and " + "Class_week= '" + listView1.CheckedItems[0].SubItems[7].Text + "'");//+ " and " + "Class_week= '" + listView1.CheckedItems[0].SubItems[7].Text + "'" +
                DataTable dtcheck = help.getDs("select * from CheckPlacement_Data", "CheckPlacement_Data").Tables[0];
                DataRow drc = dtcheck.NewRow();
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    drc[i] = dr[0][i];
                }
                dtcheck.Rows.Add(drc);
                OleDbDataAdapter da = help.adapter("select * from CheckPlacement_Data");
                try
                {
                    da.Update(dtcheck);
                    MessageBox.Show("保存成功");
                }
                catch (OleDbException)
                {
                    MessageBox.Show("记录已存在,请删除后再保存");
                }
                finally
                {

                }
            }
        }
Example #10
0
 public void ExportToExecl(string sqlcommand, string tablename)
 {
     System.Windows.Forms.SaveFileDialog sfd = new SaveFileDialog();
     sfd.DefaultExt = "xls";
     sfd.Filter = "Excel文件(*.xls)|*.xls";
     SqlHelper helper = new SqlHelper();
     DataTable dt = helper.getDs(sqlcommand, tablename).Tables[0];
     string strHeaderText = "信息工程学院2014-2015学年第一学期教学检查听课安排";
     if (sfd.ShowDialog() == DialogResult.OK)
     {
         Export(dt, strHeaderText, sfd.FileName);
         MessageBox.Show("导出成功");
     }
 }
Example #11
0
 private void FindEmailAddress(List<string> ListSupervisor,SqlHelper help,List<string> ListAddress)
 {
     for (int i = 0; i < ListSupervisor.Count; i++)
     {
         string selectcommand = "select * from Teachers_Data where Teacher like '"+"%" + ListSupervisor[i] +"%"+ "'";
         DataRow[] dr = help.getDs(selectcommand, "Teachers_Data").Tables[0].Select();
         ListAddress.Add(dr[0][2].ToString());
     }
 }
Example #12
0
        private void flashui()
        {
            SqlHelper help = new SqlHelper();
            listView1.Items.Clear();
            listView3.Items.Clear();
               DataTable dtTeacher = help.getDs("select * from TeacherS_Data where IsSupervisor=true","Teachers_Data").Tables[0];
             DataTable dtSpareTime = help.getDs(string.Format("select * from SpareTime_Data where Spare_Week={0} and Spare_Day={1} and Spare_Number={2} order by IsAssigned ", Convert.ToInt32(textBox1.Text.Trim()), Convert.ToInt32(textBox2.Text.Trim()), Convert.ToInt32(comboBox7.SelectedItem.ToString().Trim()), cmbName.SelectedItem.ToString()), "SpareTime_Data").Tables[0];
             for (int i = 0; i < dtSpareTime.Rows.Count;i++ )
             {

                 DataRow[] dr = dtTeacher.Select("Teacher='" + dtSpareTime.Rows[i][2].ToString() + "'");
                 string[] supervisor = new string[] {
             dtSpareTime.Rows[i][2].ToString(),

            Trueflase(Convert.ToBoolean(dtSpareTime.Rows[i][6]))

             };
                 ListViewItem lvi = new ListViewItem(supervisor);
                 listView1.Items.Add(lvi);

             }
             for (int j = 0; j < dtTeacher.Rows.Count;j++ )
             {

                 string[] supervisor = new string[] {
                     dtTeacher.Rows[j][1].ToString(),
                 dtTeacher.Rows[j][8].ToString()
             };

                 ListViewItem lvi = new ListViewItem(supervisor);

                 listView3.Items.Add(lvi);

             }
        }
Example #13
0
        private void comboBoxEx2_SelectedIndexChanged(object sender, EventArgs e)
        {
            listView2.Items.Clear();
            listView1.Items.Clear();
            listView3.Items.Clear();
            if (textBox1.Text != "" && textBox2.Text != "")
            {
                SqlHelper help = new SqlHelper();
                label1.Text = help.getDs(string.Format("select * from Teachers_Data where Teacher='{0}'", cmbName.SelectedItem.ToString()), "Teachers_Data").Tables[0].Rows[0][0].ToString();
                DataTable dt = help.getDs(string.Format("select * from Classes_Data where Class_Week={0} and Class_Day={1} and Class_Number={2} and Teacher='{3}'", Convert.ToInt32(textBox1.Text.Trim()), Convert.ToInt32(textBox2.Text.Trim()), Convert.ToInt32(comboBox7.SelectedItem.ToString().Trim()), cmbName.SelectedItem.ToString()), "Classes_Data").Tables[0];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string[] classes = new string[] {
             dt.Rows[i][8].ToString(),
             dt.Rows[i][7].ToString(),
             dt.Rows[i][9].ToString(),
             dt.Rows[i][10].ToString(),
             dt.Rows[i][6].ToString(),
             dt.Rows[i][0].ToString()
             };
                    ListViewItem lvi = new ListViewItem(classes);
                    listView2.Items.Add(lvi);

                }
                DataTable dtTeacher = help.getDs("select * from TeacherS_Data where IsSupervisor=true", "Teachers_Data").Tables[0];
                DataTable dtSpareTime = help.getDs(string.Format("select * from SpareTime_Data where Spare_Week={0} and Spare_Day={1} and Spare_Number={2} order by IsAssigned ", Convert.ToInt32(textBox1.Text.Trim()), Convert.ToInt32(textBox2.Text.Trim()), Convert.ToInt32(comboBox7.SelectedItem.ToString().Trim()), cmbName.SelectedItem.ToString()), "SpareTime_Data").Tables[0];
                for (int i = 0; i < dtSpareTime.Rows.Count; i++)
                {

                    DataRow[] dr = dtTeacher.Select("Teacher='" + dtSpareTime.Rows[i][2].ToString() + "'");
                    string[] supervisor = new string[] {
             dtSpareTime.Rows[i][2].ToString(),

            Trueflase(Convert.ToBoolean(dtSpareTime.Rows[i][6]))

             };
                    ListViewItem lvi = new ListViewItem(supervisor);
                    listView1.Items.Add(lvi);

                }
                for (int j = 0; j < dtTeacher.Rows.Count; j++)
                {

                    string[] supervisor = new string[] {
                     dtTeacher.Rows[j][1].ToString(),
                 dtTeacher.Rows[j][8].ToString()
             };

                    ListViewItem lvi = new ListViewItem(supervisor);

                    listView3.Items.Add(lvi);

                }
            }
            else
            {
            }
        }
Example #14
0
        private void comboBoxEx1_SelectedIndexChanged(object sender, EventArgs e)
        {
            listView2.Items.Clear();
            listView1.Items.Clear();
            listView3.Items.Clear();
            if (textBox1.Text != "" && textBox2.Text != "" && comboBox7.SelectedItem != null)
            {
                try
                {
                    cmbName.Items.Clear();
                    SqlHelper help = new SqlHelper();
                    string selectcommand = string.Format("select * from Classes_Data where Class_Week={0} and Class_Day={1} and Class_Number={2} and Class_Type ='{3}'", Convert.ToInt32(textBox1.Text.Trim()), Convert.ToInt32(textBox2.Text.Trim()), Convert.ToInt32(comboBox7.SelectedItem.ToString().Trim()), comboBoxEx3.SelectedItem.ToString());
                    DataTable dtClass = help.getDs(selectcommand, "Classes_Data").Tables[0];
                    if (dtClass.Rows.Count != 0)
                    {
                        List<string> teachers = new List<string> { };
                        for (int i = 0; i < dtClass.Rows.Count; i++)
                        {
                            teachers.Add(dtClass.Rows[i][2].ToString());
                        }
                        string[] newteachers = teachers.Distinct<string>().ToArray();
                        cmbName.Items.AddRange(newteachers);
                        cmbName.SelectedIndex = 0;
                    }
                    else
                    {

                        MessageBox.Show("当前时间没有上课老师");
                    }
                }
                catch (FormatException)
                {
                    MessageBox.Show("请输入整数");
                }
                catch (NullReferenceException)
                {
                    MessageBox.Show("请先选择授课方式");
                }
            }
            else
            {

                MessageBox.Show("请先填写周,星期,节次");
            }
        }
Example #15
0
        private void buttonX3_Click(object sender, EventArgs e)
        {
            PlacementInfo placement = new PlacementInfo(listView2.CheckedItems[0].SubItems[5].Text, label1.Text, cmbName.SelectedItem.ToString(),
              Convert.ToInt32(textBox1.Text.Trim()), Convert.ToInt32(textBox2.Text.Trim()), Convert.ToInt32(comboBox7.SelectedItem.ToString()),
              label13.Text, listView2.CheckedItems[0].SubItems[0].Text, listView2.CheckedItems[0].SubItems[1].Text, listView2.CheckedItems[0].SubItems[4].Text
              , listView2.CheckedItems[0].SubItems[2].Text, listView2.CheckedItems[0].SubItems[3].Text, 0);
            SqlHelper help = new SqlHelper();
            DataTable dtPlacement = help.getDs("select * from Placement_Data", "Placement_Data").Tables[0];
            if (string.IsNullOrEmpty(id))
            {
                if (dtPlacement.Select("Class_ID='" + listView2.CheckedItems[0].SubItems[5].Text + "'").Length == 0)
                {
                    if (help.Insert(placement, "Placement_Data") > 0)
                    {
                        Main.fm.flashListview();
                        foreach (string supervisor in Supervisor)
                        {
                            string SpareTimeCommand = "update SpareTime_Data set IsAssigned=true where Supervisor='" + supervisor + "'" + " and Spare_Number= '" + intclassnumber + "'" + " and Spare_Day=" + day + "" + " and Spare_Week=" + week + "";
                            string TeacherCommand = "update Teachers_Data set Class_Totality=Class_Totality+1 where Teacher='" + supervisor + "'";
                            help.Oledbcommand(SpareTimeCommand);
                            help.Oledbcommand(TeacherCommand);
                        }
                        MessageBox.Show("添加成功");
                    }
                    else
                    {
                        MessageBox.Show("添加失败");

                    }
                }
                else
                {
                    MessageBox.Show("请勿重复添加");
                }
            }
            else
            {

                if (help.update("Placement_Data", placement) >= 0)
                {

                    DistinctSupervisor(olds, oldsupervisors);
                    List<string> s = new List<string>();
                    List<string> j = new List<string>();
                    foreach (string a in oldsupervisors)
                    {
                        s.Add(a);
                    }
                    foreach (string b in Supervisor)
                    {
                        j.Add(b);
                    }

                    foreach (string old in oldsupervisors)
                    {

                        foreach (string news in Supervisor)
                        {
                            if (old.IndexOf(news) != -1 || news.IndexOf(old) != -1)
                            {
                                s.Remove(old);
                                j.Remove(news);
                            }
                        }
                    }
                    foreach (string supervisor in j)
                    {

                        string SpareTimeCommand = "update SpareTime_Data set IsAssigned=true where Supervisor='" + supervisor + "'" + " and Spare_Number= " + intclassnumber + "" + " and Spare_Day=" + day + "" + " and Spare_Week=" + week + "";
                        string TeacherCommand = "update Teachers_Data set Class_Totality=Class_Totality+1 where Teacher='" + supervisor + "'";
                        help.Oledbcommand(SpareTimeCommand);
                        help.Oledbcommand(TeacherCommand);

                    }
                    //对应的督导安排情况和总听课次数做相应的修改。
                    foreach (string old in s)
                    {
                        string SpareTimeCommand = "update SpareTime_Data set IsAssigned=false where Supervisor like '" + "%" + old + "%" + "'" + " and Spare_Number= " + intclassnumber + "" + " and Spare_Day=" + day + "" + " and Spare_Week=" + week + "";
                        string TeacherCommand = "update Teachers_Data set Class_Totality=Class_Totality-1 where Teacher like '" + "%" + old + "%" + "'";
                        help.Oledbcommand(SpareTimeCommand);
                        help.Oledbcommand(TeacherCommand);
                    }
                    Main.fm.flashListview();
                    MessageBox.Show("修改成功!");
                    oldsupervisors.Clear();
                    olds = label13.Text;
                    flashui();

                }
                else
                {
                    MessageBox.Show("修改失败!");
                }

            }
        }
Example #16
0
        private void buttonX1_Click(object sender, EventArgs e)
        {
            SqlHelper help = new SqlHelper();
            DataTable dtsparetime = help.getDs("select * from SpareTime_Data", "SpareTime_Data").Tables[0];
            DataTable dtclass = help.getDs("select * from Classes_Data", "Classes_Data").Tables[0];
            DataTable dtteacher = help.getDs("select * from Teachers_Data", "Teachers_Data").Tables[0];

            if (checkType())
            {
            if (cnumpeo_max >= cnumpeo_min)
            {
            if (dtsparetime.Rows.Count != 0 && dtclass.Rows.Count != 0 && dtteacher.Rows.Count != 0)
            {
                Main.fm.SetStatusText("正在工作中,请耐心等待~~", 1);
                //MessageBox.Show("OK");

                PlacementConfig pc = new PlacementConfig(cbegin_week, cbegin_day, cnumclass_week, cnumpeo_max, cnumpeo_min, proportion);
                Placement doplacement = new Placement();
                doplacement.MakePlacement(pc);
            }
            else
            {
                MessageBox.Show("请导入数据后重试");
            }

            }
            else
            {
            MessageBox.Show("最大人数不能小于最小人数");
            }

            }
        }