using Microsoft.AspNetCore.Mvc; using ZR.Model.Dto; using ZR.Admin.WebApi.Extensions; using ZR.Admin.WebApi.Filters; using ZR.Service.mes.wms.IService; using ZR.Model.MES.wms.Dto; using ZR.Model.MES.wms; using ZR.Service.mes.wms; //创建时间:2024-03-18 namespace ZR.Admin.WebApi.Controllers { /// /// 出货单(物料+客户) /// [Verify] [Route("mes/wm/WmOutOrder")] public class WmOutOrderController : BaseController { /// /// 出货单(物料+客户)接口 /// private readonly IWmOutOrderService _WmOutOrderService; public WmOutOrderController(IWmOutOrderService WmOutOrderService) { _WmOutOrderService = WmOutOrderService; } /// /// 查询出货单(物料+客户)列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "business:wmoutorder:list")] public IActionResult QueryWmOutOrder([FromQuery] WmOutOrderQueryDto parm) { var response = _WmOutOrderService.GetList(parm); return SUCCESS(response); } /// /// 查询出货单(物料+客户)详情 /// /// /// [HttpGet("{ShipmentNum}")] [ActionPermissionFilter(Permission = "business:wmoutorder:query")] public IActionResult GetWmOutOrder(string ShipmentNum) { var response = _WmOutOrderService.GetInfo(ShipmentNum); return SUCCESS(response); } /// /// 添加出货单(物料+客户) /// /// [HttpPost] [ActionPermissionFilter(Permission = "business:wmoutorder:add")] [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.INSERT)] public IActionResult AddWmOutOrder([FromBody] WmOutOrder_materialDto parm) { if(parm == null) { return SUCCESS(null); } var modal = parm.ToCreate(HttpContext); var response = _WmOutOrderService.AddWmOutOrder(modal); return SUCCESS(response); } /// /// 更新出货单(物料+客户) /// /// [HttpPut] [ActionPermissionFilter(Permission = "business:wmoutorder:edit")] [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateWmOutOrder([FromBody] WmOutOrderDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _WmOutOrderService.UpdateWmOutOrder(modal); return ToResponse(response); } /// /// 删除出货单(物料+客户) /// /// [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "business:wmoutorder:delete")] [Log(Title = "出货单(物料+客户)", BusinessType = BusinessType.DELETE)] public IActionResult DeleteWmOutOrder(string ids) { if (string.IsNullOrEmpty(ids)) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } var response = _WmOutOrderService.Delete(ids.Split(",")); return ToResponse(response); } /// /// 获取客户信息 /// /// [HttpGet("getcustom_list")] public IActionResult GetWmOutOrder() { List customs= _WmOutOrderService.GetCustominfo(); return SUCCESS(customs); } /// /// 查询物料记录表列表 /// /// /// [HttpGet("getmaterial_list")] public IActionResult QueryWmMaterial([FromQuery] WmMaterialQueryDto parm) { var response = _WmOutOrderService.GetmaterialList(parm); return SUCCESS(response); } /// /// 生成出货单的物料信息 /// /// [HttpGet("getoutorder_matrials")] public IActionResult Queryoutoder_matrials(string shipment_num) { if (shipment_num == null) { return SUCCESS(null); } List data = _WmOutOrderService.Queryoutoder_matrials(shipment_num); return SUCCESS(data); } /// /// 生成出货单的出货计划 /// /// /// [HttpGet("generate_outorderplan")] public IActionResult Generate_outorderplan(string shipment_num) { if (shipment_num == null) { return SUCCESS(null); } List WmOutOrderPlanList= _WmOutOrderService.Generate_outorderplan(shipment_num); return SUCCESS(WmOutOrderPlanList); } } }