예제 #1
0
        public JsonResult DeleteImage(string imageType)
        {
            string        id     = GetQueryString("ID");
            S_HR_Employee entity = ComprehensiveDbContext.Set <S_HR_Employee>().Find(id);

            if (entity != null)
            {
                switch (imageType)
                {
                case "Portrait":
                    entity.Portrait = null;
                    break;

                case "IdentityCardFace":
                    entity.IdentityCardFace = null;
                    break;

                case "IdentityCardBack":
                    entity.IdentityCardBack = null;
                    break;

                case "Sign":
                    entity.SignImage = null;
                    break;
                }
            }
            ComprehensiveDbContext.SaveChanges();
            return(Json(new { ID = id, ImageType = imageType }));
        }
예제 #2
0
        protected override void AfterSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew)
        {
            var employee = ComprehensiveDbContext.Set <S_HR_Employee>().Find(dic.GetValue("EmployeeID"));
            var fo       = new EmployeeFo();

            fo.SyncDeptByJob(employee);
            //base.AfterSave(dic, formInfo, isNew);
        }
        public JsonResult SaveExcelData()
        {
            var    reader   = new System.IO.StreamReader(HttpContext.Request.InputStream);
            string data     = reader.ReadToEnd();
            var    tempdata = JsonConvert.DeserializeObject <Dictionary <string, string> >(data);
            var    list     = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(tempdata["data"]);

            //var currentUser = FormulaHelper.GetUserInfo();
            //var orgService = FormulaHelper.GetService<IOrgService>();
            //var orgs = orgService.GetOrgs();
            foreach (var salaryDic in list)
            {
                var salary = new T_HR_SalaryManage();
                UpdateEntity <T_HR_SalaryManage>(salary, salaryDic);
                if (salary.ID == null)
                {
                    salary.ID = FormulaHelper.CreateGuid();
                }
                EntityCreateLogic <T_HR_SalaryManage>(salary);
                var code        = salaryDic["Code"];
                var currentInfo = ComprehensiveDbContext.Set <S_HR_Employee>().FirstOrDefault(d => d.Code == code && d.IsDeleted == "0");
                if (currentInfo != null)
                {
                    salary.EmployeeName = currentInfo.Name;
                    salary.Employee     = currentInfo.ID;
                    salary.DeptName     = currentInfo.DeptName;
                    salary.Dept         = currentInfo.Dept;
                    salary.Position     = currentInfo.Post;
                }

                //if (!String.IsNullOrEmpty(salary.DeptName))
                //{
                //    var dept = orgs.FirstOrDefault(d => d.Name == salary.DeptName);
                //    if (dept != null)
                //    {
                //        salary.Dept = dept.ID;
                //        salary.DeptName = dept.Name;
                //    }
                //}
                //if (string.IsNullOrWhiteSpace(salary.EmployeeName))
                //{
                //    salary.EmployeeName = salary.Employee;
                //}
                this.ComprehensiveDbContext.Set <T_HR_SalaryManage>().Add(salary);
                ComprehensiveDbContext.SaveChanges();
            }
            return(Json("Success"));
        }
예제 #4
0
        protected override void BeforeSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew)
        {
            var isMain     = dic.GetValue("IsMain");
            var ID         = dic.GetValue("ID");
            var employeeID = dic.GetValue("EmployeeID");

            if (isMain == "1")
            {
                var list = ComprehensiveDbContext.Set <S_HR_EmployeeJob>().Where(c => c.IsMain == isMain && c.ID != ID && c.IsDeleted == "0" && c.EmployeeID == employeeID).ToList();
                if (list.Count > 0)
                {
                    throw new Formula.Exceptions.BusinessValidationException(string.Format("已存在主责部门职务【{0}:{1}】!", list.FirstOrDefault().DeptIDName, list.FirstOrDefault().JobName));
                }
            }
            //base.BeforeSave(dic, formInfo, isNew);
        }
예제 #5
0
        public override JsonResult Delete()
        {
            string listIDs = Request["ListIDs"];

            string[] idArray = listIDs.Split(',');
            ComprehensiveDbContext.Set <S_HR_Employee>().Where(c => idArray.Contains(c.ID)).Update(c =>
            {
                c.IsDeleted  = "1";
                c.DeleteTime = DateTime.Now;
            });
            ComprehensiveDbContext.SaveChanges();
            EmployeeFo fo = new EmployeeFo();

            fo.EmployeeDeleteToUser(listIDs);
            return(Json(""));
            //return base.Delete();
        }
예제 #6
0
        public override JsonResult Delete()
        {
            string ids = Request["ListIDs"];

            string[] idArray    = ids.Split(',');
            string   employeeID = GetQueryString("EmployeeID");

            ComprehensiveDbContext.Set <S_HR_EmployeeJob>().Delete(c => idArray.Contains(c.ID));
            ComprehensiveDbContext.SaveChanges();

            var employee = ComprehensiveDbContext.Set <S_HR_Employee>().Find(employeeID);
            var fo       = new EmployeeFo();

            fo.SyncDeptByJob(employee);

            return(Json(""));
        }
예제 #7
0
        protected override void AfterSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew)
        {
            var employee = ComprehensiveDbContext.Set <S_HR_Employee>().Find(dic.GetValue("EmployeeID"));

            if (employee != null)
            {
                //var isMain = dic.GetValue("IsMain");
                var ID       = dic.GetValue("ID");
                var postList = ComprehensiveDbContext.Set <S_HR_EmployeeWorkPost>().Where(a => a.EmployeeID == employee.ID && a.ID != ID).ToList();
                foreach (var item in postList)
                {
                    item.IsMain = "0";
                }
                employee.Post      = dic.GetValue("Post");
                employee.PostLevel = dic.GetValue("PostLevel");
                ComprehensiveDbContext.SaveChanges();
            }
        }
예제 #8
0
        public ActionResult GetPic(string id, string imageType)
        {
            ImageActionResult result  = null;
            IUserService      service = FormulaHelper.GetService <IUserService>();

            S_HR_Employee entity = ComprehensiveDbContext.Set <S_HR_Employee>().Find(id);

            byte[] img = null;
            if (entity != null)
            {
                switch (imageType)
                {
                case "Portrait":
                    img = entity.Portrait;
                    break;

                case "IdentityCardFace":
                    img = entity.IdentityCardFace;
                    break;

                case "IdentityCardBack":
                    img = entity.IdentityCardBack;
                    break;

                case "Sign":
                    img = entity.SignImage;
                    break;
                }

                if (img != null)
                {
                    Image image = ImageHelper.BytesToImage(img);
                    if (image != null)
                    {
                        ImageFormat imageFormat = ImageHelper.GetImageFormat(image);
                        result = new ImageActionResult(image, imageFormat);
                    }
                }
            }
            return(result);
        }
예제 #9
0
        public override JsonResult Delete()
        {
            string ids = Request["ListIDs"];

            string[] idArray    = ids.Split(',');
            string   employeeID = GetQueryString("EmployeeID");

            ComprehensiveDbContext.Set <S_HR_EmployeeWorkPost>().Delete(c => idArray.Contains(c.ID));
            ComprehensiveDbContext.SaveChanges();

            var employee = ComprehensiveDbContext.Set <S_HR_Employee>().Find(employeeID);

            if (employee != null)
            {
                employee.Post      = null;
                employee.PostLevel = null;
                ComprehensiveDbContext.SaveChanges();
            }
            return(Json(""));
            //return base.Delete();
        }
        public JsonResult ValidateData()
        {
            var    reader    = new System.IO.StreamReader(HttpContext.Request.InputStream);
            string data      = reader.ReadToEnd();
            var    tempdata  = JsonConvert.DeserializeObject <Dictionary <string, string> >(data);
            var    excelData = JsonConvert.DeserializeObject <ExcelData>(tempdata["data"]);
            var    errors    = excelData.Vaildate(e =>
            {
                if (e.FieldName == "Code")
                {
                    if (!string.IsNullOrWhiteSpace(e.Value))
                    {
                        var user = ComprehensiveDbContext.Set <S_HR_Employee>().FirstOrDefault(d => d.Code == e.Value);
                        if (user == null)
                        {
                            e.IsValid   = false;
                            e.ErrorText = "该员工在基本信息表中不存在";
                        }
                        if (user.IsDeleted == "0")
                        {
                            e.IsValid   = false;
                            e.ErrorText = "该员工已被删除";
                        }
                    }
                    else
                    {
                        e.IsValid   = false;
                        e.ErrorText = string.Format("员工编号不能为空", e.Value);
                    }
                }
                if (e.FieldName == "SendOutDate" && string.IsNullOrWhiteSpace(e.Value))
                {
                    e.IsValid   = false;
                    e.ErrorText = string.Format("发放日期不能为空", e.Value);
                }
            });

            return(Json(errors));
        }
        public JsonResult SaveExcelData()
        {
            var    reader   = new System.IO.StreamReader(HttpContext.Request.InputStream);
            string data     = reader.ReadToEnd();
            var    tempdata = JsonConvert.DeserializeObject <Dictionary <string, string> >(data);
            var    list     = JsonConvert.DeserializeObject <List <Dictionary <string, string> > >(tempdata["data"]);

            foreach (var salaryDic in list)
            {
                var bonus = new T_HR_PersonalBonusInput();
                UpdateEntity <T_HR_PersonalBonusInput>(bonus, salaryDic);
                if (bonus.ID == null)
                {
                    bonus.ID = FormulaHelper.CreateGuid();
                }
                EntityCreateLogic <T_HR_PersonalBonusInput>(bonus);
                var code        = salaryDic["Code"];
                var currentInfo = ComprehensiveDbContext.Set <S_HR_Employee>().FirstOrDefault(d => d.Code == code && d.IsDeleted == "0");
                if (currentInfo != null)
                {
                    bonus.EmployeeName = currentInfo.Name;
                    bonus.Employee     = currentInfo.ID;
                    bonus.DeptName     = currentInfo.DeptName;
                    bonus.Dept         = currentInfo.Dept;
                    if (string.IsNullOrWhiteSpace(bonus.SendOutDate.ToString()))
                    {
                        DateTime dt = (DateTime)bonus.SendOutDate;
                        bonus.Year  = dt.Year.ToString();
                        bonus.Month = dt.Month.ToString();
                    }
                }
                this.ComprehensiveDbContext.Set <T_HR_PersonalBonusInput>().Add(bonus);
                ComprehensiveDbContext.SaveChanges();
            }
            return(Json("Success"));
        }
        public JsonResult ValidateData()
        {
            var    reader     = new System.IO.StreamReader(HttpContext.Request.InputStream);
            string data       = reader.ReadToEnd();
            var    tempdata   = JsonConvert.DeserializeObject <Dictionary <string, string> >(data);
            var    excelData  = JsonConvert.DeserializeObject <ExcelData>(tempdata["data"]);
            var    orgService = FormulaHelper.GetService <IOrgService>();
            var    orgs       = orgService.GetOrgs();
            var    errors     = excelData.Vaildate(e =>
            {
                if (e.FieldName == "Code")
                {
                    if (!string.IsNullOrWhiteSpace(e.Value))
                    {
                        var user = ComprehensiveDbContext.Set <S_HR_Employee>().FirstOrDefault(d => d.Code == e.Value);
                        if (user == null)
                        {
                            e.IsValid   = false;
                            e.ErrorText = "该员工在基本信息表中不存在";
                        }
                        if (user.IsDeleted == "0")
                        {
                            e.IsValid   = false;
                            e.ErrorText = "该员工已删除";
                        }
                    }
                    else
                    {
                        e.IsValid   = false;
                        e.ErrorText = string.Format("员工编号不能为空", e.Value);
                    }
                }
                //if (e.FieldName == "Employee" && string.IsNullOrWhiteSpace(e.Value))
                //{
                //    e.IsValid = false;
                //    e.ErrorText = string.Format("员工姓名不能为空", e.Value);
                //}
                //if (e.FieldName == "DeptName")
                //{
                //    if (!string.IsNullOrWhiteSpace(e.Value))
                //    {
                //        var dept = orgs.FirstOrDefault(o => o.Name == e.Value);
                //        if (dept == null)
                //        {
                //            e.IsValid = false;
                //            e.ErrorText = string.Format("部门({0})不存在!", e.Value);
                //        }
                //    }
                //    else
                //    {
                //        e.IsValid = false;
                //        e.ErrorText = "部门字段不能为空!";
                //    }
                //}
                if (e.FieldName == "Year" && string.IsNullOrWhiteSpace(e.Value))
                {
                    e.IsValid   = false;
                    e.ErrorText = string.Format("年份不能为空", e.Value);
                }
                if (e.FieldName == "Month" && string.IsNullOrWhiteSpace(e.Value))
                {
                    e.IsValid   = false;
                    e.ErrorText = string.Format("月份不能为空", e.Value);
                }
            });

            return(Json(errors));
        }
        protected override void BeforeSave(Dictionary <string, string> dic, Base.Logic.Domain.S_UI_Form formInfo, bool isNew)
        {
            var list        = new List <Dictionary <string, object> >();
            var id          = dic.GetValue("ID");
            var normalValue = 0m;

            if (!string.IsNullOrEmpty(dic.GetValue("NormalValue")))
            {
                normalValue = Convert.ToDecimal(dic.GetValue("NormalValue"));
            }
            var extraValue = 0m;

            if (!string.IsNullOrEmpty(dic.GetValue("AdditionalValue")))
            {
                extraValue = Convert.ToDecimal(dic.GetValue("AdditionalValue"));
            }
            if ((normalValue == 0 && extraValue == 0))
            {
                throw new Formula.Exceptions.BusinessException("每日工时不能为0");
            }
            var user     = FormulaHelper.GetUserInfoByID(dic.GetValue("UserID"));
            var employee = this.ComprehensiveDbContext.Set <S_HR_Employee>().FirstOrDefault(d => d.UserID == user.UserID);
            var fo       = FormulaHelper.CreateFO <WorkHourFO>();
            //根据日期段判断
            var startDate      = dic.GetValue("WorkHourDateStart").Replace("T", " ");
            var endDate        = dic.GetValue("WorkHourDateEnd").Replace("T", " ");
            var projectID      = dic.GetValue("ProjectID");
            var WorkTimeMajor  = dic.GetValue("WorkTimeMajor");
            var SubProjectCode = dic.GetValue("SubProjectCode");
            var MajorCode      = dic.GetValue("MajorCode");
            var WorkContent    = dic.GetValue("WorkContent");
            var dateList       = getWorkHourDate(startDate, endDate);
            //已存在工时数据
            var userID    = dic.GetValue("UserID");
            var existList = this.ComprehensiveDbContext.Set <S_W_UserWorkHour>().Where(a => a.UserID == userID && dateList.Contains(a.WorkHourDate)).ToList();

            foreach (var item in dateList)
            {
                var existNormalValue = existList.Where(a => a.WorkHourDate == item && a.SupplementID != id).Sum(a => a.NormalValue);
                var existExtraValue  = existList.Where(a => a.WorkHourDate == item && a.SupplementID != id).Sum(a => a.AdditionalValue);
                if (!existNormalValue.HasValue)
                {
                    existNormalValue = 0;
                }
                if (!existExtraValue.HasValue)
                {
                    existExtraValue = 0;
                }
                //自动补全正班工日,加班工日不补全
                if ((normalValue + existNormalValue) > NormalHoursMax)
                {
                    normalValue = NormalHoursMax - existNormalValue.Value;
                }
                //throw new Formula.Exceptions.BusinessException("【" + item.ToShortDateString() + "】正常工时不能大于" + NormalHoursMax.ToString());
                if ((extraValue + existExtraValue) > maxExtraHour)
                {
                    throw new Formula.Exceptions.BusinessException("【" + item.ToShortDateString() + "】加班工时不能大于" + maxExtraHour.ToString());
                }

                if ((normalValue == 0 && extraValue == 0))
                {
                    continue;
                }

                var userWorkHour = existList.FirstOrDefault(d => d.SupplementID == id &&
                                                            d.UserID == user.UserID && d.WorkHourDate == item);
                if (userWorkHour == null || ComprehensiveDbContext.Entry <S_W_UserWorkHour>(userWorkHour).State == System.Data.EntityState.Deleted)
                {
                    userWorkHour              = ComprehensiveDbContext.Set <S_W_UserWorkHour>().Create();
                    userWorkHour.ID           = FormulaHelper.CreateGuid();
                    userWorkHour.UserID       = user.UserID;
                    userWorkHour.UserName     = user.UserName;
                    userWorkHour.UserDeptID   = user.UserOrgID;
                    userWorkHour.UserDeptName = user.UserOrgName;
                    userWorkHour.WorkHourDate = item;
                    userWorkHour.UserCode     = user.Code;
                    if (employee != null)
                    {
                        userWorkHour.EmployeeID = employee.ID;
                    }
                    userWorkHour.State         = "Create";
                    userWorkHour.IsConfirm     = "0";
                    userWorkHour.IsStep1       = "0";
                    userWorkHour.IsStep2       = "0";
                    userWorkHour.CreateUser    = CurrentUserInfo.UserName;
                    userWorkHour.CreateUserID  = CurrentUserInfo.UserID;
                    userWorkHour.SupplementID  = id;
                    userWorkHour.BelongMonth   = item.Month;
                    userWorkHour.BelongYear    = item.Year;
                    userWorkHour.BelongQuarter = ((item.Month - 1) / 3) + 1;
                    ComprehensiveDbContext.Set <S_W_UserWorkHour>().Add(userWorkHour);
                }
                if (userWorkHour.State != "Create")
                {
                    continue;
                }
                userWorkHour.ProjectChargerUser     = dic.GetValue("ProjectChargerUser");
                userWorkHour.ProjectChargerUserName = dic.GetValue("ProjectChargerUserName");
                userWorkHour.ProjectCode            = dic.GetValue("ProjectCode");
                userWorkHour.ProjectDept            = dic.GetValue("ProjectDept");
                userWorkHour.ProjectDeptName        = dic.GetValue("ProjectDeptName");
                userWorkHour.ProjectID       = projectID;
                userWorkHour.ProjectName     = dic.GetValue("ProjectName");
                userWorkHour.WorkTimeMajor   = dic.GetValue("WorkTimeMajor");
                userWorkHour.SubProjectCode  = dic.GetValue("SubProjectCode");
                userWorkHour.SubProjectName  = dic.GetValue("SubProjectName");
                userWorkHour.TaskWorkCode    = dic.GetValue("TaskWorkCode");
                userWorkHour.TaskWorkName    = dic.GetValue("TaskWorkName");
                userWorkHour.WorkContent     = dic.GetValue("WorkContent");
                userWorkHour.MajorCode       = dic.GetValue("MajorCode");
                userWorkHour.MajorName       = dic.GetValue("MajorName");
                userWorkHour.WorkHourType    = dic.GetValue("WorkHourType");
                userWorkHour.NormalValue     = normalValue;
                userWorkHour.AdditionalValue = extraValue;
                userWorkHour.WorkHourValue   = normalValue + extraValue;
                userWorkHour.WorkHourDay     = fo.ConvertHourToDay(userWorkHour.WorkHourValue, workHourType, NormalHoursMax);
            }
        }