using Microsoft.AspNetCore.Http; 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 TsecRecordItemController : BaseController { public ILogger<TsecRecordItemController> _logger { get; } private readonly ITsecRecordItemService _tsecRecordItemService; /// <summary> /// /// </summary> /// <param name="tsecRecordItemService"></param> /// <param name="logger"></param> public TsecRecordItemController(ITsecRecordItemService tsecRecordItemService, ILogger<TsecRecordItemController> logger) { _tsecRecordItemService = tsecRecordItemService; _logger = logger; } /// <summary> /// 新建安检详细记录 /// </summary> /// <param name="item"></param> /// <returns></returns> [Route("CreateSecurityRecordItemAsync")] [HttpPost] public async Task<ApiResult> CreateSecurityRecordItemAsync([FromBody] TsecRecordItemCreateViewModel item) { if (item == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _tsecRecordItemService.CreateSecurityRecordItemAsync(item); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 新建多条安检详细记录 /// </summary> /// <param name="items"></param> /// <returns></returns> [Route("CreateSecurityRecordItemsAsync")] [HttpPost] public async Task<ApiResult> CreateSecurityRecordItemsAsync(IEnumerable<TsecRecordItemCreateViewModel> items) { if (items == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _tsecRecordItemService.CreateSecurityRecordItemsAsync(items); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message + ex.InnerException); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 通过巡检详细Id取案件记录 /// </summary> /// <param name="recordId"></param> /// <returns></returns> [HttpGet("GetSecurityRecordItemByIdAsync/{recordId}")] public async Task<ApiResult> GetSecurityRecordItemByIdAsync(Guid recordId) { try { IEnumerable<TsecRecordItemWithImagesViewModel> recordItem = await _tsecRecordItemService.GetSecurityRecordItemByIdAsync(recordId); return new ApiResult<IEnumerable<TsecRecordItemWithImagesViewModel>>(recordItem); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 获取安检详细记录 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetSecurityRecordItemsAsync")] public async Task<ApiResult> GetSecurityRecordItemsAsync(TsecRecordItemsSearchModel searchModel) { if (searchModel == null || string.IsNullOrEmpty(searchModel.C_StoreCode)) { return new ApiResult(ReturnCode.ArgsError); } try { IEnumerable<TsecRecordItemDetailViewModel> recordItems = await _tsecRecordItemService.GetSecurityRecordItemsAsync(searchModel); return new ApiResult<PagesModel<TsecRecordItemDetailViewModel>>(new PagesModel<TsecRecordItemDetailViewModel>(recordItems?.ToList(), searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } } }