Ejemplo n.º 1
0
        public ContentResult refereesignlist(RefereeSignQueryRequest request)
        {
            request.MemberId = UserContext.WebUserContext.Id;
            var data = _eventSignService.RefereeSignList(request);
            var res  = new ResultDto <RefereeSignResponse>
            {
                page    = request.PageIndex,
                total   = request.Total,
                records = request.Records,
                rows    = data
            };

            InitrendersignReferee(request.EventId);

            return(Content(res.Serialize()));
        }
Ejemplo n.º 2
0
        //裁判签到列表
        public List <RefereeSignResponse> RefereeSignList(RefereeSignQueryRequest request)
        {
            List <RefereeSignResponse> list = new List <RefereeSignResponse>();

            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)");
                }
                if (request.EventGroupId != null && request.EventGroupId > 0)
                {
                    join.Append(" and d.eventGroupId=@EventGroupId ");
                }
                if (request.RefereeStatus != null && request.RefereeStatus > 0)
                {
                    if (request.RefereeStatus != 1)
                    {
                        join.Append(" and a.RefereeStatus = @RefereeStatus ");
                    }
                }
                var sql        = $@" select a.eventGroupId,a.RefereeStatus,e.name EventGroupName,a.memberId MemberId,b.completename MemberName,b.code MemberCode,b.contactmobile ContactMobile,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_referee b on a.memberId=b.memberId
                            inner join t_event c on a.eventId=c.id
                            inner join t_event_referee_signup d on d.eventId=a.eventId and d.memberId=a.memberId
                            LEFT join t_event_group e on e.id=d.eventGroupId
                            where a.isdelete=0 and b.isdelete=0 and c.isdelete=0
                            and a.eventId=@EventId and c.memberId=@MemberId and a.eventSignType={(int)EventSignTypeEm.裁判}
                            {join.ToString()} group by a.memberId order by a.createtime desc
                        ";
                int totalCount = 0;
                list = _dbContext.Page <RefereeSignResponse>(sql, out totalCount, request.PageIndex, request.PageSize, request);
                if (list != null && list.Count > 0)
                {
                    foreach (var item in list)
                    {
                        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 RefereeSignSplitResponse
                            {
                                SignDate        = dt.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.RefereeSignList", ex);
            }
            return(list);
        }