104 lines
5.4 KiB
C#
104 lines
5.4 KiB
C#
using Microsoft.AspNetCore.Authorization;
|
|||
|
|
using Microsoft.AspNetCore.Http;
|
||
|
|
using Microsoft.AspNetCore.Mvc;
|
||
|
|
using Net.Business.DTO.WMS.HojaRuta;
|
||
|
|
using Net.Business.DTO.WMS.Picking;
|
||
|
|
using Net.Business.Services.Log;
|
||
|
|
using Net.Data;
|
||
|
|
using Newtonsoft.Json;
|
||
|
|
using System.Text;
|
||
|
|
using System.Threading.Tasks;
|
||
|
|
|
||
|
|
namespace Net.Business.Services.Controllers
|
||
|
|
{
|
||
|
|
[Route("api/[controller]")]
|
||
|
|
[ApiController]
|
||
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||
|
|
[ApiExplorerSettings(GroupName = "ApiSAPWMS")]
|
||
|
|
[Authorize(AuthenticationSchemes = "Bearer")]
|
||
|
|
public class PickingController : ControllerBase
|
||
|
|
{
|
||
|
|
private readonly IRepositoryWrapper _repository;
|
||
|
|
public PickingController(IRepositoryWrapper repository)
|
||
|
|
{
|
||
|
|
this._repository = repository;
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpPost]
|
||
|
|
[ProducesResponseType(StatusCodes.Status201Created)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||
|
|
public async Task<IActionResult> POST([FromBody] Dto_PickingRequest value)
|
||
|
|
{
|
||
|
|
if (value == null)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes("Master object is null"), "Picking", value.NumOrden, value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest("Master object is null");
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!ModelState.IsValid)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes("Invalid model object"), "Picking", value.NumOrden, value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest("Invalid model object");
|
||
|
|
}
|
||
|
|
|
||
|
|
var ObjectNew = await _repository.Picking.Create(value.RetornaModelo());
|
||
|
|
|
||
|
|
if (ObjectNew.StatusCode != 200)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Picking", value.NumOrden, value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest(ObjectNew);
|
||
|
|
}
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Picking", value.NumOrden, value.DocEntry.ToString(), ObjectNew?.DocNum.ToString(), ObjectNew?.DocEntry.ToString());
|
||
|
|
return Ok(ObjectNew);
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpPost]
|
||
|
|
[Route("[action]")]
|
||
|
|
[ProducesResponseType(StatusCodes.Status201Created)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||
|
|
public async Task<IActionResult> Ruta([FromBody] Dto_HojaRuta value)
|
||
|
|
{
|
||
|
|
if (value == null)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes("Master object is null"), "Hoja Ruta", value.DocEntry.ToString(), value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest("Master object is null");
|
||
|
|
}
|
||
|
|
|
||
|
|
if (!ModelState.IsValid)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes("Invalid model object"), "Hoja Ruta", value.DocEntry.ToString(), value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest("Invalid model object");
|
||
|
|
}
|
||
|
|
|
||
|
|
var ObjectNew = await _repository.Picking.CreateHojaRuta(value.RetornaModelo());
|
||
|
|
|
||
|
|
if (ObjectNew.StatusCode != 200)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Hoja Ruta", value.DocEntry.ToString(), value.DocEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest(ObjectNew);
|
||
|
|
}
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(value)), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Hoja Ruta", value.DocEntry.ToString(), value.DocEntry.ToString(), ObjectNew?.DocNum.ToString(), ObjectNew?.DocEntry.ToString());
|
||
|
|
return Ok(ObjectNew);
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpPost]
|
||
|
|
[Route("HojaRuta/{docEntry}/Cerrar")]
|
||
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||
|
|
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
|
||
|
|
public async Task<IActionResult> CerrarHojaRuta(int docEntry)
|
||
|
|
{
|
||
|
|
var ObjectNew = await _repository.Picking.CerrarHojaRuta(docEntry);
|
||
|
|
|
||
|
|
if (ObjectNew.StatusCode != 200)
|
||
|
|
{
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new { docEntry })), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Hoja Ruta", docEntry.ToString(), docEntry.ToString(), "0", "0");
|
||
|
|
return BadRequest(ObjectNew);
|
||
|
|
}
|
||
|
|
B_Log.Add("Cubico", Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(new { docEntry })), Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(ObjectNew)), "Hoja Ruta", docEntry.ToString(), docEntry.ToString(), ObjectNew?.DocNum.ToString(), ObjectNew?.DocEntry.ToString());
|
||
|
|
return Ok(ObjectNew);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|