コード例 #1
0
        public PagedResultDto <OATenderEnemyListDto> GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var ret = from a in _oaTenderEnemyRepository.GetAll()
                      join b in _oABidProjectRepository.GetAll() on a.ProjectId equals b.Id
                      select new OATenderEnemyDto()
            {
                AuditUser    = a.AuditUser,
                Content      = a.Content,
                CreationTime = a.CreationTime,
                Id           = a.Id,
                ProjectId    = a.ProjectId,
                ProjectName  = b.ProjectName,
                ProjectType  = a.ProjectType,
                Status       = a.Status,
            };

            if (string.IsNullOrWhiteSpace(input.SearchKey) == false)
            {
                ret = ret.Where(ite => ite.ProjectName.Contains(input.SearchKey));
            }
            var total = ret.Count();
            var model = ret.OrderByDescending(ite => ite.CreationTime).PageBy(input).ToList().MapTo <List <OATenderEnemyListDto> >();

            foreach (var item in model)
            {
                item.InstanceId = item.Id.ToString();
                _workFlowBusinessTaskManager.SupplementWorkFlowBusinessList(input.FlowId, item as BusinessWorkFlowListOutput);
            }
            return(new PagedResultDto <OATenderEnemyListDto>(total, model));
        }
コード例 #2
0
        public PagedResultDto <OAPayListDto> GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var ret = _oaPayRepository.GetAll().Where(ite => ite.CreatorUserId == AbpSession.UserId.Value);

            if (string.IsNullOrWhiteSpace(input.SearchKey) == false)
            {
                ret = ret.Where(ite => ite.Title.Contains(input.SearchKey));
            }
            var total = ret.Count();
            var model = ret.OrderByDescending(ite => ite.CreationTime).PageBy(input).ToList().MapTo <List <OAPayListDto> >();

            foreach (var item in model)
            {
                item.InstanceId = item.Id.ToString();
                _workFlowBusinessTaskManager.SupplementWorkFlowBusinessList(input.FlowId, item as BusinessWorkFlowListOutput);
            }
            return(new PagedResultDto <OAPayListDto>(total, model));
        }
コード例 #3
0
        public PagedResultDto <OAUseCarListDto> GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var ret = _oaUseCarRepository.GetAll().Where(ite => ite.CreatorUserId == AbpSession.UserId.Value);

            if (string.IsNullOrWhiteSpace(input.SearchKey) == false)
            {
                ret = ret.Where(ite => ite.Title.Contains(input.SearchKey));
            }

            var count = ret.Count();
            var list  = ret.OrderByDescending(ite => ite.CreationTime).PageBy(input).ToList().MapTo <List <OAUseCarListDto> >();

            foreach (var item in list)
            {
                item.StatusTitle = _workFlowTaskManager.GetStatusTitle(input.FlowId, item.Status.Value);
            }
            return(new PagedResultDto <OAUseCarListDto>(count, list));
        }
コード例 #4
0
        public PagedResultDto <OAPerformanceListDto> GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var ret = from a in _oaPerformanceRepository.GetAll()
                      join b in _oaPerformanceMainRepository.GetAll() on a.Main_id equals b.Id
                      where a.CreatorUserId == AbpSession.UserId
                      orderby a.CreationTime descending
                      select new OAPerformanceListDto()
            {
                Title         = a.Title,
                AuditUser     = a.AuditUser,
                EndTime       = b.EndTime,
                FinishPersent = a.FinishPersent,
                FinishTask    = a.FinishTask,
                Id            = a.Id,
                PlanTask      = a.PlanTask,
                Score         = a.Score,
                StartTime     = b.StartTime,
                Status        = a.Status.Value,
                Main_id       = a.Main_id
            };

            if (string.IsNullOrWhiteSpace(input.SearchKey) == false)
            {
                ret = ret.Where(ite => ite.Title.Contains(input.SearchKey) || ite.FinishTask.Contains(input.SearchKey) || ite.PlanTask.Contains(input.SearchKey));
            }

            var count = ret.Count();
            var list  = ret.PageBy(input).ToList();

            foreach (var item in list)
            {
                item.InstanceId = item.Id.ToString();
                _workFlowBusinessTaskManager.SupplementWorkFlowBusinessList(input.FlowId, item as BusinessWorkFlowListOutput);
            }
            return(new PagedResultDto <OAPerformanceListDto>(count, list));
        }
コード例 #5
0
        /// <summary>
        /// 获取离职申请
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <PagedResultDto <EmployeeResignListDto> > GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var query = from a in _employeeResignRepository.GetAll()
                        let openModel = (from c in _workFlowTaskRepository.GetAll().Where(x => x.FlowID == input.FlowId && x.InstanceID == a.Id.ToString() &&
                                                                                          x.ReceiveID == AbpSession.UserId.Value)
                                         select c)
                                        select new EmployeeResignListDto()
            {
                CreationTime  = a.CreationTime,
                CreatorUserId = a.CreatorUserId,
                UserId        = a.UserId,
                Reason        = a.Reason,
                OrgId         = a.OrgId,
                Type          = a.Type,
                Id            = a.Id,
                PostIds       = a.PostIds,
                Status        = (int)a.Status,
                OpenModel     = openModel.Count(y => y.Type != 6 && (y.Status == 1 || y.Status == 0)) > 0
                                            ? 1
                                            : 2
            };

            //var query = _employeeResignRepository.GetAll().Where(ite => ite.UserId == AbpSession.UserId.Value || ite.DealWithUsers.GetStrContainsArray(AbpSession.UserId.HasValue ? AbpSession.UserId.Value.ToString() : ""));
            if (input.GetMy == true)
            {
                query = query.Where(ite => ite.CreatorUserId == AbpSession.UserId.Value);
            }
            var totalCount = query.Count();

            var ret = (await query.OrderByDescending(r => r.CreationTime).PageBy(input).ToListAsync());

            using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete))
            {
                if (ret.Count > 0)
                {
                    foreach (var tmp in ret)
                    {
                        var user = _usersRepository.Get(tmp.UserId);

                        var orgModel = await _organizationUnitRepository.GetAsync(tmp.OrgId);

                        tmp.DepartmentName = orgModel.DisplayName;

                        if (!tmp.PostIds.IsNullOrWhiteSpace())
                        {
                            var postIds    = tmp.PostIds.Split(',');
                            var postModels = await _postsRepository.GetAll().Where(x => postIds.Contains(x.Id.ToString())).ToListAsync();

                            if (postModels.Count() > 0)
                            {
                                tmp.PostName = string.Join("、", postModels.Select(x => x.Name));
                            }
                        }
                        tmp.Name       = user.Name;
                        tmp.WorkNumber = user.WorkNumber;
                        tmp.Type_Name  = tmp.Type.ToString();
                        tmp.InstanceId = tmp.Id.ToString();
                        _workFlowBusinessTaskManager.SupplementWorkFlowBusinessList(input.FlowId, tmp as BusinessWorkFlowListOutput);
                    }
                }
            }
            return(new PagedResultDto <EmployeeResignListDto>(totalCount, ret));
        }
コード例 #6
0
        public PagedResultDto <OAWorkonListDto> GetAll(WorkFlowPagedAndSortedInputDto input)
        {
            var isAll       = false;
            var userManager = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <UserManagerNotRemote>();
            var userRoles   = userManager.GetRoles(AbpSession.UserId.Value);

            if (userRoles.Any(r => string.Compare(r, "XZRY", true) == 0 || string.Compare(r, "ZJL", true) == 0))
            {
                isAll = true;
            }
            using (_unitOfWorkManager.Current.DisableFilter(AbpDataFilters.SoftDelete))
            {
                var query = from a in _oaWorkonRepository.GetAll()
                            join u in UserManager.Users on a.CreatorUserId.Value equals u.Id
                            join m in _organizationUnitRepository.GetAll() on a.OrgId equals m.Id
                            let cc = (from o in _postInfoRepository.GetAll()
                                      where a.PostIds.GetStrContainsArray(o.Id.ToString())
                                      select new { PostId = o.Id, PostName = o.Name }).ToList()
                                     let openModel = (from c in _workFlowTaskRepository.GetAll().Where(x =>
                                                                                                       x.FlowID == input.FlowId && x.InstanceID == a.Id.ToString() &&
                                                                                                       x.ReceiveID == AbpSession.UserId.Value)
                                                      select c)
                                                     where !a.IsDeleted && (isAll || (a.CreatorUserId.Value == AbpSession.UserId.Value || a.DealWithUsers.GetStrContainsArray(AbpSession.UserId.HasValue ? AbpSession.UserId.Value.ToString() : "")))
                                                     select new
                {
                    Id            = a.Id,
                    Title         = a.Title,
                    CreationTime  = a.CreationTime,
                    CreatorUserId = a.CreatorUserId,
                    UserId_Name   = u.Name,
                    BeginTime     = a.StartTime,
                    EndTime       = a.EndTime,
                    Hour          = a.Hours,
                    OrgId         = a.OrgId,
                    Reason        = a.Reason,
                    Status        = a.Status,
                    //TenantId = a.TenantId,
                    OrgName   = m.DisplayName,
                    Post      = cc,
                    OpenModel = openModel.Count(y => y.Type != 6 && (y.Status == 1 || y.Status == 0)) > 0
                                            ? 1
                                            : 2,
                };

                if (string.IsNullOrWhiteSpace(input.SearchKey) == false)
                {
                    query = query.Where(ite => ite.UserId_Name.Contains(input.SearchKey));
                }
                if (input.GetMy)
                {
                    query = query.Where(r => r.CreatorUserId == AbpSession.UserId.Value);
                }
                else
                {
                    if (isAll)  //总经理或 行政人员看
                    {
                        query = query.Where(r => r.Status > 0);
                    }
                }

                var count = query.Count();
                var list  = query.OrderBy(r => r.OpenModel).ThenByDescending(ite => ite.CreationTime).PageBy(input).ToList();
                var ret   = new List <OAWorkonListDto>();
                foreach (var item in list)
                {
                    var entity = new OAWorkonListDto()
                    {
                        Id             = item.Id,
                        Title          = item.Title,
                        StartTime      = item.BeginTime,
                        CreationTime   = item.CreationTime,
                        EndTime        = item.EndTime,
                        DepartmentName = item.OrgName,
                        Reason         = item.Reason,
                        //Remark = item.Remark,
                        Status      = item.Status.HasValue ? item.Status.Value : 0,
                        UserId      = item.CreatorUserId.Value,
                        UserId_Name = item.UserId_Name,
                        //TenantId = item.TenantId,
                        OrgId = item.OrgId,
                        Hours = item.Hour,
                    };

                    if (item.Post == null || item.Post.Count() == 0)
                    {
                    }
                    else
                    {
                        var potsList = item.Post.Select(r => r.PostName);
                        entity.PostName = string.Join(",", potsList);
                    }

                    entity.InstanceId = item.Id.ToString();
                    _workFlowBusinessTaskManager.SupplementWorkFlowBusinessList(input.FlowId, entity as BusinessWorkFlowListOutput);
                    ret.Add(entity);
                }
                return(new PagedResultDto <OAWorkonListDto>(count, ret));
            }
        }