cramoutn 값이 99억까지 가능하게 함

This commit is contained in:
chi
2025-01-17 10:28:44 +09:00
parent c80a03a81b
commit 42a6fd35e4
21 changed files with 4572 additions and 2372 deletions

View File

@@ -1,4 +1,5 @@
using System;
using AR;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -126,6 +127,22 @@ namespace FPJ0000
}
string sortkey = string.Empty;
void RefreshPrjectData()
{
try
{
//프로젝트 정보 채우기
this.ta.FillByIDX(this.dsPRJ.Projects, this.ProjectIndex);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
}
}
void RefreshData()
{
if (dsPRJ.HasChanges())
@@ -134,33 +151,27 @@ namespace FPJ0000
if (dlg != System.Windows.Forms.DialogResult.Yes) return;
}
try
RefreshPrjectData();
//order by 절은 다시 생성한다.
var SSQl = " SELECT * FROM ProjectsPart WHERE Project = @prj";
if (radSortGrp.Checked)
{
//프로젝트 정보 채우기
this.ta.FillByIDX(this.dsPRJ.Projects, this.ProjectIndex);
//order by 절은 다시 생성한다.
var SSQl = " SELECT * FROM ProjectsPart WHERE Project = @prj";
if (radSortGrp.Checked)
{
sortkey = "itemgroup asc,option1 asc ,no asc,itemname asc";
//SSQl += " order by itemgroup,option1,no,itemname";
}
else if (radSortNo.Checked) sortkey = "no";
else sortkey = "qtyin";
SSQl += " order by " + sortkey;
this.dsPRJ.ProjectsPart.Clear();
var cmd = new System.Data.SqlClient.SqlCommand(SSQl, taPart.Connection);
cmd.Parameters.Add("prj", SqlDbType.Int).Value = this.ProjectIndex;
var da = new System.Data.SqlClient.SqlDataAdapter(cmd);
da.Fill(this.dsPRJ.ProjectsPart);
}
catch (Exception ex)
{
FCOMMON.Util.MsgE(ex.Message);
sortkey = "itemgroup asc,option1 asc ,no asc,itemname asc";
//SSQl += " order by itemgroup,option1,no,itemname";
}
else if (radSortNo.Checked) sortkey = "no";
else sortkey = "qtyin";
SSQl += " order by " + sortkey;
this.dsPRJ.ProjectsPart.Clear();
var cmd = new System.Data.SqlClient.SqlCommand(SSQl, taPart.Connection);
cmd.Parameters.Add("prj", SqlDbType.Int).Value = this.ProjectIndex;
var da = new System.Data.SqlClient.SqlDataAdapter(cmd);
da.Fill(this.dsPRJ.ProjectsPart);
//로딩후에 sid 와 suuply 를 조회해준다.
//foreach (dsPRJ.ProjectsPartRow dr in this.dsPRJ.ProjectsPart.Rows)
@@ -243,8 +254,8 @@ namespace FPJ0000
row.ForeColor = Color.Gray;
row.BackColor = Color.WhiteSmoke;
if(v_sid == "109028759")
if (v_sid == "109028759")
{
}
@@ -331,7 +342,7 @@ namespace FPJ0000
}
else
{
if(sidinfo.Request > 0)
if (sidinfo.Request > 0)
{
+= 1;
row.ForeColor = Color.Black;
@@ -436,12 +447,20 @@ namespace FPJ0000
s2 += dr.amtn;
}
var drli = this.dsPRJ.Projects.FirstOrDefault();
if(drli != null)
{
var cramount = drli.cramount;
var jan1 = cramount - s1;
var jan2 = cramount - s2;
lbSum.Text = $"1대 금액 {s1:N0}(남음:{jan1:N0}원) / N대 금액 {s2:N0}(남음:{jan2:N0}원)";
}
else
{
lbSum.Text = $"1대 금액 {s1:N0}원 / N대 금액 {s2:N0}원";
}
//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);
lbSum.Text = string.Format("1:{0:N0} / N:{1:N0}", s1, s2);
}
@@ -901,19 +920,19 @@ namespace FPJ0000
{
using (var f = new Project.finputcurrency())
{
if(f.ShowDialog() == DialogResult.OK)
if (f.ShowDialog() == DialogResult.OK)
{
var cur = (decimal)f.Value;
var dlg = FCOMMON.Util.MsgQ("usd 단가가 입력된 자료의 단가를 자동 계산할까요?");
if (dlg != DialogResult.Yes) return;
foreach(var dr in this.dsPRJ.ProjectsPart)
foreach (var dr in this.dsPRJ.ProjectsPart)
{
if (dr.RowState == DataRowState.Detached || dr.RowState == DataRowState.Deleted) continue;
if (dr.IspriceDNull()) continue;
if (dr.priceD == 0) continue;
dr.price = Math.Round(dr.priceD * cur,0);
if(dr.IsqtyNull()==false)
dr.price = Math.Round(dr.priceD * cur, 0);
if (dr.IsqtyNull() == false)
dr.amt = dr.qty * dr.price;
if (dr.IsqtynNull() == false)
dr.amtn = dr.qtyn * dr.price;
@@ -924,5 +943,49 @@ namespace FPJ0000
}
}
}
private void label1_Click(object sender, EventArgs e)
{
}
private void tbOrderNo_TextChanged(object sender, EventArgs e)
{
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
}
private void tbIdx_TextChanged(object sender, EventArgs e)
{
}
private void nameTextBox_Click(object sender, EventArgs e)
{
var dr = this.dsPRJ.Projects.FirstOrDefault();
if (dr == null)
{
AR.UTIL.MsgE("프로젝트정보를 찾을 수 없습니다");
return;
}
using (var f = new fProjectData(dr))
if (f.ShowDialog() == DialogResult.OK)
{
dr.EndEdit();
var ta = new dsPRJTableAdapters.ProjectsTableAdapter();
var cnt = this.ta.Update(dr);//.UpdateAll(this.dsMSSQL.Projects);t
this.Validate();
}
}
}
}