파트리스트 기능 변경 및 수량 확정 기능 추가
This commit is contained in:
@@ -157,40 +157,167 @@ namespace FPJ0000
|
||||
{
|
||||
//삭제컬럼인덱스
|
||||
this.fpSpread1.SuspendLayout();
|
||||
var delindex = this.fpSpread1.ActiveSheet.Columns["sid"].Index;
|
||||
var col_sid = this.fpSpread1.ActiveSheet.Columns["sid"].Index;
|
||||
var col_pmp = this.fpSpread1.ActiveSheet.Columns["pmp"].Index;
|
||||
var col_buy = this.fpSpread1.ActiveSheet.Columns["buy"].Index;
|
||||
var col_buy = this.fpSpread1.ActiveSheet.Columns["buy"].Index; //구매수량
|
||||
var col_amt = this.fpSpread1.ActiveSheet.Columns["amt"].Index;
|
||||
var col_amtn = this.fpSpread1.ActiveSheet.Columns["amtn"].Index;
|
||||
var col_qtyin = this.fpSpread1.ActiveSheet.Columns["qtyin"].Index;
|
||||
var col_qtyn = this.fpSpread1.ActiveSheet.Columns["qtyn"].Index; //N대수량(전체수량)
|
||||
var col_bbuy = this.fpSpread1.ActiveSheet.Columns["bbuy"].Index;
|
||||
var col_bconf = this.fpSpread1.ActiveSheet.Columns["bconfirm"].Index;
|
||||
|
||||
var 전체건수 = 0;
|
||||
var 비구매건수 = 0;
|
||||
var 구매진행건수 = 0;
|
||||
var 구매완료건수 = 0;
|
||||
var 구매등록건수 = 0;
|
||||
var 검토완료건수 = 0;
|
||||
|
||||
for (int i = 0; i < this.fpSpread1.ActiveSheet.Rows.Count; i++)
|
||||
{
|
||||
var value = this.fpSpread1.ActiveSheet.GetValue(i, delindex);
|
||||
var str_crcf = string.Empty;
|
||||
if (value != null) str_crcf = value.ToString();
|
||||
var row = this.fpSpread1.ActiveSheet.Rows[i];
|
||||
|
||||
if (string.IsNullOrEmpty(str_crcf))
|
||||
|
||||
var value = this.fpSpread1.ActiveSheet.GetValue(i, col_sid); //sid값을 확인한다
|
||||
var value_buy = this.fpSpread1.ActiveSheet.GetValue(i, col_buy);
|
||||
var value_in = this.fpSpread1.ActiveSheet.GetValue(i, col_qtyin);
|
||||
var value_bbuy = this.fpSpread1.ActiveSheet.GetValue(i, col_bbuy);
|
||||
var value_bconf = this.fpSpread1.ActiveSheet.GetValue(i, col_bconf);
|
||||
|
||||
Boolean bbuy = false;
|
||||
Boolean bconf = false;
|
||||
|
||||
if (value_bbuy != null) bbuy = (Boolean)value_bbuy;
|
||||
if (value_bconf != null) bconf = (Boolean)value_bconf;
|
||||
|
||||
전체건수 += 1;
|
||||
|
||||
|
||||
|
||||
int qty_in = 0;
|
||||
int qty_buy = 0;
|
||||
if (value_in != null) qty_in = (int)value_in;
|
||||
if (value_buy != null) qty_buy = (int)value_buy;
|
||||
|
||||
//확정이되었는데 구매수량이 없다면 구매 진행한것으로 한다
|
||||
if (bconf == true && bbuy == false && qty_buy == 0)
|
||||
{
|
||||
//sid값이 없다
|
||||
this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.FromArgb(240, 240, 240);
|
||||
bbuy = true;
|
||||
this.fpSpread1.ActiveSheet.SetValue(i, col_bbuy, true);
|
||||
}
|
||||
|
||||
if (bbuy) 구매등록건수 += 1;
|
||||
if (bconf) 검토완료건수 += 1;
|
||||
|
||||
if (bbuy)
|
||||
{
|
||||
|
||||
|
||||
//구매진행중인데 수량이 다르면 색상 변경
|
||||
if (qty_in == 0 && qty_buy == 0)
|
||||
{
|
||||
row.ForeColor = Color.Black;
|
||||
row.BackColor = Color.White;
|
||||
비구매건수 += 1;
|
||||
}
|
||||
else if (qty_in != qty_buy)
|
||||
{
|
||||
row.ForeColor = Color.White;
|
||||
row.BackColor = Color.DarkMagenta;
|
||||
구매진행건수 += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
구매완료건수 += 1;
|
||||
row.ForeColor = Color.Black;
|
||||
row.BackColor = Color.LimeGreen;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
|
||||
// this.fpSpread1.ActiveSheet.Cells[i, col_bbuy].BackColor = bbuy ? Color.Green : Color.Orange; // Color.FromArgb(240, 240, 250);
|
||||
if (bconf == true)
|
||||
{
|
||||
//검토는 됬지만 구매가 안되고 있다
|
||||
row.ForeColor = Color.Black;
|
||||
row.BackColor = Color.SkyBlue;
|
||||
}
|
||||
else
|
||||
{
|
||||
// this.fpSpread1.ActiveSheet.Cells[i, col_bconf].BackColor = bconf ? Color.Green : Color.Orange; // Color.FromArgb(240, 240, 250);
|
||||
|
||||
//확정이 안된 경우
|
||||
row.ForeColor = Color.Black;
|
||||
row.BackColor = Color.FromArgb(240, 240, 240);
|
||||
}
|
||||
}
|
||||
this.fpSpread1.ActiveSheet.Cells[i, delindex].BackColor = Color.FromArgb(240,240, 250);
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_pmp].BackColor = Color.FromArgb(240, 240, 240);
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_buy].BackColor = Color.FromArgb(200,200,255);
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_amt].BackColor = Color.WhiteSmoke;
|
||||
this.fpSpread1.ActiveSheet.Cells[i, col_amtn].BackColor = Color.WhiteSmoke;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// var str_crcf = string.Empty;
|
||||
//if (value != null) str_crcf = value.ToString();
|
||||
|
||||
|
||||
//if (string.IsNullOrEmpty(str_crcf))
|
||||
//{
|
||||
// //sid값이 없다
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.FromArgb(240, 240, 240);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// this.fpSpread1.ActiveSheet.Rows[i].BackColor = Color.White;
|
||||
//}
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_sid].BackColor = Color.FromArgb(240,240, 250);
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_pmp].BackColor = Color.FromArgb(240, 240, 240);
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_buy].BackColor = Color.FromArgb(200,200,255);
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_amt].BackColor = Color.WhiteSmoke;
|
||||
//this.fpSpread1.ActiveSheet.Cells[i, col_amtn].BackColor = Color.WhiteSmoke;
|
||||
|
||||
|
||||
}
|
||||
|
||||
//프로그레시브입력
|
||||
prb6.Text = string.Format("전체 진행 ({0}/{1})", 비구매건수 + 구매완료건수, 전체건수);
|
||||
prb6.ProgressMax = 전체건수;
|
||||
prb6.ProgressValue = 비구매건수 + 구매완료건수;
|
||||
|
||||
prb5.Text = string.Format("비 구매 ({0}/{1})", 비구매건수, 전체건수);
|
||||
prb5.ProgressMax = 전체건수;
|
||||
prb5.ProgressValue = 비구매건수;
|
||||
|
||||
prb4.Text = string.Format("구매 완료 ({0}/{1})", 구매완료건수, 구매등록건수);
|
||||
prb4.ProgressMax = 구매등록건수;
|
||||
prb4.ProgressValue = 구매완료건수;
|
||||
|
||||
prb3.Text = string.Format("구매 진행 ({0}/{1})", 구매진행건수, 구매등록건수);
|
||||
prb3.ProgressMax = 구매등록건수;
|
||||
prb3.ProgressValue = 구매진행건수;
|
||||
|
||||
prb2.Text = string.Format("구매 등록 ({0}/{1})", 구매등록건수, 전체건수);
|
||||
prb2.ProgressMax = 전체건수;
|
||||
prb2.ProgressValue = 구매등록건수;
|
||||
|
||||
prb1.Text = string.Format("수량 검토 ({0}/{1})", 검토완료건수, 전체건수);
|
||||
prb1.ProgressMax = 전체건수;
|
||||
prb1.ProgressValue = 검토완료건수;
|
||||
|
||||
//var 전체건수 = 0;
|
||||
//var 비구매건수 = 0;
|
||||
//var 구매진행건수 = 0;
|
||||
//var 구매완료건수 = 0;
|
||||
//var 구매등록건수 = 0;
|
||||
//var 검토완료건수 = 0;
|
||||
|
||||
|
||||
this.fpSpread1.ResumeLayout();
|
||||
}
|
||||
|
||||
void RefreshSum()
|
||||
{
|
||||
decimal sum = this.dsPRJ.ProjectsPart.Where(t => t.RowState != DataRowState.Deleted && t.RowState != DataRowState.Detached).Sum(t => t.amt);
|
||||
decimal sum = this.dsPRJ.ProjectsPart.Where(t => t.RowState != DataRowState.Deleted && t.RowState != DataRowState.Detached).Sum(t => t.amt);
|
||||
decimal sumN = this.dsPRJ.ProjectsPart.Where(t => t.RowState != DataRowState.Deleted && t.RowState != DataRowState.Detached).Sum(t => t.amtn);
|
||||
|
||||
|
||||
@@ -479,7 +606,7 @@ namespace FPJ0000
|
||||
var cnt_ok = 0;
|
||||
var cnt_no = 0;
|
||||
var cnt_ng = 0;
|
||||
// var cnt_reduce = 0;
|
||||
// var cnt_reduce = 0;
|
||||
foreach (dsPRJ.ProjectsPartRow dr in this.dsPRJ.ProjectsPart.Rows)
|
||||
{
|
||||
if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) continue;
|
||||
@@ -521,11 +648,11 @@ namespace FPJ0000
|
||||
}
|
||||
else if (db.Count == 1 && db[0].qty != 0)
|
||||
{
|
||||
cnt_ok += 1;
|
||||
dr.qtyjago = db[0].qty.ToString(); //재고수량
|
||||
//dr.qtybuy = Math.Max(qty - db[0].qty, 0);
|
||||
//cnt_reduce += (qty - dr.qtybuy);
|
||||
|
||||
cnt_ok += 1;
|
||||
dr.qtyjago = db[0].qty.ToString(); //재고수량
|
||||
//dr.qtybuy = Math.Max(qty - db[0].qty, 0);
|
||||
//cnt_reduce += (qty - dr.qtybuy);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -547,7 +674,7 @@ namespace FPJ0000
|
||||
var msg = string.Format("PMP 검색결과 현황\n" +
|
||||
"검색완료 : {0}\n" +
|
||||
"복수확인 : {1}\n" +
|
||||
"확인불가 : {2}" , cnt_ok, cnt_ng, cnt_no);
|
||||
"확인불가 : {2}", cnt_ok, cnt_ng, cnt_no);
|
||||
FCOMMON.Util.MsgI(msg);
|
||||
}
|
||||
|
||||
@@ -593,5 +720,34 @@ namespace FPJ0000
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btConf_Click(object sender, EventArgs e)
|
||||
{
|
||||
var f = new fPartConfirm(this.dsPRJ.ProjectsPart);
|
||||
f.ShowDialog();
|
||||
FormattingData();
|
||||
}
|
||||
|
||||
private void 검토목록모두구매등록상태로전환ToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
//검토는 되어있지만 구매등록이 안된 목록 가져온다
|
||||
var list = this.dsPRJ.ProjectsPart.Where(t => t.bconfirm == true && t.bbuy == false);
|
||||
var cnt = list.Count();
|
||||
if(cnt < 1)
|
||||
{
|
||||
FCOMMON.Util.MsgE("검토목록 전체가 구매등록된 상태 입니다");
|
||||
return;
|
||||
}
|
||||
var dlg = FCOMMON.Util.MsgQ(string.Format("{0}건의 자료가 구매등록 대기 상태입니다\n\n구맹 등록상태로 전환 하시겠습니까?",cnt));
|
||||
if(dlg == DialogResult.Yes)
|
||||
{
|
||||
foreach (var dr in list)
|
||||
{
|
||||
dr.bbuy = true;
|
||||
dr.EndEdit();
|
||||
}
|
||||
this.FormattingData();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user