..전자실 추가 중

This commit is contained in:
chi
2021-01-23 00:53:21 +09:00
parent d3778387de
commit 44110ef5c2
22 changed files with 3160 additions and 1082 deletions

View File

@@ -56,7 +56,6 @@ namespace FPJ0000.JobReport
cmbUser.Items.Clear();
cmbUser.Items.Add("--전체--");
//일반사용자 목록 가져온다
IQueryable<IGrouping<String, vJobReportForUser>> userlist;
@@ -121,30 +120,6 @@ namespace FPJ0000.JobReport
//사용자목록을 가져온다
List<vJobReportForUser> baseData;
if (cmbUser.SelectedIndex > 0)
{
//사용자번호
var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo).OrderBy(t => t.name).ToList();
}
else if (tbProcess.SelectedIndex > 0)
{
baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text).OrderBy(t => t.name).ToList();
}
else
{
baseData = db.vJobReportForUser.Where(t => t.gcode == FCOMMON.info.Login.gcode).OrderBy(t => t.name).ToList();
}
//사용자로 그룹해서 수량을 세명 , 사용자 숫자가 된다.
this.fpSpread1.Sheets[0].Cells[3, 9].Value = baseData.GroupBy(t => t.id).Count(); //인원수
var col = 0;
var row = 0;
//해당 그룹의 기간데이터를 가져온다
if (cmbUser.SelectedIndex > 0)
{
//사용자번호
var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
@@ -157,7 +132,7 @@ namespace FPJ0000.JobReport
else if (tbProcess.SelectedIndex > 0)
{
baseData = db.vJobReportForUser
.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0 && t.userProcess == tbProcess.Text)
.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.userProcess == tbProcess.Text && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
.OrderBy(t => t.name)
.OrderBy(t => t.pdate)
.ToList();
@@ -171,6 +146,42 @@ namespace FPJ0000.JobReport
.ToList();
}
//사용자로 그룹해서 수량을 세명 , 사용자 숫자가 된다.
this.fpSpread1.Sheets[0].Cells[3, 9].Value = baseData.GroupBy(t => t.id).Count(); //인원수
var col = 0;
var row = 0;
//해당 그룹의 기간데이터를 가져온다
//if (cmbUser.SelectedIndex > 0)
//{
// //사용자번호
// var UserNo = cmbUser.Text.Substring(1, cmbUser.Text.IndexOf(']') - 1);
// baseData = db.vJobReportForUser
// .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.id == UserNo && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
// .OrderBy(t => t.name)
// .OrderBy(t => t.pdate)
// .ToList();
//}
//else if (tbProcess.SelectedIndex > 0)
//{
// baseData = db.vJobReportForUser
// .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0 && t.userProcess == tbProcess.Text)
// .OrderBy(t => t.name)
// .OrderBy(t => t.pdate)
// .ToList();
//}
//else
//{
// baseData = db.vJobReportForUser
// .Where(t => t.gcode == FCOMMON.info.Login.gcode && t.pdate.CompareTo(vSD) >= 0 && t.pdate.CompareTo(vED) <= 0)
// .OrderBy(t => t.name)
// .OrderBy(t => t.pdate)
// .ToList();
//}
col = 0;
row = 1;
fpSpread1.Sheets[1].RowCount = baseData.GroupBy(t => t.id).Count() + 1;
@@ -228,10 +239,21 @@ namespace FPJ0000.JobReport
//프로세스목록을 먼저 기록한다
row = 7;
this.fpSpread1.Sheets[0].RowCount = 101;
var orProcess = baseData.OrderBy(t => t.process).GroupBy(t => t.process);
foreach (var item in orProcess)
//var orProcess = baseData.OrderBy(t => t.process).GroupBy(t => t.process);
//프로세스목록은 전체로 사용한다.
var prclist = db.Common.Where(t => t.gcode == FCOMMON.info.Login.gcode && t.grp == "16").OrderBy(t => t.code).ToList();
this.progressBar2.Maximum = prclist.Count;
this.progressBar2.Value = 0;
foreach(var prcitem in prclist)
{
var processName = item.FirstOrDefault().process;
this.progressBar2.Value += 1;
var item = baseData.Where(t => t.process == prcitem.memo); //해당 프로세스에 해당하는 아이템을 가져온다
//}
//foreach (var item in orProcess)
//{
var processName = prcitem.memo; // item.FirstOrDefault().process;
this.fpSpread1.Sheets[0].Cells[row, 1].Value = processName;
//2번부터는 데이터를 넣어야 한다
@@ -240,24 +262,33 @@ namespace FPJ0000.JobReport
int coldata = 2;
for (int i = 2; i <= 6; i++)
{
var colName = fpSpread1.Sheets[0].Cells[6, i].Value.ToString();
//이 이름에 해당하는 데이터의 시간을 가져온다
double ot = 0.0;
double hrs = 0.0;
if (colName != "*")
if(item.Any()==false)
{
//double holytime = 0.0;
var timeList = item.Where(t => t.svalue == colName);
if (timeList != null)
{
hrs = (double)timeList.Sum(t => t.hrs);
ot = (double)timeList.Sum(t => t.ot);
sumOt += ot;
}
//자료가없다면 0으로 채운다
fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
}
if (ot + hrs == 0.0) fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
else fpSpread1.Sheets[0].Cells[row, coldata].Value = ot + hrs; //없음으로한다
else
{
var colName = fpSpread1.Sheets[0].Cells[6, i].Value.ToString();
//이 이름에 해당하는 데이터의 시간을 가져온다
double ot = 0.0;
double hrs = 0.0;
if (colName != "*")
{
//double holytime = 0.0;
var timeList = item.Where(t => t.svalue == colName);
if (timeList != null)
{
hrs = (double)timeList.Sum(t => t.hrs);
ot = (double)timeList.Sum(t => t.ot);
sumOt += ot;
}
}
if (ot + hrs == 0.0) fpSpread1.Sheets[0].Cells[row, coldata].Value = null;
else fpSpread1.Sheets[0].Cells[row, coldata].Value = ot + hrs; //없음으로한다
}
coldata += 1;
}