/// <summary> /// 设置属性值 /// </summary> /// <param name="entity"></param> /// <param name="fieldName"></param> /// <param name="fieldValue"></param> /// <param name="?"></param> /// <returns></returns> public static bool SetValue(this AkProduceReportModel entity, string fieldName, string fieldValue) { try { Type entityType = entity.GetType(); PropertyInfo propertyInfo = entityType.GetProperty(fieldName); propertyInfo.SetValue(entity, fieldValue, null); return(true); } catch { } return(false); }
/// <summary> /// 获取属性值 /// </summary> /// <param name="entity"></param> /// <param name="fieldName"></param> /// <returns></returns> public static string GetValue(this AkProduceReportModel entity, string fieldName) { try { Type entityType = entity.GetType(); PropertyInfo propertyInfo = entityType.GetProperty(fieldName); object obj = propertyInfo.GetValue(entity, null); if (obj != null) { return(obj.ToString()); } } catch { } return(null); }
/// <summary> /// 添加数据记录 /// </summary> /// <param name="repastName"></param> /// <param name="source"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="ltResult"></param> private void AddRecode(string repastName, string startTime, string endTime, List <AkProduceReportModel> lt_result, int type = 0) { AkProduceReportModel model = new AkProduceReportModel(); if (type == 0) { model.TimeInterval = repastName; model.HourTime = startTime + "-" + endTime; } else if (type == 1) { model.TimeInterval = repastName + "合计"; model.HourTime = startTime + "-" + endTime; } else if (type == 2) { model.TimeInterval = repastName + "合计"; model.HourTime = startTime + "-" + endTime; } model.SalesTurnover = this.DefaultValue; model.RemindHealth = this.DefaultValue; //1线 model.OrderNum1 = this.DefaultValue; model.ProductNum1 = this.DefaultValue; model.ProductAvgNum1 = this.DefaultValue; model.ProduceTime1 = this.DefaultValue; //2线 model.OrderNum2 = this.DefaultValue; model.ProductNum2 = this.DefaultValue; model.ProductAvgNum2 = this.DefaultValue; model.ProduceTime2 = this.DefaultValue; //3线 model.OrderNum3 = this.DefaultValue; model.ProductNum3 = this.DefaultValue; model.ProductAvgNum3 = this.DefaultValue; model.ProduceTime3 = this.DefaultValue; //4线 model.OrderNum4 = this.DefaultValue; model.ProductNum4 = this.DefaultValue; model.ProductAvgNum4 = this.DefaultValue; model.ProduceTime4 = this.DefaultValue; //5线 model.OrderNum5 = this.DefaultValue; model.ProductNum5 = this.DefaultValue; model.ProductAvgNum5 = this.DefaultValue; model.ProduceTime5 = this.DefaultValue; //合计 model.OrderNumTotal = this.DefaultValue; model.ProductNumTotal = this.DefaultValue; model.ProductAvgNumTotal = this.DefaultValue; model.ProduceTimeTotal = this.DefaultValue; model.RowIndex = rowIndex++; lt_result.Add(model); }
private void setTotalProductData(string startTime, string endTime, AkProduceReportModel model) { startTime = startTime + ":00"; endTime = endTime + ":00"; if (model != null) { //@1.设置营业额 decimal salesTurnover = AkDaoHelper.Instance_Product.GetSalesTurnover(startTime, endTime); model.SalesTurnover = salesTurnover.ConvertDigits(0); //@2.分线健康率 model.RemindHealth = AkDaoHelper.Instance_Product.GetHealthNumber(startTime, endTime); //@3.订单数量 Dictionary <string, decimal> dict_order = AkDaoHelper.Instance_Product.GetOrderNumber(startTime, endTime); if (dict_order != null && dict_order.Count > 0) { model.OrderNumTotal = dict_order["All"].ConvertDigits(0); model.OrderNum1 = dict_order["StationA"].ConvertDigits(0); model.OrderNum2 = dict_order["StationB"].ConvertDigits(0); model.OrderNum3 = dict_order["StationC"].ConvertDigits(0); model.OrderNum4 = dict_order["StationD"].ConvertDigits(0); //@4.超时订单100% model.TimeOut = AkDaoHelper.Instance_Product.GetTimeOut(dict_order["All"], startTime, endTime); } //@5.产品数量 Dictionary <string, decimal> dict_product = AkDaoHelper.Instance_Product.GetProductNumber(startTime, endTime); if (dict_order != null && dict_order.Count > 0) { model.ProductNumTotal = dict_product["All"].ConvertDigits(0); model.ProductNum1 = dict_product["StationA"].ConvertDigits(0); model.ProductNum2 = dict_product["StationB"].ConvertDigits(0); model.ProductNum3 = dict_product["StationC"].ConvertDigits(0); model.ProductNum4 = dict_product["StationD"].ConvertDigits(0); } //@6.产品平均数 if (dict_order != null && dict_order.Count > 0 && dict_product != null && dict_product.Count > 0) { model.ProductAvgNumTotal = dict_order["All"] > 0 ? (dict_product["All"] / dict_order["All"]).ConvertDigits(1) : string.Empty; model.ProductAvgNum1 = dict_order["StationA"] > 0 ? (dict_product["StationA"] / dict_order["StationA"]).ConvertDigits(1) : string.Empty; model.ProductAvgNum2 = dict_order["StationB"] > 0 ? (dict_product["StationB"] / dict_order["StationB"]).ConvertDigits(1) : string.Empty; model.ProductAvgNum3 = dict_order["StationC"] > 0 ? (dict_product["StationC"] / dict_order["StationC"]).ConvertDigits(1) : string.Empty; model.ProductAvgNum4 = dict_order["StationD"] > 0 ? (dict_product["StationD"] / dict_order["StationD"]).ConvertDigits(1) : string.Empty; } //@7.生产时间 Dictionary <string, decimal> dict_produce_time = AkDaoHelper.Instance_Product.GetProduceTime(dict_order, startTime, endTime); if (dict_produce_time != null && dict_produce_time.Count > 0) { model.ProduceTimeTotal = dict_produce_time["All"].ConvertDigits(0); model.ProduceTime1 = dict_produce_time["StationA"].ConvertDigits(0); model.ProduceTime2 = dict_produce_time["StationB"].ConvertDigits(0); model.ProduceTime3 = dict_produce_time["StationC"].ConvertDigits(0); model.ProduceTime4 = dict_produce_time["StationD"].ConvertDigits(0); } } }
/// <summary> /// Excel添加行数据 /// </summary> /// <param name="sheet"></param> /// <param name="model"></param> private void AddRow(ISheet sheet, AkProduceReportModel model, List <int> ltStyle) { IRow dataRow = sheet.CreateRow(rowIndex); dataRow.Height = 18 * 20; int column = 0; ICell newCel0 = dataRow.CreateCell(column++); ICell newCel1 = dataRow.CreateCell(column++); ICell newCel2 = dataRow.CreateCell(column++); ICell newCel3 = dataRow.CreateCell(column++); ICell newCel4 = dataRow.CreateCell(column++); ICell newCel21 = dataRow.CreateCell(column++); ICell newCel22 = dataRow.CreateCell(column++); ICell newCel23 = dataRow.CreateCell(column++); ICell newCel24 = dataRow.CreateCell(column++); ICell newCel5 = dataRow.CreateCell(column++); ICell newCel6 = dataRow.CreateCell(column++); ICell newCel7 = dataRow.CreateCell(column++); ICell newCel8 = dataRow.CreateCell(column++); ICell newCel9 = dataRow.CreateCell(column++); ICell newCel10 = dataRow.CreateCell(column++); ICell newCel11 = dataRow.CreateCell(column++); ICell newCel12 = dataRow.CreateCell(column++); ICell newCel13 = dataRow.CreateCell(column++); ICell newCel14 = dataRow.CreateCell(column++); ICell newCel15 = dataRow.CreateCell(column++); ICell newCel16 = dataRow.CreateCell(column++); ICell newCel17 = dataRow.CreateCell(column++); ICell newCel18 = dataRow.CreateCell(column++); ICell newCel19 = dataRow.CreateCell(column++); ICell newCel20 = dataRow.CreateCell(column++); newCel0.SetCellValue(model.TimeInterval); newCel1.SetCellValue(model.HourTime); newCel2.SetCellValue(model.SalesTurnover); newCel3.SetCellValue(model.RemindHealth); newCel4.SetCellValue(model.TimeOut); newCel5.SetCellValue(model.OrderNum1); newCel6.SetCellValue(model.ProductNum1); newCel7.SetCellValue(model.ProductAvgNum1); newCel8.SetCellValue(model.ProduceTime1); newCel9.SetCellValue(model.OrderNum2); newCel10.SetCellValue(model.ProductNum2); newCel11.SetCellValue(model.ProductAvgNum2); newCel12.SetCellValue(model.ProduceTime2); newCel13.SetCellValue(model.OrderNum3); newCel14.SetCellValue(model.ProductNum3); newCel15.SetCellValue(model.ProductAvgNum3); newCel16.SetCellValue(model.ProduceTime3); newCel17.SetCellValue(model.OrderNum4); newCel18.SetCellValue(model.ProductNum4); newCel19.SetCellValue(model.ProductAvgNum4); newCel20.SetCellValue(model.ProduceTime4); newCel21.SetCellValue(model.OrderNumTotal); newCel22.SetCellValue(model.ProductNumTotal); newCel23.SetCellValue(model.ProductAvgNumTotal); newCel24.SetCellValue(model.ProduceTimeTotal); if (ltStyle != null && ltStyle.Contains(rowIndex)) { newCel0.CellStyle = this.StyleForegroundThin; newCel1.CellStyle = this.StyleForegroundThin; newCel2.CellStyle = this.StyleForegroundThin; newCel3.CellStyle = this.StyleForegroundThin; newCel4.CellStyle = this.StyleForegroundThin; newCel5.CellStyle = this.StyleForegroundThin; newCel6.CellStyle = this.StyleForegroundThin; newCel7.CellStyle = this.StyleForegroundThin; newCel8.CellStyle = this.StyleForegroundThin; newCel9.CellStyle = this.StyleForegroundThin; newCel10.CellStyle = this.StyleForegroundThin; newCel11.CellStyle = this.StyleForegroundThin; newCel12.CellStyle = this.StyleForegroundThin; newCel13.CellStyle = this.StyleForegroundThin; newCel14.CellStyle = this.StyleForegroundThin; newCel15.CellStyle = this.StyleForegroundThin; newCel16.CellStyle = this.StyleForegroundThin; newCel17.CellStyle = this.StyleForegroundThin; newCel18.CellStyle = this.StyleForegroundThin; newCel19.CellStyle = this.StyleForegroundThin; newCel20.CellStyle = this.StyleForegroundThin; newCel21.CellStyle = this.StyleForegroundThin; newCel22.CellStyle = this.StyleForegroundThin; newCel23.CellStyle = this.StyleForegroundThin; newCel24.CellStyle = this.StyleForegroundThin; } else { newCel0.CellStyle = this.StyleThin; newCel1.CellStyle = this.StyleThin; newCel2.CellStyle = this.StyleThin; newCel3.CellStyle = this.StyleThin; newCel4.CellStyle = this.StyleThin; newCel5.CellStyle = this.StyleThin; newCel6.CellStyle = this.StyleThin; newCel7.CellStyle = this.StyleThin; newCel8.CellStyle = this.StyleThin; newCel9.CellStyle = this.StyleThin; newCel10.CellStyle = this.StyleThin; newCel11.CellStyle = this.StyleThin; newCel12.CellStyle = this.StyleThin; newCel13.CellStyle = this.StyleThin; newCel14.CellStyle = this.StyleThin; newCel15.CellStyle = this.StyleThin; newCel16.CellStyle = this.StyleThin; newCel17.CellStyle = this.StyleThin; newCel18.CellStyle = this.StyleThin; newCel19.CellStyle = this.StyleThin; newCel20.CellStyle = this.StyleThin; newCel21.CellStyle = this.StyleThin; newCel22.CellStyle = this.StyleThin; newCel23.CellStyle = this.StyleThin; newCel24.CellStyle = this.StyleThin; } rowIndex++; }
/// <summary> /// 获取表头信息 /// </summary> private List <AkProduceReportModel> getHeaderData() { List <AkProduceReportModel> lt_headers = new List <AkProduceReportModel>(); AkProduceReportModel model1 = new AkProduceReportModel(); AkProduceReportModel model2 = new AkProduceReportModel(); AkProduceReportModel model3 = new AkProduceReportModel(); AkProduceReportModel model4 = new AkProduceReportModel(); model1.TimeInterval = AkConfig.StartDate.Replace("-", "") + "—" + AkConfig.EndDate.Replace("-", "") + " BK-SOS-Report-产区"; model1.OrderNumTotal = "生产速度报表"; lt_headers.Add(model1); model2.TimeInterval = "时段"; model2.HourTime = "小时"; model2.SalesTurnover = "营业额"; model2.RemindHealth = "分线健康率"; model2.TimeOut = "超时订单率"; model2.OrderNumTotal = "Total生产时间"; model2.ProductNumTotal = "Total生产时间"; model2.ProductAvgNumTotal = "Total生产时间"; model2.ProduceTimeTotal = "Total生产时间"; model2.OrderNum1 = "A屏生产时间"; model2.ProductNum1 = "A屏生产时间"; model2.ProductAvgNum1 = "A屏生产时间"; model2.ProduceTime1 = "A屏生产时间"; model2.OrderNum2 = "B屏生产时间"; model2.ProductNum2 = "B屏生产时间"; model2.ProductAvgNum2 = "B屏生产时间"; model2.ProduceTime2 = "B屏生产时间"; model2.OrderNum3 = "C屏生产时间"; model2.ProductNum3 = "C屏生产时间"; model2.ProductAvgNum3 = "C屏生产时间"; model2.ProduceTime3 = "C屏生产时间"; model2.OrderNum4 = "D屏生产时间"; model2.ProductNum4 = "D屏生产时间"; model2.ProductAvgNum4 = "D屏生产时间"; model2.ProduceTime4 = "D屏生产时间"; lt_headers.Add(model2); model3.TimeInterval = "时段"; model3.HourTime = "小时"; model3.SalesTurnover = "营业额"; model3.RemindHealth = "分线健康率"; lt_headers.Add(model3); model4.TimeInterval = "时段"; model4.HourTime = "小时"; model4.SalesTurnover = "营业额"; model4.RemindHealth = "分线健康率"; model4.OrderNumTotal = "订单数量"; model4.ProductNumTotal = "产品数量"; model4.ProductAvgNumTotal = "产品平均数"; model4.ProduceTimeTotal = "生产时间"; model4.OrderNum1 = "订单数量"; model4.ProductNum1 = "产品数量"; model4.ProductAvgNum1 = "产品平均数"; model4.ProduceTime1 = "A屏生产时间"; model4.OrderNum2 = "订单数量"; model4.ProductNum2 = "产品数量"; model4.ProductAvgNum2 = "产品平均数"; model4.ProduceTime2 = "B屏生产时间"; model4.OrderNum3 = "订单数量"; model4.ProductNum3 = "产品数量"; model4.ProductAvgNum3 = "产品平均数"; model4.ProduceTime3 = "C屏生产时间"; model4.OrderNum4 = "订单数量"; model4.ProductNum4 = "产品数量"; model4.ProductAvgNum4 = "产品平均数"; model4.ProduceTime4 = "D屏生产时间"; lt_headers.Add(model4); return(lt_headers); }