/// <summary> /// 导入年度计划模板 /// </summary> /// <param name="excelPath"></param> /// <param name="planType"></param> /// <param name="errorStr"></param> /// <returns></returns> public bool InsertPlan(string excelPath, int planType, string deptids, ref string errorStr) { bool flag = false; try { var dicYear = new Dictionary <int, int>(); var dicName = new Dictionary <string, int>(); var addList = new List <Tr_PlanContent>(); var allPLanYear = _planManager.GetTrYearPlanByYear(0, planType, deptids); var planList = new List <ImportPlan>(); IWorkbook workbook = Factory.GetWorkbook(Server.MapPath(excelPath), System.Globalization.CultureInfo.CurrentCulture); DataSet ds = workbook.GetDataSet(GetDataFlags.FormattedText); if ((ds.Tables.Count < 1)) { errorStr = "模板有误,没有数据"; } DataTable dt = ds.Tables[0]; flag = GetExcelPlan(ds, planType, ref errorStr, ref planList); foreach (var item in planList) { var yearPlanId = 0; var single = allPLanYear.FirstOrDefault(p => p.Year == item.Year); #region 年度计划 if (!dicYear.ContainsKey(item.Year)) { if (single != null) { yearPlanId = single.ID; dicYear[item.Year] = yearPlanId; } else { var model = new Tr_YearPlan { Year = item.Year, SurveyId = 0, FileName = "", FilePath = "", FileSize = 0, IsDelete = 0, PlanType = planType, DeptId = planType == 0 ? xingzhengId : CurrentUser.DeptId }; _planManager.AddTrYearPlan(model); yearPlanId = model.ID; dicYear[item.Year] = yearPlanId; } } #endregion #region 年度计划培训班 if (!dicName.ContainsKey(item.ClassName)) { var planClass = new Tr_PlanClass { YearPlanID = dicYear[item.Year], TrainName = item.ClassName, Number = item.Number, ApproveStatus = 0, DeptID = planType == 0 ? xingzhengId : CurrentUser.DeptId, CreateUserID = CurrentUser.UserId, CreateTime = DateTime.Now, IsDelete = 0, UpdateType = 0, UpdateReason = "" }; _planManager.AddTrPlanClass(planClass); dicName[item.ClassName] = planClass.PlanClassID; } #endregion #region 培训内容 var planContent = new Tr_PlanContent { PlanClassID = dicName[item.ClassName], TrainContent = item.TrainContent, TrainTarget = item.TrainTarget, TrainObject = item.TrainObject, Score = item.Score, StartTime = item.StartTime, EndTime = item.EndTime, TrainForm = item.TrainForm, TrainType = item.TrainType, CheckType = item.CheckType, TrainCost = item.TrainCost, TrainIdentify = item.TrainIdentify, Remarks = item.Remarks, CreateTime = DateTime.Now }; addList.Add(planContent); #endregion } if (addList.Count > 0) { _planManager.AddTrPlanContentS(addList); } } catch (Exception ex) { errorStr = errorStr + "<br />" + ex.Message; flag = false; } return(flag); }