Пример #1
0
 public ActionResult SaveForm(string keyValue, string mode, SafeTrainPlanEntity entity)
 {
     try
     {
         if (mode.Contains(mode) && mode.Equals("feedback"))
         {
             entity.ProcessState = 2;
         }
         safeTrainPlanBLL.SaveForm(keyValue, entity);
         return(Success("保存成功。"));
     }
     catch (Exception ex)
     {
         return(Error(ex.Message));
     }
 }
Пример #2
0
 /// <summary>
 /// 提交数据
 /// </summary>
 /// <param name="keyValue">主键</param>
 /// <param name="entity"></param>
 public void SaveForm(string keyValue, SafeTrainPlanEntity entity)
 {
     service.SaveForm(keyValue, entity);
 }
Пример #3
0
 /// <summary>
 /// 数据查重 根据培训项目、培训内容、培训对象、培训时间以及责任部门
 /// </summary>
 /// <param name="entity"></param>
 /// <returns></returns>
 public bool CheckDataExists(SafeTrainPlanEntity entity)
 {
     return(service.CheckDataExists(entity));
 }
Пример #4
0
        public string ImportTrainPlan()
        {
            var user = OperatorProvider.Provider.Current();

            if (user.IsSystem)
            {
                return("超级管理员无此操作权限");
            }
            string message = "请选择格式正确的文件再导入!";

            try
            {
                int error = 0;

                string falseMessage = "";
                int    count        = HttpContext.Request.Files.Count;
                var    currUser     = OperatorProvider.Provider.Current();
                if (count > 0)
                {
                    HttpPostedFileBase file = HttpContext.Request.Files[0];
                    if (string.IsNullOrEmpty(file.FileName))
                    {
                        return(message);
                    }
                    if (!(file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xls") || file.FileName.Substring(file.FileName.IndexOf('.')).Contains("xlsx")))
                    {
                        return(message);
                    }
                    string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(file.FileName);
                    file.SaveAs(Server.MapPath("~/Resource/temp/" + fileName));
                    Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook();
                    wb.Open(Server.MapPath("~/Resource/temp/" + fileName));
                    Aspose.Cells.Cells cells = wb.Worksheets[0].Cells;
                    if (cells.MaxDataRow <= 1)
                    {
                        return("共有0条记录,成功导入0条");
                    }
                    DataTable dt    = cells.ExportDataTable(1, 1, cells.MaxDataRow, cells.MaxColumn + 1, true);
                    int       order = 1;
                    List <SafeTrainPlanEntity> list = new List <SafeTrainPlanEntity>();
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        order = i;
                        //培训项目
                        string projectName = dt.Rows[i]["培训项目"].ToString().Trim();
                        //培训内容
                        string content = dt.Rows[i]["培训内容"].ToString().Trim();
                        //培训对象
                        string participants = dt.Rows[i]["培训对象"].ToString().Trim();
                        //培训时间
                        string trainDate = dt.Rows[i]["培训时间"].ToString().Trim();
                        //责任部门
                        string dutyDeptName = dt.Rows[i]["责任部门"].ToString().Trim();
                        //责任人
                        string dutyUserName = dt.Rows[i]["责任人"].ToString().Trim();
                        //执行人/监督人
                        string executeUserName = dt.Rows[i]["执行人/监督人"].ToString().Trim();
                        //---****值存在空验证*****--
                        if (string.IsNullOrEmpty(projectName) || string.IsNullOrEmpty(content) || string.IsNullOrEmpty(participants) || string.IsNullOrEmpty(trainDate) ||
                            string.IsNullOrEmpty(dutyDeptName) || string.IsNullOrEmpty(dutyUserName) || string.IsNullOrEmpty(executeUserName))
                        {
                            falseMessage += "</br>" + "第" + (i + 1) + "行值存在空,未能导入.";
                            error++;
                            continue;
                        }

                        //验证所填部门是否存在 电厂整个组织机构
                        var entity = departmentBLL.GetList()
                                     .Where(t => t.EnCode.StartsWith(currUser.OrganizeCode) && t.EnCode != currUser.OrganizeCode && t.FullName == dutyDeptName)
                                     .FirstOrDefault();
                        string deptCode = string.Empty, deptId = string.Empty;
                        if (entity == null)
                        {
                            falseMessage += "</br>" + "第" + (i + 1) + "行部门信息不存在,未能导入.";
                            error++;
                            continue;
                        }
                        else
                        {
                            deptId   = entity.DepartmentId;
                            deptCode = entity.EnCode;
                        }
                        string dutyUserId    = string.Empty;
                        string executeUserId = string.Empty;
                        //验证责任人是否存在责任部门下
                        var uentity = userBLL.GetList().Where(t => t.RealName.Equals(dutyUserName) && t.DepartmentId == entity.DepartmentId).FirstOrDefault();
                        if (uentity == null)
                        {
                            falseMessage += "</br>" + "第" + (i + 1) + "行责任人不存在,未能导入.";
                            error++;
                            continue;
                        }
                        else
                        {
                            dutyUserId = uentity.UserId;
                        }
                        //验证执行人/监督人是否存在责任部门下
                        uentity = userBLL.GetList().Where(t => t.RealName.Equals(executeUserName) && t.DepartmentId == entity.DepartmentId).FirstOrDefault();
                        if (uentity == null)
                        {
                            falseMessage += "</br>" + "第" + (i + 1) + "行执行人/监督人不存在,未能导入.";
                            error++;
                            continue;
                        }
                        else
                        {
                            executeUserId = uentity.UserId;
                        }

                        //验证日期格式
                        DateTime?trainDate1 = null;
                        try
                        {
                            //yyyy-MM或yyyy.MM
                            trainDate = trainDate.Replace(".", "-");
                            if (trainDate.Split('-').Length != 2 || trainDate.Split('-')[0].Length != 4)
                            {
                                falseMessage += "</br>" + "第" + (i + 1) + "行培训时间格式不正确,未能导入.";
                                error++;
                                continue;
                            }
                            trainDate1 = Convert.ToDateTime(trainDate);
                        }
                        catch (Exception ex)
                        {
                            falseMessage += "</br>" + "第" + (i + 1) + "行培训时间格式不正确,未能导入.";
                            error++;
                            continue;
                        }

                        SafeTrainPlanEntity safeTrainPlan = new SafeTrainPlanEntity()
                        {
                            Id              = Guid.NewGuid().ToString(),
                            ProjectName     = projectName,
                            TrainDate       = trainDate1,
                            TrainContent    = content,
                            Participants    = participants,
                            DepartmentId    = deptId,
                            DepartmentName  = dutyDeptName,
                            DepartmentCode  = deptCode,
                            DutyUserId      = dutyUserId,
                            DutyUserName    = dutyUserName,
                            ExecuteUserId   = executeUserId,
                            ExecuteUserName = executeUserName,
                            ProcessState    = 0
                        };
                        //数据查重 根据培训项目、培训内容、培训对象、培训时间以及责任部门
                        bool flag = safeTrainPlanBLL.CheckDataExists(safeTrainPlan);
                        if (flag)
                        {
                            //数据重复
                            falseMessage += "</br>" + "第" + (i + 1) + "行数据已存在,未能导入.";
                            error++;
                        }
                        else
                        {
                            safeTrainPlan.Create();
                            list.Add(safeTrainPlan);
                        }
                    }
                    if (list.Count() > 0)
                    {
                        //保存
                        safeTrainPlanBLL.InsertSafeTrainPlan(list);
                    }
                    count    = dt.Rows.Count;
                    message  = "共有" + count + "条记录,成功导入" + (count - error) + "条,失败" + error + "条";
                    message += "</br>" + falseMessage;
                }
            }
            catch (Exception ex)
            {
                return("导入失败!");
            }
            return(message);
        }