using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using WIDESEA_Common.OrderEnum; using WIDESEA_Core; using WIDESEA_Core.Attributes; using WIDESEA_Core.Helper; using WIDESEA_DTO; using WIDESEA_DTO.Basic; using WIDESEA_External.ERPService; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.ERP { [Route("api/Erp")] [ApiController] public class ErpController : ControllerBase { private readonly IPurchaseOrderRepository _purchaseOrderRepository; private readonly IPurchaseOrderService _purchaseOrderService; public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService) { _purchaseOrderRepository = purchaseOrderRepository; _purchaseOrderService = purchaseOrderService; } [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] public WebResponseContent ReceivePurchaseOrder([FromBody] Dt_PurchaseOrder model) { try { _purchaseOrderRepository.AddData(model, x => x.Details); foreach (var item in model.Details) { Dt_ReceiveOrder receiveOrder = new Dt_ReceiveOrder() { ReceiveOrderStatus = InOrderStatusEnum.未开始.ObjToInt(), WarehouseId = item.WarehouseId, SuppliersId = model.SupplierCode, ReceiveOrderType = InOrderTypeEnum.Purchase.ObjToInt(), ReceiveDate = DateTime.Now, }; } return WebResponseContent.Instance.OK(); } catch (Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } } public WebResponseContent ReceivePurchaseOrderSingle(PurchaseOrderModel model) { return _purchaseOrderService.ReceivePurchaseOrderSingle(model); } [HttpPost, Route("Test"), AllowAnonymous] public WebResponseContent Test(string str) { MatSerNumAnalysisModel model = CodeAnalysisHelper.CodeAnalysis(WIDESEA_Core.CodeConfigEnum.AnalysisCodeEnum.MatSerNumAnalysis, str); return WebResponseContent.Instance.OK(model.Serialize()); } } }