feat(report): Kundennummer an DOCUframe-Makro _SV_assignDeliveryReport uebergeben

Das Makro ordnet den Lieferbericht dem Vorgang des Kunden zu und braucht
dafuer jetzt zusaetzlich die im ERP hinterlegte Kundennummer:
  { objectId, belegnummer, kundennummer }

- AssignReportRequest + Gateway-Port um kundennummer (String) erweitert
- AttachmentRepository.delivery_customer_number(): liest
  customers.erp_customer_id (= ERP Kunden.Kundennummer) ueber
  deliveries.customer_id
- ProcessDeliveryReportUseCase liest die Nummer aus der DB (nicht aus dem
  Render-Ergebnis), damit sie auch im Retry-Pfad ohne erneutes Rendern vorliegt

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dennis Nemec
2026-09-09 00:44:26 +02:00
parent 17dcc42291
commit 54ed619396
6 changed files with 54 additions and 5 deletions

View File

@ -78,6 +78,23 @@ impl AttachmentRepository for PgAttachmentRepository {
Ok(belegnummer)
}
async fn delivery_customer_number(
&self,
delivery_id: Uuid,
) -> Result<Option<i64>, ApplicationError> {
let customer_number: Option<i64> = sqlx::query_scalar(
"SELECT c.erp_customer_id \
FROM deliveries d \
JOIN customers c ON c.id = d.customer_id \
WHERE d.id = $1",
)
.bind(delivery_id)
.fetch_optional(&self.pool)
.await
.map_err(db)?;
Ok(customer_number)
}
async fn list_active_for_delivery(
&self,
delivery_id: Uuid,