파파트리스트 에서 nr구매등록

This commit is contained in:
chi
2023-08-21 11:00:58 +09:00
parent b98a125f78
commit e4f776724b
8 changed files with 4884 additions and 2644 deletions

View File

@@ -14,7 +14,8 @@ namespace FPJ0000
{
int ProjectIndex = -1;
List<int> IDXList;
public fProjectPartToPurchaseCR(int pidx, List<int> idxlist)
bool isCR = false;
public fProjectPartToPurchaseCR(int pidx, List<int> idxlist, bool isCR)
{
InitializeComponent();
// dv1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
@@ -22,6 +23,7 @@ namespace FPJ0000
this.ProjectIndex = pidx;
this.KeyPreview = true;
this.StartPosition = FormStartPosition.CenterScreen;
this.isCR = isCR;
this.KeyDown += (s1, e1) =>
{
if (e1.KeyCode == Keys.Escape) this.Close();
@@ -31,6 +33,9 @@ namespace FPJ0000
Col_Price = dv1.Columns["dvc_price"].Index;
Col_Qty = dv1.Columns["dvc_qty"].Index;
Col_amt = dv1.Columns["dvc_amt"].Index;
this.Text = isCR ? "파트리스트 CR등록" : "파트리스트 NR등록";
this.panel1.BackColor = isCR ? Color.FromArgb(192, 192, 255) : Color.FromArgb(192, 255, 255);
toolStripButton4.Text = isCR ? "CR구매등록" : "NR구매등록";
}
int Col_Price = -1;
@@ -225,19 +230,23 @@ namespace FPJ0000
return false;
}
if (tbProject.Text == "")
if (isCR)
{
FCOMMON.Util.MsgE("프로젝트 정보를 입력하세요.");
tbProject.Focus();
return false;
if (tbProject.Text == "")
{
FCOMMON.Util.MsgE("프로젝트 정보를 입력하세요.");
tbProject.Focus();
return false;
}
if (string.IsNullOrEmpty(tbCr.Text))
{
FCOMMON.Util.MsgE("SCR/CF값이 없습니다. 프로젝트 정보를 확인하세요");
tbCr.Focus();
return false;
}
}
if (string.IsNullOrEmpty(tbCr.Text))
{
FCOMMON.Util.MsgE("SCR/CF값이 없습니다. 프로젝트 정보를 확인하세요");
tbCr.Focus();
return false;
}
int itemCount = 0;
@@ -250,7 +259,7 @@ namespace FPJ0000
}
//part 목록을 조회해서 NR에 등록해줘야 함
var dlg2 = FCOMMON.Util.MsgQ("해당 파트리스트를 CR구매 목록에 등록 하시겠습니까?\n" +
var dlg2 = FCOMMON.Util.MsgQ("해당 파트리스트를 " + (isCR ? "CR" : "NR") + "구매 목록에 등록 하시겠습니까?\n" +
itemCount.ToString() + "건 " + itemAmt.ToString("N0") + "원");
if (dlg2 != System.Windows.Forms.DialogResult.Yes) return false;
@@ -283,14 +292,15 @@ namespace FPJ0000
//}
var fProg = new FCOMMON.fProgress();
fProg.Title = "CR구매파트 자료 집계 중";
fProg.Title = (isCR ? "CR" : "NR") + "구매파트 자료 집계 중";
fProg.SetProgress(0, itemCount);
fProg.Show();
fProg.Refresh();
//데이터를 넣는다
var ta = new dsPurchaseTableAdapters.EETGW_PurchaseCRTableAdapter();
var dt = new dsPurchase.EETGW_PurchaseCRDataTable();
var dtCR = new dsPurchase.EETGW_PurchaseCRDataTable();
var dtNR = new dsPurchase.PurchaseDataTable();
foreach (DataGridViewRow item in dv1.Rows)
{
@@ -298,76 +308,157 @@ namespace FPJ0000
var sid = dr.ItemSid.Replace(" ", "").Trim();
bool newadd = false;
var newdr = dt.Where(t => t.sid == sid).FirstOrDefault();
//insert query
if (newdr == null)
if(isCR)
{
newdr = dt.NewEETGW_PurchaseCRRow();
newadd = true;
}
// newdr.asset = cbEQModel.Text.Trim();
// newdr.dept = cbEQModel.Text.Trim();
///newdr.manuproc = cbManuProc.Text.Trim();
var o_price = item.Cells[Col_Price].Value;
var o_qty = item.Cells[Col_Qty].Value;
decimal v_price = 0;
int v_qty = 0;
if (o_price != null) v_price = decimal.Parse(o_price.ToString());
if (o_qty != null) v_qty = int.Parse(o_qty.ToString());
var newdr = dtCR.Where(t => t.sid == sid).FirstOrDefault();
//insert query
if (newdr == null)
{
newdr = dtCR.NewEETGW_PurchaseCRRow();
newadd = true;
}
// newdr.asset = cbEQModel.Text.Trim();
// newdr.dept = cbEQModel.Text.Trim();
///newdr.manuproc = cbManuProc.Text.Trim();
var o_price = item.Cells[Col_Price].Value;
var o_qty = item.Cells[Col_Qty].Value;
decimal v_price = 0;
int v_qty = 0;
if (o_price != null) v_price = decimal.Parse(o_price.ToString());
if (o_qty != null) v_qty = int.Parse(o_qty.ToString());
if (newadd)
{
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.pdate = dtPdate.Value.ToShortDateString();
newdr.state = "---";// cmbState.Text.Trim();
newdr.request = userNo.Trim();
newdr.sid = dr.ItemSid.Replace(" ", "").Trim();
newdr.pumname = dr.ItemName.Trim();
newdr.pumidx = dr.Item;
newdr.pumscale = dr.ItemModel;
newdr.pumunit = dr.ItemUnit;
newdr.pumprice = v_price;// (decimal)item.Cells[Col_Price].Value;//dr.price;
newdr.pumqty = v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt = v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.supply = dr.ItemSupply.Trim();
newdr.supplyidx = dr.ItemSupplyidx;
newdr.project = tbProject.Text.Trim();
newdr.projectidx = int.Parse(tbProjectIndex.Text);
newdr.import = true;
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
newdr.orderno = tbCr.Text.Trim();
newdr.bigo = item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
dt.AddEETGW_PurchaseCRRow(newdr);
if (newadd)
{
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.pdate = dtPdate.Value.ToShortDateString();
newdr.state = "---";// cmbState.Text.Trim();
newdr.request = userNo.Trim();
newdr.sid = dr.ItemSid.Replace(" ", "").Trim();
newdr.pumname = dr.ItemName.Trim();
newdr.pumidx = dr.Item;
newdr.pumscale = dr.ItemModel;
newdr.pumunit = dr.ItemUnit;
newdr.pumprice = v_price;// (decimal)item.Cells[Col_Price].Value;//dr.price;
newdr.pumqty = v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt = v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.supply = dr.ItemSupply.Trim();
newdr.supplyidx = dr.ItemSupplyidx;
newdr.project = tbProject.Text.Trim();
newdr.projectidx = int.Parse(tbProjectIndex.Text);
newdr.import = true;
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
newdr.orderno = tbCr.Text.Trim();
newdr.bigo = item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
dtCR.AddEETGW_PurchaseCRRow(newdr);
}
else
{
newdr.pumqty += v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt += v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.bigo += "," + item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
}
//if (radioButton1.Checked)
//
//}
//else
//{
// //실제 구매에 필요한 수량으로 처리
// newdr.pumqty = dr.qtybuy;
// newdr.pumamt = dr.qtybuy * dr.price;
//}
}
else
{
newdr.pumqty += v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt += v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.bigo += "," + item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
var newdr = dtNR.Where(t => t.sid == sid).FirstOrDefault();
//insert query
if (newdr == null)
{
newdr = dtNR.NewPurchaseRow();
newadd = true;
}
// newdr.asset = cbEQModel.Text.Trim();
// newdr.dept = cbEQModel.Text.Trim();
///newdr.manuproc = cbManuProc.Text.Trim();
var o_price = item.Cells[Col_Price].Value;
var o_qty = item.Cells[Col_Qty].Value;
decimal v_price = 0;
int v_qty = 0;
if (o_price != null) v_price = decimal.Parse(o_price.ToString());
if (o_qty != null) v_qty = int.Parse(o_qty.ToString());
if (newadd)
{
newdr.gcode = FCOMMON.info.Login.gcode;
newdr.pdate = dtPdate.Value.ToShortDateString();
newdr.state = "---";// cmbState.Text.Trim();
newdr.request = userNo.Trim();
newdr.sid = dr.ItemSid.Replace(" ", "").Trim();
newdr.pumname = dr.ItemName.Trim();
newdr.pumidx = dr.Item;
newdr.pumscale = dr.ItemModel;
newdr.pumunit = dr.ItemUnit;
newdr.pumprice = v_price;// (decimal)item.Cells[Col_Price].Value;//dr.price;
newdr.pumqty = v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt = v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.supply = dr.ItemSupply.Trim();
newdr.supplyidx = dr.ItemSupplyidx;
newdr.project = tbProject.Text.Trim();
newdr.projectidx = int.Parse(tbProjectIndex.Text);
newdr.import = true;
newdr.wuid = FCOMMON.info.Login.no;
newdr.wdate = DateTime.Now;
newdr.orderno = tbCr.Text.Trim();
newdr.bigo = item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
dtNR.AddPurchaseRow(newdr);
}
else
{
newdr.pumqty += v_qty;// (int)item.Cells[Col_Qty].Value;// dr.qty; //SQL = SQL.Replace("{qty}", dr.qty.ToString()); //일반수량이 아닌 필요수량으로
newdr.pumamt += v_price * v_qty;// (decimal)item.Cells["dvc_amt"].Value;// dr.amt; //SQL = SQL.Replace("{amt}", dr.amt.ToString());
newdr.bigo += "," + item.Cells["dvc_remark"].Value.ToString();//dr.memo.Trim();
newdr.EndEdit();
}
//if (radioButton1.Checked)
//
//}
//else
//{
// //실제 구매에 필요한 수량으로 처리
// newdr.pumqty = dr.qtybuy;
// newdr.pumamt = dr.qtybuy * dr.price;
//}
}
//if (radioButton1.Checked)
//
//}
//else
//{
// //실제 구매에 필요한 수량으로 처리
// newdr.pumqty = dr.qtybuy;
// newdr.pumamt = dr.qtybuy * dr.price;
//}
// Console.WriteLine(SQL);
fProg.IncProgress();
}
var addcnt = ta.Update(dt);
int addcnt = 0;
if(isCR)
{
var ta = new dsPurchaseTableAdapters.EETGW_PurchaseCRTableAdapter();
addcnt = ta.Update(dtCR);
}
else
{
var ta = new dsPurchaseTableAdapters.PurchaseTableAdapter();
addcnt = ta.Update(dtNR);
}
FCOMMON.Util.MsgI(string.Format("{0}/{1}건의 자료가 생성 되었습니다.\n\n구매등록 화면에서 내용을 확인하세요.", addcnt, itemCount));
fProg.Close();
fProg.Dispose();