using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using NPOI.SS.Formula.Functions; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Model; using Ropin.Inspection.Model.ViewModel.MTN; using Ropin.Inspection.Service; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Ropin.Inspection.Api.Controllers { public class TbdmCodeController : BaseController { public readonly ILogger<TbdmCodeController> _logger; private readonly ITbdmCodeService _TbdmCodeService; /// <summary> /// 构造函数 /// </summary> /// <param name="TbdmCodeService"></param> /// <param name="logger"></param> public TbdmCodeController(ITbdmCodeService TbdmCodeService, ILogger<TbdmCodeController> logger) { _TbdmCodeService = TbdmCodeService; _logger = logger; } /// <summary> /// 获取公用代码树 /// </summary> /// <returns></returns> [HttpGet("GetCodeListTreeAsync")] [AllowAnonymous] public async Task<ApiResult> GetCodeListTreeAsync() { try { var content = await _TbdmCodeService.GetCodeListTreeAsync(); return new ApiResult<List<TbdmCodeViewModel>>(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 条件查询获取基础数据-子表-不分页 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetDetailCodeListByAsync")] public async Task<ApiResult> GetDetailCodeListByAsync(TbdmCodeSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } searchModel.IsPagination = false; try { var contentList = await _TbdmCodeService.GetConditionDetailAsync(searchModel); return new ApiResult<IEnumerable<TbdmDetailCode>>(contentList); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 条件查询获取基础数据-子表-分页 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetDetailCodePageByAsync")] public async Task<ApiResult> GetDetailCodePageByAsync(TbdmCodeSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _TbdmCodeService.GetConditionDetailAsync(searchModel); var datas = new PagesModel<TbdmDetailCode>(contentList, searchModel); return new ApiResult<PagesModel<TbdmDetailCode>>(datas); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 条件查询获取基础数据-主表-分页 /// </summary> /// <param name="searchModel"></param> /// <returns></returns> [HttpPost("GetCodeListByAsync")] public async Task<ApiResult> GetCodeListByAsync(TbdmCodeSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } try { var contentList = await _TbdmCodeService.GetConditionAsync(searchModel); var datas = new PagesModel<TbdmCodeViewModel>(contentList, searchModel); return new ApiResult<PagesModel<TbdmCodeViewModel>>(datas); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 创建-主表 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("CreateAsync")] public async Task<ApiResult> CreateAsync(TbdmCodeViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _TbdmCodeService.CreateOneAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 创建-子表 /// </summary> /// <param name="content"></param> /// <returns></returns> [HttpPost("CreateDetailAsync")] public async Task<ApiResult> CreateDetailAsync(TbdmCodeDetailCreateModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _TbdmCodeService.CreateDetailAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 删除-主表、子表 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DeleteAsync/{id}")] public async Task<ApiResult> DeleteAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 删除-子表 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DeleteDetailAsync/{id}")] public async Task<ApiResult> DeleteDetailAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.DeleteDetailAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 禁用-主表、子表 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpPut("DisabledStatusAsync/{id}")] public async Task<ApiResult> DisabledStatusAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.DisabledStatusAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 禁用-子表 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpPut("DisabledDetailStatusAsync/{id}")] public async Task<ApiResult> DisabledDetailStatusAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.DisabledDetailStatusAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新-主表 /// </summary> /// <param name="id"></param> /// <param name="updateModel"></param> /// <returns></returns> [HttpPut("UpdateAsync/{id}")] public async Task<ApiResult> UpdateAsync(string id, TbdmCodeViewModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.UpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 更新-子表 /// </summary> /// <param name="id"></param> /// <param name="updateModel"></param> /// <returns></returns> [HttpPut("UpdateDetailAsync/{id}")] public async Task<ApiResult> UpdateDetailAsync(string id, TbdmCodeDetailUpdateModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TbdmCodeService.UpdateDetailAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } } }