Esempio n. 1
0
        /// <summary>
        /// 判断用户是否是工作负责人
        /// </summary>
        /// <param name="userId">用户ID</param>
        /// <param name="jobId">工作任务的ID</param>
        /// <returns></returns>
        public bool IsChecker(string userId, string jobId)
        {
            var meetingJobs = new RepositoryFactory().BaseRepository().IQueryable <MeetingAndJobEntity>(p => p.JobId == jobId).Select(x => x.MeetingJobId).ToList();
            var IsChecker   = new RepositoryFactory().BaseRepository().IQueryable <JobUserEntity>()
                              .Any(p => p.UserId == userId && meetingJobs.Contains(p.MeetingJobId) && p.JobType == "ischecker");

            return(IsChecker);
        }
Esempio n. 2
0
        public List <SevenSPictureEntity> GetListByManager(DateTime?datefrom, DateTime?dateto, string state, string userId, bool?evaluateState, string deptid, out int totalCount, int pageIndex = 1, int pageSize = 5)
        {
            var data = new RepositoryFactory().BaseRepository().IQueryable <SevenSPictureEntity>();

            if (datefrom.HasValue)
            {
                data = data.Where(p => p.planeStartDate >= datefrom.Value);
            }
            if (dateto.HasValue)
            {
                data = data.Where(p => p.planeEndDate <= dateto.Value);
            }
            if (!string.IsNullOrWhiteSpace(state) && state != "全部")
            {
                data = data.Where(p => p.state == state);
            }
            if (!string.IsNullOrWhiteSpace(deptid))
            {
                data = data.Where(p => p.deptid == deptid);
            }
            var allIds     = data.Select(p => p.Id).ToList();
            var evaluteIds = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID

            if (evaluateState.HasValue)
            {
                if (evaluateState.Value)
                {
                    data       = data.Where(p => evaluteIds.Contains(p.Id)).OrderByDescending(p => p.CreateDate);
                    totalCount = data.Count();
                    var list = data.Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList();
                    list.ForEach(x => { x.evaluationState = "已评价"; });
                    return(list);
                }
                else
                {
                    //未评价
                    data       = data.Where(p => !evaluteIds.Contains(p.Id)).OrderByDescending(p => p.CreateDate);
                    totalCount = data.Count();
                    var list = data.Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList();
                    list.ForEach(x => { x.evaluationState = "未评价"; });
                    return(list);
                }
            }
            else
            {
                //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>();
                //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid;
                //var ids = idsQuery.Distinct().ToList();//已评价的Id
                totalCount = data.Count();
                var dataList = data.OrderByDescending(p => p.CreateDate).Skip(pageIndex * pageSize - pageSize).Take(pageSize).ToList();
                dataList.ForEach(x =>
                {
                    if (evaluteIds.Contains(x.Id))
                    {
                        x.evaluationState = "已评价";
                    }
                    else
                    {
                        x.evaluationState = "未评价";
                    }
                });

                return(dataList);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 根据状态获取最新的班组的提交数据
        /// </summary>
        /// <param name="state">状态 已提交 未提交</param>
        /// <param name="userId">用户Id</param>
        /// <returns></returns>
        public List <SevenSPictureEntity> GetListByManager(string state, string userId, bool?evaluateState, string deptid, out int totalCount, int pageIndex = 1, int pageSize = 5)
        {
            #region 旧
            //string sql = "SELECT * FROM   wg_sevenspicture WHERE ID IN(  SELECT  SUBSTRING_INDEX(GROUP_CONCAT(ID ORDER BY ModifyDate DESC),',',1) FROM wg_sevenspicture where 1=1";
            //if (!string.IsNullOrWhiteSpace(state) && state != "全部")
            //{
            //    sql +=string.Format( " AND state='{0}'",state);
            //}

            //if (!string.IsNullOrWhiteSpace(deptid))
            //{
            //    sql += string.Format(" AND DeptId='{0}'", deptid);
            //}
            //sql += " GROUP BY DeptId)";
            //var data = new RepositoryFactory().BaseRepository().FindList<SevenSPictureEntity>(sql).OrderByDescending(x => x.ModifyDate).ToList();
            //var allIds = data.Select(p => p.Id).ToList();
            //var evaluteIds = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID
            //if (data.Count() > 0)
            //{
            //    if (evaluateState.HasValue)
            //    {

            //        if (evaluateState.Value)
            //        {
            //            //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid;
            //            //var ids = idsQuery.Distinct().ToList();
            //            ////已评价
            //            //var query = data.Where(p => ids.Contains(p.Id));
            //            var list = data.Where(p => evaluteIds.Contains(p.Id)).ToList();
            //            list.ForEach(x => { x.evaluationState = "已评价"; });
            //            return list;
            //        }
            //        else
            //        {
            //            //未评价
            //            //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>();
            //            //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID != userId select q1.Activityid;
            //            //var ids = idsQuery.Distinct().ToList();
            //            //var query = data.Where(p => ids.Contains(p.Id));
            //            var list = data.Where(p => !evaluteIds.Contains(p.Id)).ToList();
            //            list.ForEach(x => { x.evaluationState = "未评价"; });
            //            return list;
            //        }
            //    }
            //    else
            //    {
            //        //var evalute = new RepositoryFactory().BaseRepository().IQueryable<ActivityEvaluateEntity>();
            //        //var idsQuery = from q1 in evalute join q2 in data on q1.Activityid equals q2.Id into into1 from t1 in into1.DefaultIfEmpty() where q1.CREATEUSERID == userId select q1.Activityid;
            //        //var ids = idsQuery.Distinct().ToList();//已评价的Id

            //        //var dataList = data.ToList();
            //        data.ForEach(x => {
            //            if (evaluteIds.Contains(x.Id))
            //            {
            //                x.evaluationState = "已评价";
            //            }
            //            else
            //            {
            //                x.evaluationState = "未评价";
            //            }
            //        });

            //        return data;
            //    }
            //}
            //return new List<SevenSPictureEntity>();
            #endregion
            var query = new RepositoryFactory().BaseRepository().IQueryable <SevenSPictureEntity>();
            if (!string.IsNullOrWhiteSpace(state) && state != "全部")
            {
                query = query.Where(p => p.state == state);
            }
            if (!string.IsNullOrWhiteSpace(deptid))
            {
                query = query.Where(p => p.deptid == deptid);
            }
            var evaluteQuery = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>();
            var allIds       = query.Select(p => p.Id).ToList();
            var evaluteIds   = new RepositoryFactory().BaseRepository().IQueryable <ActivityEvaluateEntity>(p => p.CREATEUSERID == userId && allIds.Contains(p.Activityid)).Select(p => p.Activityid).ToList();//已经评价的定点拍照ID
            if (evaluateState.HasValue)
            {
                if (evaluateState.Value)
                {
                    //已评价


                    query = query.Where(p => evaluteIds.Contains(p.Id));
                    //var linq = from q1 in query
                    //           select new SevenSPictureEntity()
                    //           {
                    //               Id = q1.Id,
                    //               CreateDate = q1.CreateDate,
                    //               CreateUserId = q1.CreateUserId,
                    //               CreateUserName = q1.CreateUserName,
                    //               deptid = q1.deptid,
                    //               deptname = q1.deptname,
                    //               evaluation = q1.evaluation,
                    //               evaluationDate = q1.evaluationDate,
                    //               evaluationUser = q1.evaluationUser,
                    //               ModifyDate = q1.ModifyDate,
                    //               ModifyUserId = q1.ModifyUserId,
                    //               ModifyUserName = q1.ModifyUserName,
                    //               planeEndDate = q1.planeEndDate,
                    //               planeStartDate = q1.planeStartDate,
                    //               state = q1.state,
                    //               evaluationState = evaluteQuery.any
                    //           }
                }
                else
                {
                    //未评价

                    query = query.Where(p => !evaluteIds.Contains(p.Id));
                }
                totalCount = query.Count();
                var data = query.OrderByDescending(p => p.CreateDate).Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList();
                data.ForEach(p => { p.evaluationState = evaluateState.Value ? "已评价" : "未评价"; });
                return(data);
            }
            else
            {
                //var linq = from q1 in query
                //           orderby q1.CreateDate descending
                //           select new SevenSPictureEntity()
                //           {
                //               Id = q1.Id,
                //               CreateDate = q1.CreateDate,
                //               CreateUserId = q1.CreateUserId,
                //               CreateUserName = q1.CreateUserName,
                //               deptid = q1.deptid,
                //               deptname = q1.deptname,
                //               evaluation = q1.evaluation,
                //               evaluationDate = q1.evaluationDate,
                //               evaluationUser = q1.evaluationUser,
                //               ModifyDate = q1.ModifyDate,
                //               ModifyUserId = q1.ModifyUserId,
                //               ModifyUserName = q1.ModifyUserName,
                //               planeEndDate = q1.planeEndDate,
                //               planeStartDate = q1.planeStartDate,
                //               state = q1.state,
                //               evaluationState = evaluteQuery.Any(p => p.CREATEUSERID == userId && p.Activityid == q1.Id) ? "已评价" : "未评价"
                //           };
                //totalCount = linq.Count();
                totalCount = query.Count();
                var data = query.OrderByDescending(p => p.CreateDate).Skip(pageSize * pageIndex - pageSize).Take(pageSize).ToList();
                data.ForEach(p =>
                {
                    if (evaluteIds.Contains(p.Id))
                    {
                        p.evaluationState = "已评价";
                    }
                    else
                    {
                        p.evaluationState = "未评价";
                    }
                });
                return(data);
            }
        }