Example #1
0
        /// <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);
        }