| | |
| | | { |
| | | 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) |
| | | { |
| | |
| | | _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(); |
| | | } |