private OperatorType InitOperatorType()
 {
     if (_OverWorkItem.Status.Id == RequestStatus.ApprovePass.Id)
     {
         return(OperatorType.add);
     }
     if (OverWorkUtility.IsItemFlowContainStatus(_OverWorkItem, RequestStatus.ApprovePass))
     {
         if (_OverWorkItem.Status.Id == RequestStatus.ApproveCancelPass.Id &&
             !OverWorkUtility.IsItemFlowContainStatus(_OverWorkItem, RequestStatus.ApproveCancelPass))
         {
             return(OperatorType.delete);
         }
     }
     else
     {
         if (_OverWorkItem.Status.Id == RequestStatus.ApproveCancelFail.Id)
         {
             return(OperatorType.add);
         }
         if (_OverWorkItem.Status.Id == RequestStatus.ApproveCancelPass.Id &&
             OverWorkUtility.IsItemFlowContainStatus(_OverWorkItem, RequestStatus.ApproveCancelFail))
         {
             return(OperatorType.delete);
         }
     }
     return(OperatorType.empty);
 }
        /// <summary>
        ///
        /// </summary>
        private static string BuildBody(OverWork overWork, OverWorkItem item)
        {
            StringBuilder Content = new StringBuilder();

            Content.AppendFormat("请审批{0}提交的{6}申请,从{2}到{3},共{4}小时,项目:{1},理由:{5}",
                                 overWork.Account.Name, overWork.ProjectName, item.FromDate,
                                 item.ToDate, item.CostTime
                                 , overWork.Reason, OverWorkUtility.GetOverWorkTypeName(item.OverWorkType));
            return(Content.ToString());
        }
Beispiel #3
0
        private void SendSubmitToPhone()
        {
            Account phoneToAccount = GetPhoneToAccount();
            string  contant        = string.Format("请审批{0}取消的{6}申请,从{2}到{3},共{4}小时,项目:{1},理由:{5}",
                                                   _OverWork.Account.Name, _OverWork.ProjectName,
                                                   _OverWorkItem.FromDate,
                                                   _OverWorkItem.ToDate, _OverWorkItem.CostTime
                                                   , _OverWork.Reason, OverWorkUtility.GetOverWorkTypeName(_OverWorkItem.OverWorkType));
            ConfirmMessage confirmmessage = new ConfirmMessage();

            confirmmessage.SendCancelMessage(phoneToAccount, contant,
                                             new PhoneMessageType(PhoneMessageEnumType.OverWork,
                                                                  _OverWorkItem.ItemID));
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        public List <DayAttendance> GetCalendarByEmployee(int AccountID, DateTime fromDate, DateTime toDate)
        {
            List <DayAttendance> dayAttendanceList   = new List <DayAttendance>();
            List <OverWorkItem>  OverWorkItemList    = new List <OverWorkItem>();
            List <OverWorkItem>  OverWorkItemFromDal =
                _OverWorkDal.GetOverWorkForCalendar(AccountID, fromDate, toDate);

            foreach (OverWorkItem item in OverWorkItemFromDal)
            {
                if (item.Status == RequestStatus.Cancelled || item.Status == RequestStatus.CancelApproving)
                {
                    OverWorkItem OverWorkItem =
                        _OverWorkDal.GetOverWorkItemByItemID(item.ItemID);
                    if (OverWorkUtility.IsAgreed(OverWorkItem))
                    {
                        OverWorkItemList.Add(item);
                    }
                }
                else
                {
                    OverWorkItemList.Add(item);
                }
            }
            //由于加班的一项只能是一天,所以直接加就可以了
            foreach (OverWorkItem item in OverWorkItemList)
            {
                DayAttendance dayAttendance;
                if (!item.Adjust)
                {
                    dayAttendance =
                        new DayAttendance(-1, OverWorkUtility.GetOverWorkTypeNotAdjustName(item.OverWorkType),
                                          item.CostTime, 0, item.FromDate, "", CalendarType.OverTime);
                    dayAttendance.FromTime = fromDate;
                    dayAttendance.ToTime   = toDate;
                    dayAttendanceList.Add(dayAttendance);
                }
                dayAttendance =
                    new DayAttendance(-1, OverWorkUtility.GetOverWorkTypeName(item.OverWorkType), item.CostTime, 0,
                                      item.FromDate, "", CalendarType.OverTime);
                dayAttendance.FromTime = fromDate;
                dayAttendance.ToTime   = toDate;
                dayAttendanceList.Add(dayAttendance);
            }
            return(dayAttendanceList);
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        public static string BuildBody(OverWork overWork)
        {
            StringBuilder mailContent = new StringBuilder();

            mailContent.AppendFormat("加班员工:{0}", overWork.Account.Name);
            mailContent.Append("<br />");
            mailContent.AppendFormat("加班项目:{0}", overWork.ProjectName);
            mailContent.Append("<br />");
            mailContent.AppendFormat("加班理由:{0}", overWork.Reason);
            mailContent.Append("<br />");
            mailContent.AppendFormat("子项:");
            mailContent.Append("<br />");
            foreach (OverWorkItem item in overWork.Item)
            {
                mailContent.AppendFormat("从{0}到{1},加班类型为{2},加班{3}小时,状态为{4}", item.FromDate, item.ToDate,
                                         OverWorkUtility.GetOverWorkTypeName(item.OverWorkType), item.CostTime, RequestStatus.FindRequestStatus(item.Status.Id).Name);
                mailContent.Append("<br />");
            }
            return(mailContent.ToString());
        }
Beispiel #6
0
 protected override void ExcuteSelf()
 {
     if (_OverWorkItem.Adjust)
     {
         if (_OverWorkItem.Status == RequestStatus.ApprovePass)
         {
             AddAdjustRestRemainedHours();
         }
         if (OverWorkUtility.IsAgreed(_OverWorkItem))
         {
             if (_OverWorkItem.Status == RequestStatus.ApproveCancelPass)
             {
                 DeleteAdjustRestRemainedHours();
             }
         }
         else
         {
             if (_OverWorkItem.Status == RequestStatus.ApproveCancelFail)
             {
                 AddAdjustRestRemainedHours();
             }
         }
     }
 }