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); } } }
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("빈칸을 모두 채워주세요!"); } }