Exemplo n.º 1
0
        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 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>";
                }
            }
        }
Exemplo n.º 3
0
        public void BindAssessActivity(object sender, EventArgs e)
        {
            List <Model.AssessActivity> list =
                AssessActivityLogic.GetAssessActivityByEmployeeStatus(-1, AssessStatus.HRFilling);

            for (int i = list.Count - 1; i >= 0; i--)
            {
                Account operAccount =
                    InstanceFactory.AssessActivityFacade().GetDiyStepAccount(list[i].ItsEmployee.Account.Id,
                                                                             list[i].DiyProcess.DiySteps[
                                                                                 list[i].NextStepIndex]);
                if (operAccount == null)
                {
                    InstanceFactory.AssessActivityFacade().InterruptActivity(list[i].AssessActivityID);
                    list.RemoveAt(i);
                }
                else if (operAccount.Id != LoginUser.Id)
                {
                    list.RemoveAt(i);
                }
            }
            _View.AssessActivitys = list;
        }
        private List <Model.AssessActivity> GetHrFillActivitys(Account loginUser)
        {
            List <Model.AssessActivity> list =
                AssessActivityLogic.GetAssessActivityByEmployeeStatus(-1, AssessStatus.HRFilling);

            for (int i = list.Count - 1; i >= 0; i--)
            {
                Account operAccount =
                    InstanceFactory.AssessActivityFacade().GetDiyStepAccount(list[i].ItsEmployee.Account.Id,
                                                                             list[i].DiyProcess.DiySteps[
                                                                                 list[i].NextStepIndex]);
                if (operAccount == null)
                {
                    InstanceFactory.AssessActivityFacade().InterruptActivity(list[i].AssessActivityID);
                    list.RemoveAt(i);
                }
                else if (operAccount.Id != loginUser.Id)
                {
                    list.RemoveAt(i);
                }
            }
            return(list);
        }
Exemplo n.º 5
0
 /// <summary>
 /// 查询当前登录人作为员工的身份需要填写的考评
 /// </summary>
 public List <Model.AssessActivity> GetEmployeeFillActivitys(int currentEmployeeId)
 {
     return(AssessActivityLogic.GetAssessActivityByEmployeeStatus(currentEmployeeId, AssessStatus.PersonalFilling));
 }
Exemplo n.º 6
0
 private void  BindAssessActivity(object sender, EventArgs e)
 {
     _ItsView.AssessActivitys =
         AssessActivityLogic.GetAssessActivityByEmployeeStatus(-1, AssessStatus.HRComfirming);
 }
 public void BindAssessActivity(object sender, EventArgs e)
 {
     _View.AssessActivitys = AssessActivityLogic.GetAssessActivityHistoryByEmployeeName(LoginUser.Name, _View.pagerEntity);
 }