public JsonResult Index(LoadWebCommandQueueListRequest req)
        {
            ViewBag.CommandQueueCreateTimeRange = req.CommandQueueCreateTimeRange;
            ViewBag.CommandId      = req.CommandId.ToString();
            ViewBag.ExecuteStatus  = req.CommandStatus.ToString();
            ViewBag.NodeId         = req.NodeId.ToString();
            ViewBag.TaskId         = req.TaskId.ToString();
            ViewBag.CommandQueueId = req.CommandQueueId.ToString();
            ResponseBase <PageInfoResponse <List <WebCommandQueueListDto> > > tasklist = PostToServer <PageInfoResponse <List <WebCommandQueueListDto> >, LoadWebCommandQueueListRequest>(ClientProxy.LoadWebCommandQueueList_Url, req);

            if (tasklist.Status != ResponesStatus.Success)
            {
                return(Json(new
                {
                    sEcho = 0,
                    iTotalRecords = 0,
                    iTotalDisplayRecords = 0,
                    aaData = new List <string>()
                }));
            }
            return(Json(tasklist.Data));
        }
Exemplo n.º 2
0
        public ResponseBase <PageInfoResponse <List <WebCommandQueueListDto> > > LoadWebCommandQueueList(LoadWebCommandQueueListRequest req)
        {
            try
            {
                DateTime starttime  = Convert.ToDateTime(req.CommandQueueCreateTimeRange.Split('/')[0]);
                DateTime endtime    = Convert.ToDateTime(req.CommandQueueCreateTimeRange.Split('/')[1]).AddDays(1);
                int      pageIndex  = (req.iDisplayStart / req.iDisplayLength) + 1;
                int      totalCount = 0;
                List <tb_commandqueue> cmdqueuelist = cmdqueuerespository.Find(out totalCount, pageIndex, req.iDisplayLength, x => x.createtime.ToString(), x =>
                                                                               x.nodeid == (req.NodeId <= 0 ? x.nodeid : req.NodeId) &&
                                                                               x.id > req.LastMaxId &&
                                                                               x.commandstate == (req.CommandStatus < 0 ? x.commandstate : req.CommandStatus) &&
                                                                               x.createtime >= starttime && x.createtime < endtime &&
                                                                               x.commanddetailid == (req.CommandId <= 0?x.commanddetailid:req.CommandId) &&
                                                                               x.taskid == (req.TaskId <= 0 ?x.taskid:req.TaskId) &&
                                                                               x.id == (req.CommandQueueId <= 0?x.id:req.CommandQueueId)
                                                                               ).ToList();
                if (cmdqueuelist.Count <= 0)
                {
                    return(ResponseToClient <PageInfoResponse <List <WebCommandQueueListDto> > >(ResponesStatus.Failed, "命令列表为空"));
                }

                List <WebCommandQueueListDto> dto = new List <WebCommandQueueListDto>();
                cmdqueuelist.ForEach(x =>
                {
                    dto.Add(new WebCommandQueueListDto()
                    {
                        CommandQueueDetail = x,
                        NodeDetail         = noderepository.FindSingle(m => m.id == x.nodeid),
                        TaskDetail         = taskRep.FindSingle(n => n.id == x.taskid),
                        CommandLog         = ((ExecuteStatus)x.commandstate == ExecuteStatus.ExecuteFailed || (ExecuteStatus)x.commandstate == ExecuteStatus.ExecuteSucess) ? cmdLogRep.FindSingle(k => k.commandqueueid == x.id):null,
                    });
                });
                // LoadWebCommandQueueListResponse adata = new LoadWebCommandQueueListResponse() { CommandQueueList = dto.OrderBy(x => x.CommandQueueDetail.id).ToList() };
                return(ResponseToClient <PageInfoResponse <List <WebCommandQueueListDto> > >(ResponesStatus.Success, "", new PageInfoResponse <List <WebCommandQueueListDto> >()
                {
                    aaData = dto, iTotalDisplayRecords = totalCount, iTotalRecords = totalCount, sEcho = req.sEcho
                }));
            }
            catch (Exception ex)
            {
                return(ResponseToClient <PageInfoResponse <List <WebCommandQueueListDto> > >(ResponesStatus.Exception, "刷新命令队列异常:" + JsonConvert.SerializeObject(ex)));
            }
        }