using langguanApi.Model;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
    /// 
    /// 清洁运输
    /// 
    [Route("api/[controller]")]
    [ApiController]
    public class TransportController : ControllerBase
    {
        private TransportService _transportService;
        private WasherService _washerService;
        private TruckScalesService _truckScalesService;
        public TransportController(TransportService transportService, WasherService washerService, TruckScalesService truckScalesService)
        {
            _transportService = transportService;
            _washerService = washerService;
            _truckScalesService = truckScalesService;
        }
        /// 
        /// 清洁运输:获取门禁数据和详情
        /// 
        /// 
        /// 
        [HttpGet("list")]
        public async Task list([FromQuery] reqpage input)
        {
            var result = await _transportService.GetPage(input);
            return Ok(result);
        }
        /// 
        /// 获取清洁运输数量
        /// 
        /// 
        [HttpGet("count")]
        public async Task Count()
        {
            var result = await _transportService.GetCount();
            return Ok(result);
        }
        /// 
        /// 新增门禁
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task Add(AddTransport input)
        {
            await _transportService.addTransport(input);
            return Ok(new ApiResult() { code = 0 });
        }
        #region  洗车机
       /// 
       /// 推送洗车机列表(洗车机列表和洗车机记录组合在一起)
       /// 
       /// 
       /// 
        [HttpPost("addwasherlist")]
        public async Task AddWasherList([FromBody] List input)
        {
            await _washerService.addWasher(input);
            return Ok(new ApiResult() { code = 0 });
        }
        /// 
        /// 洗车机:获取洗车机列表和右侧洗车状态等数据,默认右侧显示第一条的记录
        /// 
        /// 
        /// 
        [HttpGet("washerList")]
        public async Task WasherList()
        {
            var result = await _washerService.getWasherList();
            return Ok(result);
        }
        /// 
        /// 洗车机:获取历史记录 和导出历史记录
        /// 
        /// 
        /// 
        [HttpGet("washerhistorylist")]
        public async Task WasherHistoryList([FromQuery] transportReqPage input)
        {
            var result = await _washerService.WasherHistoryList(input);
            return Ok(result);
        }
        #endregion
        #region  地磅
        /// 
        /// 推送地磅列表
        /// 
        /// 
        /// 
        [HttpPost("addruckscaleslist")]
        public async Task AddRuckScalesList([FromBody] List input)
        {
            await _truckScalesService.AddTruckScalesList(input);
            return Ok(new ApiResult() { code = 0 });    
        }
        #endregion
        #region 清洁运输
        /// 
        ///  清洁运输:获取清洁运输列表和饼图比例数据            
        /// 
        /// 
        /// 
        [HttpGet("gettransport")]
        public async Task GetTransport([FromQuery] transportReqPage reqPage)
        {
            var result = await _transportService.GetTransport(reqPage);
            return Ok(result);
        }
      
        #endregion
    }
}