コード例 #1
0
        /// <summary>
        /// 导出年度计划调整报表详情
        /// </summary>
        public void ExportUpdateLogList(int classId)
        {
            var plan = _planManager.GetTrPlanClass(classId);

            #region 数据
            var list         = _trainReportManager.GetLogList(classId);
            var approvalList = _trainReportManager.GetApproveListList(string.Join(",", string.Join(",", list.Select(p => p.Id))), classId);
            foreach (var item in list)
            {
                //只要有拒绝就算拒绝了
                if (approvalList.Count(p => p.ApproveStatus == 1) > 0)
                {
                    item.ApprovalStatus = 1;
                }
                else
                {
                    item.ApprovalStatus = 2;
                }
                item.ReasonList = approvalList.Select(p => p.Reasons).ToList();
            }
            #endregion
            var dt = new DataTable();
            dt.Columns.Add("序号");
            dt.Columns.Add("调整时间");
            dt.Columns.Add("调整性质");
            dt.Columns.Add("调整原因");
            dt.Columns.Add("审批结果");
            dt.Columns.Add("审批意见");

            var i = 1;
            foreach (var item in list)
            {
                var reason = "";
                var index  = 1;
                foreach (var model in item.ReasonList)
                {
                    reason += index + "、" + model + "   ";
                    index++;
                }
                dt.Rows.Add(
                    i.ToString(),
                    item.CreateTimeStr,
                    item.UpdateTypeStr,
                    item.UpdateReasonStr,
                    item.ApproveStatuStr,
                    reason
                    );
                i++;
            }
            var    dtList      = new List <DataTable>();
            string strFileName = plan.TrainName + "—年度计划调整详情";
            dtList.Add(dt);
            var chartList = new List <ChartModel>();
            export.ExportChart(chartList, dtList, HttpContext, strFileName);
        }