123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- using System.Collections.Generic;
- using System.Threading.Tasks;
- using AutoMapper;
- using GxPress.Entity.WorkProcess;
- using GxPress.Entity.WorkProcessDto;
- using GxPress.Repository.Interface.WorkProcess;
- using GxPress.Service.Interface;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Mvc;
- namespace GxPress.Api.AdminControllers
- {
- /// <summary>
- /// 审批流程
- /// </summary>
- [Route("api/admin/process")]
- [ApiController]
- [Authorize]
- public partial class AdminProcessController : ControllerBase
- {
- private readonly IProcessRepository _processRepository;
- private readonly IProcessService _processService;
- public AdminProcessController(IProcessRepository processRepository, IProcessService processService)
- {
- _processRepository = processRepository;
- _processService = processService;
- }
- /// <summary>
- /// 获取流程定义
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- [HttpGet("{id}")]
- [AllowAnonymous]
- public async Task<ProcessDto> Get(int id)
- {
- return await _processService.GetAsync(id);
- }
- /// <summary>
- /// 添加流程定义
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost]
- [AllowAnonymous]
- public async Task<Process> Add([FromBody] ProcessDto request)
- {
- return await _processService.AddAsync(request);
- }
- /// <summary>
- /// 编辑流程定义
- /// </summary>
- /// <param name="id">流程Id</param>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("{id}")]
- [AllowAnonymous]
- public async Task<Process> Edit([FromRoute] int id, [FromBody] ProcessDto request)
- {
- request.Id = id;
- return await _processService.EditAsync(request);
- }
- //获取流程定义,分步获取
- ///// <summary>
- ///// 获取流程基本设置
- ///// </summary>
- ///// <param name="id"></param>
- ///// <returns></returns>
- //[HttpGet("baseInfo")]
- //public async Task<ProcessBaseInfoResult> GetBaseInfo(int id)
- //{
- // return await _processRepository.GetBaseInfoAsync(id);
- //}
- ///// <summary>
- ///// 获取流程表单设置
- ///// </summary>
- ///// <param name="id"></param>
- ///// <returns></returns>
- //[HttpGet("form")]
- //public async Task<List<ProcessFormSettingResult>> GetFormSetting(int id)
- //{
- // return await _processRepository.GetFormSettingAsync(id);
- //}
- ///// <summary>
- ///// 获取流程节点树
- ///// </summary>
- ///// <param name="id"></param>
- ///// <returns></returns>
- //[HttpGet("nodeTree")]
- //public async Task<ProcessNodeTreeResult> GetNodeTree(int id)
- //{
- // return await _processRepository.GetNodeTreeAsync(id);
- //}
- /// <summary>
- /// 列表
- /// </summary>
- /// <returns></returns>
- [HttpGet("")]
- [AllowAnonymous]
- public async Task<IEnumerable<Process>> GetList([FromQuery] string keyword)
- {
- return await _processRepository.GetListAsync(keyword);
- }
- /// <summary>
- /// 删除流程
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- [HttpDelete("{id}")]
- public async Task<bool> Delete(int id)
- {
- return await _processRepository.DeleteAsync(id);
- }
- /// <summary>
- /// 复制流程
- /// </summary>
- /// <param name="request"></param>
- /// <returns></returns>
- [HttpPost("actions/clone")]
- public async Task<Process> Clone([FromBody] CloneRequest request)
- {
- var process = await _processService.GetAsync(request.ProcessId);
- process.Name = request.Name;
- return await _processService.AddAsync(process);
- }
- }
- }
|