From 4261951c50fadb3cdac395086974a715487bab82 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期五, 13 十二月 2024 10:48:44 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 185 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 177 insertions(+), 8 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..b9f3f59 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,10 +1,21 @@ 锘縰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_IInboundRepository; +using WIDESEA_IInboundService; +using WIDESEA_Model.Models; namespace WIDESEA_WMSServer.Controllers.ERP { @@ -12,20 +23,178 @@ [ApiController] public class ErpController : ControllerBase { - private readonly IERPInvokeService _service; - public ErpController(IERPInvokeService service) + private readonly IPurchaseOrderRepository _purchaseOrderRepository; + private readonly IPurchaseOrderService _purchaseOrderService; + private readonly ISupplierInfoRepository _supplierInfoRepository; + private readonly IMaterielInfoRepository _materielInfoRepository; + + public ErpController(IPurchaseOrderRepository purchaseOrderRepository, IPurchaseOrderService purchaseOrderService, ISupplierInfoRepository supplierInfoRepository, IMaterielInfoRepository materielInfoRepository) { - _service = service; + _purchaseOrderRepository = purchaseOrderRepository; + _purchaseOrderService = purchaseOrderService; + _supplierInfoRepository = supplierInfoRepository; + _materielInfoRepository = materielInfoRepository; } - [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous] - public WebResponseContent ReceivePurchaseOrder([FromBody] PurchaseOrderModel model) + [HttpPost, Route("ReceivePurchaseOrder"), AllowAnonymous, MethodParamsValidate] + public WebResponseContent ReceivePurchaseOrder([FromBody] Dt_PurchaseOrder model) { try { - return _service.ReceivePurchaseOrder(model); + _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) + catch (Exception ex) + { + return WebResponseContent.Instance.Error(ex.Message); + } + } + + [HttpPost, Route("ReceivePurchaseOrderSingle"), AllowAnonymous, MethodParamsValidate] + public WebResponseContent ReceivePurchaseOrderSingle(PurchaseOrderModel model) + { + return _purchaseOrderService.ReceivePurchaseOrderSingle(model); + } + + [HttpPost, Route("ReceiveSupplier"), AllowAnonymous, MethodParamsValidate] + public WebResponseContent ReceiveSupplier(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); + } + } + + [HttpPost, Route("ReceiveMaterial"), AllowAnonymous, MethodParamsValidate] + public WebResponseContent ReceiveMaterial(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); + } + } + + public WebResponseContent ReceiveOutOrder(ErpOutOrderDTO erpOutOrder) + { + try + { + return WebResponseContent.Instance.OK(); + } + catch(Exception ex) { return WebResponseContent.Instance.Error(ex.Message); } -- Gitblit v1.9.3