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)); } } } }