..전자실 추가 중
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user