Browse Source

1. 修正FQC報表查詢條件

PTD
Sai 2 years ago
parent
commit
1d74014c04
  1. 19
      AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs

19
AMESCoreStudio.WebApi/Controllers/AMES/FqcResultMasterController.cs

@ -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();

Loading…
Cancel
Save