/// <summary> /// /// </summary> protected override void Validation() { _LeaveRequest = _DalLeaveRequest.GetLeaveRequestByPKID(_LeaveRequestID); //判断请假信息是否为空 if (_LeaveRequest == null) { HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Not_Exist); } //判断该账号是否有请假流程 _LeaveRequest.DiyProcess = _DalEmployeeDiyProcess.GetDiyProcessByProcessTypeAndAccountID(ProcessType.LeaveRequest, _LeaveRequest.Account.Id); if (_LeaveRequest.DiyProcess == null) { HrmisUtility.ThrowException(HrmisUtility._No_LeaveRequest_DiyProcess); } _LeaveRequestItem = _DalLeaveRequest.GetLeaveRequestItemByPKID(_LeaveRequestItemID); if (_LeaveRequestItem == null) { HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Not_Exist); } //如果请假信息状态不是取消或提交状态,不能取消 if (!RequestStatus.CanCancelStatus(_LeaveRequestItem.Status)) { HrmisUtility.ThrowException(HrmisUtility._LeaveRequest_Partial_CanNot_BeCancled); } }
/// <summary> /// /// </summary> public LeaveRequestOverPhone(int leaveRequestID, LeaveRequestItem item, int nowAccountID) { _LeaveRequest = _DalLeaveRequest.GetLeaveRequestByPKID(leaveRequestID); _LeaveRequest.Account = _AccountBll.GetAccountById(_LeaveRequest.Account.Id); _LeaveRequestItem = _DalLeaveRequest.GetLeaveRequestItemByPKID(item.LeaveRequestItemID); _NowAccount = nowAccountID; }
/// <summary> /// /// </summary> /// <param name="leaveRequestID"></param> /// <returns></returns> public List <LeaveRequestFlow> GetLeaveRequestFlowByLeaveRequestID(int leaveRequestID) { List <LeaveRequestFlow> iRet = _DalLeaveRequestFlow.GetLeaveRequestFlowByLeaveRequestID(leaveRequestID); foreach (LeaveRequestFlow flow in iRet) { flow.LeaveRequestItem = _DalLeaveRequest.GetLeaveRequestItemByPKID(flow.LeaveRequestItem.LeaveRequestItemID); flow.Account = _IAccountBll.GetAccountById(flow.Account.Id); } return(iRet); }
protected override void ExcuteSelf() { RequestStatus status; LeaveRequestItem item = _DalLeaveRequest.GetLeaveRequestItemByPKID(PhoneMessage.PhoneMessageType.PKID); RequestStatus s = item.Status; if (Operation) { switch (s.Id) { case 1: case 7: status = RequestStatus.ApprovePass; break; case 4: case 8: status = RequestStatus.ApproveCancelPass; break; default: status = RequestStatus.ApprovePass; break; } //status = RequestStatus.ApprovePass; } else { switch (s.Id) { case 1: case 7: status = RequestStatus.ApproveFail; break; case 4: case 8: status = RequestStatus.ApproveCancelFail; break; default: status = RequestStatus.ApproveFail; break; } //status = RequestStatus.ApproveFail; } int leaverequestID = item.LeaveRequestID; ApproveLeaveRequestItem approveWholeLeaveRequest = new ApproveLeaveRequestItem(leaverequestID, PhoneMessage.PhoneMessageType.PKID, _PhoneMessage.Assessor.Id, status, Remark); approveWholeLeaveRequest.Excute(); }