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);
}
}
}
}