From efaf0b8aeb26aca6536a4b384c912cc3cac4d070 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期六, 15 三月 2025 16:07:45 +0800 Subject: [PATCH] 成品代码,其他仓优化,前端优化界面增加 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs | 85 +++++++++++++++++++++++++++++++++++++----- 1 files changed, 75 insertions(+), 10 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" index d74a418..ff6f7dc 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/ReceiveOrderDetailService.cs" @@ -72,6 +72,70 @@ { return WebResponseContent.Instance.Error($"璇ョ墿鏂欎笉灞炰簬璇ヤ粨搴�"); } + //鏃犻噰璐崟杩涜鏀惰揣 + if (receiveOrder.ReceiveOrderType != ReceiveOrderTypeEnum.PO.ObjToInt()) + { + //鑾峰彇鍏蜂綋鎵规鍙婄墿鏂� + Dt_ReceiveOrderDetail? detailNoPo = receiveOrder.Details.FirstOrDefault(x => x.LotNo == model.LotNo && x.MaterielCode == model.MaterielCode); + lock (_rowNoLocker) + { + if (detailNoPo != null) + { + //鍘熸湁鏀惰揣鏄庣粏澧炲姞鏀惰揣鏁伴噺 + detailNoPo.ReceivedQuantity += model.Quantity; + _unitOfWorkManage.BeginTran(); + BaseDal.UpdateData(detailNoPo); + _unitOfWorkManage.CommitTran(); + } + else + { + int rowNo = 0; + if (receiveOrder.Details.Count > 0) + { + rowNo = receiveOrder.Details.Max(x => x.RowNo); + } + Dt_ReceiveOrderDetail receiveOrderDetail = new Dt_ReceiveOrderDetail() + { + PurchaseOrderNo = model.PurchaseOrderNo, + ReceivedQuantity = model.Quantity, + MaterielCode = model.MaterielCode, + LotNo = model.LotNo, + MaterielName = materielInfo.MaterielName, + MaterielSpec = materielInfo.MaterielSpec, + ReceiveOrderId = receiveOrder.ReceiveOrderId, + PurchaseOrderDetailRowNo = rowNo + 1, + IfInspection = materielInfo.IsCheck.ObjToInt(), + CurrCode = "", + PriceInTax = 0, + TaxRate = "", + RowNo = rowNo + 1, + Unit = materielInfo.MaterielUnit + }; + if (receiveOrder.ReceiveOrderStatus == ReceiveOrderStatusEnum.NotStarted.ObjToInt()) + { + receiveOrder.ReceiveOrderStatus = ReceiveOrderStatusEnum.Receiving.ObjToInt(); + } + _unitOfWorkManage.BeginTran(); + _inboundRepository.ReceiveOrderDetailRepository.AddData(receiveOrderDetail); + _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder); + #region 娉ㄩ噴 + if (materielInfo.IsCheck == WhetherEnum.True) + { + Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); + checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; + checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; + checkOrder.ReceiveDetailRowNo = receiveOrderDetail.RowNo; + checkOrder.ScrappedQuantity = 0; + checkOrder.ReturnQuantity = 0; + checkOrder.DefectedQuantity = 0; + _checkOrderRepository.AddData(checkOrder); + } + #endregion + _unitOfWorkManage.CommitTran(); + } + return WebResponseContent.Instance.OK(); + } + } Dt_PurchaseOrder purchaseOrder = _inboundRepository.PurchaseOrderRepository.Db.Queryable<Dt_PurchaseOrder>().Where(x => x.PurchaseOrderNo == model.PurchaseOrderNo).Includes(x => x.Details).First(); if (purchaseOrder == null) { @@ -200,16 +264,17 @@ _inboundRepository.ReceiveOrderRepository.UpdateData(receiveOrder); _inboundRepository.PurchaseOrderDetailRepository.UpdateData(purchaseOrderDetail); #region 娉ㄩ噴 - //if (materielInfo.IsCheck == WhetherEnum.True) - //{ - // Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); - // checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; - // checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; - // checkOrder.ScrappedQuantity = 0; - // checkOrder.ReturnQuantity = 0; - // checkOrder.DefectedQuantity = 0; - // _checkOrderRepository.AddData(checkOrder); - //} + ////if (materielInfo.IsCheck == WhetherEnum.True) + ////{ + //// Dt_CheckOrder checkOrder = _mapper.Map<Dt_CheckOrder>(receiveOrderDetail); + //// checkOrder.ReceiveOrderNo = receiveOrder.ReceiveOrderNo; + //// checkOrder.QualifiedQuantity = receiveOrderDetail.ReceivedQuantity; + //// checkOrder.ReceiveDetailRowNo = receiveOrderDetail.RowNo; + //// checkOrder.ScrappedQuantity = 0; + //// checkOrder.ReturnQuantity = 0; + //// checkOrder.DefectedQuantity = 0; + //// _checkOrderRepository.AddData(checkOrder); + ////} #endregion _unitOfWorkManage.CommitTran(); } -- Gitblit v1.9.3