public List <QualityDataInfo> ImportExcel(string path, ref string errMsg) { List <QualityDataInfo> infos = new List <QualityDataInfo>(); try { string err = ""; string[,] data = GetExcelData(path, ref err); #region 解析数组 bool isOk = false; for (int i = 0; i < data.GetLength(0); i++) { if (isOk) { if (data[i, 0] == "") { continue; } QualityDataInfo info = new QualityDataInfo(); float value = 0; info.Measurements = float.TryParse(data[i, 1], out value) ? value : 0; info.SizeName = data[i, 0]; info.StandardValue = float.TryParse(data[i, 2], out value) ? value : 0; info.ToleranceRangeMax = float.TryParse(data[i, 3], out value) ? value : 0; info.ToleranceRangeMin = float.TryParse(data[i, 4], out value) ? value : 0; info.OutOfTolerance = float.TryParse(data[i, 6], out value) ? value : 0; infos.Add(info); } else { if (data[i, 0] == "名称") { isOk = true; } } } #endregion errMsg = "ok"; return(infos); } catch (Exception ex) { errMsg = ex.Message; return(null); } }
public void ProcessRequest(HttpContext context) { try { var orderId = int.Parse(context.Request["orderId"]); OrderQualityInfo infos = new OrderQualityInfo(); infos.WorkPieceQualityInfoList = new List <WorkPieceQualityInfo>(); using (JDJS_WMS_DB_USEREntities model = new JDJS_WMS_DB_USEREntities()) { var qualitys = model.JDJS_WMS_Quality_Detection_Measurement_Table.Where(r => r.OrderID == orderId); foreach (var item in qualitys) { string workPieceNum = item.WorkpieceNumber; var oldWork = infos.WorkPieceQualityInfoList.Where(r => r.WorkPieceNum == "工件:" + workPieceNum).FirstOrDefault(); if (oldWork == null) { WorkPieceQualityInfo info = new WorkPieceQualityInfo(); info.WorkPieceNum = "工件:" + workPieceNum; info.ProcessQualityInfoList = new List <ProcessQualityInfo>(); infos.WorkPieceQualityInfoList.Add(info); oldWork = infos.WorkPieceQualityInfoList.Where(r => r.WorkPieceNum == "工件:" + workPieceNum).FirstOrDefault(); } string processNum = item.ProcessNum.ToString(); var oldProcess = oldWork.ProcessQualityInfoList.Where(r => r.ProcessNum == processNum).FirstOrDefault(); if (oldProcess == null) { ProcessQualityInfo info = new ProcessQualityInfo(); info.ProcessNum = processNum; info.ErCiYuanInfoList = new ErCiYuanInfo(); info.ErCiYuanInfoList.QualityDataInfoList = new List <QualityDataInfo>(); info.SanZuoBiaoList = new SanZuoBiao(); info.SanZuoBiaoList.QualityDataInfoList = new List <QualityDataInfo>(); info.DefaultList = new Default(); info.DefaultList.QualityDataInfoList = new List <QualityDataInfo>(); oldWork.ProcessQualityInfoList.Add(info); oldProcess = oldWork.ProcessQualityInfoList.Where(r => r.ProcessNum == processNum).FirstOrDefault(); } QualityDataInfo dataInfo = new QualityDataInfo(); dataInfo.Id = item.ID; float value = 0; dataInfo.Measurements = float.TryParse(item.Measurements.ToString(), out value) ? value : 0; dataInfo.OutOfTolerance = float.TryParse(item.OutOfTolerance.ToString(), out value) ? value : 0; dataInfo.SizeName = item.SizeName; dataInfo.StandardValue = float.TryParse(item.StandardValue.ToString(), out value) ? value : 0; dataInfo.ToleranceRangeMax = float.TryParse(item.ToleranceRangeMax.ToString(), out value) ? value : 0; dataInfo.ToleranceRangeMin = float.TryParse(item.ToleranceRangeMin.ToString(), out value) ? value : 0; switch (item.Type) { case "二次元": oldProcess.ErCiYuanInfoList.QualityDataInfoList.Add(dataInfo); break; case "三坐标": oldProcess.SanZuoBiaoList.QualityDataInfoList.Add(dataInfo); break; default: oldProcess.DefaultList.QualityDataInfoList.Add(dataInfo); break; } } } System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var json = serializer.Serialize(infos); context.Response.Write(json); } catch (Exception ex) { context.Response.Write(ex.Message); return; } }