From 848c9e4b2f8161d5a8d4dfc5f2d9a81a5725914d Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Fri, 2 Jan 2026 12:39:20 +0100 Subject: [PATCH] Added Prepare Service --- src/modules/serialexecution.service.ts | 16 +++++++++++----- src/plugins/services.ts | 6 +++--- src/routes/functions.ts | 5 +++++ 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/modules/serialexecution.service.ts b/src/modules/serialexecution.service.ts index 8f78b5d..82a98ff 100644 --- a/src/modules/serialexecution.service.ts +++ b/src/modules/serialexecution.service.ts @@ -388,15 +388,19 @@ async function getCloseData(server:FastifyInstance,item: any, tenant: any, units console.log(item); - const [contact, customer, profile, project, contract] = await Promise.all([ + const [contact, customer, project, contract] = await Promise.all([ fetchById(server, schema.contacts, item.contact), fetchById(server, schema.customers, item.customer), - fetchById(server, schema.authProfiles, item.contactPerson), // oder createdBy, je nach Logik fetchById(server, schema.projects, item.project), fetchById(server, schema.contracts, item.contract), item.letterhead ? fetchById(server, schema.letterheads, item.letterhead) : null + ]); + const profile = (await server.db.select().from(schema.authProfiles).where(and(eq(schema.authProfiles.user_id, item.created_by),eq(schema.authProfiles.tenant_id,tenant.id))).limit(1))[0]; + + console.log(profile) + const pdfData = getDocumentDataBackend( { ...item, @@ -613,6 +617,8 @@ export function getDocumentDataBackend( `${itemInfo.address?.zip || customerData.zip} ${itemInfo.address?.city || customerData.city}`, ].filter(Boolean); // Leere Einträge entfernen + console.log(contactPerson) + // Info Block aufbereiten const infoBlock = [ { @@ -634,12 +640,12 @@ export function getDocumentDataBackend( }] : []), { label: "Ansprechpartner", - content: contactPerson ? (contactPerson.name || contactPerson.fullName || contactPerson.email) : "-", + content: contactPerson ? (contactPerson.name || contactPerson.full_name || contactPerson.email) : "-", }, // Kontakt Infos - ...((itemInfo.contactTel || contactPerson?.fixedTel || contactPerson?.mobileTel) ? [{ + ...((itemInfo.contactTel || contactPerson?.fixed_tel || contactPerson?.mobile_tel) ? [{ label: "Telefon", - content: itemInfo.contactTel || contactPerson?.fixedTel || contactPerson?.mobileTel, + content: itemInfo.contactTel || contactPerson?.fixed_tel || contactPerson?.mobile_tel, }] : []), ...(contactPerson?.email ? [{ label: "E-Mail", diff --git a/src/plugins/services.ts b/src/plugins/services.ts index 1c9429c..c5788b7 100644 --- a/src/plugins/services.ts +++ b/src/plugins/services.ts @@ -3,14 +3,14 @@ import fp from "fastify-plugin"; import { bankStatementService } from "../modules/cron/bankstatementsync.service"; //import {initDokuboxClient, syncDokubox} from "../modules/cron/dokuboximport.service"; import { FastifyInstance } from "fastify"; -//import {prepareIncomingInvoices} from "../modules/cron/prepareIncomingInvoices"; +import {prepareIncomingInvoices} from "../modules/cron/prepareIncomingInvoices"; declare module "fastify" { interface FastifyInstance { services: { bankStatements: ReturnType; //dokuboxSync: ReturnType; - //prepareIncomingInvoices: ReturnType; + prepareIncomingInvoices: ReturnType; }; } } @@ -19,6 +19,6 @@ export default fp(async function servicePlugin(server: FastifyInstance) { server.decorate("services", { bankStatements: bankStatementService(server), //dokuboxSync: syncDokubox(server), - //prepareIncomingInvoices: prepareIncomingInvoices(server), + prepareIncomingInvoices: prepareIncomingInvoices(server), }); }); diff --git a/src/routes/functions.ts b/src/routes/functions.ts index 67a6582..d37963b 100644 --- a/src/routes/functions.ts +++ b/src/routes/functions.ts @@ -174,6 +174,11 @@ export default async function functionRoutes(server: FastifyInstance) { await server.services.bankStatements.run(req.user.tenant_id); }) + server.post('/functions/services/prepareincominginvoices', async (req, reply) => { + + await server.services.prepareIncomingInvoices.run(req.user.tenant_id) + }) + /*server.post('/print/zpl/preview', async (req, reply) => { const { zpl, widthMm = 50, heightMm = 30, dpmm = 8, asBase64 = false } = req.body as {zpl:string,widthMm:number,heightMm:number,dpmm:number,asBase64:string}