protected override void Initialize() { textBox2.Enabled = false; dbHost = AppSetting.LoadInitialSetting("DB_IP", "127.0.0.1"); dbUser = AppSetting.LoadInitialSetting("DB_USER", "root"); dbPass = AppSetting.LoadInitialSetting("DB_PASSWORD", "123"); dbName = AppSetting.LoadInitialSetting("DB_NAME", "huachun"); SQL = new MySQL(dbHost, dbUser, dbPass, dbName); numbers = SQL.Read1DArrayNoCondition_SQL_Data(DB_No, DB_TableName); names = SQL.Read1DArrayNoCondition_SQL_Data(DB_Name, DB_TableName); units = SQL.Read1DArrayNoCondition_SQL_Data("unit", DB_TableName);//unit不是共通的 所以獨立出來寫 dataTable = new DataTable("MyNewTable"); dataTable.Columns.Add(rowNo, typeof(String)); dataTable.Columns.Add(rowName, typeof(String)); dataTable.Columns.Add("單位", typeof(String)); dataGridView1.DataSource = dataTable; dataGridView1.ReadOnly = true; dataGridView1.AllowUserToAddRows = false; dataGridView1.MultiSelect = false; DataRow dataRow; for (int i = 0; i < numbers.Length; i++) { dataRow = dataTable.NewRow(); dataRow[rowNo] = numbers[i]; dataRow[rowName] = SQL.Read_SQL_data(DB_Name, DB_TableName, DB_No + " = '" + numbers[i] + "'"); dataRow["單位"] = SQL.Read_SQL_data("unit", DB_TableName, DB_No + " = '" + numbers[i] + "'"); dataTable.Rows.Add(dataRow); } }
protected virtual void textBox1_TextChanged(object sender, EventArgs e) { dataTable.Clear(); ArrayList array = new ArrayList(); for (int i = 0; i < numbers.Length; i++) { if (numbers[i].Contains(textBox1.Text)) { array.Add(numbers[i]); } } DataRow dataRow; for (int i = 0; i < array.Count; i++) { dataRow = dataTable.NewRow(); dataRow[rowNo] = array[i]; dataRow[rowName] = SQL.Read_SQL_data(DB_Name, DB_TableName, DB_No + " = '" + array[i] + "'"); dataTable.Rows.Add(dataRow); } }
private void RefreshDatagridview() { dataTable.Clear(); string[] dateArr = SQL.Read1DArrayNoCondition_SQL_Data("date", "holiday"); DateTime[] dates = new DateTime[dateArr.Length]; for (int i = 0; i < dateArr.Length; i++) { dates[i] = Functions.TransferSQLDateToDateTime(dateArr[i]); } Array.Sort(dates); DataRow dataRow; for (int i = 0; i < dates.Length; i++) { dataRow = dataTable.NewRow(); dataRow["日期"] = dates[i].Year.ToString() + "/" + dates[i].Month.ToString() + "/" + dates[i].Day.ToString(); dataRow["星期"] = Functions.ComputeDayOfWeek(dates[i]); dataRow["理由"] = SQL.Read_SQL_data("reason", "holiday", "date = '" + dates[i].Year.ToString() + "-" + dates[i].Month.ToString() + "-" + dates[i].Day.ToString() + "'"); string working = SQL.Read_SQL_data("working", "holiday", "date = '" + dates[i].Year.ToString() + "-" + dates[i].Month.ToString() + "-" + dates[i].Day.ToString() + "'"); if (working == "1") { dataRow["放假/補班"] = "放假"; } else { dataRow["放假/補班"] = "補班"; } dataTable.Rows.Add(dataRow); } }
public ClassExcelGenerator(string projectNo, string savePath, int type) { dbHost = AppSetting.LoadInitialSetting("DB_IP", "127.0.0.1"); dbUser = AppSetting.LoadInitialSetting("DB_USER", "root"); dbPass = AppSetting.LoadInitialSetting("DB_PASSWORD", "123"); dbName = AppSetting.LoadInitialSetting("DB_NAME", "huachun"); SQL = new MySQL(dbHost, dbUser, dbPass, dbName); if (type == 0) { string computeType = SQL.Read_SQL_data("computetype", "project_info", "project_no = '" + projectNo + "'"); g_ComputeType = computeType; string computeHoliday = SQL.Read_SQL_data("holiday", "project_info", "project_no = '" + projectNo + "'"); g_ComputeHoliday = computeHoliday; g_ProjectNo = projectNo; string path = Directory.GetCurrentDirectory(); var xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open(path + "\\晴雨暨工期表.xls"); xlWorkSheet = xlWorkBook.Sheets[1]; //int dateIndex = 1; //int month = 12; //xlWorkSheet.Shapes.AddPicture(@"D:\\上午雨無框.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 34 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 174 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 21, 12); //xlWorkSheet.Shapes.AddPicture(@"D:\\下午雨無框.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 34 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 184 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 21, 12); //xlWorkSheet.Shapes.AddPicture(@"D:\\補假.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 27 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 167 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 35, 35); //xlWorkSheet.Shapes.AddPicture(@"D:\\選舉.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 27 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 167 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 35, 35); //xlWorkSheet.Shapes.AddPicture(@"D:\\全日停電.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 27 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 167 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 35, 35); //xlWorkSheet.Shapes.AddPicture(@"D:\\下午停工.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 39 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 187 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 11, 11); //xlWorkSheet.Shapes.AddPicture(@"D:\\下午停電.png", MsoTriState.msoFalse, MsoTriState.msoCTrue, 35 + Convert.ToInt32(Math.Round(28.5 * (dateIndex - 1))), 180 + Convert.ToInt32(Math.Round(39.75 * (month - 1))), 21, 21); g_ProjectName = SQL.Read_SQL_data("project_name", "project_info", "project_no = '" + g_ProjectNo + "'"); xlWorkSheet.Cells[1, 1] = g_ProjectName; string startDate = SQL.Read_SQL_data("startdate", "project_info", "project_no = '" + g_ProjectNo + "'"); string endDate = SQL.Read_SQL_data("date", "dailyreport", "project_no = '" + g_ProjectNo + "' ORDER BY date DESC ");//把日報表有填的日期的最後一天當enddate WriteDataIntoExcel(Functions.TransferSQLDateToDateTime(startDate), Functions.TransferSQLDateToDateTime(endDate)); //xlWorkBook.SaveAs("D:\\test" + width.ToString() + "_" + height + "_" + range + ".xls"); xlWorkBook.SaveAs(savePath); xlWorkBook.Close(true); xlApp.Quit(); Marshal.ReleaseComObject(xlApp); } else if (type == 1) { } }
private void btnLoginOk_Click(object sender, EventArgs e) { if (textBoxAccount.Text == string.Empty) { MessageBox.Show("請輸入使用者帳號", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (textBoxPassword.Text == string.Empty) { MessageBox.Show("請輸入使用者密碼", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { string member = SQL.Read_SQL_data("name", "member", "account = '" + textBoxAccount.Text + "' AND password = '******'"); if (member == string.Empty) { DialogResult result = MessageBox.Show("密碼與帳號不符", "錯誤", MessageBoxButtons.OK, MessageBoxIcon.Error); if (result == DialogResult.OK) { textBoxPassword.Text = string.Empty; } } else { DialogResult result = MessageBox.Show(member + "您好", "歡迎", MessageBoxButtons.OK); if (result == DialogResult.OK) { this.mainForm.Login(); this.Close(); } } } }
public void LoadProjectInfo(string projectNo) { this.labelProject.Text = SQL.Read_SQL_data("project_name", "project_info", "project_no = '" + projectNo + "'"); g_ProjectNo = projectNo; this.MenuItemDailyReport.Enabled = true; this.MenuItemQuery.Enabled = true; }
public string GetCondition(DateTime today) { if (restOnSaturday == true && restOnSunday == true)//週休二日且遇到星期六或星期天 { if (today.DayOfWeek == DayOfWeek.Sunday) { return("週休二日"); } if (today.DayOfWeek == DayOfWeek.Saturday) { for (int j = 0; j < arrayWorking.Count; j++) { if (today.Date.Equals(((DateTime)arrayWorking[j]).Date))//原本星期六不施工 但剛好遇到補班日 { return(SQL.Read_SQL_data("reason", "holiday", "date = '" + Functions.TransferDateTimeToSQL(today) + "'")); } } return("週休二日"); } } if (restOnSaturday == false && restOnSunday == true)//週休一日且遇到星期天 { if (today.DayOfWeek == DayOfWeek.Sunday) { return("週休一日"); } } if (restOnHoliday == true)//國定假日不施工 { for (int j = 0; j < arrayHoliday.Count; j++) { if (today.Date.Equals(((DateTime)arrayHoliday[j]).Date)) { return(SQL.Read_SQL_data("reason", "holiday", "date = '" + Functions.TransferDateTimeToSQL(today) + "'")); } } } return(""); }
private void button3_Click(object sender, EventArgs e) { string dbHost = "192.168.1.104"; string dbUser = "******"; string dbPass = "******"; string dbName = "huachun"; MySQL SQL = new MySQL(dbHost, dbUser, dbPass, dbName); string computeType = SQL.Read_SQL_data("computetype", "project_info", "project_no = 'w04'"); bool stop = true; }
public void LoadProjectInfo(string number) { g_ProjectNo = number; dataTableStatistic.Clear(); DayCompute dayCompute = new DayCompute(); string computeType = SQL.Read_SQL_data("computetype", "project_info", "project_no = '" + g_ProjectNo + "'"); string countHoliday = SQL.Read_SQL_data("holiday", "project_info", "project_no = '" + g_ProjectNo + "'"); if (computeType == "1")//限期完工 日曆天 { this.label1.Text = "工期計算方式為限期完工"; } else if (computeType == "2") { this.label1.Text = "工期計算方式為日曆天"; } else if (computeType == "3")//工作天 無休 { dayCompute.restOnSaturday = false; dayCompute.restOnSunday = false; this.label1.Text = "工期計算方式為工作工,無週休二日"; } else if (computeType == "4")//工作天 周休一日 { dayCompute.restOnSaturday = false; dayCompute.restOnSunday = true; this.label1.Text = "工期計算方式為工作工,週休一日"; } else if (computeType == "5")//工作天 周休二日 { dayCompute.restOnSaturday = true; dayCompute.restOnSunday = true; this.label1.Text = "工期計算方式為工作工,週休二日"; } if (countHoliday == "1") { dayCompute.restOnHoliday = true; this.label1.Text += ",國定假日不施工"; } else if (countHoliday == "0") { dayCompute.restOnHoliday = false; this.label1.Text += ",國定假日照常施工"; } string rainyDayCountType = SQL.Read_SQL_data("rainyday", "project_info", "project_no = '" + g_ProjectNo + "'"); if (rainyDayCountType == "1") { this.label3.Text += "需豪雨才不計工期"; } else if (rainyDayCountType == "0") { this.label3.Text += "下雨即不計工期"; } float originalTotalDuration = Convert.ToSingle(SQL.Read_SQL_data("contractduration", "project_info", "project_no = '" + g_ProjectNo + "'")); float originalTotalDays = Convert.ToSingle(SQL.Read_SQL_data("contractdays", "project_info", "project_no = '" + g_ProjectNo + "'")); DateTime originalFinishDate = Functions.TransferSQLDateToDateTime(SQL.Read_SQL_data("contract_finishdate", "project_info", "project_no = '" + g_ProjectNo + "'")); string[] extendDurationStartDates = SQL.Read1DArray_SQL_Data("extendstartdate", "extendduration", "project_no = '" + g_ProjectNo + "'"); float accumulateExtendDurations = 0; string startDate = SQL.Read_SQL_data("startdate", "project_info", "project_no = '" + g_ProjectNo + "'"); DTStartDate = Functions.TransferSQLDateToDateTime(startDate); DataRow dataRow; int i = 0; bool stop = false; while (!stop) { DateTime dateToday = DTStartDate.AddDays(i); dataRow = dataTableStatistic.NewRow(); dataRow["日期"] = dateToday.ToString("yyyy/MM/dd"); dataRow["開工迄今"] = (i + 1).ToString(); dataRow["星期"] = Functions.ComputeDayOfWeek(dateToday); //Image img = Image.FromFile("D:\\12Small.jpg"); //dataRow["農曆"] = imageToByteArray(img); dataRow["節日"] = dayCompute.GetCondition(dateToday); string morningWeather = SQL.Read_SQL_data("morning_weather", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); dataRow["上午天氣"] = (morningWeather == string.Empty) ? "無資料" : morningWeather; string afternoonWeather = SQL.Read_SQL_data("afternoon_weather", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); dataRow["下午天氣"] = (afternoonWeather == string.Empty) ? "無資料" : afternoonWeather; string morningCondition = SQL.Read_SQL_data("morning_condition", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); dataRow["上午人為因素"] = (morningCondition == string.Empty) ? "無資料" : morningCondition; string afternoonCondition = SQL.Read_SQL_data("afternoon_condition", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); dataRow["下午人為因素"] = (afternoonCondition == string.Empty) ? "無資料" : afternoonCondition; string nonCountingToday = SQL.Read_SQL_data("nonecounting", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); if (nonCountingToday == "0.5") dayCompute.AddNotWorking(dateToday, 0); else if (nonCountingToday == "1") { dayCompute.AddNotWorking(dateToday, 0); dayCompute.AddNotWorking(dateToday, 1); } dataRow["本日不計工期"] = dayCompute.GetWorkingDayNonCounting(dateToday); float nonCountingTotal = dayCompute.CountTotalNotWorkingDay(DTStartDate, dateToday); dataRow["累計不計工期"] = nonCountingTotal; dataRow["累計工期"] = i + 1 - nonCountingTotal; dataRow["原剩餘工期"] = originalTotalDuration - 1 - i + dayCompute.CountNotWorkingDayWithoutEverydayCondition(DTStartDate, dateToday); dataRow["原剩餘天數"] = originalTotalDays - 1 - i; dataRow["原完工日"] = originalFinishDate.ToString("yyyy/MM/dd"); string extendDuration = SQL.Read_SQL_data("extendduration", "extendduration", "project_no = '" + g_ProjectNo + "' AND extendstartdate = '" + Functions.TransferDateTimeToSQL(dateToday) + "'"); if (extendDuration != string.Empty) { accumulateExtendDurations += Convert.ToSingle(extendDuration); dataRow["追加工期"] = extendDuration; } float modifiedRestDuration = originalTotalDuration - 1 - i + nonCountingTotal + accumulateExtendDurations; dataRow["變動剩餘工期"] = modifiedRestDuration; DateTime modifiedFinishDate = dayCompute.CountByDuration(dateToday.AddDays(1), modifiedRestDuration); dataRow["變動完工日"] = modifiedFinishDate.ToString("yyyy/MM/dd"); if (dateToday.CompareTo(modifiedFinishDate) == 0) stop = true; dataRow["變動剩餘天數"] = modifiedFinishDate.Subtract(dateToday).Days; dataRow["原百分比"] = ""; dataTableStatistic.Rows.Add(dataRow); i++; } //dataGridView1.Rows[0].DefaultCellStyle.BackColor = Color.Red; }
public virtual void LoadProjectInfo(string projectNo) { //專案編號 this.textBoxProjectNo.Text = projectNo; g_ProjectNumber = projectNo; if (this.textBoxProjectNo.Text != string.Empty) { EnableAll(); } else { return; } //專案名稱 this.textBoxProjectName.Text = SQL.Read_SQL_data("project_name", "project_info", "project_no ='" + projectNo + "'"); //開工日期 g_StartDate = SQL.Read_SQL_data("startdate", "project_info", "project_no ='" + projectNo + "'"); this.dateStart.Value = Functions.TransferSQLDateToDateTime(g_StartDate); //契約工期 this.textBoxContractDuration.Text = SQL.Read_SQL_data("contractduration", "project_info", "project_no ='" + projectNo + "'"); //契約天數 this.textBoxContractDays.Text = SQL.Read_SQL_data("contractdays", "project_info", "project_no ='" + projectNo + "'"); if (SQL.Read_SQL_data("date", "dailyreport", "project_no = '" + projectNo + "'") != string.Empty) { DateTime lastInputDate = Functions.TransferSQLDateToDateTime(SQL.Read_SQL_data("date", "dailyreport", "project_no = '" + projectNo + "' ORDER BY date DESC")); this.dateToday.Value = lastInputDate.AddDays(1); } LoadInfoByDate(g_ProjectNumber); //追加工期後總計天數 g_ComputeType = SQL.Read_SQL_data("computetype", "project_info", "project_no = '" + projectNo + "'"); g_CountHoliday = SQL.Read_SQL_data("holiday", "project_info", "project_no = '" + projectNo + "'"); g_RainydayCountType = SQL.Read_SQL_data("rainyday", "project_info", "project_no = '" + projectNo + "'"); if (g_ProjectNumber != null && g_ComputeType != null && g_CountHoliday != null && g_StartDate != null) { Compute(projectNo, g_ComputeType, g_CountHoliday, g_StartDate); } }
private void WriteDataIntoExcel(DateTime dateStart, DateTime dateEnd) { int yearStart = dateStart.Year; int yearEnd = dateEnd.Year; for (int year = yearStart; year <= yearEnd; year++) { xlWorkBook.Sheets[xlWorkBook.Sheets.Count].Name = (year - 1911).ToString() + "年度" + g_ProjectName + "工期晴雨表"; xlWorkSheet.Cells[5, 2] = (year - 1911).ToString() + "年"; for (int month = 1; month <= 12; month++) { float daysInMonth = 0; float holidaysInMonth = 0; float weatherNonWorkingDaysInMonth = 0; float conditionNonWorkingDaysInMonth = 0; #region int dayNumbers = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dayNumbers = 31; break; case 2: if (year == 2016 || year == 2020 || year == 2024 || year == 2028 || year == 2032 || year == 2036) { dayNumbers = 29; } else { dayNumbers = 28; } break; case 4: case 6: case 9: case 11: dayNumbers = 30; break; } #endregion int weekCount = 0; for (int day = 1; day <= dayNumbers; day++) { DateTime date = new DateTime(year, month, day); #region 計算dateIndex int dateIndex = 1; switch (date.DayOfWeek) { case DayOfWeek.Sunday: dateIndex = 1; if (day == 1) { weekCount = 0; } else { weekCount++; } break; case DayOfWeek.Monday: dateIndex = 2; break; case DayOfWeek.Tuesday: dateIndex = 3; break; case DayOfWeek.Wednesday: dateIndex = 4; break; case DayOfWeek.Thursday: dateIndex = 5; break; case DayOfWeek.Friday: dateIndex = 6; break; case DayOfWeek.Saturday: dateIndex = 7; break; } dateIndex += weekCount * 7; string holidayReason = SQL.Read_SQL_data("reason", "holiday", "date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (holidayReason != string.Empty) { xlWorkSheet.Cells[8 + month * 2, 1 + dateIndex] = holidayReason; } else { xlWorkSheet.Cells[8 + month * 2, 1 + dateIndex] = day; } #endregion string morningWeather = SQL.Read_SQL_data("morning_weather", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(date) + "'"); string afternoonWeather = SQL.Read_SQL_data("afternoon_weather", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(date) + "'"); string morningCondition = SQL.Read_SQL_data("morning_condition", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(date) + "'"); string afternoonCondition = SQL.Read_SQL_data("afternoon_condition", "dailyreport", "project_no = '" + g_ProjectNo + "' AND date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (date.CompareTo(dateStart) >= 0 && date.CompareTo(dateEnd) <= 0)//開工日期之後才需要貼晴雨圖 { daysInMonth += 1; #region 例假日 if (g_ComputeType == "1")//工期計算方式為限期完工 { } else if (g_ComputeType == "2")//工期計算方式為日曆天 { } else if (g_ComputeType == "3")//工期計算方式為工作天,無週休二日 { #region if (g_ComputeHoliday == "0")//國定假日照常施工 { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } else if (g_ComputeHoliday == "1")//國定假日不施工 { #region string working = SQL.Read_SQL_data("working", "holiday", "date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (working != string.Empty && working == "1")//遇到國定假日 { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } #endregion } #endregion } else if (g_ComputeType == "4")//工期計算方式為工作天,週休一日 { #region if (date.DayOfWeek == DayOfWeek.Sunday) { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else { if (g_ComputeHoliday == "0")//國定假日照常施工 { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } else if (g_ComputeHoliday == "1")//國定假日不施工 { string working = SQL.Read_SQL_data("working", "holiday", "date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (working != string.Empty && working == "1") { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } } } #endregion } else if (g_ComputeType == "5")//工期計算方式為工作天,週休二日 { #region if (date.DayOfWeek == DayOfWeek.Sunday) { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else if (date.DayOfWeek == DayOfWeek.Saturday) { string working = SQL.Read_SQL_data("working", "holiday", "date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (working == string.Empty || working == "1") { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else//這應該是要補班的狀況 { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } } else { if (g_ComputeHoliday == "0")//國定假日照常施工 { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } else if (g_ComputeHoliday == "1")//國定假日不施工 { string working = SQL.Read_SQL_data("working", "holiday", "date = '" + Functions.TransferDateTimeToSQL(date) + "'"); if (working != string.Empty && working == "1")//遇到國定假日 { computeNonWorkingDay(false, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); holidaysInMonth += 1; PrintHoliday(month, dateIndex); } else { computeNonWorkingDay(true, month, dateIndex, morningWeather, afternoonWeather, morningCondition, afternoonCondition, ref weatherNonWorkingDaysInMonth, ref conditionNonWorkingDaysInMonth); } } } #endregion } #endregion } } xlWorkSheet.Cells[7 + month * 2, 39] = daysInMonth; xlWorkSheet.Cells[7 + month * 2, 40] = holidaysInMonth; xlWorkSheet.Cells[7 + month * 2, 41] = weatherNonWorkingDaysInMonth; xlWorkSheet.Cells[7 + month * 2, 42] = conditionNonWorkingDaysInMonth; } if (year != yearEnd) { xlWorkSheet.Copy(Type.Missing, xlWorkBook.Sheets[xlWorkBook.Sheets.Count]); // copy } } }
private void comboBoxDistrict_SelectedIndexChanged(object sender, EventArgs e) { string code = SQL.Read_SQL_data("code", "city", "city = '" + comboBoxCity.SelectedItem + "' AND district = '" + comboBoxDistrict.SelectedItem + "'"); textBoxCode3.Text = code; }