From 9ec715d2deb18a269dd49c48da91a36632d08c81 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 18 六月 2025 00:56:26 +0800 Subject: [PATCH] 最新代码上传,优化功能等 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 341 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 328 insertions(+), 13 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 93eb1fa..4431333 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" @@ -1,34 +1,349 @@ 锘縰sing 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_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 IERPInvokeService _service; - public ErpController(IERPInvokeService service) + private readonly IBasicService _basicService; + private readonly IOutboundService _outboundService; + private readonly IInboundService _inboundService; + private readonly IInvokeERPService _invokeERPService; + private readonly IReturnOrderService _returnOrderService; + + public ErpController(IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, + IInvokeERPService invokeERPService, IReturnOrderService returnOrderService) { - _service = service; + _basicService = basicService; + _outboundService = outboundService; + _inboundService = inboundService; + _invokeERPService = invokeERPService; + _returnOrderService = returnOrderService; } - [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous] - public WebResponseContent ReceivePurchaseOrder([FromBody] PurchaseOrderModel model) + /// <summary> + /// 鎺ユ敹ERP閲囪喘鍗曚俊鎭� + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceivePurchaseOrder([FromBody] Root<PurchaseOrderModel> model) { - try - { - return _service.ReceivePurchaseOrder(model); - } - 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); + } + + /// <summary> + /// 鎺ユ敹ERP浠撳簱鍛樺伐鍜岃川妫�鍛樺伐鏁版嵁 + /// </summary> + /// <param name="model"></param> + /// <returns></returns> + [HttpPost, Route("ReceiveUser"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveUser([FromBody] Root<UserInfoDTO> 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 ErpResponseContent ReceiveSupplier([FromBody] Root<SupplierDTO> model) + { + 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 ErpResponseContent ReceiveMaterial([FromBody] Root<MaterielInfoDTO> model) + { + WebResponseContent content = _basicService.MaterielInfoService.ReceiveMaterial(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("ReceiveCustomer"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveCustomer([FromBody] Root<CustomerInfoDTO> model) + { + 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> + /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗曚俊鎭�(璁㈠崟鍑哄簱/瀵勫敭鍑哄簱) + /// </summary> + /// <returns></returns> + [HttpPost, Route("ProductDeliveryOrder"), AllowAnonymous, MethodParamsValidate] + public async Task<ErpResponseContent> ProductDeliveryOrder([FromBody] Root<ErpProOutOrderDTO> erpProOutOrder) + { + var content = await _outboundService.ProOutOrderService.ProductDeliveryOrder(erpProOutOrder.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎴愬搧瀵勫敭杞叆/璋冩嫧鍏ュ簱 + /// </summary> + /// <param name="root"></param> + /// <returns></returns> + [HttpPost, Route("ProductWarehousingOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ProductWarehousingOrder([FromBody] Root<ErpProductWarehousingOrderDTO> root) + { + WebResponseContent content = _inboundService.ErpProInOrderService.ProductWarehousingOrder(root.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎴愬搧璋冩嫧鍑猴紙鐮斿彂锛� + /// </summary> + /// <param name="root"></param> + /// <returns></returns> + [HttpPost, Route("ProductTransferOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ProductTransferOrder([FromBody] Root<ErpProductTransferOrderDTO> root) + { + WebResponseContent content = _outboundService.ErpProTransferOrderService.ProductTransferOrder(root.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎴愬搧鎶ュ簾鍑哄簱鍗曟帴鏀� + /// </summary> + /// <param name="root"></param> + /// <returns></returns> + [HttpPost, Route("ProductScrappedOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ProductScrappedOrder([FromBody] Root<ErpProductScrappedOrderDTO> root) + { + return Instance.OK(); + } + /// <summary> + /// 鎴愬搧棰嗘枡鍑哄簱鍗曟帴鏀� + /// </summary> + /// <param name="root"></param> + /// <returns></returns> + [HttpPost, Route("ProductOutOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ProductOutOrder([FromBody] Root<ErpProOutLingOrder> root) + { + return Instance.OK(); + } + /// <summary> + /// 閿�鍞寚娲惧崟鎺ユ敹 + /// </summary> + [HttpPost, Route("ProductSpecifyVer"), AllowAnonymous, MethodParamsValidate] + public async Task<ErpResponseContent> ProductSpecifyVerAsync([FromBody] Root<ErpProductSpecifyVerDTO> root) + { + var content = await _outboundService.ProOutOrderService.ProductSpecifyVer(root.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎺ユ敹ERP閫�鏂欏崟淇℃伅 + /// </summary> + [HttpPost, Route("ReturnOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReturnOrder([FromBody] Root<ErpReturnOrderDTO> model) + { + WebResponseContent content = _returnOrderService.ReturnOrder(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鍏朵粬鍏ュ簱鍗曟帴鏀�(璋冩嫈鍏ヤ粨,瀹緵鍥炴敹,鐗╂枡閿�鍞��璐�) + /// </summary> + /// <returns></returns> + [HttpPost, Route("ReceiveWarehousingOrder"), AllowAnonymous, MethodParamsValidate] + public ErpResponseContent ReceiveWarehousingOrder([FromBody] Root<ErpInOrderDTO> model) + { + WebResponseContent content = _inboundService.InbounOrderService.ReceiveWarehousingOrder(model.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); + } + /// <summary> + /// 鎺ㄩ�丒RP鍑哄簱 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeOutStandardsApi"), AllowAnonymous] + public string InvokeOutStandardsApi([FromBody] ERPIssueModel issueModel) + { + return _invokeERPService.InvokeOutStandardsApi(issueModel); + } + /// <summary> + /// 鎺ㄩ�丒RP鏀惰揣 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeMatReceiveApi"), AllowAnonymous] + public string InvokeMatReceiveApi([FromBody]ERPReceiveModel receiveModel) + { + return _invokeERPService.InvokeMatReceiveApi(receiveModel); + } + /// <summary> + /// 鎺ㄩ�丒RP鏉ユ枡IQC璐ㄦ + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeCheckOrderApi"), AllowAnonymous] + public string InvokeCheckOrderApi([FromBody] ERPCheckModel checkModel) + { + return _invokeERPService.InvokeCheckOrderApi(checkModel); + } + /// <summary> + /// 鎺ㄩ�丒RP鐗╂枡閫佹 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeInspectApi"), AllowAnonymous] + public string InvokeInspectApi([FromBody] ERPInspectModel eRPInspectModel) + { + return _invokeERPService.InvokeInspectApi(eRPInspectModel); + } + /// <summary> + /// 鎺ㄩ�丒RP鍏ュ簱 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeInboundOrderApi"), AllowAnonymous] + public string InvokeInboundOrderApi([FromBody]ERPInboundModel inboundModel) + { + return _invokeERPService.InvokeInboundOrderApi(inboundModel); + } + /// <summary> + /// 鎺ㄩ�丒RP閫�鏂欎笂鎶� + /// </summary> + [HttpPost, Route("InvokeReturnApi"), AllowAnonymous] + public string InvokeReturnApi([FromBody] ERPReturnModel returnModel) + { + return _invokeERPService.InvokeReturnApi(returnModel); + } + /// <summary> + /// ERP鐩樿耽/浜忎笂鎶ユ帴鍙h皟鐢� + /// </summary> + [HttpPost, Route("InvokeTakeStockApi"), AllowAnonymous] + public string InvokeTakeStockApi([FromBody] ERPTakeStockModel takeModel) + { + return _invokeERPService.InvokeTakeStockApi(takeModel); + } + /// <summary> + /// ERP鎴愬搧鍏ュ簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeProInApi"), AllowAnonymous] + public string InvokeProInApi([FromBody] ERPProInboundModel inboundModel) + { + return _invokeERPService.InvokeProInApi(inboundModel); + } + /// <summary> + /// ERP鎴愬搧鍑哄簱涓婃姤鎺ュ彛璋冪敤 + /// </summary> + [HttpPost, Route("InvokeProOutApi"), AllowAnonymous] + public string InvokeProOutApi([FromBody] ERPProOutOrderModel outOrderModel) + { + return _invokeERPService.InvokeProOutApi(outOrderModel); + } + /// <summary> + /// 鎴愬搧浠撴鎶ュ簾鍑哄簱鎺ㄩ�丒RP + /// </summary> + /// <param name="checkModel"></param> + /// <returns></returns> + [HttpPost, Route("InvokeProCheckApi"), AllowAnonymous] + public string InvokeProCheckApi([FromBody] ERPProductCheckModel checkModel) + { + return _invokeERPService.InvokeProCheckApi(checkModel); + } + /// <summary> + /// 鎴愬搧瓒呭懆鏈熸姤搴熸帹閫丒Rp + /// </summary> + /// <param name="sheetModel"></param> + /// <returns></returns> + [HttpPost, Route("InvokeProScrapSheetApi"), AllowAnonymous] + public string InvokeProScrapSheetApi([FromBody] ERPScrapSheetModel sheetModel) + { + return _invokeERPService.InvokeProScrapSheetApi(sheetModel); + } + /// <summary> + /// 鎴愬搧鐩樼偣鐩樿耽/鐩樹簭 + /// </summary> + /// <param name="stockCheckModel"></param> + /// <returns></returns> + [HttpPost, Route("InvokeProStockCheckApi"), AllowAnonymous] + public string InvokeProStockCheckApi([FromBody] ERPProStockCheckModel stockCheckModel) + { + return _invokeERPService.InvokeProStockCheckApi(stockCheckModel); + } + /// <summary> + /// 鏌ヨ閿�鍞瓻RP瀹㈡埛 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeProSaleCustomer"), AllowAnonymous] + public string InvokeProSaleCustomer(string saleOrder) + { + return _invokeERPService.InvokeProSaleCustomer(saleOrder); + } + /// <summary> + /// 鏌ヨ閿�鍞瓻RP瀹㈡埛 + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeOutProErpSync"), AllowAnonymous] + public string InvokeOutProErpSync(string outProOrderNo) + { + return _invokeERPService.InvokeOutProErpSync(outProOrderNo); + } + /// <summary> + /// ERP鎴愬搧鍏ュ簱浜у搧鍨嬪彿闈㈢Н鏌ヨ + /// </summary> + /// <returns></returns> + [HttpPost, Route("InvokeProInErpStatic"), AllowAnonymous] + public string InvokeProInErpStatic(string partNum, string partNumWithRev) + { + return _invokeERPService.InvokeProInErpStatic(partNum, partNumWithRev); } } } -- Gitblit v1.9.3