using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using SqlSugar; using WIDESEA_Common.CommonEnum; using WIDESEA_Common.MaterielEnum; using WIDESEA_Common.OrderEnum; using WIDESEA_Core; using WIDESEA_Core.Attributes; using WIDESEA_Core.Helper; using WIDESEA_DTO; using WIDESEA_DTO.Basic; using WIDESEA_DTO.ERP; using WIDESEA_External.ERPService; using WIDESEA_IBasicRepository; using WIDESEA_IBasicService; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; using WIDESEA_IOutboundService; using WIDESEA_Model.Models; using static WIDESEA_DTO.ErpResponseContent; namespace WIDESEA_WMSServer.Controllers.ERP { [Route("api/Erp")] [ApiController] public class ErpController : ControllerBase { private readonly IPurchaseOrderRepository _purchaseOrderRepository; private readonly IPurchaseOrderService _purchaseOrderService; private readonly ISupplierInfoService _supplierInfoService; private readonly IMaterielInfoService _materielInfoService; private readonly IOutboundOrderService _outboundOrderService; private readonly ICustomerInfoService _customerInfoService; private readonly IUserInfoService _userInfoService; public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoService supplierInfoService, IMaterielInfoService materielInfoService, IOutboundOrderService outboundOrderService,ICustomerInfoService customerInfoService, IUserInfoService userInfoService) { _purchaseOrderRepository = purchaseOrderRepository; _purchaseOrderService = purchaseOrderService; _supplierInfoService = supplierInfoService; _materielInfoService = materielInfoService; _outboundOrderService = outboundOrderService; _customerInfoService = customerInfoService; _userInfoService = userInfoService; } /// /// 接收ERP采购单信息 /// /// /// [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceivePurchaseOrder([FromBody] Root model) { WebResponseContent content = _purchaseOrderService.ReceivePurchaseOrder(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } /// /// 接收ERP仓库员工和质检员工数据 /// /// /// [HttpPost, Route("ReceiveUser"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveUser([FromBody] Root model) { WebResponseContent content = _userInfoService.ReceiveUser(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } /// /// 接收ERP供应商信息 /// /// /// [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveSupplier([FromBody] Root model) { WebResponseContent content = _supplierInfoService.ReceiveSupplier(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } /// /// 接收ERP物料信息 /// /// /// [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveMaterial([FromBody] Root model) { WebResponseContent content = _materielInfoService.ReceiveMaterial(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } /// /// 接收ERP客户信息 /// /// /// [HttpPost, Route("ReceiveCustomer"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveCustomer([FromBody] Root model) { WebResponseContent content = _customerInfoService.ReceiveCustomer(model.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } /// /// 接收ERP出库单信息 /// /// /// [HttpPost, Route("ReceiveOutOrder"), AllowAnonymous, MethodParamsValidate] public ErpResponseContent ReceiveOutOrder([FromBody] Root erpOutOrder) { WebResponseContent content = _outboundOrderService.ReceiveOutOrder(erpOutOrder.Content); if (content.Status) return Instance.OK(); else return Instance.Error(content.Message); } } }