sfi count 등록 및 추가

This commit is contained in:
ChiKyun Kim
2025-09-04 09:19:01 +09:00
parent b28fe84e6b
commit 777fcd5d89
19 changed files with 1164 additions and 806 deletions

View File

@@ -36,6 +36,8 @@ namespace FPJ0000.JobReport_
this.Show();
Application.DoEvents();
cmbUserList.SelectedIndex = 0;
refrehData();
}
@@ -73,7 +75,7 @@ namespace FPJ0000.JobReport_
this.dataGridView1.Columns.Add("공정", "공정");
this.dataGridView1.Columns.Add("이름", "이름");
this.dataGridView1.Columns.Add("사번", "사번");
//이름/년도데이터추가
var ymlist = dsReport.jobReport.OrderBy(t => t.yymm).GroupBy(t => t.yymm);
@@ -84,7 +86,7 @@ namespace FPJ0000.JobReport_
var colname = drYm.yymm;//.Substring(0, 7);
var yymm = drYm.yymm.Substring(0, 7);
if (isReqData)
{
this.dataGridView1.Columns.Add(colname, yymm + "\n휴일");
@@ -127,8 +129,8 @@ namespace FPJ0000.JobReport_
this.dataGridView1.Columns[this.dataGridView1.Columns.Count - 4].DefaultCellStyle.Format = "N1";
}
}
//사용자별 전체합계칸
@@ -155,15 +157,46 @@ namespace FPJ0000.JobReport_
this.dataGridView1.Columns.Add($"subtotal", $"합계\nPMS");
}
//이름으로 정렬해서 데이터를 가져온다
var namelist = this.dsReport.jobReport.OrderBy(t => t.UserProcess + t.uname).GroupBy(t => t.uname);
foreach (var uname in namelist)
bool allUsers = this.cmbUserList.SelectedIndex == 1;
List<FCOMMON.Models.GroupUserModel> users = new List<FCOMMON.Models.GroupUserModel>();
//전체사람을 가져온다.
if (allUsers)
{
var drName = uname.FirstOrDefault();
users = FCOMMON.DBM.GetGroupUser(FCOMMON.info.Login.gcode);
}
else
{
//이름으로 정렬해서 데이터를 가져온다
var namelist = this.dsReport.jobReport.OrderBy(t => t.UserProcess + t.uname).GroupBy(t => t.uname);
foreach (var item in namelist)
{
var dr = item.FirstOrDefault();
if (dr == null) continue;
users.Add(new FCOMMON.Models.GroupUserModel
{
email = string.Empty,
Gcode = string.Empty,
level = 1,
name = dr.uname,
Process = dr.UserProcess,
uid = dr.uid,
useJobReport = dr.useJobReport == 1,
useAccount = dr.useUserState == 1,
});
}
}
foreach (var drName in users)
{
//var drName = uname.FirstOrDefault();
if (chkExceptPak.Checked && drName.useJobReport == false) continue;
List<string> rowdata = new List<string>();
rowdata.Add(drName.UserProcess);
rowdata.Add(drName.uname);
rowdata.Add(drName.Process);
rowdata.Add(drName.name);
rowdata.Add(drName.uid);
double User_sumhlOne = 0;
@@ -297,7 +330,7 @@ namespace FPJ0000.JobReport_
}
//사용자별 합계정보 표시
if (User_sumhlOne == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumhlOne, 1)}"); //합계(휴일)
@@ -306,7 +339,7 @@ namespace FPJ0000.JobReport_
if (isReqData == false && radTypeAll.Checked)
{
if (User_sumhlAll == 0.0) rowdata.Add(null);
else rowdata.Add($"{Math.Round(User_sumhlAll, 1)}"); //합계(휴일-PMS)
@@ -315,7 +348,7 @@ namespace FPJ0000.JobReport_
}
dataGridView1.Rows.Add(rowdata.ToArray());
@@ -342,7 +375,7 @@ namespace FPJ0000.JobReport_
dataGridView1.Rows[currentrow].Cells[i].Style.ForeColor = Color.Black;
dataGridView1.Rows[currentrow].Cells[i].Style.BackColor = Color.WhiteSmoke;
}
continue;
}
else
@@ -368,30 +401,48 @@ namespace FPJ0000.JobReport_
//총계추가
var rowcount = dataGridView1.Rows.Count;
List<object> rowdata2 = new List<object>();
rowdata2.Add("합계");
rowdata2.Add(dataGridView1.Rows.Count);
rowdata2.Add(rowcount);
rowdata2.Add(null); //사번
double sumhrs = 0.0;
for (int i = 3; i < this.dataGridView1.ColumnCount; i++)
{
var col = this.dataGridView1.Columns[i];
var colName = col.Name;
var header = col.HeaderText;
if (col.HeaderText.EndsWith("%") == true )
//%열은 처리하지않는다.
if (col.HeaderText.EndsWith("%") == true)
{
rowdata2.Add(null);
var hrstr = col.HeaderText.Substring(0, col.HeaderText.IndexOf('h')).Trim();
if (float.TryParse(hrstr, out float hrs))
{
rowdata2.Add($"{sumhrs/(hrs * rowcount)*100.0:N1}%");
}
else
{
rowdata2.Add(null);
}
sumhrs = 0f;
continue;
}
var sum = 0.0;
for (int r = 0; r < this.dataGridView1.RowCount; r++)
else
{
var cell = dataGridView1.Rows[r].Cells[i];
if (cell.Value != null) sum += double.Parse(cell.Value.ToString());
var sum = 0.0;
for (int r = 0; r < this.dataGridView1.RowCount; r++)
{
var cell = dataGridView1.Rows[r].Cells[i];
if (cell.Value != null) sum += double.Parse(cell.Value.ToString());
}
if (sum != 0.0) rowdata2.Add(sum);
else rowdata2.Add(null);
sumhrs += sum;
}
if (sum != 0.0) rowdata2.Add(sum);
else rowdata2.Add(null);
}
dataGridView1.Rows.Add(rowdata2.ToArray());