private void InfoBind() { using (IFMPDBContext db = new IFMPDBContext()) { LeaveAudit LeaveAudit = db.LeaveAudit.FirstOrDefault(t => t.ID == LeaveAuditID); if (LeaveAudit != null) { Role Role = null; if (LeaveAudit.RoleID != null) { Role = db.Role.FirstOrDefault(t => t.ID == LeaveAudit.RoleID); } Leave Leave = db.Leave.FirstOrDefault(t => t.ID == LeaveAudit.LeaveID); ltl_LeaveUser.Text = db.User.FirstOrDefault(t => t.ID == Leave.UserID).RealName; ltl_BeginDate.Text = Leave.BeginDate.ToString("yyyy-MM-dd"); ltl_EndDate.Text = Leave.EndDate.ToString("yyyy-MM-dd"); ltl_Day.Text = Leave.Day.ToString(); ltl_LeaveType.Text = Enum.GetName(typeof(LeaveType), Leave.LeaveType); ltl_Content.Text = Leave.Content; if (Role == null || Role.Name == "总经理" || Role.Name == "生产副总") { //无需下一级 LeaveAuditUser.Visible = false; } else if (Role.Name == "主管班长") { //发送给车间主任 List <User> UserList = db.User.Where(t => db.UserRole.Where(m => db.Role.Where(k => k.Name == "车间主任").Select(k => k.ID).Contains(m.RoleID)).Select(m => m.UserID).Contains(t.ID)).ToList(); this.ddl_AuditUser.DataSource = UserList; this.ddl_AuditUser.DataValueField = "ID"; this.ddl_AuditUser.DataTextField = "RealName"; this.ddl_AuditUser.DataBind(); } else if (Role.Name == "车间主任") { List <User> UserList = db.User.Where(t => db.UserRole.Where(m => db.Role.Where(k => k.Name == "生产副总").Select(k => k.ID).Contains(m.RoleID)).Select(m => m.UserID).Contains(t.ID)).ToList(); this.ddl_AuditUser.DataSource = UserList; this.ddl_AuditUser.DataValueField = "ID"; this.ddl_AuditUser.DataTextField = "RealName"; this.ddl_AuditUser.DataBind(); } } } }
protected void btn_Submit_Click(object sender, EventArgs e) { try { LeaveState LeaveState = (LeaveState)Convert.ToInt32(this.ddl_Audit.SelectedValue); using (IFMPDBContext db = new IFMPDBContext()) { //这里应该有权限,很重要 LeaveAudit LeaveAudit = db.LeaveAudit.FirstOrDefault(t => t.ID == LeaveAuditID); if (LeaveAudit != null) { Role Role = null; if (LeaveAudit.RoleID != null) { Role = db.Role.FirstOrDefault(t => t.ID == LeaveAudit.RoleID); } Leave Leave = db.Leave.FirstOrDefault(t => t.ID == LeaveAudit.LeaveID); if (Role == null || Role.Name == "总经理" || Role.Name == "生产副总") { Leave.LeaveState = LeaveState; LeaveAudit.AuditDate = DateTime.Now; LeaveAudit.LeaveState = LeaveState; if (LeaveState == LeaveState.通过) { Notice Notice = new Notice(); Notice.Contenet = "您有一条请假申请通过" + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:通过"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = Leave.UserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; db.Notice.Add(Notice); } else if (LeaveState == LeaveState.通过) { Notice Notice = new Notice(); Notice.Contenet = "您有一条请假申请被驳回" + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:驳回"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = Leave.UserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; db.Notice.Add(Notice); } else { ShowMessage("请选择正确的审核结果"); return; } } else if (Role.Name == "主管班长" || Role.Name == "车间主任") { int ReciveUserID = Convert.ToInt32(ddl_AuditUser.SelectedValue); LeaveAudit.AuditDate = DateTime.Now; LeaveAudit.LeaveState = LeaveState; if (LeaveState == LeaveState.通过) { Leave.LeaveState = LeaveState.审核中; LeaveAudit NewLeaveAudit = new IFMPLibrary.Entities.LeaveAudit(); NewLeaveAudit.LeaveID = Leave.ID; NewLeaveAudit.UserID = ReciveUserID; NewLeaveAudit.SendDate = DateTime.Now; if (Role.Name == "主管班长") { NewLeaveAudit.RoleID = db.Role.FirstOrDefault(t => t.Name == "车间主任").ID; } else { NewLeaveAudit.RoleID = db.Role.FirstOrDefault(t => t.Name == "生产副总").ID; } NewLeaveAudit.LeaveState = LeaveState.未审核; db.LeaveAudit.Add(NewLeaveAudit); //NewLeaveAudit.RoleID= //NewLeaveAudit. Notice Notice = new Notice(); Notice.Contenet = "当前有一条请假申请待审核" + "|发起人:" + db.User.FirstOrDefault(t => t.ID == Leave.UserID).RealName + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:待审核"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = ReciveUserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; db.Notice.Add(Notice); } else if (LeaveState == LeaveState.通过) { Leave.LeaveState = LeaveState.通过; Notice Notice = new Notice(); Notice.Contenet = "您有一条请假申请被驳回" + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:驳回"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = Leave.UserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; db.Notice.Add(Notice); } else { ShowMessage("请选择正确的审核结果"); return; } } db.SaveChanges(); new SysLogDAO().AddLog(LogType.操作日志_添加, "请假审核", UserID); ShowMessage(); } else { ShowMessage("找不到该请假审核纪录"); return; } } } catch (Exception ex) { ShowMessage(ex.Message); new SysLogDAO().AddLog(LogType.系统日志, ex.Message, UserID); return; } }
protected void btn_Submit_Click(object sender, EventArgs e) { try { using (IFMPDBContext db = new IFMPDBContext()) { //这里应该有权限,很重要 Leave Leave = new Leave(); User User = db.User.FirstOrDefault(t => t.ID == UserID); Leave.BeginDate = Convert.ToDateTime(txt_BeginDate.Text); Leave.EndDate = Convert.ToDateTime(txt_EndDate.Text); Leave.Day = Convert.ToDouble(txt_Day.Text); Leave.LeaveType = (LeaveType)Convert.ToInt32(ddl_LeaveType.SelectedValue); Leave.Content = txt_Content.Text; Leave.IsDel = false; Leave.LeaveState = LeaveState.未审核; Leave.UserID = User.ID; Leave.CreateDate = DateTime.Now; //合法判断 if (Leave.Day <= 0) { ShowMessage("请输入合法的天数"); return; } //判断审核流程 if (Leave.Day <= 7) { Department Department = db.Department.FirstOrDefault(t => db.DepartmentUser.Where(m => m.UserID == UserID).Select(m => m.DepartmentID).Contains(t.ID) && t.IsAdmin); if (Department == null) { ShowMessage("未查找到对应部门,请联系人事部门或系统管理员"); return; } //如果负责人就是自己,由上级负责人审核? db.Leave.Add(Leave); db.SaveChanges(); LeaveAudit LeaveAudit = new LeaveAudit(); LeaveAudit.LeaveID = Leave.ID; LeaveAudit.SendDate = DateTime.Now; LeaveAudit.UserID = Department.MasterUserID; LeaveAudit.LeaveState = LeaveState.未审核; db.LeaveAudit.Add(LeaveAudit); //添加通知 Notice Notice = new Notice(); Notice.Contenet = "当前有一条请假申请待审核" + "|发起人:" + User.RealName + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:待审核"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = Department.MasterUserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; //Notice.URL = ParaUtils.SiteURL + "/jfz/app/TaskAudit.html?flag=1&id=" + ScoreTask.ID; db.Notice.Add(Notice); new SysLogDAO().AddLog(LogType.操作日志_添加, "发起请假", UserID); db.SaveChanges(); } else { int ReciveUserID = 0; //如果负责人就是自己,由上级负责人审核? db.Leave.Add(Leave); db.SaveChanges(); LeaveAudit LeaveAudit = new LeaveAudit(); if (User.UserLeaveType == UserLeaveType.后勤人员) { //发送给总经理 ReciveUserID = Convert.ToInt32(ddl_AuditUser.SelectedValue); if (db.UserRole.FirstOrDefault(t => t.UserID == ReciveUserID && t.RoleID == db.Role.FirstOrDefault(m => m.Name == "总经理").ID) == null) { ShowMessage("请选择正确的审核人"); return; } LeaveAudit.RoleID = db.Role.FirstOrDefault(t => t.Name == "总经理").ID; } if (User.UserLeaveType == UserLeaveType.车间人员) { //发送给班长 ReciveUserID = Convert.ToInt32(ddl_AuditUser.SelectedValue); if (db.UserRole.FirstOrDefault(t => t.UserID == ReciveUserID && t.RoleID == db.Role.FirstOrDefault(m => m.Name == "主管班长").ID) == null) { ShowMessage("请选择正确的审核人"); return; } LeaveAudit.RoleID = db.Role.FirstOrDefault(t => t.Name == "主管班长").ID; } LeaveAudit.LeaveID = Leave.ID; LeaveAudit.SendDate = DateTime.Now; LeaveAudit.UserID = ReciveUserID; LeaveAudit.LeaveState = LeaveState.未审核; db.LeaveAudit.Add(LeaveAudit); //添加通知 Notice Notice = new Notice(); Notice.Contenet = "当前有一条请假申请待审核" + "|发起人:" + User.RealName + "|请假类型:" + Enum.GetName(typeof(LeaveType), Leave.LeaveType) + "|请假日期:" + Leave.BeginDate.ToString("yyyy-MM-dd") + "至" + Leave.EndDate.ToString("yyyy-MM-dd") + "|请假天数:" + Leave.Day + "|请假描述:" + Leave.Content + "|状态:待审核"; Notice.IsSend = false; Notice.NoticeType = NoticeType.系统通知; Notice.ReciveUserID = ReciveUserID; Notice.SendUserID = UserID; Notice.SourceID = Leave.ID; Notice.SendDate = DateTime.Now; //Notice.URL = ParaUtils.SiteURL + "/jfz/app/TaskAudit.html?flag=1&id=" + ScoreTask.ID; db.Notice.Add(Notice); new SysLogDAO().AddLog(LogType.操作日志_添加, "发起请假", UserID); db.SaveChanges(); } ShowMessage(); } } catch (Exception ex) { ShowMessage(ex.Message); new SysLogDAO().AddLog(LogType.系统日志, ex.Message, UserID); return; } }