/// <summary> /// /// </summary> protected override void ExcuteSelf() { int failCount = 0; int successCount = 0; List <List <Account> > account = new List <List <Account> >(); List <DiyStep> csteps = new List <DiyStep>(); List <DiyStep> nsteps = new List <DiyStep>(); foreach (LeaveRequestItem item in _LeaveRequest.LeaveRequestItems) { //-1 全部;0 新增;1 提交;2 审核不通过;3 审核通过;4 取消请假;5 拒绝取消假期; //6 批准取消假期;7 审核中;8 审核取消中 switch (item.Status.Id) { case 1: case 7: _RequestStatus = RequestStatus.ApprovePass; break; case 4: case 8: _RequestStatus = RequestStatus.ApproveCancelPass; break; } try { ApproveLeaveRequestItem approveLeaveRequestItem = new ApproveLeaveRequestItem(_LeaveRequestID, item.LeaveRequestItemID, _AccountID, _RequestStatus, _Reason, _DalLeaveRequest, _DalLeaveRequestFlow, _DalEmployeeDiyProcess, _DalVacation, _IAdjustRestDal, _DalPlanDutyDal, _DalLeaveRequestType); List <Account> mailaccountlist; DiyStep cstep; DiyStep nstep; approveLeaveRequestItem.ConfirmItem(out mailaccountlist, out cstep, out nstep); if (!DiyStep.Contains(nsteps, nstep)) { account.Add(mailaccountlist); csteps.Add(cstep); nsteps.Add(nstep); } successCount++; } catch { failCount++; } ResultMessage = successCount + "个请假项审核成功," + failCount + "个请假项审核失败";; } for (int i = 0; i < nsteps.Count; i++) { new LeaveRequestMailAndPhoneDelegate().ConfirmOperationMail(_LeaveRequest, account[i], _AccountID, csteps[i], nsteps[i]); } }
/// <summary> /// /// </summary> protected override void ExcuteSelf() { int failCount = 0; int successCount = 0; List <List <Account> > account = new List <List <Account> >(); List <DiyStep> csteps = new List <DiyStep>(); List <DiyStep> nsteps = new List <DiyStep>(); foreach (LeaveRequestItem item in _LeaveRequest.LeaveRequestItems) { try { ChangeRequestStatus(item); ApproveLeaveRequestItem approveLeaveRequestItem = new ApproveLeaveRequestItem(_LeaveRequestID, item.LeaveRequestItemID, _AccountID, _RequestStatus, _Reason, _DalLeaveRequest, _DalLeaveRequestFlow, _DalEmployeeDiyProcess, _DalVacation, _IAdjustRestDal, _DalPlanDutyDal, _DalLeaveRequestType); List <Account> mailaccountlist; DiyStep cstep; DiyStep nstep; approveLeaveRequestItem.ConfirmItem(out mailaccountlist, out cstep, out nstep); if (!DiyStep.Contains(nsteps, nstep)) { account.Add(mailaccountlist); csteps.Add(cstep); nsteps.Add(nstep); } successCount++; } catch { failCount++; } ResultMessage = successCount + "个请假项审核成功," + failCount + "个请假项审核失败";; } for (int i = 0; i < nsteps.Count; i++) { new LeaveRequestMailAndPhoneDelegate().ConfirmOperationMail(_LeaveRequest, account[i], _AccountID, csteps[i], nsteps[i]); } }