using Microsoft.AspNetCore.Mvc; using WCS.BLL.HardWare; using WCS.BLL.Manager; using WCS.BLL.Services.IService; using WCS.BLL.Services.Service; using WCS.Model; namespace WebApi.Controllers { [ApiController] [Route("[controller]")] public class OutstoreController : ControllerBase { private readonly IOutstoreService _outstoreService; private readonly IGenerateService _generateService; public OutstoreController(IOutstoreService outstoreService,IGenerateService generateService) { _outstoreService = outstoreService; _generateService = generateService; } /// /// 按物料编码同步数据 /// /// /// [Route("sysOutOrderByMatCode")] [HttpPost(Name = "sysOutOrderByMatCode")] public async Task sysOutOrderByMatCode(SysOutOrderByMatCodeRequest request) { try { if (string.IsNullOrEmpty(request.OrderNumber)) { request.OrderNumber = await _generateService.generateOutOrderNumber(); } return await _outstoreService.SysOutOrderByMatCode(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "同步单据失败:" + ex.Message, }; } } /// /// 按物料明细同步数据 /// /// /// [Route("sysOutOrderByMatSn")] [HttpPost(Name = "sysOutOrderByMatSn")] public async Task sysOutOrderByMatSn(SysOutOrderByMatSnRequest request) { try { if (string.IsNullOrEmpty(request.OrderNumber)) { request.OrderNumber = await _generateService.generateOutOrderNumber(); } return await _outstoreService.SysOutOrderByMatSn(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "同步单据失败:" + ex.Message, }; } } /// /// 查询、返回当前出库单列表 /// /// /// [Route("getOutOrderList")] [HttpPost(Name = "getOutOrderList")] public async Task getOutOrderList(GetOutOrderListRequest request) { try { return await _outstoreService.GetOutOrderList(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 按状态查询出库单号 /// /// /// [Route("getOutOrderListByStatus")] [HttpPost(Name = "getOutOrderListByStatus")] public async Task getOutOrderListByStatus(GetOutOrderListByStatusRequest request) { try { return await _outstoreService.GetOutOrderListByStatus(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 获取出库单的出库明细 /// /// /// [Route("getOutOrderDetail")] [HttpPost(Name = "getOutOrderDetail")] public async Task getOutOrderDetail(GetOutOrderDetailRequest request) { try { return await _outstoreService.GetOutOrderDetail(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 获取出库单出库物料明细 /// /// /// [Route("getOutOrderMatDetail")] [HttpPost(Name = "getOutOrderMatDetail")] public async Task getOutOrderMatDetail(GetOutOrderDetailRequest request) { try { return await _outstoreService.GetOutOrderMatDetail(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 通过出库单据号开始出库 /// /// /// [Route("goInOutstore")] [HttpPost(Name = "goInOutstore")] public async Task goInOutstore(GetOutOrderDetailRequest request) { try { return await _outstoreService.GoInOutstore(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "进入出库模式失败:" + ex.Message, }; } } /// /// 通过出库单据号退出/结束出库 /// /// /// [Route("goOutOutstore")] [HttpPost(Name = "goOutOutstore")] public async Task goOutOutstore(GetOutOrderDetailRequest request) { try { return await _outstoreService.GoOutOutstore(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 单灯开始出库 /// /// /// [Route("singleLightGoInOutstore")] [HttpPost(Name = "singleLightGoInOutstore")] public async Task singleLightGoInOutstore(GetOutOrderDetailRequest request) { //TODO:陶坤 try { return await _outstoreService.GoInOutstoreSingle(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "进入出库模式失败:" + ex.Message, }; } } /// /// 单灯结束出库 /// /// /// [Route("singleLightGoOutOutstore")] [HttpPost(Name = "singleLightGoOutOutstore")] public async Task singleLightGoOutOutstore(GetOutOrderDetailRequest request) { //TODO陶坤 try { return await _outstoreService.GoOutOutstore(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } /// /// 单灯确认出库 /// /// /// [Route("singleLightConfirmOutstore")] [HttpPost(Name = "singleLightConfirmOutstore")] public async Task singleLightConfirmOutstore(GetOutOrderDetailRequest request) { //TODO陶坤 try { return await _outstoreService.GoOutOutstore(request); } catch (Exception ex) { return new ResponseBase() { Code = 300, Message = "查询失败:" + ex.Message, }; } } } }