From 5ee4d66f4fef38f9d7ba38d8c3cfae7f7fc082d3 Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期五, 10 一月 2025 17:51:22 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 243 +++++++++++++++++------------------------------- 1 files changed, 88 insertions(+), 155 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" index b9f3f59..535d556 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" @@ -12,192 +12,125 @@ using WIDESEA_DTO.Basic; using WIDESEA_DTO.ERP; using WIDESEA_External.ERPService; +using WIDESEA_External.Model; using WIDESEA_IBasicRepository; +using WIDESEA_IBasicService; using WIDESEA_IInboundRepository; using WIDESEA_IInboundService; +using WIDESEA_InboundService; +using WIDESEA_IOutboundService; using WIDESEA_Model.Models; +using static WIDESEA_DTO.ErpResponseContent; namespace WIDESEA_WMSServer.Controllers.ERP { + /// <summary> + /// ERP鎺ュ彛 + /// </summary> [Route("api/Erp")] [ApiController] public class ErpController : ControllerBase { - private readonly IPurchaseOrderRepository _purchaseOrderRepository; - private readonly IPurchaseOrderService _purchaseOrderService; - private readonly ISupplierInfoRepository _supplierInfoRepository; - private readonly IMaterielInfoRepository _materielInfoRepository; + private readonly IBasicService _basicService; + private readonly IOutboundService _outboundService; + private readonly IInboundService _inboundService; + private readonly IInvokeERPService _invokeERPService; - public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoRepository supplierInfoRepository, IMaterielInfoRepository materielInfoRepository) + public ErpController(IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, + IInvokeERPService invokeERPService) { - _purchaseOrderRepository = purchaseOrderRepository; - _purchaseOrderService = purchaseOrderService; - _supplierInfoRepository = supplierInfoRepository; - _materielInfoRepository = materielInfoRepository; + _basicService = basicService; + _outboundService = outboundService; + _inboundService = inboundService; + _invokeERPService = invokeERPService; } + /// <summary> + /// 鎺ユ敹ERP閲囪喘鍗曚俊鎭� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] - public WebResponseContent ReceivePurchaseOrder([FromBody] Dt_PurchaseOrder model) + public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> 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); - } + WebResponseContent content = _inboundService.PurchaseOrderService.ReceivePurchaseOrder(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); } - [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate] - public WebResponseContent ReceivePurchaseOrderSingle(PurchaseOrderModel model) + /// <summary> + /// 鎺ユ敹ERP浠撳簱鍛樺伐鍜岃川妫�鍛樺伐鏁版嵁 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("ReceiveUser"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveUser([FromBody] Root<UserInfoDTO> model) { - return _purchaseOrderService.ReceivePurchaseOrderSingle(model); + WebResponseContent content = _basicService.UserInfoService.ReceiveUser(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); } + /// <summary> + /// 鎺ユ敹ERP渚涘簲鍟嗕俊鎭� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] - public WebResponseContent ReceiveSupplier(SupplierDTO model) + public ErpResponseContent ReceiveSupplier([FromBody] Root<SupplierDTO> model) { - try - { - if (model.OperateType == "0") - { - Dt_SupplierInfo supplierInfo = new Dt_SupplierInfo() - { - Status = 1, - SupplierCode = model.Code, - SupplierName = model.Name, - SupplierShortName = model.ShortName - }; - - _supplierInfoRepository.AddData(supplierInfo); - } - else if (model.OperateType == "1") - { - Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.Code); - if (supplierInfo == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒拌渚涘簲鍟嗕俊鎭�"); - } - supplierInfo.Status = 1; - supplierInfo.SupplierCode = model.Code; - supplierInfo.SupplierName = model.Name; - supplierInfo.SupplierShortName = model.ShortName; - _supplierInfoRepository.UpdateData(supplierInfo); - } - else if (model.OperateType == "2") - { - Dt_SupplierInfo supplierInfo = _supplierInfoRepository.QueryFirst(x => x.SupplierCode == model.Code); - if (supplierInfo == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒拌渚涘簲鍟嗕俊鎭�"); - } - _supplierInfoRepository.DeleteData(supplierInfo); - } - return WebResponseContent.Instance.OK(); - } - catch (Exception ex) - { - return WebResponseContent.Instance.Error(ex.Message); - } + WebResponseContent content = _basicService.SupplierInfoService.ReceiveSupplier(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); } + /// <summary> + /// 鎺ユ敹ERP鐗╂枡淇℃伅 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] - public WebResponseContent ReceiveMaterial(MaterielInfoDTO model) + public ErpResponseContent ReceiveMaterial([FromBody] Root<MaterielInfoDTO> model) { - try - { - if (model.OperateType == 0) - { - Dt_MaterielInfo materielInfo = new Dt_MaterielInfo() - { - IsCheck = (WhetherEnum)model.IsCheck, - MaterielCode = model.Code, - MaterielInvOrgId = model.InvOrgId, - MaterielLength = model.Length, - MaterielModel = model.Model, - MaterielName = model.Name, - MaterielSize = model.Size, - MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType, - MaterielSpec = "model.", - MaterielState = (EnableEnum)model.State, - MaterielThickness = model.Thickness, - MaterielType = (MaterielTypeEnum)model.ItemType, - MaterielUnit = model.Unit, - MaterielVersion = model.MaterialVersion, - MaterielWide = model.Wide, - WarehouseId = model.WaId, - }; - _materielInfoRepository.AddData(materielInfo); - } - else if (model.OperateType == 1) - { - Dt_MaterielInfo materielInfo = _materielInfoRepository.QueryFirst(x => x.MaterielCode == model.Code); - if (materielInfo == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒扮墿鏂欎俊鎭�"); - } - - materielInfo.IsCheck = (WhetherEnum)model.IsCheck; - materielInfo.MaterielCode = model.Code; - materielInfo.MaterielInvOrgId = model.InvOrgId; - materielInfo.MaterielLength = model.Length; - materielInfo.MaterielModel = model.Model; - materielInfo.MaterielName = model.Name; - materielInfo.MaterielSize = model.Size; - materielInfo.MaterielSourceType = (MaterielSourceTypeEnum)model.ItemSourceType; - materielInfo.MaterielSpec = model.StandType; - materielInfo.MaterielState = (EnableEnum)model.State; - materielInfo.MaterielThickness = model.Thickness; - materielInfo.MaterielType = (MaterielTypeEnum)model.ItemType; - materielInfo.MaterielUnit = model.Unit; - materielInfo.MaterielVersion = model.MaterialVersion; - materielInfo.MaterielWide = model.Wide; - materielInfo.WarehouseId = model.WaId; - _materielInfoRepository.UpdateData(materielInfo); - } - else if (model.OperateType == 2) - { - Dt_MaterielInfo materielInfo = _materielInfoRepository.QueryFirst(x => x.MaterielCode == model.Code); - if (materielInfo == null) - { - return WebResponseContent.Instance.Error($"鏈壘鍒扮墿鏂欎俊鎭�"); - } - - _materielInfoRepository.DeleteData(materielInfo); - } - return WebResponseContent.Instance.OK(); - } - catch (Exception ex) - { - return WebResponseContent.Instance.Error(ex.Message); - } + WebResponseContent content = _basicService.MaterielInfoService.ReceiveMaterial(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); } - public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO erpOutOrder) + /// <summary> + /// 鎺ユ敹ERP瀹㈡埛淇℃伅 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("ReceiveCustomer"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveCustomer([FromBody] Root<CustomerInfoDTO> model) { - try - { - return WebResponseContent.Instance.OK(); - } - catch(Exception ex) - { - return WebResponseContent.Instance.Error(ex.Message); - } + WebResponseContent content = _basicService.CustomerInfoService.ReceiveCustomer(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + + /// <summary> + /// 鎺ユ敹ERP鍑哄簱鍗曚俊鎭� + /// </summary> + /// <param name="erpOutOrder"></param> + /// <returns></returns> + [HttpPost, Route("ReceiveOutOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveOutOrder([FromBody] Root<ErpOutOrderDTO> erpOutOrder) + { + WebResponseContent content = _outboundService.OutboundOrderService.ReceiveOutOrder(erpOutOrder.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎺ㄩ�丒RP鍑哄簱 + /// </summary> + /// <param name="erpOutOrder"></param> + /// <returns></returns> + [HttpPost, Route("InvokeOutStandardsApi"), AllowAnonymous] + public string InvokeOutStandardsApi([FromBody] ERPIssueModel issueModel) + { + return _invokeERPService.InvokeOutStandardsApi(issueModel); } } } -- Gitblit v1.9.3