using langguanApi.Model;
using langguanApi.Service;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
namespace langguanApi.Controllers
{
    /// 
    /// 组织的工序
    /// 
    [Route("api/[controller]")]
    [ApiController]
    public class OrganizedController : ControllerBase
    {
        private readonly OrganizedService _organizedService;
        public OrganizedController(OrganizedService organizedService)
        {
            _organizedService = organizedService;
        }
        /// 
        /// 添加组织工序
        /// 
        /// 
        /// 
        [HttpPost("add")]
        public async Task Add(OrganizedDto input)
        {
            var result = await _organizedService.Add(input);
            return Ok(result);
        }
        /// 
        /// 删除工序
        /// 
        /// 
        /// 
        [HttpDelete("remove")]
        public async Task Remove(IEnumerable ids)
        {
            var result = await _organizedService.Delete(ids);
            return Ok(result);
        }
        /// 
        /// 更新工序信息
        /// 
        /// 
        /// 
        [HttpPut("update")]
        public async Task Update(OrganizedUpdateDto input)
        {
            var result = await _organizedService.Update(input);
            return Ok(result);
        }
        /// 
        /// 获取组织工序和设备信息
        /// 
        /// 1 有组织 2 无组织
        /// 0=全部,1=voc,2=cems
        ///  组织id
        /// 
        [HttpGet("listanddevice")]
        public async Task ListAndDevice(int OrganizedType = 1, int DeviceType = 0, string OrgId = "")
        {
            var result = await _organizedService.ListAndDevice(OrganizedType, DeviceType, OrgId);
            return Ok(result);
        }
        /// 
        /// 获取组织工序信息
        /// 
        /// 
        [HttpGet("list")]
        public async Task List(int OrganizedType = 1)
        {
            var result = await _organizedService.List(OrganizedType);
            return Ok(result);
        }
    }
}