Exemplo n.º 1
0
        public ContentResult playersignlist(PlayerSignQueryRequest request)
        {
            request.MemberId = UserContext.WebUserContext.Id;
            var data = _eventSignService.PlayerSignList(request);
            var res  = new ResultDto <PlayerSignResponse>
            {
                page    = request.PageIndex,
                total   = request.Total,
                records = request.Records,
                rows    = data
            };

            Initrendersign(request.EventId);
            return(Content(res.Serialize()));
        }
Exemplo n.º 2
0
        //选手签到列表
        public List <PlayerSignResponse> PlayerSignList(PlayerSignQueryRequest request)
        {
            List <PlayerSignResponse> list = new List <PlayerSignResponse>();

            try
            {
                StringBuilder join = new StringBuilder();
                if (request.KeyValue.IsNotEmpty())
                {
                    request.KeyValue = $"%{request.KeyValue}%";
                    join.Append(" and (b.code like @KeyValue or b.completename like @KeyValue or d.groupnum like @KeyValue)");
                }
                var sql        = $@" select a.isStop IsStop,b.gender Gender,b.grade Grade,b.contactmobile ContactMobile,d.groupnum GroupNum,a.memberId MemberId,b.completename MemberName,b.code MemberCode,GROUP_CONCAT(a.signdate order by a.Id) Signdates,GROUP_CONCAT(a.eventSignStatus order by a.Id) EventSignStatuss
                            from t_event_sign a 
                            inner join t_member_player b on a.memberId=b.memberId
                            inner join t_event c on a.eventId=c.id
                            inner join t_event_player_signup d on d.eventId=a.eventId and d.eventGroupId=a.eventGroupId and a.memberId=d.memberId
                            where a.isdelete=0 and b.isdelete=0 and c.isdelete=0
                            and a.eventId=@EventId and a.eventGroupId=@EventGroupId and c.memberId=@MemberId and eventSignType={(int)EventSignTypeEm.选手}
                            {join.ToString()} group by a.memberId order by d.GroupNum desc
                        ";
                int totalCount = 0;
                list = _dbContext.Page <PlayerSignResponse>(sql, out totalCount, request.PageIndex, request.PageSize, request);
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        var data = _dbContext.Query <dynamic>($"select b.chinessname,c.name from t_player_edu  a inner join t_sys_school b on a.schoolId=b.id inner join t_sys_city c on c.id=b.cityId  where a.memberid={item.MemberId} and a.isdelete=0 order by a.startdate desc limit 1").FirstOrDefault();
                        if (data != null)
                        {
                            item.SchoolName = data.chinessname;
                            item.CityName   = data.name;
                        }
                        List <string> ltSignDate   = item.SignDates.Split(',').ToList();
                        List <string> ltSignStatus = item.EventSignStatuss.Split(',').ToList();
                        for (int i = 0; i < ltSignDate.Count; i++)
                        {
                            var dt    = ltSignDate[i].ToDateTime();
                            var model = new PlayerSignSplitResponse
                            {
                                SignDate        = ltSignDate[i].ToDateTime().ToString("MM/dd"),
                                EventSignStatus = (EventSignStatusEm)ltSignStatus[i].ToInt32()
                            };
                            if (dt < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")))
                            {
                                model.SignType = 1;
                            }
                            else if (dt.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd"))
                            {
                                model.SignType = 2;
                            }
                            else
                            {
                                model.SignType = 3;
                            }
                            item.List.Add(model);
                        }
                    }
                }
                request.Records = totalCount;
            }
            catch (Exception ex)
            {
                LogUtils.LogError("EventSignService.PlayerSignList", ex);
            }
            return(list);
        }