TispSpotUserController.cs 10.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. using Microsoft.AspNetCore.Mvc;
  2. using Microsoft.Extensions.Logging;
  3. using Ropin.Inspection.Api.Common;
  4. using Ropin.Inspection.Model;
  5. using Ropin.Inspection.Model.SearchModel;
  6. using Ropin.Inspection.Model.ViewModel;
  7. using Ropin.Inspection.Service.Interface;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Linq;
  11. using System.Threading.Tasks;
  12. namespace Ropin.Inspection.Api.Controllers
  13. {
  14. /// <summary>
  15. /// 巡检点人员
  16. /// </summary>
  17. public class TispSpotUserController : BaseController
  18. {
  19. public ILogger<TispSpotUserController> _logger { get; }
  20. private readonly ITispSpotUserService _tispSpotUserService;
  21. /// <summary>
  22. /// 构造函数
  23. /// </summary>
  24. /// <param name="tispSpotUserService"></param>
  25. /// <param name="logger"></param>
  26. public TispSpotUserController(ITispSpotUserService tispSpotUserService, ILogger<TispSpotUserController> logger)
  27. {
  28. _tispSpotUserService = tispSpotUserService;
  29. _logger = logger;
  30. }
  31. /// <summary>
  32. /// 通过ID获取巡检点人员信息
  33. /// </summary>
  34. /// <param name="id"></param>
  35. /// <returns></returns>
  36. [HttpGet("GetSpotUserAsync/{id}")]
  37. public async Task<ApiResult> GetSpotUserAsync(Guid id)
  38. {
  39. if (Guid.Empty == id)
  40. {
  41. return new ApiResult(ReturnCode.GeneralError);
  42. }
  43. try
  44. {
  45. var spot = await _tispSpotUserService.GetByIdAsync(id);
  46. return new ApiResult<TispSpotUserViewModel>(spot);
  47. }
  48. catch (Exception ex)
  49. {
  50. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  51. }
  52. }
  53. /// <summary>
  54. /// 获取所有巡检点人员
  55. /// </summary>
  56. /// <returns></returns>
  57. [HttpGet("GetSpotUsersAsync")]
  58. public async Task<ApiResult> GetSpotUsersAsync()
  59. {
  60. try
  61. {
  62. var spotList = await _tispSpotUserService.GetAllAsync();
  63. return new ApiResult<IEnumerable<TispSpotUserViewModel>>(spotList);
  64. }
  65. catch (Exception ex)
  66. {
  67. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  68. }
  69. }
  70. /// <summary>
  71. /// 分组获取巡检点人员分配列表
  72. /// </summary>
  73. /// <param name="searchViewModel"></param>
  74. /// <returns></returns>
  75. //[HttpGet("GetSpotUsersAsyncByPage")]
  76. //public async Task<ApiResult> GetSpotUsersAsyncByPage([FromQuery] TispSpotUserSearchModel searchViewModel)
  77. [HttpPost("GetSpotUsersAsyncByPage")]
  78. public async Task<ApiResult> GetSpotUsersAsyncByPage(TispSpotUserSearchModel searchViewModel)
  79. {
  80. try
  81. {
  82. if (null == searchViewModel)
  83. {
  84. return new ApiResult(ReturnCode.ArgsError);
  85. }
  86. var list = await _tispSpotUserService.GetSpotUsersAsyncByPage(searchViewModel);
  87. return new ApiResult<PagesModel<TispSpotUsersViewModel>>(new PagesModel<TispSpotUsersViewModel>(list?.ToList(), searchViewModel));
  88. }
  89. catch (Exception ex)
  90. {
  91. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  92. }
  93. }
  94. /// <summary>
  95. /// 创建巡检点人员
  96. /// </summary>
  97. /// <param name="spot"></param>
  98. /// <returns></returns>
  99. [Route("CreateSpotUserAsync")]
  100. [HttpPost]
  101. public async Task<ApiResult> CreateSpotUserAsync(TispSpotUserViewModel spot)
  102. {
  103. if (spot == null)
  104. {
  105. return new ApiResult(ReturnCode.ArgsError);
  106. }
  107. try
  108. {
  109. await _tispSpotUserService.CreateOneAsync(spot);
  110. }
  111. catch (Exception ex)
  112. {
  113. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  114. }
  115. return new ApiResult(ReturnCode.Success);
  116. }
  117. /// <summary>
  118. /// 人员分配巡检点
  119. /// </summary>
  120. /// <param name="createViewModel"></param>
  121. /// <returns></returns>
  122. [Route("CreateSpotUsersAsync")]
  123. [HttpPost]
  124. public async Task<ApiResult> CreateSpotUsersAsync(TispSpotUserCreateViewModel createViewModel)
  125. {
  126. if (createViewModel == null)
  127. {
  128. return new ApiResult(ReturnCode.ArgsError);
  129. }
  130. if (createViewModel.spotIdList == null)
  131. {
  132. throw new Exception("请选择巡检点");
  133. }
  134. if (createViewModel.userIdList == null)
  135. {
  136. throw new Exception("请巡检点所分配的人员");
  137. }
  138. try
  139. {
  140. await _tispSpotUserService.CreateSpotsUserAsync(createViewModel);
  141. }
  142. catch (Exception ex)
  143. {
  144. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  145. }
  146. return new ApiResult(ReturnCode.Success);
  147. }
  148. /// <summary>
  149. /// 巡检点分配人员
  150. /// </summary>
  151. /// <param name="createViewModel"></param>
  152. /// <returns></returns>
  153. [Route("CreateSpotsUsersAsync")]
  154. [HttpPost]
  155. public async Task<ApiResult> CreateSpotsUsersAsync(TispSpotUserCreateViewModel createViewModel)
  156. {
  157. if (createViewModel == null)
  158. {
  159. return new ApiResult(ReturnCode.ArgsError);
  160. }
  161. if (createViewModel.spotIdList == null)
  162. {
  163. throw new Exception("请选择巡检点");
  164. }
  165. if (createViewModel.userIdList == null)
  166. {
  167. throw new Exception("请巡检点所分配的人员");
  168. }
  169. try
  170. {
  171. await _tispSpotUserService.CreateSpotsUsersAsync(createViewModel);
  172. }
  173. catch (Exception ex)
  174. {
  175. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  176. }
  177. return new ApiResult(ReturnCode.Success);
  178. }
  179. /// <summary>
  180. /// 删除巡检点人员
  181. /// </summary>
  182. /// <param name="id"></param>
  183. /// <returns></returns>
  184. [HttpDelete("DeleteSpotUserAsync/{id}")]
  185. public async Task<ApiResult> DeleteSpotUserAsync(Guid id)
  186. {
  187. if (Guid.Empty == id)
  188. {
  189. return new ApiResult(ReturnCode.GeneralError);
  190. }
  191. try
  192. {
  193. await _tispSpotUserService.DeleteAsync(id);
  194. }
  195. catch (Exception ex)
  196. {
  197. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  198. }
  199. return new ApiResult(ReturnCode.Success);
  200. }
  201. /// <summary>
  202. /// 更新巡检点人员
  203. /// </summary>
  204. /// <param name="id"></param>
  205. /// <param name="updateModel"></param>
  206. /// <returns></returns>
  207. [HttpPut("UpdateSpotUserAsync/{id}")]
  208. public async Task<ApiResult> UpdateSpotUserAsync(Guid id, TispSpotUserUpdateViewModel updateModel)
  209. {
  210. if (Guid.Empty == id)
  211. {
  212. return new ApiResult(ReturnCode.GeneralError);
  213. }
  214. try
  215. {
  216. await _tispSpotUserService.UpdateAsync(id, updateModel);
  217. }
  218. catch (Exception ex)
  219. {
  220. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  221. }
  222. return new ApiResult(ReturnCode.Success);
  223. }
  224. //指定巡检点修改相关的巡检人员
  225. //指定巡检人员修改相关的巡检点
  226. /// <summary>
  227. /// 指定巡检点Id查询分配的巡检人员信息
  228. /// </summary>
  229. /// <param name="spotId">巡检点Id</param>
  230. /// <returns></returns>
  231. [Route("GetBySpotIdAsync/{spotId}")]
  232. [HttpGet]
  233. public async Task<ApiResult> GetBySpotIdAsync(Guid spotId)
  234. {
  235. try
  236. {
  237. var list = await _tispSpotUserService.GetBySpotIdAsync(spotId);
  238. return new ApiResult<IEnumerable<TispSpotUserViewModel>>(list);
  239. }
  240. catch (Exception ex)
  241. {
  242. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  243. }
  244. }
  245. /// <summary>
  246. /// 指定人员Id查询分配的巡检点信息
  247. /// </summary>
  248. /// <param name="userId"></param>
  249. /// <returns></returns>
  250. [Route("GetByUserIdAsync/{userId}")]
  251. [HttpGet]
  252. public async Task<ApiResult> GetByUserIdAsync(Guid userId)
  253. {
  254. try
  255. {
  256. var list = await _tispSpotUserService.GetByUserIdAsync(userId);
  257. return new ApiResult<IEnumerable<TispUserStoreRouteSpotViewModel>>(list);
  258. }
  259. catch (Exception ex)
  260. {
  261. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  262. }
  263. }
  264. /// <summary>
  265. /// 分页获取所有巡检点的分配人员详细信息
  266. /// </summary>
  267. /// <returns></returns>
  268. [Route("GetAsyncByPage")]
  269. [HttpGet]
  270. public async Task<ApiResult> GetAsyncByPage([FromQuery] TispSpotUserSearchModel searchViewModel)
  271. {
  272. try
  273. {
  274. if (null == searchViewModel)
  275. {
  276. return new ApiResult(ReturnCode.ArgsError);
  277. }
  278. var list = await _tispSpotUserService.GetAsyncByPage(searchViewModel.PageSize, searchViewModel.PageIndex);
  279. return new ApiResult<PagesModel<TispSpotUserViewModel>>(new PagesModel<TispSpotUserViewModel>(list?.ToList(), searchViewModel));
  280. }
  281. catch (Exception ex)
  282. {
  283. return new ApiResult(ReturnCode.GeneralError, ex.Message);
  284. }
  285. }
  286. }
  287. }