| | |
| | | BarcodeQty = item.OrderQuantity, |
| | | BarcodeUnit = item.Unit, |
| | | }; |
| | | var issueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty); |
| | | outboundOrderDetail.Unit = issueoStockResult.Unit; |
| | | outboundOrderDetail.OrderQuantity = issueoStockResult.Quantity; |
| | | var moveissueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeMoveQty); |
| | | outboundOrderDetail.MoveQty = moveissueoStockResult.Quantity; |
| | | var unitConvertResult = await ConvertUnitAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty, item.BarcodeMoveQty); |
| | | outboundOrderDetail.Unit = unitConvertResult.Unit; |
| | | outboundOrderDetail.OrderQuantity = unitConvertResult.OrderQuantity; |
| | | outboundOrderDetail.MoveQty = unitConvertResult.MoveQty; |
| | | |
| | | outboundOrderDetail.MaterielName = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MaterielCode)?.MaterielName ?? ""; |
| | | outboundOrderDetails.Add(outboundOrderDetail); |
| | | } |
| | | else |
| | | { |
| | | var unitConvertResult = await ConvertUnitAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty, item.BarcodeMoveQty); |
| | | #region éå®ç¶æä¸éæ°éåæ®µä¸è´æ§æ ¡éª |
| | | if (outboundOrderDetail.LockQuantity != 0) |
| | | { |
| | | var isFieldChanged = !string.Equals(outboundOrderDetail.MaterielCode, item.MaterielCode) |
| | | || !string.Equals(outboundOrderDetail.SupplyCode, item.SupplyCode) |
| | | || !string.Equals(outboundOrderDetail.BatchNo, item.BatchNo) |
| | | || !string.Equals(outboundOrderDetail.Unit, item.Unit) |
| | | || !string.Equals(outboundOrderDetail.Unit, unitConvertResult.Unit) |
| | | || !string.Equals(outboundOrderDetail.WarehouseCode, item.WarehouseCode) |
| | | || !string.Equals(outboundOrderDetail.lineNo, item.lineNo) |
| | | ; |
| | |
| | | outboundOrderDetail.BarcodeMoveQty = item.MoveQty; |
| | | outboundOrderDetail.BarcodeQty = item.OrderQuantity; |
| | | outboundOrderDetail.BarcodeUnit = item.Unit; |
| | | |
| | | var issueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeQty); |
| | | outboundOrderDetail.Unit = issueoStockResult.Unit; |
| | | outboundOrderDetail.OrderQuantity = issueoStockResult.Quantity; |
| | | var moveissueoStockResult = await _materialUnitService.ConvertFromToStockAsync(item.MaterielCode, item.BarcodeUnit, item.BarcodeMoveQty); |
| | | outboundOrderDetail.MoveQty = moveissueoStockResult.Quantity; |
| | | outboundOrderDetail.Unit = unitConvertResult.Unit; |
| | | outboundOrderDetail.OrderQuantity = unitConvertResult.OrderQuantity; |
| | | outboundOrderDetail.MoveQty = unitConvertResult.MoveQty; |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | return new PageGridData<Dt_OutboundOrder>(totalCount, data); |
| | | } |
| | | |
| | | |
| | | private async Task<UnitConvertResult> ConvertUnitAsync(string materielCode, string barcodeUnit, decimal barcodeQty, decimal barcodeMoveQty) |
| | | { |
| | | var issueoStockResult = await _materialUnitService.ConvertFromToStockAsync(materielCode, barcodeUnit, barcodeQty); |
| | | var moveissueoStockResult = await _materialUnitService.ConvertFromToStockAsync(materielCode, barcodeUnit, barcodeMoveQty); |
| | | |
| | | return new UnitConvertResult |
| | | { |
| | | Unit = issueoStockResult.Unit, |
| | | OrderQuantity = issueoStockResult.Quantity, |
| | | MoveQty = moveissueoStockResult.Quantity |
| | | }; |
| | | } |
| | | |
| | | private class UnitConvertResult |
| | | { |
| | | public string Unit { get; set; } |
| | | public decimal OrderQuantity { get; set; } |
| | | public decimal MoveQty { get; set; } |
| | | } |
| | | } |
| | | } |