파트리스트 기능 변경 및 수량 확정 기능 추가

This commit is contained in:
chi
2020-06-12 13:19:07 +09:00
parent bd442b73a8
commit aa9fa48859
16 changed files with 2419 additions and 182 deletions

View File

@@ -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();
}
}
}
}