Files
Groupware/SubProject/FPJ0000/Project/fPartConfirm.cs

315 lines
10 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;
namespace FPJ0000
{
public partial class fPartConfirm : FCOMMON.fBase
{
string fn_fpcolsize = "";
public int qty = 0;
string search = string.Empty;
int idx = -1;
public fPartConfirm(dsPRJ.ProjectsPartDataTable dt)
{
InitializeComponent();
this.bs.DataSource = dt;
this.bs.Sort = "itemgroup,option1,no";
this.bs.Filter = "isnull(bconfirm,0)=false";
fn_fpcolsize = System.IO.Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
"formSetting",
"fp_" + this.Name + ".ini");
this.WindowState = FormWindowState.Normal;
this.StartPosition = FormStartPosition.CenterScreen;
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape) this.Close();
else if (e1.KeyCode == Keys.F1) btPrev.PerformClick();
else if (e1.KeyCode == Keys.F9) btNext.PerformClick();
else if (e1.KeyCode == Keys.F5) btConf.PerformClick();
};
}
private void __Load(object sender, EventArgs e)
{
this.Show();
Application.DoEvents();
btFind.PerformClick();
}
void refreshData(string div)
{
this.taPMP.Fill(this.dsMSSQL.SPMaster, "%" + div + "%");
dvPMP.AutoResizeColumns();
//FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
tbFind.Focus();
//tbFind.SelectAll();
}
private void bs_CurrentChanged(object sender, EventArgs e)
{
idx = -1;
var drv = bsPMP.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.SPMasterRow;//.minutesRow;
idx = dr.ID;
}
private void toolStripButton2_Click(object sender, EventArgs e)
{
try
{
var cnt = this.taPMP.Update(this.dsMSSQL.SPMaster);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.refreshData(this.search);
}
//void Find()
//{
// var txt = tbFind.Text.Trim();
// if (txt == "")
// {
// if(bs.Filter != "")
// {
// bs.Filter = "";
// tbFind.BackColor = Color.WhiteSmoke;
// }
// tbFind.Focus();
// return;
// }
// //검색어가 잇으므로 검색을 수행한다
// var cols = new string[] { "SIDNo","Storage","Location",
// "PartName","PartNo","Memo","CostCenter","Enrollee"};
// string filter = "";
// foreach(var col in cols)
// {
// if (filter != "") filter += " or ";
// filter += col + " like '%"+ txt.Replace("'","''") +"%' ";
// }
// try
// {
// this.bs.Filter = filter;
// tbFind.BackColor = Color.Lime;
// tbFind.SelectAll();
// }catch (Exception ex)
// {
// this.bs.Filter = "";
// tbFind.BackColor = Color.Red;
// FCOMMON.Util.MsgE(ex.Message);
// }
//}
private void button1_Click(object sender, EventArgs e)
{
refreshData(tbFind.Text.Trim());
}
private void tbFind_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
btFind.PerformClick();
}
private void exportListToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog sd = new SaveFileDialog();
sd.Filter = "excel|*.xls";
var fn = "pmplist";
sd.FileName = fn + ".xls";
if (sd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
dvPMP.SaveExcelXML(sd.FileName);
//fpSpread1.SaveExcel(sd.FileName,
// FarPoint.Excel.ExcelSaveFlags.SaveAsViewed
// | FarPoint.Excel.ExcelSaveFlags.SaveAsFiltered
// | FarPoint.Excel.ExcelSaveFlags.NoFormulas
// | FarPoint.Excel.ExcelSaveFlags.SaveCustomColumnHeaders);
}
}
//private void autoToolStripMenuItem_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);
// //dv1.AutoResizeColumns();
//}
//private void resetToolStripMenuItem_Click(object sender, EventArgs e)
//{
// foreach (FarPoint.Win.Spread.Column col in this.fpSpread1.ActiveSheet.Columns)
// {
// col.Width = 100;
// }
//}
//private void saveToolStripMenuItem_Click(object sender, EventArgs e)
//{
// FPUtil.ColsizeSave(this.fpSpread1, fn_fpcolsize);
//}
//private void loadToolStripMenuItem_Click(object sender, EventArgs e)
//{
// FPUtil.ColSizeLoad(ref this.fpSpread1, fn_fpcolsize);
//}
private void btConf_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
this.bsPMP.EndEdit();
var drv = this.bs.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.ProjectsPartRow;
dr.bconfirm = true;
dr.EndEdit();
if (bs.Count < 1)
{
FCOMMON.Util.MsgE("미 확정 데이터가 없습니다.\n화면이 닫힙니다.");
this.Close();
}
else
{
textBox9.Focus();
this.textBox9.SelectAll();//
}
}
private void btNext_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
this.bsPMP.EndEdit();
if (bs.Position < bs.Count - 1) bs.Position += 1;
textBox9.Focus();
this.textBox9.SelectAll();//
}
private void btPrev_Click(object sender, EventArgs e)
{
this.Validate();
this.bs.EndEdit();
this.bsPMP.EndEdit();
if (bs.Position > 0) bs.Position -= 1;
textBox9.Focus();
this.textBox9.SelectAll();//
}
private void bs_CurrentChanged_1(object sender, EventArgs e)
{
var drv = this.bs.Current as DataRowView;
if (drv == null)
{
tbFind.Text = string.Empty;
}
else
{
var dr = drv.Row as dsPRJ.ProjectsPartRow;
if (dr.ItemSid.Length == 9) tbFind.Text = dr.ItemSid;
else if (dr.ItemName.Length > 4) tbFind.Text = dr.ItemName.Substring(0, 4);
else if (dr.ItemName.Length > 0) tbFind.Text = dr.ItemName;
else tbFind.Text = string.Empty;
}
if (string.IsNullOrEmpty(tbFind.Text) == true)
{
dsMSSQL.SPMaster.Clear();
}
else btFind.PerformClick();
}
private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
finedata(textBox4.Text);
}
void finedata(string key)
{
tbFind.Text = key;
if (string.IsNullOrEmpty(key) == false)
btFind.PerformClick();
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
finedata(textBox3.Text);
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
finedata(textBox5.Text);
}
private void label3_Click(object sender, EventArgs e)
{
}
void aplyjago()
{
var drv = this.bsPMP.Current as DataRowView;
if (drv == null) return;
var dr = drv.Row as dsPRJ.SPMasterRow;
var qty = dr.CurrentQty;
if (qty < 1)
{
FCOMMON.Util.MsgE("현 재고가 없습니다");
return;
}
else
{
var drv2 = this.bs.Current as DataRowView;
if (drv2 == null)
{
FCOMMON.Util.MsgE("미 확장 자료를 확인할 수 없습니다");
return;
}
var dr2 = drv2.Row as dsPRJ.ProjectsPartRow;
var jagoqty = (int)Math.Min(dr2.qtyn, qty);
dr2.qtyjago = jagoqty.ToString();
dr2.jago = jagoqty;
dr2.qtybuy = dr2.qtyn - jagoqty;
var msg = "PMP재고 사용(" + jagoqty.ToString() + ")";
if(dr2.memo.IndexOf(msg) == -1) dr2.memo += msg;
dr2.EndEdit();
}
}
private void ToolStripMenuItem_Click(object sender, EventArgs e)
{
aplyjago();
}
private void dvPMP_DoubleClick(object sender, EventArgs e)
{
aplyjago();
}
}
}