|
@ -68,12 +68,13 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
[Route("[action]")]
|
|
|
[Route("[action]")]
|
|
|
[HttpGet] |
|
|
[HttpGet] |
|
|
public async Task<ResultModel<dynamic>> GetFQCHeaderData4QRS016(string wipNO, string itemNO, string modelNO, string dateStart, string dateEnd ,string factoryID) |
|
|
public async Task<ResultModel<dynamic>> GetFQCHeaderData4QRS016(string wipNO, string itemNO, string modelNO, string dateStart, string dateEnd, string factoryID) |
|
|
{ |
|
|
{ |
|
|
ResultModel<dynamic> result = new ResultModel<dynamic>(); |
|
|
ResultModel<dynamic> result = new ResultModel<dynamic>(); |
|
|
var q = from q1 in _context.FqcResultMasters |
|
|
var q = from q1 in _context.FqcResultMasters |
|
|
join q2 in _context.CalendarTables on q1.CreateDate.Date equals q2.TimeID |
|
|
join q2 in _context.CalendarTables on q1.CreateDate.Date equals q2.TimeID |
|
|
join q3 in _context.WipInfos on q1.WipNo equals q3.WipNO |
|
|
join q3 in _context.WipInfos on q1.WipNo equals q3.WipNO |
|
|
|
|
|
join q4 in _context.FqcInhouseMasters on new { q1.InhouseNo, q1.SeqID } equals new { q4.InhouseNo, q4.SeqID } |
|
|
select new |
|
|
select new |
|
|
{ |
|
|
{ |
|
|
q1.FqcID, |
|
|
q1.FqcID, |
|
@ -86,7 +87,8 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
q1.FailQty, |
|
|
q1.FailQty, |
|
|
q1.QaResult, |
|
|
q1.QaResult, |
|
|
q2.WeekOfYear, |
|
|
q2.WeekOfYear, |
|
|
q3.Werks |
|
|
q3.Werks, |
|
|
|
|
|
InhouseCreateDate = q4.CreateDate |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
if (wipNO != null && wipNO != "") |
|
|
if (wipNO != null && wipNO != "") |
|
@ -107,10 +109,10 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
} |
|
|
} |
|
|
if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "") |
|
|
if (dateStart != null && dateStart != "" && dateEnd != null && dateEnd != "") |
|
|
{ |
|
|
{ |
|
|
q = q.Where(w => w.CreateDate >= DateTime.Parse(dateStart + " 00:00:00") && w.CreateDate <= DateTime.Parse(dateEnd + " 23:59:59")); |
|
|
q = q.Where(w => w.InhouseCreateDate >= DateTime.Parse(dateStart + " 00:00:00") && w.InhouseCreateDate <= DateTime.Parse(dateEnd + " 23:59:59")); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
q = q.OrderBy(w => w.CreateDate); |
|
|
q = q.OrderBy(w => w.InhouseCreateDate); |
|
|
|
|
|
|
|
|
/* |
|
|
/* |
|
|
//EF.Functions
|
|
|
//EF.Functions
|
|
@ -163,13 +165,14 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
ResultModel<DTO.AMES.QRS016Detail> result = new ResultModel<DTO.AMES.QRS016Detail>(); |
|
|
ResultModel<DTO.AMES.QRS016Detail> result = new ResultModel<DTO.AMES.QRS016Detail>(); |
|
|
var q = from q1 in _context.FqcResultMasters |
|
|
var q = from q1 in _context.FqcResultMasters |
|
|
join q2 in _context.WipInfos on q1.WipNo equals q2.WipNO |
|
|
join q2 in _context.WipInfos on q1.WipNo equals q2.WipNO |
|
|
|
|
|
join q3 in _context.FqcInhouseMasters on new { q1.InhouseNo, q1.SeqID } equals new { q3.InhouseNo, q3.SeqID } |
|
|
select new DTO.AMES.QRS016Detail |
|
|
select new DTO.AMES.QRS016Detail |
|
|
{ |
|
|
{ |
|
|
wipNo = q1.WipNo, |
|
|
wipNo = q1.WipNo, |
|
|
itemNo = q1.ItemNo, |
|
|
itemNo = q1.ItemNo, |
|
|
modelNo = q1.ModelNo, |
|
|
modelNo = q1.ModelNo, |
|
|
werks = q2.Werks, |
|
|
werks = q2.Werks, |
|
|
startTime = q1.StartTime, |
|
|
startTime = q3.CreateDate, |
|
|
qaResult = q1.QaResult, |
|
|
qaResult = q1.QaResult, |
|
|
customerMedical = q2.CustomerMedical, |
|
|
customerMedical = q2.CustomerMedical, |
|
|
unitNo = q2.UnitNO |
|
|
unitNo = q2.UnitNO |
|
@ -205,7 +208,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
double rejectRate = 0; |
|
|
double rejectRate = 0; |
|
|
|
|
|
|
|
|
// 醫療
|
|
|
// 醫療
|
|
|
var data = q.Where(w => w.customerMedical == "Y").ToList(); |
|
|
var data = q.Where(w => w.customerMedical == "Y" && w.qaResult != "A").ToList(); |
|
|
allQty = data.Count(); |
|
|
allQty = data.Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
@ -222,7 +225,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
|
|
|
|
|
// 系統組裝
|
|
|
// 系統組裝
|
|
|
data.Clear(); |
|
|
data.Clear(); |
|
|
data = q.Where(w => w.customerMedical == "N" && w.unitNo == "B").ToList(); |
|
|
data = q.Where(w => w.customerMedical == "N" && w.unitNo == "B" && w.qaResult != "A").ToList(); |
|
|
allQty = data.Count(); |
|
|
allQty = data.Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
@ -238,7 +241,7 @@ namespace AMESCoreStudio.WebApi.Controllers.AMES |
|
|
|
|
|
|
|
|
// 單板
|
|
|
// 單板
|
|
|
data.Clear(); |
|
|
data.Clear(); |
|
|
data = q.Where(w => w.customerMedical == "N" && w.unitNo == "S").ToList(); |
|
|
data = q.Where(w => w.customerMedical == "N" && w.unitNo == "S" && w.qaResult != "A").ToList(); |
|
|
allQty = data.Count(); |
|
|
allQty = data.Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
passQty = data.Where(w => w.qaResult == "P").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
|
failQty = data.Where(w => w.qaResult == "R").Count(); |
|
|