using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Inspection.Api.Common; using Ropin.Inspection.Api.Controllers; using Ropin.Inspection.Model; using Ropin.Inspection.Service; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace Ropin.Inspection.Api { public class TdevMaintenancePlanController : BaseController { public ILogger _logger { get; } private readonly ITdevMaintenancePlanService _TdevMaintenancePlanService; private readonly ITdevMaintenancePlanContentService _TdevMaintenancePlanContentService; /// /// 构造函数 /// /// /// public TdevMaintenancePlanController(ITdevMaintenancePlanService TdevMaintenancePlanService, ITdevMaintenancePlanContentService TdevMaintenancePlanContentService, ILogger logger) { _TdevMaintenancePlanService = TdevMaintenancePlanService; _TdevMaintenancePlanContentService = TdevMaintenancePlanContentService; _logger = logger; } /// /// 通过id获取设备维保计划信息 /// /// /// [HttpGet("GetMaintenancePlanAsync/{id}")] public async Task GetMaintenancePlanAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { var content = await _TdevMaintenancePlanService.GetConditionAsync(new TdevMaintenancePlanSearchModel { C_ID = id }); var devMaintenancePlan = content.FirstOrDefault(); var saintenancePlanContents = await _TdevMaintenancePlanContentService.GetConditionAsync(new TdevMaintenancePlanContentSearchModel { C_MaintenancePlanCode = id, IsPagination = false }); devMaintenancePlan.MaintenancePlanContentList = saintenancePlanContents.Select(x=>x.C_DeviceTempOpsContentCode).ToList(); return new ApiResult(devMaintenancePlan); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 获取所有设备维保计划 /// /// [HttpGet("GetMaintenancePlansAsync")] public async Task GetMaintenancePlansAsync() { try { var contentList = await _TdevMaintenancePlanService.GetAllAsync(); return new ApiResult>(contentList); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 通过设备维保计划名称条件查询 /// /// /// [HttpPost("GetMaintenancePlansByAsync")] public async Task GetMaintenancePlansByAsync(TdevMaintenancePlanSearchModel searchModel) { if (searchModel == null) { return new ApiResult(ReturnCode.ArgsError); } searchModel.IsPagination = false; try { var contentList = await _TdevMaintenancePlanService.GetConditionAsync(searchModel); return new ApiResult>(new PagesModel(contentList, searchModel)); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// /// 创建设备维保计划 /// /// /// [HttpPost("CreateMaintenancePlanAsync")] public async Task CreateMaintenancePlanAsync(TdevMaintenancePlanViewModel content) { if (content == null) { return new ApiResult(ReturnCode.ArgsError); } try { await _TdevMaintenancePlanService.CreateOneAsync(content); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 删除设备维保计划 /// /// /// [HttpDelete("DeleteMaintenancePlanAsync/{id}")] public async Task DeleteMaintenancePlanAsync(string id) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TdevMaintenancePlanService.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// /// 更新设备维保计划 /// /// /// /// [HttpPut("UpdateMaintenancePlanAsync/{id}")] public async Task UpdateMaintenancePlanAsync(string id, TdevMaintenancePlanUpdateModel updateModel) { if (string.IsNullOrEmpty(id)) { return new ApiResult(ReturnCode.GeneralError); } try { await _TdevMaintenancePlanService.UpdateAsync(id, updateModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } } }