336 lines
11 KiB
C#
336 lines
11 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,string sortkey)
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.bs.DataSource = dt;
|
|
this.bs.Sort = sortkey;
|
|
this.bs.Filter = "isnull(qtybuy,0) < 1";
|
|
|
|
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();
|
|
if (string.IsNullOrEmpty(tbFind.Text) == false)
|
|
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)
|
|
{
|
|
var drv = this.bs.Current as DataRowView;
|
|
if (drv == null) return;
|
|
var dr = drv.Row as dsPRJ.ProjectsPartRow;
|
|
|
|
var str_qty = textBox9.Text;
|
|
if (string.IsNullOrEmpty(str_qty) || str_qty == "-1")
|
|
{
|
|
var result = FCOMMON.Util.MsgQ("구매 수량이 입력되지 않았습니다.\n\n자동으로 '0' 을 입력하시겠습니까?\n\n수량 '0'은 비 구매 항목으로 설정 됩니다");
|
|
if(result == DialogResult.Yes)
|
|
{
|
|
dr.qtybuy = 0;
|
|
if (dr.memo.IndexOf("비구매설정") == -1) dr.memo += "(비구매설정:" + DateTime.Now.ToString("MM-dd hh:mm:ss") + ")";
|
|
textBox9.Text = "0";
|
|
}
|
|
else
|
|
{
|
|
textBox9.Focus();
|
|
return;
|
|
}
|
|
}
|
|
|
|
this.Validate();
|
|
this.bs.EndEdit();
|
|
this.bsPMP.EndEdit();
|
|
|
|
|
|
//if (dr.qtybuy == 0 && dr.bbuy==false) dr.bbuy = true; //구매수량이0인것은 자동 확정한다
|
|
//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();
|
|
}
|
|
}
|
|
}
|