
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
using ClientLib;
using ClientLib.CommonService;
using DevExpress.XtraGrid;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using PublicLib;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace HANMI_STD
{
public partial class WorkdayReport : PublicLib.CommonMDI
{
private bool m_Loading;
private DataTable m_Data;
public WorkdayReport()
{
InitializeComponent();
m_Loading = true;
bandedGridView_Main.OptionsView.ShowColumnHeaders = false;
comboBoxEdit_YY.Properties.Items.Clear();
comboBoxEdit_YY.Properties.DropDownRows = 25;
int yy = 2009;
for (int i = 0; i < 100; i++)
{
yy++;
comboBoxEdit_YY.Properties.Items.Add(yy.ToString());
}
lookUpEdit_COMP_CD.EditValueChanged += (sender, e) =>
{
searchProc();
};
comboBoxEdit_YY.SelectedIndexChanged += (sender, e) =>
{
searchProc();
};
monthCalendar_Main.DateSelected += (sender, e) =>
{
setDateInfo(e.End);
};
simpleButton_Next.Click += (sender, e) =>
{
if (comboBoxEdit_YY.SelectedIndex < comboBoxEdit_YY.Properties.Items.Count - 1)
{
comboBoxEdit_YY.SelectedIndex++;
}
};
simpleButton_Prev.Click += (sender, e) =>
{
if (comboBoxEdit_YY.SelectedIndex > 0)
{
comboBoxEdit_YY.SelectedIndex--;
}
};
bandedGridView_Main.FormatConditions.Clear();
StyleFormatCondition sfc;
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "토요일");
sfc.ApplyToRow = true;
sfc.Appearance.ForeColor = Color.Blue;
sfc.Appearance.Options.UseForeColor = true;
bandedGridView_Main.FormatConditions.Add(sfc);
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "일요일");
sfc.ApplyToRow = true;
sfc.Appearance.ForeColor = Color.Red;
sfc.Appearance.Options.UseForeColor = true;
bandedGridView_Main.FormatConditions.Add(sfc);
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "평일");
sfc.ApplyToRow = true;
sfc.Appearance.ForeColor = Color.Magenta;
sfc.Appearance.Options.UseForeColor = true;
bandedGridView_Main.FormatConditions.Add(sfc);
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 1);
sfc.ApplyToRow = true;
sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);
sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);
sfc.Appearance.Options.UseFont = true;
bandedGridView_Main.FormatConditions.Add(sfc);
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 4);
sfc.ApplyToRow = true;
sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);
sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);
sfc.Appearance.Options.UseFont = true;
bandedGridView_Main.FormatConditions.Add(sfc);
sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 8);
sfc.ApplyToRow = true;
sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);
sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);
sfc.Appearance.Options.UseFont = true;
bandedGridView_Main.FormatConditions.Add(sfc);
this.Shown += (sender, e) =>
{
try
{
SerializedSqlParam[] aParam = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("MENU_ID", SqlDbType.NVarChar, this.m_MenuID),
ClientClass.CreateSqlParameter("USR_ID", SqlDbType.NVarChar, ConstClass._USR_ID)
};
ResultData resultComp = ClientClass.GetData("GetCompanyListByMenuUser", aParam);
if (resultComp.isError)
{
throw new Exception(resultComp.ResultValue);
}
UtilClass.SetLookup(lookUpEdit_COMP_CD, resultComp.TableData, "COMP_CD", "COMP_NM", true);
m_Loading = false;
comboBoxEdit_YY.SelectedIndex = comboBoxEdit_YY.Properties.Items.IndexOf(DateTime.Now.ToString("yyyy"));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
this.Close();
}
};
}
private void setDateInfo(DateTime date)
{
textEdit_Day.Text = "";
textEdit_WeekCount.Text = "";
textEdit_Reason.Text = "";
if (m_Data == null)
{
return;
}
CalendarWeekRule calendarWeekRule = CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule;
DayOfWeek dayOfWeek = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
int weekCount = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(date, calendarWeekRule, dayOfWeek);
string dd = date.ToString("yyyy-MM-dd");
textEdit_Day.Text = dd;
textEdit_WeekCount.Text = date.ToString("yyyy") + weekCount.ToString("00");
DataRow[] rows = m_Data.Select("WORK_DAY = '" + dd + "'");
if (rows != null && rows.Length > 0)
{
textEdit_Reason.Text = UtilClass.toStr(rows[0]["HOL_NM"]);
}
}
public override void searchProc()
{
try
{
if (UtilClass.isNull(lookUpEdit_COMP_CD.EditValue) || m_Loading)
{
return;
}
this.Cursor = Cursors.WaitCursor;
monthCalendar_Main.MinDate = Convert.ToDateTime("1900-01-01");
monthCalendar_Main.MaxDate = Convert.ToDateTime("2200-12-31");
textEdit_WorkdayCount.Text = "0";
textEdit_HolidayCount.Text = "0";
textEdit_Day.Text = "";
textEdit_WeekCount.Text = "";
textEdit_Reason.Text = "";
gridControl_Main.DataSource = null;
SerializedSqlParam[] aParam = new SerializedSqlParam[] {
ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, lookUpEdit_COMP_CD.EditValue),
ClientClass.CreateSqlParameter("YY", SqlDbType.NVarChar, comboBoxEdit_YY.Text)
};
ResultData resultData = ClientClass.GetData("GetWorkdayReport", aParam);
if (resultData.isError)
{
throw new Exception(resultData.ResultValue);
}
monthCalendar_Main.MinDate = Convert.ToDateTime(comboBoxEdit_YY.Text + "-01-01");
monthCalendar_Main.MaxDate = Convert.ToDateTime(comboBoxEdit_YY.Text + "-12-31");
monthCalendar_Main.RemoveAllBoldedDates();
for (int i = 0; i < resultData.DataList.Tables[0].Rows.Count; i++)
{
monthCalendar_Main.AddBoldedDate(Convert.ToDateTime(resultData.DataList.Tables[0].Rows[i]["WORK_DAY"]));
}
monthCalendar_Main.UpdateBoldedDates();
gridBand_Year.Caption = comboBoxEdit_YY.Text;
m_Data = resultData.DataList.Tables[0].Copy();
textEdit_WorkdayCount.Text = UtilClass.toInt(resultData.DataList.Tables[1].Rows[0]["WORK_DAY_COUNT"]).ToString("#,##0");
textEdit_HolidayCount.Text = resultData.DataList.Tables[0].Rows.Count.ToString("#,##0");
if (DateTime.Now.ToString("yyyy").Equals(comboBoxEdit_YY.Text))
{
monthCalendar_Main.SelectionStart = DateTime.Now;
monthCalendar_Main.SelectionEnd = DateTime.Now;
setDateInfo(DateTime.Now);
}
else
{
monthCalendar_Main.SelectionStart = monthCalendar_Main.MinDate;
monthCalendar_Main.SelectionEnd = monthCalendar_Main.MinDate;
setDateInfo(Convert.ToDateTime(comboBoxEdit_YY.Text + "-01-01"));
}
gridControl_Main.DataSource = resultData.DataList.Tables[2];
this.Cursor = Cursors.Arrow;
}
catch (Exception ex)
{
this.Cursor = Cursors.Arrow;
MessageBox.Show(ex.Message);
}
}
public override void excelProc()
{
this.ExportExcelGrid(gridControl_Main);
}
}
}
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244·using ClientLib;using ClientLib.CommonService;using DevExpress.XtraGrid;using DevExpress.XtraGrid.Views.Grid.ViewInfo;using PublicLib;using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Globalization;using System.Linq;using System.Text;using System.Windows.Forms;namespace HANMI_STD{public partial class WorkdayReport : PublicLib.CommonMDI{private bool m_Loading;private DataTable m_Data;public WorkdayReport(){InitializeComponent();m_Loading = true;bandedGridView_Main.OptionsView.ShowColumnHeaders = false;comboBoxEdit_YY.Properties.Items.Clear();comboBoxEdit_YY.Properties.DropDownRows = 25;int yy = 2009;for (int i = 0; i < 100; i++){yy++;comboBoxEdit_YY.Properties.Items.Add(yy.ToString());}lookUpEdit_COMP_CD.EditValueChanged += (sender, e) =>{searchProc();};comboBoxEdit_YY.SelectedIndexChanged += (sender, e) =>{searchProc();};monthCalendar_Main.DateSelected += (sender, e) =>{setDateInfo(e.End);};simpleButton_Next.Click += (sender, e) =>{if (comboBoxEdit_YY.SelectedIndex < comboBoxEdit_YY.Properties.Items.Count - 1){comboBoxEdit_YY.SelectedIndex++;}};simpleButton_Prev.Click += (sender, e) =>{if (comboBoxEdit_YY.SelectedIndex > 0){comboBoxEdit_YY.SelectedIndex--;}};bandedGridView_Main.FormatConditions.Clear();StyleFormatCondition sfc;sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "토요일");sfc.ApplyToRow = true;sfc.Appearance.ForeColor = Color.Blue;sfc.Appearance.Options.UseForeColor = true;bandedGridView_Main.FormatConditions.Add(sfc);sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "일요일");sfc.ApplyToRow = true;sfc.Appearance.ForeColor = Color.Red;sfc.Appearance.Options.UseForeColor = true;bandedGridView_Main.FormatConditions.Add(sfc);sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["DAY_GUBUN"], null, "평일");sfc.ApplyToRow = true;sfc.Appearance.ForeColor = Color.Magenta;sfc.Appearance.Options.UseForeColor = true;bandedGridView_Main.FormatConditions.Add(sfc);sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 1);sfc.ApplyToRow = true;sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);sfc.Appearance.Options.UseFont = true;bandedGridView_Main.FormatConditions.Add(sfc);sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 4);sfc.ApplyToRow = true;sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);sfc.Appearance.Options.UseFont = true;bandedGridView_Main.FormatConditions.Add(sfc);sfc = new StyleFormatCondition(FormatConditionEnum.Equal, bandedGridView_Main.Columns["SEQ_NO"], null, 8);sfc.ApplyToRow = true;sfc.Appearance.Font = new Font(this.Font, FontStyle.Bold);sfc.Appearance.BackColor = Color.FromArgb(236, 255, 230);sfc.Appearance.Options.UseFont = true;bandedGridView_Main.FormatConditions.Add(sfc);this.Shown += (sender, e) =>{try{SerializedSqlParam[] aParam = new SerializedSqlParam[] {ClientClass.CreateSqlParameter("MENU_ID", SqlDbType.NVarChar, this.m_MenuID),ClientClass.CreateSqlParameter("USR_ID", SqlDbType.NVarChar, ConstClass._USR_ID)};ResultData resultComp = ClientClass.GetData("GetCompanyListByMenuUser", aParam);if (resultComp.isError){throw new Exception(resultComp.ResultValue);}UtilClass.SetLookup(lookUpEdit_COMP_CD, resultComp.TableData, "COMP_CD", "COMP_NM", true);m_Loading = false;comboBoxEdit_YY.SelectedIndex = comboBoxEdit_YY.Properties.Items.IndexOf(DateTime.Now.ToString("yyyy"));}catch (Exception ex){MessageBox.Show(ex.Message);this.Close();}};}private void setDateInfo(DateTime date){textEdit_Day.Text = "";textEdit_WeekCount.Text = "";textEdit_Reason.Text = "";if (m_Data == null){return;}CalendarWeekRule calendarWeekRule = CultureInfo.CurrentCulture.DateTimeFormat.CalendarWeekRule;DayOfWeek dayOfWeek = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;int weekCount = CultureInfo.CurrentCulture.Calendar.GetWeekOfYear(date, calendarWeekRule, dayOfWeek);string dd = date.ToString("yyyy-MM-dd");textEdit_Day.Text = dd;textEdit_WeekCount.Text = date.ToString("yyyy") + weekCount.ToString("00");DataRow[] rows = m_Data.Select("WORK_DAY = '" + dd + "'");if (rows != null && rows.Length > 0){textEdit_Reason.Text = UtilClass.toStr(rows[0]["HOL_NM"]);}}public override void searchProc(){try{if (UtilClass.isNull(lookUpEdit_COMP_CD.EditValue) || m_Loading){return;}this.Cursor = Cursors.WaitCursor;monthCalendar_Main.MinDate = Convert.ToDateTime("1900-01-01");monthCalendar_Main.MaxDate = Convert.ToDateTime("2200-12-31");textEdit_WorkdayCount.Text = "0";textEdit_HolidayCount.Text = "0";textEdit_Day.Text = "";textEdit_WeekCount.Text = "";textEdit_Reason.Text = "";gridControl_Main.DataSource = null;SerializedSqlParam[] aParam = new SerializedSqlParam[] {ClientClass.CreateSqlParameter("COMP_CD", SqlDbType.NVarChar, lookUpEdit_COMP_CD.EditValue),ClientClass.CreateSqlParameter("YY", SqlDbType.NVarChar, comboBoxEdit_YY.Text)};ResultData resultData = ClientClass.GetData("GetWorkdayReport", aParam);if (resultData.isError){throw new Exception(resultData.ResultValue);}monthCalendar_Main.MinDate = Convert.ToDateTime(comboBoxEdit_YY.Text + "-01-01");monthCalendar_Main.MaxDate = Convert.ToDateTime(comboBoxEdit_YY.Text + "-12-31");monthCalendar_Main.RemoveAllBoldedDates();for (int i = 0; i < resultData.DataList.Tables[0].Rows.Count; i++){monthCalendar_Main.AddBoldedDate(Convert.ToDateTime(resultData.DataList.Tables[0].Rows[i]["WORK_DAY"]));}monthCalendar_Main.UpdateBoldedDates();gridBand_Year.Caption = comboBoxEdit_YY.Text;m_Data = resultData.DataList.Tables[0].Copy();textEdit_WorkdayCount.Text = UtilClass.toInt(resultData.DataList.Tables[1].Rows[0]["WORK_DAY_COUNT"]).ToString("#,##0");textEdit_HolidayCount.Text = resultData.DataList.Tables[0].Rows.Count.ToString("#,##0");if (DateTime.Now.ToString("yyyy").Equals(comboBoxEdit_YY.Text)){monthCalendar_Main.SelectionStart = DateTime.Now;monthCalendar_Main.SelectionEnd = DateTime.Now;setDateInfo(DateTime.Now);}else{monthCalendar_Main.SelectionStart = monthCalendar_Main.MinDate;monthCalendar_Main.SelectionEnd = monthCalendar_Main.MinDate;setDateInfo(Convert.ToDateTime(comboBoxEdit_YY.Text + "-01-01"));}gridControl_Main.DataSource = resultData.DataList.Tables[2];this.Cursor = Cursors.Arrow;}catch (Exception ex){this.Cursor = Cursors.Arrow;MessageBox.Show(ex.Message);}}public override void excelProc(){this.ExportExcelGrid(gridControl_Main);}}}