Compare commits

..

2 Commits

Author SHA1 Message Date
Loretta d1d37d058a Fix EKÁER mapping doc: clarify outgoing gross weight
Clarifies that outgoing EKÁER mapping now correctly sums gross weight from `OrderItemDto.GrossWeight` (fixing a prior net weight bug). Documents that non-measurable items have zero pallet weight, which may cause under-reporting, and references ADR-0001 for the proposed derived weight solution. Improves documentation accuracy for EKÁER reporting logic.
2026-07-14 18:35:03 +02:00
Loretta cb91051749 Add NAV EKÁER submission endpoint and update docs
- Switched DB connection to FruitBank_PROD in appsettings.json
- Added NAV EKÁER credentials section to appsettings.json
- Introduced SendEkaerToNav SignalR endpoint for direct NAV submission
- Updated README to document new submission workflow and status handling
- Clarified EKÁER process and lifecycle to reflect automated NAV integration
2026-07-13 18:59:39 +02:00
3 changed files with 28 additions and 5 deletions

View File

@ -413,6 +413,26 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Controllers
return await ctx.EkaerHistories.GetByIdAsync(ekaerHistory.Id, true); return await ctx.EkaerHistories.GetByIdAsync(ekaerHistory.Id, true);
} }
/// <summary>
/// Egy legenerált (Generated/GeneratedWithWarning) EkaerHistory TÁROLT tradeCard XML-jét beküldi a NAV-nak (create).
/// A service tölti a rekordot (Sent/SentWithMissingData + EkaerNumber + SentDate, vagy SendError + ErrorText),
/// itt csak perzisztáljuk. User-vezérelt (grid „Beküldés" gomb), a kliens megerősítő dialógus után hívja.
/// </summary>
[SignalR(SignalRTags.SendEkaerToNav)]
public async Task<EkaerHistory> SendEkaerToNav(int ekaerHistoryId)
{
_logger.Detail($"SendEkaerToNav invoked; ekaerHistoryId: {ekaerHistoryId}");
var ekaerHistory = await ctx.EkaerHistories.GetByIdAsync(ekaerHistoryId, true)
?? throw new ArgumentException($"EkaerHistory not found; id: {ekaerHistoryId}", nameof(ekaerHistoryId));
ekaerHistory = await fruitBankEkaerService.SendEkaerAsync(ekaerHistory);
await ctx.EkaerHistories.UpdateAsync(ekaerHistory);
_logger.Info($"SendEkaerToNav; id: {ekaerHistoryId}; status: {ekaerHistory.Status}; ekaerNumber: {ekaerHistory.EkaerNumber}");
return await ctx.EkaerHistories.GetByIdAsync(ekaerHistory.Id, true);
}
/// <summary> /// <summary>
/// Idempotens rekord-létrehozás: ha a forrás-rekordra (foreignKey + isOutgoing) már van mapping → a hozzá tartozó /// Idempotens rekord-létrehozás: ha a forrás-rekordra (foreignKey + isOutgoing) már van mapping → a hozzá tartozó
/// EkaerHistory-t adja vissza érintetlenül; különben új Pending rekordot + EGY mapping sort hoz létre (atomikusan). /// EkaerHistory-t adja vissza érintetlenül; különben új Pending rekordot + EGY mapping sort hoz létre (atomikusan).

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long