/// <summary> /// 根据employeeName、assessCharacterType、status、HRSubmitTime的查找所有的assessActivity /// </summary> public List <Model.AssessActivity> GetAssessActivityByCondition(string employeeName, AssessCharacterType assessCharacterType, AssessStatus status, DateTime?hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, int departmentID, Account loginuser, int power) { List <Model.AssessActivity> assessActivitylist = _AssessActivityDal.GetAssessActivityByCondition(assessCharacterType, status, hrSubmitTimeFrom, hrSubmitTimeTo, finishStatus, scopeFrom, scopeTo); return(GetAssessActivityByEmployeeNameAndPower(assessActivitylist, employeeName, loginuser, power, departmentID)); }
/// <summary> /// /// </summary> public ExportAnualAssessListExcel(string employeeTemplateLocation, string employeeName, DateTime?hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, int departmentID, Account loginuser, int power, AssessStatus assessStatus) { _EmployeeTemplateLocation = employeeTemplateLocation; _AssessActivityList = new GetAssessActivity().GetAssessActivityByCondition(employeeName, AssessCharacterType.Annual, assessStatus, hrSubmitTimeFrom, hrSubmitTimeTo, finishStatus, scopeFrom, scopeTo, departmentID, loginuser, power); PrepareData(); }
private void ConvertFlowToStatus() { if (!_IsSubmit) { return; } if (_AssessStatus == AssessStatus.Interrupt) { return; } if (_AssessActivity.NextStepIndex == -1) { return; } if (_AssessActivity.NextStepIndex >= _AssessActivity.DiyProcess.DiySteps.Count) { _AssessStatus = AssessStatus.Finish; return; } string nextActivityName = _AssessActivity.DiyProcess.DiySteps[_AssessActivity.NextStepIndex].Status; switch (nextActivityName) { case AssessActivityName.HRAssess: _AssessStatus = AssessStatus.HRFilling; break; case AssessActivityName.MyselfAssess: _AssessStatus = AssessStatus.PersonalFilling; break; case AssessActivityName.ManagerAssess: _AssessStatus = AssessStatus.ManagerFilling; break; case AssessActivityName.Approve: _AssessStatus = AssessStatus.ApproveFilling; break; case AssessActivityName.SummarizeCommment: _AssessStatus = AssessStatus.SummarizeCommment; break; default: _AssessStatus = AssessStatus.Interrupt; break; } }
private void SetDefaultValueExceptConstructor() { _AssessActivityPaper = new AssessActivityPaper(ModelUtility.MakeDefaultString()); _PersonalExpectedFinish = ModelUtility.MakeDefaultTime(); _ManagerExpectedFinish = ModelUtility.MakeDefaultTime(); _PersonalGoal = ModelUtility.MakeDefaultString(); _HRConfirmerName = ModelUtility.MakeDefaultString(); _AssessCharacterType = AssessCharacterType.None; _ItsAssessStatus = new AssessStatus(); _AssessProposerName = ModelUtility.MakeDefaultString(); _EmployeeDept = ModelUtility.MakeDefaultString(); _Responsibility = ModelUtility.MakeDefaultString(); }
/// <summary> /// 将AssessStatus枚举转换为文字 /// </summary> public static string GetAssessStatusNameByStatus(AssessStatus assessStatus) { switch (assessStatus) { case AssessStatus.HRComfirming: { return("待人事确认"); } case AssessStatus.HRFilling: { return("待人事填写"); } case AssessStatus.PersonalFilling: { return("待个人填写"); } case AssessStatus.ManagerFilling: { return("待主管填写"); } case AssessStatus.ApproveFilling: { return("待批阅"); } case AssessStatus.SummarizeCommment: { return("待终结评语"); } case AssessStatus.Finish: { return("结束"); } case AssessStatus.Interrupt: { return("中断"); } default: { return(""); } } }
public void BindAssessActivity(object source, EventArgs e) { if (Validation()) { DateTime dttemp; DateTime?dtHRSubmitTimeFrom = null; DateTime?dtHRSubmitTimeTo = null; DateTime?dtScopeFrom = null; DateTime?dtScopeTo = null; dtHRSubmitTimeFrom = DateTime.TryParse(_View.HRSubmitTimeFrom, out dttemp) ? dttemp : dtHRSubmitTimeFrom; dtHRSubmitTimeTo = DateTime.TryParse(_View.HRSubmitTimeTo, out dttemp) ? dttemp : dtHRSubmitTimeTo; dtScopeFrom = DateTime.TryParse(_View.ScopeTimeFrom, out dttemp) ? dttemp : dtScopeFrom; dtScopeTo = DateTime.TryParse(_View.ScopeTimeTo, out dttemp) ? dttemp : dtScopeTo; try { AssessCharacterType assessCharacterType = (AssessCharacterType)Convert.ToInt32(_View.CharacterType); AssessStatus assessStatus = (AssessStatus)Convert.ToInt32(_View.StatusType); //_View.AssessActivitysToList = // InstanceFactory.AssessActivityFacade().GetAssessActivityByCondition(_View.EmployeeName, // assessCharacterType, // assessStatus, // dtHRSubmitTimeFrom, // dtHRSubmitTimeTo, // _View.FinishStatus, // dtScopeFrom, dtScopeTo, // _View.DepartmentID, LoginUser, // HrmisPowers.A705); _View.AssessActivitysToList = AssessActivityLogic.GetAssessActivityByCondition(_View.EmployeeName, assessCharacterType, assessStatus, dtHRSubmitTimeFrom, dtHRSubmitTimeTo, _View.FinishStatus, dtScopeFrom, dtScopeTo, _View.DepartmentID, LoginUser, HrmisPowers.A705, "", _View.pagerEntity); _View.Message = "<span class='font14b'>共查到 </span>" + "<span class='fontred'>" + _View.AssessActivitysToList.Count + "</span>" + "<span class='font14b'> 个绩效考核活动</span>"; } catch (ApplicationException ex) { _View.Message = "<span class='fontred'>" + ex.Message + "</span>"; } } }
public static List <AssessActivity> GetAssessActivityByCondition(string employeeName, AssessCharacterType assessCharacterType, AssessStatus status, DateTime?hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, int departmentID, Account loginuser, int power, string assessCharacter, PagerEntity pagerEntity) { var assessActivitylist = AssessActiveityDA.GetAssessActivityByCondition(assessCharacterType, status, hrSubmitTimeFrom, hrSubmitTimeTo, finishStatus, scopeFrom, scopeTo, assessCharacter); var assessActivities = assessActivitylist.Select(AssessActivityEntity.Convert).ToList(); var ans = GetAssessActivityByEmployeeNameAndPower(assessActivities, employeeName, loginuser, power, departmentID); BindItemInfo(pagerEntity, ans); return(ans); }
public MemoryStream ExportAnnualAssessAll(string employeeTemplateLocation) { if (Validation()) { DateTime dttemp; DateTime?dtHRSubmitTimeFrom = null; DateTime?dtHRSubmitTimeTo = null; DateTime?dtScopeFrom = null; DateTime?dtScopeTo = null; dtHRSubmitTimeFrom = DateTime.TryParse(_View.HRSubmitTimeFrom, out dttemp) ? dttemp : dtHRSubmitTimeFrom; dtHRSubmitTimeTo = DateTime.TryParse(_View.HRSubmitTimeTo, out dttemp) ? dttemp : dtHRSubmitTimeTo; dtScopeFrom = DateTime.TryParse(_View.ScopeTimeFrom, out dttemp) ? dttemp : dtScopeFrom; dtScopeTo = DateTime.TryParse(_View.ScopeTimeTo, out dttemp) ? dttemp : dtScopeTo; AssessStatus assessStatus = (AssessStatus)Convert.ToInt32(_View.StatusType); return (InstanceFactory.AssessActivityFacade().ExportAnualAssessListExcel(employeeTemplateLocation, _View.EmployeeName, dtHRSubmitTimeFrom, dtHRSubmitTimeTo, _View.FinishStatus, dtScopeFrom, dtScopeTo, _View.DepartmentID, LoginUser, HrmisPowers.A705, assessStatus)); } return(null); }
public static List <AssessActivityEntity> GetAssessActivityByCondition(AssessCharacterType assessCharacterType, AssessStatus status, DateTime? hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, string assessCharacter) { using (var dataOperator = new DataOperator(SqlHelper.HrmisConnectionString)) { dataOperator.CommandText = @"SELECT A.* FROM TAssessActivity A with(nolock) WHERE 1=1 and A.PKID in ( SELECT AssessActivityID FROM TAssessActivityPaper C with(nolock) WHERE 1=1 " ; if (hrSubmitTimeFrom != null) { dataOperator.CommandText += " and c.SubmitTime>=@HRSubmitTimeFrom"; dataOperator.SetParameter("@HRSubmitTimeFrom", hrSubmitTimeFrom.GetValueOrDefault().Date, SqlDbType.DateTime); } if (hrSubmitTimeTo != null) { dataOperator.CommandText += " and c.SubmitTime<@HRSubmitTimeTo"; dataOperator.SetParameter("@HRSubmitTimeTo", hrSubmitTimeTo.Value.AddDays(1).Date, SqlDbType.DateTime); } dataOperator.CommandText += " )"; if (!string.IsNullOrEmpty(assessCharacter)) { dataOperator.CommandText += " and A.AssessCharacter" + assessCharacter; } if ((int)assessCharacterType != -1) { dataOperator.CommandText += " AND A.AssessCharacter=@AssessCharacter"; dataOperator.SetParameter("@AssessCharacter", assessCharacterType, SqlDbType.Int); } if ((int)status != -1) { dataOperator.CommandText += " AND A.AssessStatus=@AssessStatus"; dataOperator.SetParameter("@AssessStatus", status, SqlDbType.Int); } if (finishStatus != -1) { if (finishStatus == 0) { dataOperator.CommandText += " and A.AssessStatus not in (6,7)"; } else { dataOperator.CommandText += " and A.AssessStatus in (6,7)"; } } if (scopeFrom != null) { dataOperator.CommandText += " AND A.ScopeFrom>=@ScopeFrom"; dataOperator.SetParameter("@ScopeFrom", scopeFrom.GetValueOrDefault().Date, SqlDbType.DateTime); } if (scopeTo != null) { dataOperator.CommandText += " AND A.ScopeTo<@ScopeTo"; dataOperator.SetParameter("@ScopeTo", scopeTo.Value.AddDays(1).Date, SqlDbType.DateTime); } dataOperator.CommandText += " ORDER BY A.PKID DESC "; return(dataOperator.ExecuteEntityList <AssessActivityEntity>()); } }
public MemoryStream ExportAnualAssessListExcel(string employeeTemplateLocation, string employeeName, DateTime?hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, int departmentID, Account loginuser, int power, AssessStatus assessStatus) { return (new ExportAnualAssessListExcel(employeeTemplateLocation, employeeName, hrSubmitTimeFrom, hrSubmitTimeTo, finishStatus, scopeFrom, scopeTo, departmentID, loginuser, power, assessStatus).Excute()); }
public List <AssessActivity> GetContractAssessActivityByCondition(string employeeName, AssessCharacterType assessCharacterType, AssessStatus status, DateTime?hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo, int departmentID, Account loginuser, int power) { return(new GetAssessActivity().GetContractAssessActivityByCondition(employeeName, assessCharacterType, status, hrSubmitTimeFrom, hrSubmitTimeTo, finishStatus, scopeFrom, scopeTo, departmentID, loginuser, power)); }
/// <summary> /// 构造考核状态数据字典 /// </summary> public static void AddAssessStatusAndNameIntoDictionary(Dictionary <string, string> dictionaryData, AssessStatus assessStatus) { dictionaryData.Add(((int)assessStatus).ToString(), GetAssessStatusNameByStatus(assessStatus)); }
/// <summary> /// 查找employee的状态为status的所有的assessActivity /// </summary> public List <AssessActivity> GetAssessActivityByEmployeeStatus(int employeeID, AssessStatus status) { List <AssessActivity> retList = new List <AssessActivity>(); SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add(_EmployeeID, SqlDbType.Int).Value = employeeID; cmd.Parameters.Add(_AssessActivityStatus, SqlDbType.Int).Value = status; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAssessActivityByEmployeeStatus", cmd)) { while (sdr.Read()) { AssessActivity assessActivity = new AssessActivity(); //rechieve from its main table assessActivity.AssessActivityID = Convert.ToInt32(sdr[_DbPKID]); assessActivity.ItsEmployee = RechieveEmployee((int)sdr[_DbEmployeeID]); assessActivity.AssessCharacterType = (AssessCharacterType)sdr[_DbAssessCharacter]; assessActivity.ItsAssessStatus = (AssessStatus)sdr[_DbAssessStatus]; assessActivity.ScopeFrom = Convert.ToDateTime(sdr[_DbScopeFrom]); assessActivity.ScopeTo = Convert.ToDateTime(sdr[_DbScopeTo]); assessActivity.PersonalGoal = sdr[_DbPersonalGoal].ToString(); assessActivity.AssessProposerName = sdr[_DbAssessProposerName].ToString(); assessActivity.Intention = sdr[_DbIntention].ToString();// RechieveIntention(sdr[_DbIntention].ToString()); assessActivity.Reason = sdr[_DbReason].ToString(); assessActivity.HRConfirmerName = sdr[_DbHRConfirmerName].ToString(); assessActivity.PersonalExpectedFinish = Convert.ToDateTime(sdr[_DbPersonalExpectedFinish]); assessActivity.ManagerExpectedFinish = Convert.ToDateTime(sdr[_DbManagerExpectedFinish]); assessActivity.ItsAssessActivityPaper = RechievePaper(sdr[_DbPaperName].ToString(), (decimal)sdr[_DbScore]); assessActivity.EmployeeDept = sdr[_DbEmployeeDept].ToString(); assessActivity.Responsibility = sdr[_DbResponsibility].ToString(); assessActivity.NextStepIndex = Convert.ToInt32(sdr[_DBNextStepIndex]); assessActivity.DiyProcess = DiyProcessDal.ConvertToObject(sdr[_DbDiyProcess].ToString()); if (sdr[_DbIfEmployeeVisible].ToString() == "1") { assessActivity.IfEmployeeVisible = true; } retList.Add(assessActivity); } } return(retList); }
private List <Model.AssessActivity> GetActivitysByStatusAndOperAccountId(int accountId, AssessStatus status) { List <Model.AssessActivity> retVal = new List <Model.AssessActivity>(); List <Model.AssessActivity> employeeAssessActivitys = AssessActivityLogic.GetAssessActivityByEmployeeStatus(-1, status); foreach (Model.AssessActivity item in employeeAssessActivitys) { Account operAccount = GetDiyStepAccount(item.ItsEmployee.Account.Id, item.DiyProcess.DiySteps[item.NextStepIndex]); if (operAccount == null) { //mail通知人事 List <Account> accounts = new GetDiyProcess().GetHRPrincipalByAccountID(item.ItsEmployee.Account.Id); if (accounts != null && accounts.Count > 0) { List <List <string> > mails = BllUtility.GetEmailsByAccountIds(accounts); MailBody mailBody = new MailBody(); mailBody.Subject = "绩效考核流程中断"; StringBuilder sbMailBody = new StringBuilder(item.ItsEmployee.Account.Name); sbMailBody.Append("的"); sbMailBody.Append( AssessActivityUtility.GetCharacterNameByType(item.AssessCharacterType)); sbMailBody.Append("未能找到下一步处理人,被系统自动中断!"); mailBody.Body = sbMailBody.ToString(); if (mails[0].Count > 0) { mailBody.MailTo = mails[0]; } if (mails[1].Count > 0) { mailBody.MailCc = mails[1]; } if (mails[0].Count > 0 || mails[1].Count > 0) { BllInstance.MailGateWayBllInstance.Send(mailBody); } } new InterruptActivity(item.AssessActivityID).Excute(); continue; } if (operAccount.Id == accountId) { retVal.Add(item); } } return(retVal); }
public static List <AssessActivityEntity> GetAssessActivityByEmployeeStatus(int EmployeeID, AssessStatus Status) { using (var dataOperator = new DataOperator(SqlHelper.HrmisConnectionString)) { dataOperator.CommandText = @" Select PKID,AssessEmployeeID,AssessCharacter,AssessStatus,ScopeFrom,ScopeTo, PersonalGoal,Reason,AssessProposerName,Intention,HRConfirmerName, PersonalExpectedFinish,ManagerExpectedFinish,PaperName,Score,EmployeeDept,Responsibility, DiyProcess,NextStepIndex,IfEmployeeVisible FROM TAssessActivity WHERE AssessStatus=@AssessStatus "; dataOperator.SetParameter("@AssessStatus", (int)Status, SqlDbType.Int); if (EmployeeID > 0) { dataOperator.CommandText += " and AssessEmployeeID=@EmployeeID"; dataOperator.SetParameter("@EmployeeID", EmployeeID, SqlDbType.Int); } dataOperator.CommandText += " ORDER BY PKID DESC "; return(dataOperator.ExecuteEntityList <AssessActivityEntity>()); } }
public static List <AssessActivity> GetAssessActivityByEmployeeStatus(int EmployeeID, AssessStatus Status) { var assessActivitylist = AssessActiveityDA.GetAssessActivityByEmployeeStatus(EmployeeID, Status); var list = assessActivitylist.Select(AssessActivityEntity.Convert).ToList(); var ids = list.Select(x => x.AssessActivityID).ToList(); var items = AssessActivityItemDA.GetByAssessActivityIDs(ids); var papers = AssessActivityPaperDA.GetByAssessActivityIDs(ids); for (var i = 0; i < list.Count; i++) { list[i].ItsAssessActivityPaper.SubmitInfoes = papers.Where(x => x.AssessActivityID == list[i].AssessActivityID).Select(AssessActivityPaperEntity.Convert).ToList(); foreach (var submitInfoe in list[i].ItsAssessActivityPaper.SubmitInfoes) { submitInfoe.ItsAssessActivityItems = new List <AssessActivityItem>(); submitInfoe.ItsAssessActivityItems.AddRange(items.Where(x => x.AssessActivityPaperID == submitInfoe.SubmitInfoID).Select(AssessActivityItemEntity.Convert).ToList()); } } foreach (AssessActivity activity in list) { activity.ItsEmployee.Account = BllInstance.AccountBllInstance.GetAccountById(activity.ItsEmployee.Account.Id); } return(list); }
/// <summary> /// 根据employeeName、assessCharacterType、status、HRSubmitTime的查找所有的assessActivity /// </summary> /// <param name="assessCharacterType"></param> /// <param name="status"></param> /// <param name="hrSubmitTimeFrom"></param> /// <param name="hrSubmitTimeTo"></param> /// <returns></returns> /// <param name="finishStatus"></param> /// <param name="scopeFrom"></param> /// <param name="scopeTo"></param> public List <AssessActivity> GetContractAssessActivityByCondition(AssessCharacterType assessCharacterType, AssessStatus status, DateTime? hrSubmitTimeFrom, DateTime?hrSubmitTimeTo, int finishStatus, DateTime?scopeFrom, DateTime?scopeTo) { List <AssessActivity> assessActivityList = new List <AssessActivity>(); SqlCommand cmd = new SqlCommand(); //cmd.Parameters.Add(_EmployeeName, SqlDbType.NVarChar).Value = employeeName; cmd.Parameters.Add(_AssessCharacter, SqlDbType.Int).Value = assessCharacterType; cmd.Parameters.Add(_AssessActivityStatus, SqlDbType.Int).Value = status; cmd.Parameters.Add(_FinishStatus, SqlDbType.Int).Value = finishStatus; if (hrSubmitTimeFrom.HasValue) { cmd.Parameters.Add(_HRSubmitTimeFrom, SqlDbType.DateTime).Value = hrSubmitTimeFrom.Value; } else { cmd.Parameters.Add(_HRSubmitTimeFrom, SqlDbType.DateTime).Value = DBNull.Value; } if (hrSubmitTimeTo.HasValue) { cmd.Parameters.Add(_HRSubmitTimeTo, SqlDbType.DateTime).Value = hrSubmitTimeTo.Value; } else { cmd.Parameters.Add(_HRSubmitTimeTo, SqlDbType.DateTime).Value = DBNull.Value; } if (scopeFrom.HasValue) { cmd.Parameters.Add(_ScopeFrom, SqlDbType.DateTime).Value = scopeFrom.Value; } else { cmd.Parameters.Add(_ScopeFrom, SqlDbType.DateTime).Value = DBNull.Value; } if (scopeTo.HasValue) { cmd.Parameters.Add(_ScopeTo, SqlDbType.DateTime).Value = scopeTo.Value; } else { cmd.Parameters.Add(_ScopeTo, SqlDbType.DateTime).Value = DBNull.Value; } using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetContractAssessActivityByCondition", cmd)) { while (sdr.Read()) { int assessActivityId = (int)sdr[_DbPKID]; assessActivityList.Add(GetAssessActivityById(assessActivityId)); } } return(assessActivityList); }