예제 #1
0
        public IActionResult Create(DepartmentDeclareModel model)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                var personaldiary = new DepartmentDeclare();
                personaldiary.DeclareName       = model.DeclareName;                            //姓名
                personaldiary.DeclareDepartment = model.DeclareDepartment;                      //部门
                personaldiary.DeclareTime       = model.DeclareTime;                            //时间
                personaldiary.BonusPoint        = model.BonusPoint;                             //加分项
                personaldiary.PlusScore         = model.PlusScore;                              //加分分值
                personaldiary.PlusContent       = model.PlusContent;                            //加分内容
                personaldiary.Deduction         = model.Deduction;                              //减分项
                personaldiary.DeductionScore    = model.DeductionScore;                         //减分分值
                personaldiary.DeductionContent  = model.DeductionContent;                       //减分内容
                personaldiary.Remark            = model.Remark;                                 //备注
                personaldiary.EstablishTime     = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //添加时间
                personaldiary.EstablishName     = AuthContextService.CurrentUser.DisplayName;   //添加人
                personaldiary.IsDeleted         = 0;                                            //是否删除
                _dbContext.DepartmentDeclare.Add(personaldiary);
                int res = _dbContext.SaveChanges();
                if (res > 0)
                {
                    ToLog.AddLog("添加", "成功:添加:绩效申报信息数据", _dbContext);
                }
                response.SetSuccess();
                return(Ok(response));
            }
        }
예제 #2
0
        public IActionResult daoru(IFormFile excelfile)
        {
            var response = ResponseModelFactory.CreateInstance;

            using (_dbContext)
            {
                DateTime beginTime = DateTime.Now;

                string sWebRootFolder = _hostingEnvironment.WebRootPath + "\\UploadFiles\\PerformanceDeclare";

                string   uploadtitle = "绩效申报导入" + DateTime.Now.ToString("yyyyMMddHHmmss");
                string   sFileName   = $"{uploadtitle}.xlsx";
                FileInfo file        = new FileInfo(Path.Combine(sWebRootFolder, sFileName));

                string responsemsgsuccess = ""; //成功提示
                string responsemsgrepeat  = ""; //重复提示
                string responsemsgdefault = ""; //为空提示
                int    successcount       = 0;  //成功条数
                int    repeatcount        = 0;  //重复条数
                int    defaultcount       = 0;  //为空条数
                try
                {
                    //把excelfile中的数据复制到file中
                    using (FileStream fs = new FileStream(file.ToString(), FileMode.Create)) //初始化一个指定路径和创建模式的FileStream
                    {
                        excelfile.CopyTo(fs);
                        fs.Flush();  //清空stream的缓存,并且把缓存中的数据输出到file
                    }
                    DataTable dt = Haikan3.Utils.ExcelTools.ExcelToDataTable(file.ToString(), "Sheet1", true);

                    if (dt == null || dt.Rows.Count == 0)
                    {
                        response.SetFailed("表格无数据");
                        return(Ok(response));
                    }
                    else
                    {
                        if (!dt.Columns.Contains("部门"))
                        {
                            response.SetFailed("无‘部门’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("姓名"))
                        {
                            response.SetFailed("无‘姓名’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("时间"))
                        {
                            response.SetFailed("无‘时间’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("加分项"))
                        {
                            response.SetFailed("无‘加分项’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("加分内容"))
                        {
                            response.SetFailed("无‘加分内容’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("加分分值"))
                        {
                            response.SetFailed("无‘加分分值’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("减分项"))
                        {
                            response.SetFailed("无‘减分项’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("减分内容"))
                        {
                            response.SetFailed("无‘减分内容’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("减分分值"))
                        {
                            response.SetFailed("无‘减分分值’列");
                            return(Ok(response));
                        }
                        if (!dt.Columns.Contains("备注"))
                        {
                            response.SetFailed("无‘备注’列");
                            return(Ok(response));
                        }

                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            var entity = new DepartmentDeclare();

                            if (!string.IsNullOrEmpty(dt.Rows[i]["姓名"].ToString()))
                            {
                                entity.DeclareName = dt.Rows[i]["姓名"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行姓名为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["部门"].ToString()))
                            {
                                entity.DeclareDepartment = _dbContext.Department.FirstOrDefault(x => x.Name == dt.Rows[i]["部门"].ToString()).DepartmentUuid.ToString();//部门guid
                                //entity.DeclareDepartment = dt.Rows[i]["部门"].ToString();
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行部门为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["时间"].ToString()))
                            {
                                string s = Convert.ToDateTime(dt.Rows[i]["时间"].ToString()).ToString("yyyy-MM");
                                entity.DeclareTime = Convert.ToDateTime(dt.Rows[i]["时间"].ToString()).ToString("yyyy-MM");
                            }
                            else
                            {
                                responsemsgdefault += "<p style='color:red'>" + "第" + (i + 2) + "行时间为空" + "</p></br>";
                                defaultcount++;
                                continue;
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["加分项"].ToString()))
                            {
                                entity.BonusPoint = dt.Rows[i]["加分项"].ToString();
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["加分内容"].ToString()))
                            {
                                entity.PlusContent = dt.Rows[i]["加分内容"].ToString();
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["加分分值"].ToString()))
                            {
                                entity.PlusScore = int.Parse(dt.Rows[i]["加分分值"].ToString());
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["减分项"].ToString()))
                            {
                                entity.Deduction = dt.Rows[i]["减分项"].ToString();
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["减分内容"].ToString()))
                            {
                                entity.DeductionContent = dt.Rows[i]["减分内容"].ToString();
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["减分分值"].ToString()))
                            {
                                entity.DeductionScore = int.Parse(dt.Rows[i]["减分分值"].ToString());
                            }
                            if (!string.IsNullOrEmpty(dt.Rows[i]["备注"].ToString()))
                            {
                                entity.Remark = dt.Rows[i]["备注"].ToString();
                            }
                            entity.EstablishTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //添加时间
                            entity.EstablishName = AuthContextService.CurrentUser.DisplayName;   //添加人
                            entity.IsDeleted     = 0;                                            //是否删除
                            if (!string.IsNullOrEmpty(dt.Rows[i]["加分项"].ToString()) || !string.IsNullOrEmpty(dt.Rows[i]["减分项"].ToString()))
                            {
                                string ssss = dt.Rows[i]["加分项"].ToString();

                                if (dt.Rows[i]["加分项"].ToString() == "1" || dt.Rows[i]["减分项"].ToString() == "1")
                                {
                                    entity.AuditStatus = "2";//审核状态
                                }
                                else
                                {
                                    entity.AuditStatus = "1";//审核状态
                                }
                            }
                            _dbContext.DepartmentDeclare.Add(entity);
                            _dbContext.SaveChanges();
                            successcount++;
                            responsemsgsuccess += "<p style='color:green'>" + "第" + (i + 2) + "行信息导入成功" + "</p></br>";
                        }
                    }
                    responsemsgsuccess = "<p style='color:green'>导入成功:" + successcount + "条</p></br>" + responsemsgsuccess;
                    responsemsgrepeat  = "<p style='color:orange'>重复需手动修改数据:" + repeatcount + "条</p></br>" + responsemsgrepeat;
                    responsemsgdefault = "<p style='color:red'>导入失败:" + defaultcount + "条</p></br>" + responsemsgdefault;
                    ToLog.AddLog("导入", "成功:导入:绩效申报信息数据", _dbContext);
                    DateTime endTime  = DateTime.Now;
                    TimeSpan useTime  = endTime - beginTime;
                    string   taketime = "导入时间" + useTime.TotalSeconds.ToString() + "秒  ";
                    response.SetData(JsonConvert.DeserializeObject(JsonConvert.SerializeObject(new
                    {
                        time       = taketime,
                        successmsg = responsemsgsuccess,
                        repeatmsg  = responsemsgrepeat,
                        defaultmsg = responsemsgdefault
                    })));
                    return(Ok(response));
                }
                catch (Exception ex)
                {
                    response.SetFailed("请上传与表字符相符的表格");
                    return(Ok(response));
                }
            }
        }