using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Model; using Ropin.Inspection.Model.SearchModel; using Ropin.Inspection.Model.ViewModel; using Ropin.Inspection.Service.Interface; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Ropin.Inspection.Api.Controllers { /// /// 巡检点人员 /// public class TispSpotUserController : BaseController { public ILogger _logger { get; } private readonly ITispSpotUserService _tispSpotUserService; /// /// 构造函数 /// /// /// public TispSpotUserController(ITispSpotUserService tispSpotUserService, ILogger logger) { _tispSpotUserService = tispSpotUserService; _logger = logger; } /// /// 通过ID获取巡检点人员信息 /// /// /// [HttpGet("GetSpotUserAsync/{id}")] public async Task GetSpotUserAsync(Guid id) { if (Guid.Empty == id) { return new ApiResult(ReturnCode.GeneralError); } try { var spot = await _tispSpotUserService.GetByIdAsync(id); return new ApiResult(spot); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 获取所有巡检点人员 /// /// [HttpGet("GetSpotUsersAsync")] public async Task GetSpotUsersAsync() { try { var spotList = await _tispSpotUserService.GetAllAsync(); return new ApiResult>(spotList); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 分组获取巡检点人员分配列表 /// /// /// //[HttpGet("GetSpotUsersAsyncByPage")] //public async Task GetSpotUsersAsyncByPage([FromQuery] TispSpotUserSearchModel searchViewModel) [HttpPost("GetSpotUsersAsyncByPage")] public async Task GetSpotUsersAsyncByPage(TispSpotUserSearchModel searchViewModel) { try { if (null == searchViewModel) { return new ApiResult(ReturnCode.ArgsError); } var list = await _tispSpotUserService.GetSpotUsersAsyncByPage(searchViewModel); return new ApiResult>(new PagesModel(list?.ToList(), searchViewModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 创建巡检点人员 /// /// /// [Route("CreateSpotUserAsync")] [HttpPost] public async Task CreateSpotUserAsync(TispSpotUserViewModel spot) { if (spot == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _tispSpotUserService.CreateOneAsync(spot); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 人员分配巡检点 /// /// /// [Route("CreateSpotUsersAsync")] [HttpPost] public async Task CreateSpotUsersAsync(TispSpotUserCreateViewModel createViewModel) { if (createViewModel == null) { return new ApiResult(ReturnCode.ArgsError); } if (createViewModel.spotIdList == null) { throw new Exception("请选择巡检点"); } if (createViewModel.userIdList == null) { throw new Exception("请巡检点所分配的人员"); } try { await _tispSpotUserService.CreateSpotsUserAsync(createViewModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 巡检点分配人员 /// /// /// [Route("CreateSpotsUsersAsync")] [HttpPost] public async Task CreateSpotsUsersAsync(TispSpotUserCreateViewModel createViewModel) { if (createViewModel == null) { return new ApiResult(ReturnCode.ArgsError); } if (createViewModel.spotIdList == null) { throw new Exception("请选择巡检点"); } if (createViewModel.userIdList == null) { throw new Exception("请巡检点所分配的人员"); } try { await _tispSpotUserService.CreateSpotsUsersAsync(createViewModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 删除巡检点人员 /// /// /// [HttpDelete("DeleteSpotUserAsync/{id}")] public async Task DeleteSpotUserAsync(Guid id) { if (Guid.Empty == id) { return new ApiResult(ReturnCode.GeneralError); } try { await _tispSpotUserService.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 更新巡检点人员 /// /// /// /// [HttpPut("UpdateSpotUserAsync/{id}")] public async Task UpdateSpotUserAsync(Guid id, TispSpotUserUpdateViewModel updateModel) { if (Guid.Empty == id) { return new ApiResult(ReturnCode.GeneralError); } try { await _tispSpotUserService.UpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } //指定巡检点修改相关的巡检人员 //指定巡检人员修改相关的巡检点 /// /// 指定巡检点Id查询分配的巡检人员信息 /// /// 巡检点Id /// [Route("GetBySpotIdAsync/{spotId}")] [HttpGet] public async Task GetBySpotIdAsync(Guid spotId) { try { var list = await _tispSpotUserService.GetBySpotIdAsync(spotId); return new ApiResult>(list); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 指定人员Id查询分配的巡检点信息 /// /// /// [Route("GetByUserIdAsync/{userId}")] [HttpGet] public async Task GetByUserIdAsync(Guid userId) { try { var list = await _tispSpotUserService.GetByUserIdAsync(userId); return new ApiResult>(list); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 分页获取所有巡检点的分配人员详细信息 /// /// [Route("GetAsyncByPage")] [HttpGet] public async Task GetAsyncByPage([FromQuery] TispSpotUserSearchModel searchViewModel) { try { if (null == searchViewModel) { return new ApiResult(ReturnCode.ArgsError); } var list = await _tispSpotUserService.GetAsyncByPage(searchViewModel.PageSize, searchViewModel.PageIndex); return new ApiResult>(new PagesModel(list?.ToList(), searchViewModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } } }