コード例 #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = ofd.FileName;
                restGroups    = null;
                restGroups    = new List <restGroup>();
                Excel.Application excelApp = null;
                Excel.Workbook    wb       = null;
                Excel.Worksheet   ws       = null;
                int days = DateTime.DaysInMonth(int.Parse(dateTimePicker1.Value.ToString("yyyy")), int.Parse(dateTimePicker1.Value.ToString("MM")));
                try
                {
                    excelApp = new Excel.Application();
                    wb       = excelApp.Workbooks.Open(textBox2.Text);
                    ws       = wb.Worksheets.get_Item(1) as Excel.Worksheet;
                    Excel.Range rng = ws.UsedRange;
                    object[,] data = rng.Value;
                    data.SetValue(1000, 0);
                    data.SetValue(1000, 1);
                    MessageBox.Show(data.GetLength(0).ToString());
                    MessageBox.Show(data.GetLength(1).ToString());
                    for (int r = 5; r <= days + 4; r++)
                    {
                        restGroup rgroup = new restGroup();
                        char[]    sep    = { ',' };
                        string    Groups = data[r, 11].ToString();
                        string[]  temp   = Groups.Split(sep);
                        foreach (string s in temp)
                        {
                            rgroup.groups.Add(s);
                        }
                        restGroups.Add(rgroup);
                    }
                    MessageBox.Show("저장완료");
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    ReleaseExcelObject(ws);
                    ReleaseExcelObject(wb);
                    excelApp.Quit();
                    ReleaseExcelObject(excelApp);
                }
            }
        }
コード例 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            string        name = textBox3.Text;
            SqlConnection conn = new SqlConnection();

            conn.ConnectionString = "Server=150.50.78.152;database=tempdb;uid=sa;pwd=2@@51111";
            SqlCommand cmd = new SqlCommand();

            cmd.Connection = conn;
            conn.Open();
            cmd.CommandText = "select id from [handicall].[dbo].[AgentInfo] WHERE name = '" + name + "'";
            int id = Convert.ToInt32(cmd.ExecuteScalar());

            if (textBox4.Text != "" && textBox1.Text != "" && textBox2.Text != "")
            {
                dataGridView1.Rows.Clear();
                dataGridView2.Rows.Clear();
                restGroup rgroup = new restGroup();
                char[]    sep    = { ',' };
                string    Groups = textBox4.Text.ToString();
                string[]  temp   = Groups.Split(sep);
                foreach (string s in temp)
                {
                    rgroup.groups.Add(s);
                }



                for (int i = 0; i < drivers.Count; i++)
                {
                    int    count         = 1;
                    driver d             = drivers[i];
                    bool   firstdaycheck = false;
                    if (d.tempRestGroup.Substring(0, 2) != "야간")
                    {
                        int driverworkgroupcode     = 0;
                        int drivertemprestgroupcode = 0;
                        int chagonamecode           = 0;

                        cmd.CommandText = "select cbcode from [handicall].[dbo].[CarBase] WHERE cbname = '" + d.chagoname + "'";
                        chagonamecode   = Convert.ToInt32(cmd.ExecuteScalar());

                        cmd.CommandText     = "select code from [handicall].[dbo].[WorkClassName] WHERE name = '" + d.workGroup + "'";
                        driverworkgroupcode = Convert.ToInt32(cmd.ExecuteScalar());

                        cmd.CommandText         = "select code from [handicall].[dbo].[WorkClassName] WHERE name = '" + d.tempRestGroup + "'";
                        drivertemprestgroupcode = Convert.ToInt32(cmd.ExecuteScalar());
                        for (int j = 0; j < restGroups.Count; j++)
                        {
                            if (j == 0 && firstdaycheck == false)
                            {
                                for (int t = 0; t < rgroup.groups.Count; t++)
                                {
                                    if (havingalpha(rgroup.groups[t]))
                                    {
                                        if (except_Hyphen_Zero(d.tempRestGroup) == rgroup.groups[t])
                                        {
                                            int temp_returnday = returnday(d.tempRestGroup, -1);
                                            dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                            dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode, dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");

                                            j             = temp_returnday;
                                            firstdaycheck = true;
                                            if (temp_returnday >= restGroups.Count)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        if (onlyNumber(d.tempRestGroup) == rgroup.groups[t])
                                        {
                                            int temp_returnday = returnday(d.tempRestGroup, -1);
                                            dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                            dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                            j             = temp_returnday;
                                            firstdaycheck = true;
                                            if (temp_returnday >= restGroups.Count)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                }
                                if (firstdaycheck == false)
                                {
                                    for (int k = 0; k < restGroups[j].groups.Count; k++)
                                    {
                                        if (havingalpha(restGroups[j].groups[k]))
                                        {
                                            if (except_Hyphen_Zero(d.tempRestGroup) == restGroups[j].groups[k])
                                            {
                                                dataGridView1.Rows.Add(d.companyNumber, d.name, d.tempRestGroup, drivertemprestgroupcode, d.chagoname, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                dataGridView2.Rows.Add(d.companyNumber, d.name, drivertemprestgroupcode, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                                count++;
                                                int temp_returnday = returnday(d.tempRestGroup, j);
                                                if (temp_returnday + 1 <= DateTime.DaysInMonth(int.Parse(dateTimePicker1.Value.ToString("yyyy")), int.Parse(dateTimePicker1.Value.ToString("MM"))))
                                                {
                                                    dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                           dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                    dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode, dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                                }
                                                count++;
                                                if (temp_returnday >= restGroups.Count)
                                                {
                                                    break;
                                                }
                                                j = temp_returnday;
                                            }
                                        }
                                        else
                                        {
                                            if (onlyNumber(d.tempRestGroup) == restGroups[j].groups[k])
                                            {
                                                dataGridView1.Rows.Add(d.companyNumber, d.name, d.tempRestGroup, drivertemprestgroupcode, d.chagoname, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                dataGridView2.Rows.Add(d.companyNumber, d.name, drivertemprestgroupcode, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                                count++;
                                                int temp_returnday = returnday(d.tempRestGroup, j);
                                                if (temp_returnday + 1 <= DateTime.DaysInMonth(int.Parse(dateTimePicker1.Value.ToString("yyyy")), int.Parse(dateTimePicker1.Value.ToString("MM"))))
                                                {
                                                    dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                           dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                    dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode,
                                                                           dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                                }
                                                count++;
                                                if (temp_returnday >= restGroups.Count)
                                                {
                                                    break;
                                                }
                                                j = temp_returnday;
                                            }
                                        }
                                    }
                                }
                            }
                            else
                            {
                                for (int k = 0; k < restGroups[j].groups.Count; k++)
                                {
                                    if (havingalpha(restGroups[j].groups[k]))
                                    {
                                        if (except_Hyphen_Zero(d.tempRestGroup) == restGroups[j].groups[k])
                                        {
                                            dataGridView1.Rows.Add(d.companyNumber, d.name, d.tempRestGroup, drivertemprestgroupcode, d.chagoname, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                            dataGridView2.Rows.Add(d.companyNumber, d.name, drivertemprestgroupcode, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                            count++;
                                            int temp_returnday = returnday(d.tempRestGroup, j);
                                            if (temp_returnday + 1 <= DateTime.DaysInMonth(int.Parse(dateTimePicker1.Value.ToString("yyyy")), int.Parse(dateTimePicker1.Value.ToString("MM"))))
                                            {
                                                dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                            }
                                            count++;
                                            j = temp_returnday;
                                            if (temp_returnday >= restGroups.Count)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        if (onlyNumber(d.tempRestGroup) == restGroups[j].groups[k])
                                        {
                                            dataGridView1.Rows.Add(d.companyNumber, d.name, d.tempRestGroup, drivertemprestgroupcode, d.chagoname, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                            dataGridView2.Rows.Add(d.companyNumber, d.name, drivertemprestgroupcode, chagonamecode,
                                                                   dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (j + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                            count++;
                                            int temp_returnday = returnday(d.tempRestGroup, j);
                                            if (temp_returnday + 1 <= DateTime.DaysInMonth(int.Parse(dateTimePicker1.Value.ToString("yyyy")), int.Parse(dateTimePicker1.Value.ToString("MM"))))
                                            {
                                                dataGridView1.Rows.Add(d.companyNumber, d.name, d.workGroup, driverworkgroupcode, d.chagoname, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), textBox3.Text, DateTime.Now.ToString("yyyy-MM-dd"), "근무조정");
                                                dataGridView2.Rows.Add(d.companyNumber, d.name, driverworkgroupcode, chagonamecode,
                                                                       dateTimePicker1.Value.ToString("yyyy-MM") + "-" + (temp_returnday + 1).ToString(), 1, DateTime.Now.ToString("yyyy-MM-dd"), id, "근무조정");
                                            }
                                            count++;
                                            j = temp_returnday;
                                            if (temp_returnday >= restGroups.Count)
                                            {
                                                break;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                button4.Enabled = true;
                button5.Enabled = true;
                button6.Enabled = true;
            }
            else
            {
                MessageBox.Show("빈칸을 모두 채워주세요!");
            }
        }