Add employee livesearch lookup
This commit is contained in:
@@ -21,6 +21,7 @@ import type {
|
||||
Logger,
|
||||
Maschine,
|
||||
MaschinenKategorie,
|
||||
Mitarbeiter,
|
||||
Rechnungsdaten,
|
||||
} from './types';
|
||||
|
||||
@@ -504,6 +505,38 @@ export class AgrarmonitorConnector implements AgrarmonitorConnectorResult {
|
||||
});
|
||||
}
|
||||
|
||||
async getMitarbeiter(suchstring = '', mitarbeitergruppe = 0): Promise<Mitarbeiter[]> {
|
||||
const response = await this.http.get('/module/mitarbeiter/livesearch.php', {
|
||||
params: {
|
||||
suchstring,
|
||||
mitarbeiter_aktiv: 1,
|
||||
mitarbeitergruppe,
|
||||
itemsperpage: 100000,
|
||||
seite: 1,
|
||||
},
|
||||
});
|
||||
|
||||
await this.saveSession();
|
||||
|
||||
const document = this.parseHtmlDocument(response.data);
|
||||
const rows = Array.from(
|
||||
document.querySelectorAll<HTMLTableRowElement>(
|
||||
'table#mitarbeiter_table tbody tr, table.mitarbeiter_table tbody tr'
|
||||
)
|
||||
);
|
||||
|
||||
return rows.map(row => {
|
||||
const cells = Array.from(row.querySelectorAll<HTMLTableCellElement>('td'));
|
||||
|
||||
return {
|
||||
id: this.parseNumber(row.getAttribute('data-id') ?? row.id),
|
||||
nummer: cells[0]?.textContent?.trim() ?? '',
|
||||
nachname: cells[1]?.textContent?.trim() ?? '',
|
||||
vorname: cells[2]?.textContent?.trim() ?? '',
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
private createHttpClient(): AxiosInstance {
|
||||
const client = wrapper(
|
||||
axios.create({
|
||||
|
||||
@@ -60,6 +60,7 @@ export interface AgrarmonitorConnectorResult {
|
||||
getArtikelEinheiten(): Promise<ArtikelEinheit[]>;
|
||||
getArtikelKategorien(): Promise<ArtikelKategorie[]>;
|
||||
getArtikel(artikelGruppe: number, suchstring?: string): Promise<Artikel[]>;
|
||||
getMitarbeiter(suchstring?: string, mitarbeitergruppe?: number): Promise<Mitarbeiter[]>;
|
||||
}
|
||||
|
||||
export interface AgrarmonitorFreischaltungStatus {
|
||||
@@ -190,3 +191,10 @@ export interface Artikel {
|
||||
nummer: string;
|
||||
bezeichnung: string;
|
||||
}
|
||||
|
||||
export interface Mitarbeiter {
|
||||
id: number;
|
||||
nummer: string;
|
||||
nachname: string;
|
||||
vorname: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user