protected void Page_Load(object sender, EventArgs e) { int AccountID = Convert.ToInt32(SecurityUtil.DECDecrypt(Request.QueryString["accountId"])); Account account = BllInstance.AccountBllInstance.GetAccountById(AccountID); int PositionAppID = Convert.ToInt32(SecurityUtil.DECDecrypt(Request.QueryString["Id"])); bool allover = false; PositionApplication pa = _Facade.GetPositionApplicationByPKID(PositionAppID); if (RequestStatus.CanApproveStatus(pa.Status)) { RequestStatus rs = RequestStatus.ApprovePass; if (pa.Status.Id == RequestStatus.Cancelled.Id) { rs = RequestStatus.ApproveCancelPass; } _Facade.ApprovePositionApplication(pa, AccountID, rs, (account != null && account.Name != null ? account.Name : "") + "邮件通过"); } else { lblMessage.Text = "该申请已经审核完毕,无法再次审核"; } }
private static void FetchChildren(IDataReader sdr, PositionApplication positionApplication) { sdr.NextResult(); positionApplication.Position.Nature = new List <PositionNature>(); while (sdr.Read()) { PositionNature positionNature = new PositionNature(); positionNature.Pkid = (int)sdr["PositionNatureID"]; positionApplication.Position.Nature.Add(positionNature); } sdr.NextResult(); positionApplication.Position.Departments = new List <Department>(); while (sdr.Read()) { positionApplication.Position.Departments.Add(new Department((int)sdr["DeptID"], "")); } sdr.NextResult(); positionApplication.Position.Members = new List <Account>(); while (sdr.Read()) { positionApplication.Position.Members.Add(new Account((int)sdr["AccountID"], "", "")); } }
private static PositionApplication FetchObject(IDataRecord sdr) { PositionApplication positionApplication = new PositionApplication(); positionApplication.PKID = (int)sdr["PKID"]; positionApplication.Account = new Account((int)sdr["Applicant"], "", ""); positionApplication.IsPublish = (int)sdr["IsPublish"]; positionApplication.Type = AppType.FindAppType((int)sdr["Type"]); positionApplication.Status = RequestStatus.FindRequestStatus((int)sdr["Status"]); positionApplication.NextStep = new DiyStep((int)sdr["NextStep"]); positionApplication.DiyProcess = DiyProcess.ConvertToObject(sdr["DiyProcess"].ToString()); positionApplication.Position = new Position((int)sdr["PositionID"], sdr["PositionName"].ToString(), new PositionGrade((int)sdr["LevelId"], "", "")); positionApplication.Position.Description = sdr["PositionDescription"].ToString(); positionApplication.Position.Summary = sdr["Summary"].ToString(); positionApplication.Position.MainDuties = sdr["MainDuties"].ToString(); positionApplication.Position.ReportScope = sdr["ReportScope"].ToString(); positionApplication.Position.ControlScope = sdr["ControlScope"].ToString(); positionApplication.Position.Coordination = sdr["Coordination"].ToString(); positionApplication.Position.Authority = sdr["Authority"].ToString(); positionApplication.Position.Education = sdr["Education"].ToString(); positionApplication.Position.ProfessionalBackground = sdr["ProfessionalBackground"].ToString(); positionApplication.Position.WorkExperience = sdr["WorkExperience"].ToString(); positionApplication.Position.Qualification = sdr["Qualification"].ToString(); positionApplication.Position.Competence = sdr["Competence"].ToString(); positionApplication.Position.OtherRequirements = sdr["OtherRequirements"].ToString(); positionApplication.Position.KnowledgeAndSkills = sdr["KnowledgeAndSkills"].ToString(); positionApplication.Position.RelatedProcesses = sdr["RelatedProcesses"].ToString(); positionApplication.Position.ManagementSkills = sdr["ManagementSkills"].ToString(); positionApplication.Position.AuxiliarySkills = sdr["AuxiliarySkills"].ToString(); return(positionApplication); }
/// <summary> /// /// </summary> protected override void Validation() { _PositionApplication = _PositionApplicationDal.GetPositionApplicationByPKID(_PositionApplicationID); //判断信息是否为空 if (_PositionApplication == null) { HrmisUtility.ThrowException(HrmisUtility._PositionApplication_Not_Exit); } else { //判断该账号是否有流程 _PositionApplication.DiyProcess = _DalEmployeeDiyProcess.GetDiyProcessByProcessTypeAndAccountID(ProcessType.PositionApp, _PositionApplication.Account.Id); if (_PositionApplication.DiyProcess == null) { HrmisUtility.ThrowException(HrmisUtility._No_PositionApplication_DiyProcess); } //如果信息状态不是取消或提交状态,不能取消 if (!RequestStatus.CanCancelStatus(_PositionApplication.Status)) { HrmisUtility.ThrowException(HrmisUtility._PositionApplication_CanNot_BeCancled); } } }
private static void AddInsertParameters(SqlCommand cm, PositionApplication positionApplication) { cm.Parameters.AddWithValue("@Applicant", positionApplication.Account.Id); cm.Parameters.AddWithValue("@IsPublish", positionApplication.IsPublish); cm.Parameters.AddWithValue("@Type", positionApplication.Type.Id); cm.Parameters.AddWithValue("@Status", positionApplication.Status.Id); cm.Parameters.AddWithValue("@NextStep", positionApplication.NextStep.DiyStepID); cm.Parameters.AddWithValue("@DiyProcess", DiyProcess.ConvertToString(positionApplication.DiyProcess)); cm.Parameters.AddWithValue("@PositionID", positionApplication.Position.Id); cm.Parameters.AddWithValue("@PositionName", positionApplication.Position.Name); cm.Parameters.AddWithValue("@PositionDescription", positionApplication.Position.Description); cm.Parameters.AddWithValue("@LevelId", positionApplication.Position.Grade.Id); cm.Parameters.AddWithValue("@Summary", positionApplication.Position.Summary); cm.Parameters.AddWithValue("@MainDuties", positionApplication.Position.MainDuties); cm.Parameters.AddWithValue("@ReportScope", positionApplication.Position.ReportScope); cm.Parameters.AddWithValue("@ControlScope", positionApplication.Position.ControlScope); cm.Parameters.AddWithValue("@Coordination", positionApplication.Position.Coordination); cm.Parameters.AddWithValue("@Authority", positionApplication.Position.Authority); cm.Parameters.AddWithValue("@Education", positionApplication.Position.Education); cm.Parameters.AddWithValue("@ProfessionalBackground", positionApplication.Position.ProfessionalBackground); cm.Parameters.AddWithValue("@WorkExperience", positionApplication.Position.WorkExperience); cm.Parameters.AddWithValue("@Qualification", positionApplication.Position.Qualification); cm.Parameters.AddWithValue("@Competence", positionApplication.Position.Competence); cm.Parameters.AddWithValue("@OtherRequirements", positionApplication.Position.OtherRequirements); cm.Parameters.AddWithValue("@KnowledgeAndSkills", positionApplication.Position.KnowledgeAndSkills); cm.Parameters.AddWithValue("@RelatedProcesses", positionApplication.Position.RelatedProcesses); cm.Parameters.AddWithValue("@ManagementSkills", positionApplication.Position.ManagementSkills); cm.Parameters.AddWithValue("@AuxiliarySkills", positionApplication.Position.AuxiliarySkills); }
/// <summary> /// /// </summary> /// <param name="positionApplicationID"></param> /// <param name="currentStepAccountlist"></param> /// <param name="nextStep"></param> public PositionApplicationCancelMail(int positionApplicationID, List <string> currentStepAccountlist, DiyStep nextStep) { _PositionApplication = new GetPositionApplication().GetPositionApplicationByPKID(positionApplicationID); _PositionApplication.Account = _AccountBll.GetAccountById(_PositionApplication.Account.Id); _NextStep = nextStep; _CurrentStepAccountlist = currentStepAccountlist; }
/// <summary> /// /// </summary> public UpdatePositionApplication(PositionApplication positionApplication, bool ifSubmit) { _PositionApplication = positionApplication; _IfSubmit = ifSubmit; _OldPositionApplication = _PositionApplicationDal.GetPositionApplicationByPKID(_PositionApplication.PKID); }
public PositionApplicationViewModel(PositionApplicationFlow positionApplicationFlow) { _PositionApplicationFlow = positionApplicationFlow; _PositionApplication = _PositionApplicationFlow.Detail ?? new PositionApplication(); _Position = _PositionApplication.Position ?? new Position(); _PKID = _PositionApplicationFlow.PKID.ToString(); }
/// <summary> /// /// </summary> /// <param name="positionApplication"></param> /// <param name="nextStep"></param> /// <returns></returns> public Account GetMailToAccount(PositionApplication positionApplication, DiyStep nextStep) { int accountID = new GetPositionApplication().ChangeOperatorToEmployee(positionApplication, nextStep); Account account = _AccountBll.GetAccountById(accountID); return(account); }
/// <summary> /// /// </summary> protected override void Validation() { _PositionApplication = _PositionApplicationDal.GetPositionApplicationByPKID(_PositionApplicationID); if (_PositionApplication == null) { HrmisUtility.ThrowException(HrmisUtility._PositionApplication_Not_Exit); } }
public string ApprovePositionApplication(PositionApplication positionApplication, int operatorID, RequestStatus requestStatus, string reason) { ApprovePositionApplication approveWholeLeaveRequest = new ApprovePositionApplication(positionApplication, operatorID, requestStatus, reason); approveWholeLeaveRequest.Excute(); return(approveWholeLeaveRequest.ResultMessage); }
/// <summary> /// 取消 /// </summary> public ApprovePositionApplication(PositionApplication positionApplication, int operatorID, RequestStatus requestStatus, string reason) { _PositionApplication = positionApplication; _RequestStatus = requestStatus; _Reason = reason; _OperatorID = operatorID; }
/// <summary> /// /// </summary> /// <param name="positionApplicationID"></param> /// <param name="cclist"></param> /// <param name="diyProcesslist"></param> /// <param name="nextStep"></param> public PositionApplicationSubmitMail(int positionApplicationID, List <Account> cclist, List <string> diyProcesslist, DiyStep nextStep) { _PositionApplication = new GetPositionApplication().GetPositionApplicationByPKID(positionApplicationID); _PositionApplication.Account = _AccountBll.GetAccountById(_PositionApplication.Account.Id); _CCList = cclist; _DiyProcesslist = diyProcesslist; _NextStep = nextStep; }
public PositionApplicationViewModel(PositionApplication positionApplication) { _PositionApplicationFlow = new PositionApplicationFlow(0, 0, new Account(-9, "", ""), DateTime.Now, RequestStatus.Approving, "", null); _PositionApplication = positionApplication; _PKID = positionApplication.PKID.ToString(); _Position = _PositionApplication.Position ?? new Position(); }
private static byte[] EncryptFlowDetail(PositionApplication pa) { MemoryStream ms = new MemoryStream(); new BinaryFormatter().Serialize(ms, pa); byte[] bt = ms.ToArray(); ms.Close(); return(bt); }
/// <summary> /// 审核 /// </summary> public void ConfirmOperationMail(PositionApplication positionApplication, int currentAccountID, DiyStep currentStep, DiyStep nextStep) { Account mailToAccount = new MailAndPhoneUtility().GetMailToAccount(positionApplication, nextStep); if (nextStep.DiyStepID == 0 || nextStep.Status == "取消") { _PositionApplicationMail.SendConfirmOverMail(positionApplication.PKID, currentStep); } else if (mailToAccount != null) { _PositionApplicationMail.SendMailToNextOperator(positionApplication.PKID, mailToAccount); } }
private void AddPositionApp() { List <Performance.Error> errors = new List <Performance.Error>(); try { PositionApplication positionApplication = new PositionApplication(); int i; if (!string.IsNullOrEmpty(_Context.Request.Params["dialogAppType"]) && int.TryParse(_Context.Request.Params["dialogAppType"], out i)) { positionApplication.Type = AppType.FindAppType(i); } else { positionApplication.Type = AppType.All; } if (!string.IsNullOrEmpty(_Context.Request.Params["dialogRequestStatus"]) && int.TryParse(_Context.Request.Params["dialogRequestStatus"], out i)) { positionApplication.Status = RequestStatus.FindRequestStatus(i); } else { positionApplication.Status = RequestStatus.New; } positionApplication.IsPublish = 0; positionApplication.Position = new Position(); PositionDataBind(positionApplication.Position); positionApplication.Account = _Operator; if (positionApplication.Status.Id == RequestStatus.Submit.Id) { InstanceFactory.CreatePositionApplicationFacade().SubmitPositionApplication(positionApplication); } else { InstanceFactory.CreatePositionApplicationFacade().AddPositionApplication(positionApplication); } } catch (Exception e) { errors.Add(new Performance.Error("dialoglblMessage", e.Message)); } _ResponseString = string.Format("{{\"error\":{0}}}", JsonConvert.SerializeObject(errors)); }
private void GetPositionApplicationMoreInfo(PositionApplication PositionApplication) { if (PositionApplication != null && PositionApplication.Position != null && PositionApplication.Position.Grade != null) { PositionApplication.Position.Grade = BllInstance.PositionBllInstance.GetPositionGradeById(PositionApplication.Position.Grade.Id, null); } if (PositionApplication != null && PositionApplication.Position != null && PositionApplication.Position.Nature != null) { for (int i = 0; i < PositionApplication.Position.Nature.Count; i++) { PositionApplication.Position.Nature[i] = BllInstance.PositionBllInstance.GetPositionNatureById( PositionApplication.Position.Nature[i].Pkid); } } if (PositionApplication != null && PositionApplication.Position != null && PositionApplication.Position.Departments != null) { for (int i = 0; i < PositionApplication.Position.Departments.Count; i++) { PositionApplication.Position.Departments[i] = BllInstance.DepartmentBllInstance.GetDepartmentById( PositionApplication.Position.Departments[i].Id, null); } } if (PositionApplication != null && PositionApplication.Position != null && PositionApplication.Position.Members != null) { for (int i = 0; i < PositionApplication.Position.Members.Count; i++) { PositionApplication.Position.Members[i] = BllInstance.AccountBllInstance.GetAccountById(PositionApplication.Position.Members[i].Id); } } }
private void GetPositionAppByID() { List <Performance.Error> errors = new List <Performance.Error>(); PositionApplicationViewModel pavm = null; try { PositionApplication pa = InstanceFactory.CreatePositionApplicationFacade().GetPositionApplicationByPKID( Convert.ToInt32(_Context.Request.Params["Pkid"])); pavm = new PositionApplicationViewModel(pa); } catch (Exception e) { errors.Add(new Performance.Error("lblMessage", e.Message)); } _ResponseString = string.Format("{{\"item\":{0},\"error\":{1}}}", JsonConvert.SerializeObject(pavm), JsonConvert.SerializeObject(errors)); }
public List <PositionApplication> GetConfirmPositionApplication() { List <PositionApplication> iRet = new List <PositionApplication>(); SqlCommand cmd = new SqlCommand(); using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetConfirmPositionApplication", cmd)) { while (sdr.Read()) { PositionApplication positionApplication = FetchObject(sdr); if (positionApplication.DiyProcess != null) { positionApplication.CurrentStep = positionApplication.DiyProcess.FindStep(positionApplication.NextStep.DiyStepID); } iRet.Add(positionApplication); } } return(iRet); }
public int InsertPositionApplicationFlow(PositionApplicationFlow flow) { int pkid; SqlCommand cmd = new SqlCommand(); cmd.Parameters.AddWithValue("@PositionAppID", flow.PositionApplicationID); cmd.Parameters.AddWithValue("@OperatorID", flow.Account.Id); cmd.Parameters.AddWithValue("@Operation", flow.Status.Id); cmd.Parameters.AddWithValue("@OperationTime", flow.OperationTime); cmd.Parameters.AddWithValue("@Remark", flow.Remark); PositionApplication pa = new PositionApplication(); if (flow.Detail != null && flow.Detail.Position != null) { pa.Position = flow.Detail.Position; } cmd.Parameters.AddWithValue("@Detail", EncryptFlowDetail(pa)); cmd.Parameters.Add("@PKID", SqlDbType.Int).Direction = ParameterDirection.Output; SqlHelper.ExecuteNonQueryReturnPKID("InsertPositionApplicationFlow", cmd, out pkid); return(pkid); }
private void UpdatePositionApp() { List <Performance.Error> errors = new List <Performance.Error>(); try { PositionApplication PositionApplication = InstanceFactory.CreatePositionApplicationFacade().GetPositionApplicationByPKID( Convert.ToInt32(_Context.Request.Params["Pkid"])); int i; if (!string.IsNullOrEmpty(_Context.Request.Params["dialogRequestStatus"]) && int.TryParse(_Context.Request.Params["dialogRequestStatus"], out i)) { PositionApplication.Status = RequestStatus.FindRequestStatus(i); } else { PositionApplication.Status = RequestStatus.New; } PositionApplication.IsPublish = 0; PositionApplication.Position = PositionApplication.Position ?? new Position(); PositionApplication.Position.Departments = new List <Department>(); PositionApplication.Position.Members = new List <Account>(); PositionApplication.Position.Nature = new List <PositionNature>(); PositionDataBind(PositionApplication.Position); if (PositionApplication.Status.Id == RequestStatus.Submit.Id) { InstanceFactory.CreatePositionApplicationFacade().UpdateSubmitPositionApplication(PositionApplication); } else { InstanceFactory.CreatePositionApplicationFacade().UpdatePositionApplication(PositionApplication); } } catch (Exception e) { errors.Add(new Performance.Error("dialoglblMessage", e.Message)); } _ResponseString = string.Format("{{\"error\":{0}}}", JsonConvert.SerializeObject(errors)); }
public PositionApplication GetPositionApplicationByPKID(int PositionApplicationID) { SqlCommand cmd = new SqlCommand(); cmd.Parameters.Add("@PKID", SqlDbType.Int).Value = PositionApplicationID; using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetPositionApplication", cmd)) { while (sdr.Read()) { PositionApplication positionApplication = FetchObject(sdr); if (positionApplication.DiyProcess != null) { positionApplication.CurrentStep = positionApplication.DiyProcess.FindStep(positionApplication.NextStep.DiyStepID); } FetchChildren(sdr, positionApplication); positionApplication.PositionApplicationFlowList = GetPositionApplicationFlowByPositionApplicationID(PositionApplicationID); return(positionApplication); } return(null); } }
public PositionApplication GetPositionApplicationByPKID(int pkid) { PositionApplication positionApplication = _PositionApplicationDal.GetPositionApplicationByPKID(pkid); positionApplication.Account = _IAccountBll.GetAccountById(positionApplication.Account.Id); if (positionApplication != null && positionApplication.Position != null && positionApplication.Position.Grade != null) { positionApplication.Position.Grade = BllInstance.PositionBllInstance.GetPositionGradeById(positionApplication.Position.Grade.Id, null); } if (positionApplication != null && positionApplication.Position != null && positionApplication.Position.Nature != null) { for (int i = 0; i < positionApplication.Position.Nature.Count; i++) { positionApplication.Position.Nature[i] = BllInstance.PositionBllInstance.GetPositionNatureById( positionApplication.Position.Nature[i].Pkid); } } for (int i = 0; i < positionApplication.Position.Members.Count; i++) { positionApplication.Position.Members[i] = _IAccountBll.GetAccountById(positionApplication.Position.Members[i].Id); } for (int i = 0; i < positionApplication.Position.Departments.Count; i++) { positionApplication.Position.Departments[i] = _IDepartmentBll.GetDepartmentById(positionApplication.Position.Departments[i].Id, null); } return(positionApplication); }
/// <summary> /// /// </summary> /// <param name="positionApplicationID"></param> /// <param name="currentStep"></param> public PositionApplicationOverMail(int positionApplicationID, DiyStep currentStep) { _PositionApplication = new GetPositionApplication().GetPositionApplicationByPKID(positionApplicationID); _PositionApplication.Account = _AccountBll.GetAccountById(_PositionApplication.Account.Id); _CurrentStep = currentStep; }
public void UpdateSubmitPositionApplication(PositionApplication positionApplication) { new UpdatePositionApplication(positionApplication, true).Excute(); }
public void UpdatePositionApplication(PositionApplication positionApplication) { new UpdatePositionApplication(positionApplication, false).Excute(); }
public void SubmitPositionApplication(PositionApplication positionApplication) { new AddPositionApplication(positionApplication, true).Excute(); }
public void AddPositionApplication(PositionApplication positionApplication) { new AddPositionApplication(positionApplication, false).Excute(); }
/// <summary> /// /// </summary> /// <param name="positionApplication"></param> /// <param name="diyStep"></param> /// <returns></returns> internal int ChangeOperatorToEmployee(PositionApplication positionApplication, DiyStep diyStep) { int accountID = 0; try { switch (diyStep.OperatorType.Id) { //"本人" case 0: accountID = positionApplication.Account.Id; break; //"部门主管" case 1: accountID = _IAccountBll.GetLeaderByAccountId(positionApplication.Account.Id).Id; break; //"上级部门主管"; case 2: Account account2 = _IAccountBll.GetAccountById(positionApplication.Account.Id); accountID = _IDepartmentBll.GetParentDept(account2.Dept.Id, null).Leader.Id; break; //"上上级部门主管" case 3: Account account3 = _IAccountBll.GetAccountById(positionApplication.Account.Id); Department department3 = _IDepartmentBll.GetParentDept(account3.Dept.Id, null); accountID = _IDepartmentBll.GetParentDept(department3.Id, null).Leader.Id; break; //"上上上级部门主管" case 4: Account account4 = _IAccountBll.GetAccountById(positionApplication.Account.Id); Department department4 = _IDepartmentBll.GetParentDept(account4.Dept.Id, null); department4 = _IDepartmentBll.GetParentDept(department4.Id, null); accountID = _IDepartmentBll.GetParentDept(department4.Id, null).Leader.Id; break; //"上上上上级部门主管" case 5: Account account5 = _IAccountBll.GetAccountById(positionApplication.Account.Id); Department department5 = _IDepartmentBll.GetParentDept(account5.Dept.Id, null); department5 = _IDepartmentBll.GetParentDept(department5.Id, null); department5 = _IDepartmentBll.GetParentDept(department5.Id, null); accountID = _IDepartmentBll.GetParentDept(department5.Id, null).Leader.Id; break; //"其他" case 6: accountID = diyStep.OperatorID; break; default: break; } } catch { //-1 全部;0 新增;1 提交;2 审核不通过;3 审核通过;4 取消请假; //5 拒绝取消假期;6 批准取消假期;7 审核中;8 审核取消中 RequestStatus status; switch (positionApplication.Status.Id) { case 4: case 8: status = RequestStatus.ApproveCancelFail; break; default: //1 7 status = RequestStatus.ApproveFail; break; } ApproveFailPositionApplication approveFailPositionApplication = new ApproveFailPositionApplication(positionApplication.PKID, Account.AdminPkid, status, HrmisUtility._No_Account); approveFailPositionApplication.Excute(); } return(accountID); }