268 lines
9.5 KiB
C#
268 lines
9.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using NetOffice;
|
|
using Outlook = NetOffice.OutlookApi;
|
|
using NetOffice.OutlookApi.Enums;
|
|
|
|
namespace FBS0000
|
|
{
|
|
public partial class WorkTable : FCOMMON.fBase
|
|
{
|
|
public WorkTable(string sd,string ed )
|
|
{
|
|
InitializeComponent();
|
|
this.dsMSSQL.vHoliday_uselist.TableNewRow += Holyday_TableNewRow;
|
|
tbSD.Text = sd;
|
|
tbED.Text = ed;
|
|
//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";
|
|
|
|
//udpate user list
|
|
var userList = FCOMMON.DBM.getUserList();
|
|
this.cmbUser.Items.Clear();
|
|
this.cmbUser.Items.Add("-- ALL --");
|
|
int curuserindex = -1;
|
|
foreach (var user in userList)
|
|
{
|
|
this.cmbUser.Items.Add(string.Format("[{0}] {1}", user.Key, user.Value));
|
|
if (user.Key == FCOMMON.info.Login.no) curuserindex = cmbUser.Items.Count - 1;
|
|
}
|
|
this.cmbUser.SelectedIndex = curuserindex;
|
|
|
|
//일반사용자의경우에는 상태를 변경하지 못한다.
|
|
int curLevel = Math.Max(FCOMMON.info.Login.level, FCOMMON.DBM.getAuth(FCOMMON.DBM.eAuthType.holyday));
|
|
if (curLevel >= 5)
|
|
{
|
|
//권한이 잇으므로 모든 사용자로 한다.
|
|
}
|
|
else
|
|
{
|
|
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;
|
|
}
|
|
|
|
string GetUIDValue()
|
|
{
|
|
string uid = "%";
|
|
if (cmbUser.SelectedIndex > 0)
|
|
{
|
|
uid = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
|
|
}
|
|
return uid;
|
|
}
|
|
|
|
void RefreshData()
|
|
{
|
|
//update data
|
|
string uid = GetUIDValue();
|
|
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);
|
|
|
|
|
|
//잔량계산
|
|
double sumdrD = this.dsMSSQL.Holyday.Sum(t => t.termDr); //전체발생수량
|
|
double sumdrT = this.dsMSSQL.Holyday.Sum(t => t.DrTime); //전체발생수량
|
|
|
|
double sumcrD = this.dsMSSQL.Holyday.Sum(t => t.term); //전체발생수량
|
|
double sumcrT = this.dsMSSQL.Holyday.Sum(t => t.CrTime); //전체발생수량
|
|
|
|
//double sumcr = sumcrD + sumcrT; //전체 사용수량
|
|
//double sumdr = sumdrD + sumdrT; //전체 발생량
|
|
|
|
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();
|
|
var dlg = FCOMMON.Util.MsgQ("변경된 내용을 저장하시겠습니까?");
|
|
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
|
|
try
|
|
{
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
FCOMMON.Util.MsgE(ex.Message);
|
|
}
|
|
}
|
|
|
|
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
|
|
{
|
|
var f = new fHolyday_Add();
|
|
f.TopMost = true;
|
|
if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
|
{
|
|
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();
|
|
}
|
|
|
|
private void tbSD_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
var tb = sender as ToolStripTextBox;
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
string datestring;
|
|
if (FCOMMON.Util.MakeDateString(tb.Text, out datestring))
|
|
{
|
|
tb.Text = datestring;
|
|
SendKeys.Send("{TAB}");
|
|
}
|
|
}
|
|
}
|
|
|
|
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)
|
|
{
|
|
if(this.cmbUser.SelectedIndex < 0)
|
|
{
|
|
FCOMMON.Util.MsgE("담당자가 선택되어야 합니다.");
|
|
return;
|
|
}
|
|
string uid = GetUIDValue();
|
|
var f = new fHolydayJobReport(tbSD.Text,tbED.Text,uid);
|
|
f.ShowDialog();
|
|
}
|
|
}
|
|
}
|