..
This commit is contained in:
@@ -14,9 +14,11 @@ namespace FBS0000
|
||||
{
|
||||
public partial class fHolyday : FCOMMON.fBase
|
||||
{
|
||||
string fn_fpcolsize = "";
|
||||
public fHolyday()
|
||||
{
|
||||
InitializeComponent();
|
||||
fn_fpcolsize = System.IO.Path.Combine(FCOMMON.Util.CurrentPath, "formSetting", "fp_" + this.Name + "i.ini");
|
||||
this.dsMSSQL.vHoliday_uselist.TableNewRow += Holyday_TableNewRow;
|
||||
//this.dv1.CellFormatting += dv1_CellFormatting;
|
||||
}
|
||||
@@ -33,6 +35,12 @@ namespace FBS0000
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
//엔터키누르면 아래로 이동하게함ㄷ
|
||||
FarPoint.Win.Spread.InputMap im = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
|
||||
FarPoint.Win.Spread.InputMap im2 = this.fpSpread1.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
|
||||
im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
|
||||
im2.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
|
||||
|
||||
tbSD.Text = DateTime.Now.ToString("yyyy-MM") + "-01";
|
||||
tbED.Text = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM") + "-01").AddDays(-1).ToShortDateString();
|
||||
|
||||
@@ -74,13 +82,18 @@ namespace FBS0000
|
||||
if (curLevel >= 5)
|
||||
{
|
||||
//권한이 잇으므로 모든 사용자로 한다.
|
||||
cmbUser.SelectedIndex = 0;
|
||||
if (cmbUser.Items.Count > 0)
|
||||
cmbUser.SelectedIndex = 0;
|
||||
btSave.Enabled = true;
|
||||
btDel.Enabled = true;
|
||||
btAdd.Enabled = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.cmbUser.Text = string.Format("[{0}] {1}", FCOMMON.info.Login.no, FCOMMON.info.Login.nameK);
|
||||
this.cmbUser.Enabled = false; //사용자를 고칠수 없게 한다.
|
||||
this.cmbGrp.Enabled = false;
|
||||
|
||||
}
|
||||
|
||||
RefreshData();
|
||||
@@ -107,6 +120,7 @@ namespace FBS0000
|
||||
return uid;
|
||||
}
|
||||
|
||||
string seluid = string.Empty;
|
||||
void RefreshData()
|
||||
{
|
||||
if (this.dsMSSQL.Holyday.GetChanges() != null)
|
||||
@@ -116,13 +130,13 @@ namespace FBS0000
|
||||
}
|
||||
|
||||
//update data
|
||||
string uid = GetUIDValue();
|
||||
seluid = GetUIDValue();
|
||||
var sd = DateTime.Parse(tbSD.Text + " 00:00:00");
|
||||
var ed = DateTime.Parse(tbED.Text + " 23:59:59");
|
||||
|
||||
try
|
||||
{
|
||||
this.ta.Fill(this.dsMSSQL.Holyday, tbSD.Text, tbED.Text, uid, FCOMMON.info.Login.gcode);
|
||||
this.ta.Fill(this.dsMSSQL.Holyday, tbSD.Text, tbED.Text, FCOMMON.info.Login.gcode, seluid);
|
||||
this.dsMSSQL.Holyday.AcceptChanges();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@@ -149,10 +163,33 @@ namespace FBS0000
|
||||
if (janD < 0) sbJan.ForeColor = Color.Red;
|
||||
else sbJan.ForeColor = Color.Blue;
|
||||
|
||||
//색상변경
|
||||
//현재그룹의 사용자 목록을 조호힌다.
|
||||
taUser.Fill(this.dsMSSQL.EETGW_WorkTableUser, FCOMMON.info.Login.gcode, cmbGrp.Text);
|
||||
|
||||
//모든데이터의 성명을 표시해준다
|
||||
var qta = new dsMSSQLTableAdapters.QueriesTableAdapter();
|
||||
var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index;
|
||||
var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index;
|
||||
var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index;
|
||||
var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index;
|
||||
var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index;
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
{
|
||||
var drindex = this.fpSpread1.ActiveSheet.GetModelRowFromViewRow(i);
|
||||
var dr = this.dsMSSQL.Holyday.Rows[drindex] as dsMSSQL.HolydayRow;
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_name].Value = dr.UserName;
|
||||
|
||||
//이 사용자의 이전까지의 잔량을 가져온다
|
||||
var yjand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, dr.uid, dr.sdate.ToShortDateString());
|
||||
var yjanh = qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, dr.uid, dr.sdate.ToShortDateString());
|
||||
var jand = yjand + dr.termDr - dr.term;
|
||||
var janh = yjanh + dr.DrTime - dr.CrTime;
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_yjand].Value = yjand;
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_yjanh].Value = yjanh;
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_jand].Value = jand;
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_janh].Value = janh;
|
||||
}
|
||||
|
||||
// this.dv1.AutoResizeColumns();
|
||||
}
|
||||
private void boardBindingNavigatorSaveItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -172,12 +209,39 @@ namespace FBS0000
|
||||
|
||||
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();
|
||||
}
|
||||
var newdr = this.dsMSSQL.Holyday.NewHolydayRow();
|
||||
if (this.cmbUser.SelectedIndex == 0) newdr.uid = FCOMMON.info.Login.no;
|
||||
else newdr.uid = seluid;
|
||||
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);
|
||||
var rowindex = this.bs.Count - 1;
|
||||
|
||||
//잔액및 성명찾기
|
||||
//모든데이터의 성명을 표시해준다
|
||||
var qta = new dsMSSQLTableAdapters.QueriesTableAdapter();
|
||||
var col_name = this.fpSpread1.ActiveSheet.Columns["name"].Index;
|
||||
var col_jand = this.fpSpread1.ActiveSheet.Columns["jand"].Index;
|
||||
var col_yjand = this.fpSpread1.ActiveSheet.Columns["yjand"].Index;
|
||||
var col_janh = this.fpSpread1.ActiveSheet.Columns["janh"].Index;
|
||||
var col_yjanh = this.fpSpread1.ActiveSheet.Columns["yjanh"].Index;
|
||||
|
||||
var drUser= this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno == newdr.uid).FirstOrDefault();
|
||||
var username = drUser == null ? string.Empty : drUser.name;
|
||||
fpSpread1.ActiveSheet.Cells[rowindex, col_name].Value = username;
|
||||
|
||||
//이 사용자의 이전까지의 잔량을 가져온다
|
||||
var yjand = qta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, this.seluid, newdr.sdate.ToShortDateString());
|
||||
var yjanh = qta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, seluid, newdr.sdate.ToShortDateString());
|
||||
//var jand = yjand + dr.termDr - dr.term;
|
||||
//var janh = yjanh + dr.DrTime - dr.CrTime;
|
||||
this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjand].Value = yjand;
|
||||
this.fpSpread1.ActiveSheet.Cells[rowindex, col_yjanh].Value = yjanh;
|
||||
|
||||
}
|
||||
|
||||
private void autoResizeComlumnsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
@@ -288,7 +352,9 @@ namespace FBS0000
|
||||
|
||||
private void toolStripButton5_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new WorkTable(tbSD.Text, tbED.Text, this.cmbGrp.Text);
|
||||
var sd = DateTime.Now.ToString("yyyy-MM-01");
|
||||
var ed = DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
|
||||
var f = new WorkTable(sd, ed, this.cmbGrp.Text);
|
||||
f.ShowDialog();
|
||||
}
|
||||
|
||||
@@ -301,5 +367,138 @@ namespace FBS0000
|
||||
{
|
||||
this.bs.RemoveCurrent();
|
||||
}
|
||||
|
||||
private void fHolyday_KeyPress(object sender, KeyPressEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void fpSpread1_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void fpSpread1_EditModeOff(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
var cell = this.fpSpread1.ActiveSheet.ActiveCell;
|
||||
if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "pdate")
|
||||
{
|
||||
//날짜가 바뀌면 전일잔액을 바꿔야한다
|
||||
var pdate = ((DateTime)cell.Value).ToString("yyyy-MM-dd");
|
||||
var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString();
|
||||
var ta = new dsMSSQLTableAdapters.QueriesTableAdapter();
|
||||
var jand = ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate);
|
||||
var janh = ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate);
|
||||
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand;
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh;
|
||||
}
|
||||
else if (cell.Column.Tag != null && cell.Column.Tag.ToString() == "empno")
|
||||
{
|
||||
|
||||
//입력을 새로 했으므로 데이터를 조회해서 이름을 자동 설정 해준다.
|
||||
var pdate = ((DateTime)(fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["pdate"].Index].Value)).ToString("yyyy-MM-dd");
|
||||
var empno = fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value.ToString();
|
||||
var users = this.dsMSSQL.EETGW_WorkTableUser.Where(t => t.empno.Contains(empno) || t.name.Contains(empno)).ToList();
|
||||
if (users.Count == 1)
|
||||
{
|
||||
var dr = users.FirstOrDefault();
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = dr.name;
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = dr.empno;
|
||||
fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index;
|
||||
empno = dr.empno;
|
||||
|
||||
//전일잔액표시
|
||||
var ta = new dsMSSQLTableAdapters.QueriesTableAdapter();
|
||||
var jand = ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, empno, pdate);
|
||||
var janh = ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, empno, pdate);
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand;
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh;
|
||||
|
||||
}
|
||||
else if (users.Count == 0)
|
||||
{
|
||||
FCOMMON.Util.MsgE("입력값({0})에 해당하는 사원번호/이름이 없습니다", empno);
|
||||
fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["empno"].Index;
|
||||
}
|
||||
else
|
||||
{
|
||||
//lov
|
||||
var flov = new fLovWorkUser(users);
|
||||
if (flov.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
//전일잔액표시
|
||||
var ta = new dsMSSQLTableAdapters.QueriesTableAdapter();
|
||||
var jand = ta.WorkUserJan_Yesterday_Day(FCOMMON.info.Login.gcode, flov.dr.empno, pdate);
|
||||
var janh = ta.WorkUserJan_YesterDay_Time(FCOMMON.info.Login.gcode, flov.dr.empno, pdate);
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjand"].Index].Value = jand;
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["yjanh"].Index].Value = janh;
|
||||
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = flov.dr.name;
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["empno"].Index].Value = flov.dr.empno;
|
||||
fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index;
|
||||
}
|
||||
else
|
||||
{
|
||||
fpSpread1.ActiveSheet.Cells[cell.Row.Index, fpSpread1.ActiveSheet.Columns["name"].Index].Value = "?";
|
||||
fpSpread1.ActiveSheet.ActiveColumnIndex = fpSpread1.ActiveSheet.Columns["dr"].Index;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void fpSpread1_CellClick(object sender, FarPoint.Win.Spread.CellClickEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void toolStripMenuItem5_Click(object sender, EventArgs e)
|
||||
{
|
||||
FCOMMON.Util.FPColsizeSave(this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void toolStripMenuItem6_Click(object sender, EventArgs e)
|
||||
{
|
||||
FCOMMON.Util.FPColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
|
||||
}
|
||||
|
||||
private void toolStripMenuItem3_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.fpSpread1.ActiveSheet.DataAutoSizeColumns = true;
|
||||
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
this.fpSpread1.ActiveSheet.SetRowHeight(i, 25);
|
||||
}
|
||||
|
||||
private void toolStripMenuItem4_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
|
||||
{
|
||||
col.Width = 100;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void 현재사원원장보기ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
var drv = this.bs.Current as DataRowView;
|
||||
var dr = drv.Row as dsMSSQL.HolydayRow;
|
||||
this.tbSD.Text = DateTime.Now.Year.ToString("0000") + "-01-01";
|
||||
this.tbED.Text = DateTime.Now.Year.ToString("0000") + "-12-31";
|
||||
var username = string.Format("[{0}] {1}",dr.uid,dr.UserName);
|
||||
this.cmbUser.Text = username;
|
||||
RefreshData();
|
||||
}
|
||||
|
||||
private void lbStt_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new FCOMMON.fSelectMonth();
|
||||
if (f.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
|
||||
var sdDate = DateTime.Parse(DateTime.Now.ToString("yyyy-") + f.selectmon.ToString() + "-01");
|
||||
tbSD.Text = sdDate.ToShortDateString();
|
||||
tbED.Text = sdDate.AddMonths(1).AddDays(-1).ToShortDateString();
|
||||
this.RefreshData();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user