feat(handelsware-datev): API, Kontenliste mit Zeilenschutz und DATEV-Export
- Prisma-Modelle HandelswareDatevConfig und HandelswareKonto mit Zeilenschutz (Migration 20261002130000) - XLSX lesen (B1 Kopf, A/B ab Zeile 2, Zahl oder deutscher Text), Konten zuordnen, TXT erzeugen - neue Konten werden nur beim Export in einer mandantengebundenen Transaktion gespeichert (409 bei geaenderter Liste) - Konten-CSV Import (alles ersetzen) und Export mit Schutz vor Formeleinschleusung - Einstellungen nur fuer Administratoren, statische Routen vor accounts/:id Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { Logger, Module, OnModuleInit } from '@nestjs/common';
|
||||
import { ModuleRegistryModule } from '../module-registry/module-registry.module';
|
||||
import { ModuleRegistryService } from '../module-registry/module-registry.service';
|
||||
import { HandelswareDatevController } from './handelsware-datev.controller';
|
||||
import { seedHandelswareDatevModule } from './handelsware-datev.seed';
|
||||
import { HandelswareDatevService } from './handelsware-datev.service';
|
||||
|
||||
/**
|
||||
* Handelsware (quick-261002-fm5): Excel-Umsaetze Erloeskonten zuordnen und als
|
||||
* DATEV-Buchungsdatei exportieren. Traegt sich beim Start in die
|
||||
* Modulverwaltung ein; aktiviert wird per Marktplatz.
|
||||
*/
|
||||
@Module({
|
||||
imports: [ModuleRegistryModule],
|
||||
controllers: [HandelswareDatevController],
|
||||
providers: [HandelswareDatevService],
|
||||
})
|
||||
export class HandelswareDatevModule implements OnModuleInit {
|
||||
private readonly logger = new Logger(HandelswareDatevModule.name);
|
||||
|
||||
constructor(private readonly moduleRegistryService: ModuleRegistryService) {}
|
||||
|
||||
async onModuleInit(): Promise<void> {
|
||||
try {
|
||||
await seedHandelswareDatevModule(this.moduleRegistryService);
|
||||
this.logger.log('Handelsware-DATEV module seeded in registry');
|
||||
} catch (error) {
|
||||
this.logger.error('Failed to seed handelsware-datev module', error);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user