public IHttpActionResult QueryQAInputDetailVMAPI(dynamic data) { var jsonData = data.ToString(); var SearchData = JsonConvert.DeserializeObject <QADetailSearch>(jsonData); List <MesNGResult> ResultInfo = new List <MesNGResult>(); try { var model = machineYieldReportService.GetStationList(SearchData.FlowChart_Master_UID, SearchData.FlowChart_Detail_UID); if (!string.IsNullOrEmpty(model.MES_Customer_Name) && !string.IsNullOrEmpty(model.MES_Station_Name)) { //通过时段获取开始时间结束时间 var requestInterval = machineYieldReportService.GetMesNGParam(SearchData, model); //调用MES的接口 var apiUrl = string.Format("pis/NgDetail?Customer={0}&StartTime={1}&EndTime={2}&Station={3}", model.MES_Customer_Name, requestInterval.startTime, requestInterval.endTime, model.MES_Station_Name); var path = SearchData.MesAPIPath + apiUrl; var resultMes = HttpHelper.HttpGet(path); JObject josnData = (JObject)JsonConvert.DeserializeObject(resultMes); var NgDetailList = JsonConvert.DeserializeObject <List <MesNgDetail> >(josnData["data"].ToString()); //用SN的List, 颜色去过滤 var SNList = NgDetailList.Select(i => i.SN).ToList(); var color = (string)SearchData.Color; //var MES_ColoredData = MES_SNOriginalService.QueryMES_SNOriginalBySN(SNList).Where(x => x.Color == color); var MES_ColoredData = MES_SNOriginalService.GetMES_SNOriginalBySN(SNList).Where(x => x.Color == color); //从MES_SNOriginal获取到数据后再过滤 var MES_SNList = MES_ColoredData.Select(x => x.SeriesNumber); NgDetailList = NgDetailList.Where(x => MES_SNList.Contains(x.SN)).ToList(); ResultInfo = NgDetailList.GroupBy(x => new { x.DefectName }).Select(g => new MesNGResult { DefectName = g.Key.DefectName, NG_Point = g.Count() }).ToList(); } } catch (Exception) { } var result = QualityService.QueryQAInputDetailVM(SearchData, ResultInfo); return(Ok(result)); }
public IHttpActionResult GetStationListAPI(int Machine_Customer_UID) { var result = machineYieldReportService.GetStationList(Machine_Customer_UID); return(Ok(result)); }