This commit is contained in:
chi
2020-09-07 17:57:16 +09:00
parent cfd9867e0c
commit 1b325a325a
9 changed files with 904 additions and 478 deletions

View File

@@ -14,45 +14,18 @@ namespace FBS0000
{
public partial class WorkTable : FCOMMON.fBase
{
public WorkTable(string sd,string ed )
public WorkTable(string sd, string ed, string grp)
{
InitializeComponent();
this.dsMSSQL.vHoliday_uselist.TableNewRow += Holyday_TableNewRow;
tbSD.Text = sd;
tbED.Text = ed;
tbGrp.Text = grp;
//this.dv1.CellFormatting += dv1_CellFormatting;
}
void dv1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
//if (e.RowIndex < 0 || e.ColumnIndex < 0) return;
//var col = this.dv1.Columns[e.ColumnIndex];
//var cate = dv1.Rows[e.RowIndex].Cells["dvc_cate"].Value.ToString();
//if (cate == "0") dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Blue;// = Color.Gray;
//else dv1.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Black;
}
private void __Load(object sender, EventArgs e)
{
tbSD.Text = DateTime.Now.Year.ToString("0000") + "-01-01";
tbED.Text = DateTime.Now.AddDays(10).ToShortDateString();
//var userlist = FCOMMON.DBM.getUserTable();
//dvc_user.DataSource = userlist;
//dvc_user.ValueMember = "Key";
//dvc_user.DisplayMember = "Value";
//var cateList = FCOMMON.DBM.getCodeTable("02");
//this.dvc_cate.DataSource = cateList;
//dvc_cate.ValueMember = "Key";
//dvc_cate.DisplayMember = "Value";
//var rrltList = FCOMMON.DBM.getCodeTable("03");
//this.dvc_result.DataSource = rrltList;
//dvc_result.ValueMember = "Key";
//dvc_result.DisplayMember = "Value";
//일반사용자의경우에는 상태를 변경하지 못한다.
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday));
if (curLevel >= 5)
@@ -61,61 +34,95 @@ namespace FBS0000
}
else
{
// this.cmbUser.Enabled = false; //사용자를 고칠수 없게 한다.
// this.cmbUser.Enabled = false; //사용자를 고칠수 없게 한다.
}
RefreshData();
}
void Holyday_TableNewRow(object sender, DataTableNewRowEventArgs e)
{
e.Row["wuid"] = FCOMMON.info.Login.no;
e.Row["uid"] = FCOMMON.info.Login.no;
e.Row["wdate"] = DateTime.Now;
e.Row["cate"] = "0"; //기본 신청
e.Row["pdate"] = DateTime.Now;
e.Row["termDr"] = 1.0f;
e.Row["contents"] = string.Empty;
}
void RefreshData()
{
//update data
//var sd = DateTime.Parse(tbSD.Text + " 00:00:00");
//var ed = DateTime.Parse(tbED.Text + " 23:59:59");
//this.ta.Fill(this.dsMSSQL.Holyday, tbSD.Text, tbED.Text, uid, FCOMMON.info.Login.gcode);
fpSpread1_Sheet1.Rows.Count = 0;
//열제목
var cols = new List<string>();
cols.AddRange(new string[] { "번호", "사번", "직급", "성명" });
var sd = DateTime.Parse(tbSD.Text);
var ed = DateTime.Parse(tbED.Text);
var idx = 0; ;
while (true)
{
var curDate = sd.AddDays(idx++);
cols.Add(curDate.Day.ToString("00"));
if (curDate.ToShortDateString() == ed.ToShortDateString()) break;
}
cols.AddRange(new string[]{ "발생년차","사용휴가","잔여휴가"});
//열제목 설정
fpSpread1_Sheet1.Columns.Count = cols.Count;
for (int c = 0; c < cols.Count; c++)
{
fpSpread1_Sheet1.Columns[c].Label = cols[c];
}
//fpSpread1_Sheet1.Cells[0, c].Value = cols[c];
//해당 기간내의 사용
var taUser = new dsMSSQLTableAdapters.EETGW_WorkTableUserTableAdapter();
var dtUser = taUser.GetData(FCOMMON.info.Login.gcode, tbGrp.Text);
var users = new List<userinfo>();
foreach(var item in dtUser)
{
if(string.IsNullOrEmpty(item.indate))
{
//입사일자를 체크해서. 이 날짜가 입사일 이전이면 넘어간다
}
users.Add(new userinfo { grade = item.grade, name = item.name, empno = item.empno, seq = item.seq.ToString() });
}
//휴가테이블에서 데이터를 가져온다
var taHoly = new dsMSSQLTableAdapters.HolydayTableAdapter();
var dtHoly = taHoly.GetByGrp(tbSD.Text, tbED.Text, FCOMMON.info.Login.gcode, this.tbGrp.Text);
////잔량계산
//double sumdrD = this.dsMSSQL.Holyday.Sum(t => t.termDr); //전체발생수량
//double sumdrT = this.dsMSSQL.Holyday.Sum(t => t.DrTime); //전체발생수량
//사용자 목록을 1번열에 나열한다.
var rowindex = 0;
foreach (var item in users)
{
fpSpread1_Sheet1.Rows.Count += 1;
fpSpread1_Sheet1.Cells[rowindex, 0].Value = item.seq;
fpSpread1_Sheet1.Cells[rowindex, 1].Value = item.empno;
fpSpread1_Sheet1.Cells[rowindex, 2].Value = item.grade;
fpSpread1_Sheet1.Cells[rowindex, 3].Value = item.name;
//double sumcrD = this.dsMSSQL.Holyday.Sum(t => t.term); //전체발생수량
//double sumcrT = this.dsMSSQL.Holyday.Sum(t => t.CrTime); //전체발생수량
//각 일자별로 특이사항을 찾는다
for(int c= 4; c < cols.Count;c++)
{
var curDate = sd.AddDays(c-4);
var dr = dtHoly.Where(t => t.uid == item.empno && t.sdate.ToShortDateString() == curDate.ToShortDateString()).FirstOrDefault();
if (dr != null)
{
//자료가있다.
if (dr.term == 1.0) fpSpread1_Sheet1.Cells[rowindex, c].Value = "Y";
else if(dr.term != 0) fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.term.ToString() +"Y";
////double sumcr = sumcrD + sumcrT; //전체 사용수량
////double sumdr = sumdrD + sumdrT; //전체 발생량
if (dr.CrTime != 0) fpSpread1_Sheet1.Cells[rowindex, c].Value = dr.CrTime.ToString();
}
else fpSpread1_Sheet1.Cells[rowindex, c].Value = string.Empty;
}
rowindex += 1;
}
//double janD = sumdrD - sumcrD;
//double janT = sumdrT - sumcrT;
//sbGen.Text = string.Format("{0}+{1}", sumdrD, sumdrT); //발생량
//sbUse.Text = string.Format("{0}+{1}", sumcrD, sumcrT); //사용량
//sbJan.Text = string.Format("{0}+{1}", janD, janT); //잔량
//if (janD < 0) sbJan.ForeColor = Color.Red;
//else sbJan.ForeColor = Color.Blue;
//색상변경
// this.dv1.AutoResizeColumns();
}
private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
// this.bs.EndEdit();
var dlg = FCOMMON.Util.MsgQ("변경된 내용을 저장하시겠습니까?");
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
try
@@ -128,39 +135,18 @@ namespace FBS0000
}
}
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
class userinfo
{
var f = new fHolyday_Add();
f.TopMost = true;
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
public string seq { get; set; }
public string empno { get; set; }
public string name { get; set; }
public string grade { get; set; }
public userinfo()
{
RefreshData();
}
}
private void autoResizeComlumnsToolStripMenuItem_Click(object sender, EventArgs e)
{
// dv1.AutoResizeColumns();
}
private void dv1_DataError(object sender, DataGridViewDataErrorEventArgs e)
{
}
private void dv1_DoubleClick(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.vHoliday_uselistRow;
var f = new fHolyday_Add(dr.idx);
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
RefreshData();
}
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
RefreshData();
@@ -180,61 +166,6 @@ namespace FBS0000
}
}
private void sendToMailToolStripMenuItem_Click(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsMSSQL.HolydayRow;
//string to = dr.tolist;
//string body = "<html><body>test 2<strong>sfd</strong>nice to meet</body></html>";
//string bcc = string.Empty;
//string cc = string.Empty;
//string subject = "etst mail";
Outlook.Application outlookApplication = new Outlook.Application();
Outlook.MailItem newTask = outlookApplication.CreateItem(OlItemType.olMailItem) as Outlook.MailItem;
newTask.Subject = "mail test";
newTask.To = "Chikyun.Kim@amkor.co.kr";
newTask.HTMLBody = "<i><b>this is test mail</b></i>";
newTask.BodyFormat = OlBodyFormat.olFormatHTML;
newTask.Display();
//FCOMMON.Util.RunDefaultMail(to, subject, body, cc, bcc);
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
try
{
var cnt = this.ta.Update(this.dsMSSQL.Holyday);
this.dsMSSQL.Holyday.AcceptChanges();
FCOMMON.Util.MsgI(cnt.ToString() + "건의 자료가 저장됨");
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
}
private void toolStripButton3_Click(object sender, EventArgs e)
{
var newdr = this.dsMSSQL.Holyday.NewHolydayRow();
newdr.uid = FCOMMON.info.Login.no;
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.sdate = DateTime.Now;
newdr.edate = DateTime.Now;
newdr.contents = string.Empty;
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
this.dsMSSQL.Holyday.AddHolydayRow(newdr);
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
}
}
}