Пример #1
0
        //已审批
        private static void ApprovedList(ApplyLeaveListModel vm, IEnumerable <tbWeOAFlowDetail> workflowApproveList, IEnumerable <tbWeOAFlowDetail> allApproveList)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var approvedList = OAWeWorkFlow.GetApprovedList(db, flowTypeCode);
                var approved     = (from a in approvedList
                                    join b in db.Table <Wechat.Entity.tbWeOAApplyLeave>().Include(m => m.tbTeacherDept).Include(m => m.tbWeOALeaveType) on a.ApproveBodyId equals b.Id
                                    select new Dto.ApplyLeave.ApplyLeaveListDto
                {
                    CaseFileName = b.CaseFileName,
                    LeaveDayCount = b.LeaveDayCount,
                    LeaveFromTime = b.LeaveFromTime,
                    LeaveToTime = b.LeaveToTime,
                    tbTeacherDeptName = b.tbTeacherDept.TeacherDeptName,
                    tbWeOALeaveTypeName = b.tbWeOALeaveType.LeaveTypeName,
                    Reason = b.Reason,

                    Id = b.Id,
                    ApplyUser = workflowApproveList.Where(m => m.ApproveBodyId == b.Id).FirstOrDefault().tbSysUser.UserName,
                    ApproveDate = a.ApproveDate,
                    ApproveOpinion = a.ApproveOpinion,
                    ApproveUserName = a.tbSysUser.UserName,
                    NodeApproveStatus = allApproveList.Where(m => m.ApproveBodyId == a.ApproveBodyId && m.NodeApproveStatus == Code.EnumHelper.OAFlowNodeStatus.WithoutApproval).FirstOrDefault() == null ? Code.EnumHelper.OAFlowNodeStatus.Approved : Code.EnumHelper.OAFlowNodeStatus.WithoutApproval,
                    IsComplete = allApproveList.Where(m => m.ApproveBodyId == a.ApproveBodyId && m.tbWeOAFlowNextNode == null).FirstOrDefault() != null
                }).Distinct(new Code.EqualComparer <Dto.ApplyLeave.ApplyLeaveListDto>((x, y) => x.Id == y.Id)).OrderByDescending(m => m.ApproveDate);
                ApprovedListPage(vm, approved);
            }
        }
Пример #2
0
        //待审批
        private void WaitApproveList(ApplyLeaveListModel vm, IEnumerable <tbWeOAFlowDetail> workflowApproveList)
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var waitApproveList = OAWeWorkFlow.GetWaitApproveList(db, flowTypeCode);
                var wait            = (from a in waitApproveList
                                       join b in db.Table <Wechat.Entity.tbWeOAApplyLeave>().Include(m => m.tbTeacherDept).Include(m => m.tbWeOALeaveType) on a.ApproveBodyId equals b.Id
                                       select new Dto.ApplyLeave.ApplyLeaveListDto
                {
                    CaseFileName = b.CaseFileName,
                    LeaveDayCount = b.LeaveDayCount,
                    LeaveFromTime = b.LeaveFromTime,
                    LeaveToTime = b.LeaveToTime,
                    tbTeacherDeptName = b.tbTeacherDept.TeacherDeptName,
                    tbWeOALeaveTypeName = b.tbWeOALeaveType.LeaveTypeName,
                    Reason = b.Reason,

                    Id = b.Id,
                    ApplyUser = workflowApproveList.Where(m => m.ApproveBodyId == b.Id).FirstOrDefault().tbSysUser.UserName,
                    ApproveDate = a.ApproveDate,
                    ApproveOpinion = a.ApproveOpinion,
                    ApproveUserName = a.tbSysUser.UserName,
                    NodeApproveStatus = a.NodeApproveStatus
                }).Distinct(new Code.EqualComparer <Dto.ApplyLeave.ApplyLeaveListDto>((x, y) => x.Id == y.Id)).OrderByDescending(m => m.ApproveDate);
                WaitListPage(vm, wait);
            }
        }