using Microsoft.AspNetCore.Mvc;
using ZR.Admin.WebApi.Filters;
using ZR.Model.MES.wms.Dto;
using ZR.Service.mes.wms.IService;
namespace ZR.Admin.WebApi.Controllers
{
///
/// PDA出库控制器
///
[Route("mes/wms/pdaOutbound")]
public class WmPDAOutboundController : BaseController
{
private readonly IWmOutOrderService _wmOutOrderService;
public WmPDAOutboundController(IWmOutOrderService wmOutOrderService)
{
_wmOutOrderService = wmOutOrderService;
}
///
/// (PDA出库)获取出库单列表【出库中,已完成】
///
/// 查询参数
/// 出库单列表
[HttpGet("GetPdaOutOrderPageList")]
[AllowAnonymous]
public IActionResult GetPdaOutOrderPageList([FromQuery] WmPDAOutOrderPageQueryDto parm)
{
try
{
var result = _wmOutOrderService.GetPdaOutOrderPageList(parm);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)获取出库计划列表
///
/// 查询参数
/// 出库计划列表
[HttpGet("GetPdaOutOrderPlanPageList")]
[AllowAnonymous]
public IActionResult GetPdaOutOrderPlanPageList([FromQuery] WmPDAOutOrderPlanPageQueryDto parm)
{
try
{
var result = _wmOutOrderService.GetPdaOutOrderPlanPageList(parm);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)获取出库计划中所包含的物料的清单
///
/// 出库单号
/// 出库计划列表
[HttpGet("GetPdaOutOrderPlanOptions")]
[AllowAnonymous]
public IActionResult GetPdaOutOrderPlanOptions(string shipmentNum)
{
try
{
var result = _wmOutOrderService.GetPdaOutOrderPlanOptions(shipmentNum);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)获取出库计划中某物料实际库存变动信息
///
/// 出库单号
/// 物料号
/// 批次号
/// 出库计划列表
[HttpGet("GetPdaOutOrderPlanActualData")]
[AllowAnonymous]
public IActionResult GetPdaOutOrderPlanActualData(string shipmentNum, string materialCode, string batchCode)
{
try
{
var result = _wmOutOrderService.GetPdaOutOrderPlanActualData(shipmentNum, materialCode, batchCode);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)更新出库计划
///
/// 出库单号
/// 是否更新成功
[HttpPost("UpdatePdaOutOrderPlan")]
[AllowAnonymous]
public IActionResult UpdatePdaOutOrderPlan(string shipmentNum)
{
try
{
var result = _wmOutOrderService.UpdatePdaOutOrderPlan(shipmentNum);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)根据出库计划出库 返回 ok 成功,其余都是异常
///
/// 出库信息
/// 出库结果
[HttpPost("PdaOutboundByOutOrderPlan")]
[AllowAnonymous]
public IActionResult PdaOutboundByOutOrderPlan([FromBody] WmPDAOutboundDto parm)
{
try
{
var result = _wmOutOrderService.PdaOutboundByOutOrderPlan(parm);
if(result == "ok")
{
return SUCCESS(result);
}
else
{
return ToResponse(new ApiResult(500, result));
}
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
///
/// (PDA出库)出库单完成
///
/// 出库单号
/// 是否完成
[HttpPost("CompleteOutOrder")]
[AllowAnonymous]
public IActionResult CompleteOutOrder(string shipmentNum)
{
try
{
var result = _wmOutOrderService.CompleteOutOrder(shipmentNum);
return SUCCESS(result);
}
catch (Exception ex)
{
return ToResponse(new ApiResult(500, ex.Message));
}
}
}
}