shgx_tz_mom/ZR.Admin.WebApi/Controllers/mes/wms/WmPDAOutboundController.cs

170 lines
5.6 KiB
C#

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
{
/// <summary>
/// PDA出库控制器
/// </summary>
[Route("mes/wms/pdaOutbound")]
public class WmPDAOutboundController : BaseController
{
private readonly IWmOutOrderService _wmOutOrderService;
public WmPDAOutboundController(IWmOutOrderService wmOutOrderService)
{
_wmOutOrderService = wmOutOrderService;
}
/// <summary>
/// (PDA出库)获取出库单列表【出库中,已完成】
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns>出库单列表</returns>
[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));
}
}
/// <summary>
/// (PDA出库)获取出库计划列表
/// </summary>
/// <param name="parm">查询参数</param>
/// <returns>出库计划列表</returns>
[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));
}
}
/// <summary>
/// (PDA出库)获取出库计划中所包含的物料的清单
/// </summary>
/// <param name="shipmentNum">出库单号</param>
/// <returns>出库计划列表</returns>
[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));
}
}
/// <summary>
/// (PDA出库)获取出库计划中某物料实际库存变动信息
/// </summary>
/// <param name="shipmentNum">出库单号</param>
/// <param name="materialCode">物料号</param>
/// <param name="batchCode">批次号</param>
/// <returns>出库计划列表</returns>
[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));
}
}
/// <summary>
/// (PDA出库)更新出库计划
/// </summary>
/// <param name="shipmentNum">出库单号</param>
/// <returns>是否更新成功</returns>
[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));
}
}
/// <summary>
/// (PDA出库)根据出库计划出库 返回 ok 成功,其余都是异常
/// </summary>
/// <param name="parm">出库信息</param>
/// <returns>出库结果</returns>
[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));
}
}
/// <summary>
/// (PDA出库)出库单完成
/// </summary>
/// <param name="shipmentNum">出库单号</param>
/// <returns>是否完成</returns>
[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));
}
}
}
}