/// <summary>
        /// 获取用户待办事项
        /// </summary>
        /// <param name="searchDto"></param>
        /// <returns></returns>
        public async Task <Page <UserWorkFlowDto> > GetUserTodoListAsync(WorkFlowTodoSearchDto searchDto)
        {
            Page <UserWorkFlowDto> page = new Page <UserWorkFlowDto>()
            {
                PageIndex = searchDto.PageIndex,
                PageSize  = searchDto.PageSize
            };

            string sql = $@"SELECT wf.`FlowId`,wf.`FlowName`,ins.`InstanceId`,ins.`Code` AS InstanceCode,ins.`IsFinish`,ins.`Status`,ins.`CreateTime`,
            ins.`CreateUserName` AS UserName ,ff.`FormName`,ff.`FormType`,ff.`FormUrl`,wif.`FormData`
            FROM `wf_workflow_instance` ins 
            INNER JOIN `wf_workflow` wf ON wf.`FlowId`=ins.`FlowId`
            INNER JOIN `wf_workflow_form` ff ON ff.`FormId`=wf.`FormId`
            INNER JOIN `wf_workflow_instance_form` wif ON wif.`InstanceId`=ins.`InstanceId`
            WHERE ins.`MakerList` LIKE '%{searchDto.UserId},%'
            ORDER BY ins.`CreateTime` DESC
            LIMIT {(searchDto.PageIndex - 1) * searchDto.PageSize},{searchDto.PageSize}";

            string countsql = $@"SELECT COUNT(1) FROM `wf_workflow_instance` ins 
            INNER JOIN `wf_workflow` wf ON wf.`FlowId`= ins.`FlowId`
            INNER JOIN `wf_workflow_form` ff ON ff.`FormId`=wf.`FormId`
            INNER JOIN `wf_workflow_instance_form` wif ON wif.`InstanceId`=ins.`InstanceId`
            WHERE ins.`MakerList` LIKE '%{searchDto.UserId},%'
            ORDER BY ins.`CreateTime` DESC";

            page.Items = await this.Connection.QueryAsync <UserWorkFlowDto>(sql);

            page.TotalItems = await this.Connection.ExecuteScalarAsync <int>(countsql);

            return(page);
        }
コード例 #2
0
        public async Task <Page <UserWorkFlowDto> > GetUserTodoListAsync(WorkFlowTodoSearchDto searchDto)
        {
            var uri            = API.WorkFlowInstance.GetUserTodoListAsync(_baseUrl, searchDto);
            var responseString = await _apiClient.GetStringAsync(uri);

            return(responseString.ToObject <Page <UserWorkFlowDto> >());
        }
        public async Task <Page <UserWorkFlowDto> > HomeTodoList()
        {
            WorkFlowTodoSearchDto searchDto = new WorkFlowTodoSearchDto
            {
                PageIndex = 1,
                PageSize  = 10,
                UserId    = UserIdentity.UserId.ToString()
            };
            var page = await _workFlowInstanceService.GetUserTodoListAsync(searchDto);

            return(page);
        }
        public async Task <IActionResult> TodoList(int pageIndex = 1, int pageSize = 10)
        {
            WorkFlowTodoSearchDto searchDto = new WorkFlowTodoSearchDto
            {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                UserId    = UserIdentity.UserId.ToString()
            };
            var page = await _workFlowInstanceService.GetUserTodoListAsync(searchDto);

            return(View(page));
        }
コード例 #5
0
 public static string GetUserTodoListAsync(string baseUri, WorkFlowTodoSearchDto searchDto)
 => $"{baseUri}/WorkFlowInstance/GetUserTodoListAsync?{searchDto.ToUrlParam()}";
 public async Task <Page <UserWorkFlowDto> > GetUserTodoListAsync([FromQuery] WorkFlowTodoSearchDto searchDto)
 {
     return(await _workFlowInstanceService.GetUserTodoListAsync(searchDto));
 }