add initial recording of individual persons with changed database interaction

This commit is contained in:
2026-06-17 09:46:04 +02:00
parent 4a1d5d4647
commit 1f75801fc5
2 changed files with 250 additions and 1325 deletions

View File

@@ -82,7 +82,7 @@ def _transform_for_gui_output(
return q.collect()
def comp_search_choices() -> tuple[tuple[str, int], ...]:
def initrec_comp_search_choices() -> tuple[tuple[str, int], ...]:
# TODO no reload functionality
logger.debug("[Call backend] comp_search_choices")
q = db.DF_CRM_MASTER.lazy()
@@ -97,7 +97,7 @@ def comp_search_choices() -> tuple[tuple[str, int], ...]:
return tuple(zip(df["dedupl"], df["ma_id"]))
def comp_search_get_info(
def initrec_comp_search_get_info(
ma_id: int,
) -> CompanyInfo:
logger.debug("[Call backend] comp_search_get_info")
@@ -109,7 +109,7 @@ def comp_search_get_info(
return cast(CompanyInfo, df.row(0, named=True))
def contact_person_search_choices(
def initrec_comp_contact_person_search_choices(
ma_id: int | None,
use_both_names: bool,
) -> tuple[tuple[str, int], ...]:
@@ -137,7 +137,7 @@ def contact_person_search_choices(
return tuple(zip(df["dedupl"], df["an_id"]))
def contact_person_search_get_info(
def initrec_comp_contact_person_search_get_info(
an_id: int,
) -> ContactPersonInfo:
logger.debug("[Call backend] contact_person_search_get_info")
@@ -149,36 +149,32 @@ def contact_person_search_get_info(
return cast(ContactPersonInfo, df.row(0, named=True))
def insert_initial_recording(
def initrec_insert_initial_recording(
data: dict[str, Any],
) -> None:
logger.debug("[Call backend] insert_initial_recording")
stmt = db.grunderfassung_unternehmen.insert().values(data)
stmt = db.grunderfassung.insert().values(data)
with db.ENGINE.begin() as conn:
conn.execute(stmt)
def update_initial_recording(
def initrec_update_initial_recording(
id_: int,
data: dict[str, Any],
) -> None:
logger.debug("[Call backend] update_initial_recording")
stmt = (
db.grunderfassung_unternehmen.update()
.where(db.grunderfassung_unternehmen.c.erfassung_id == id_)
.values(data)
db.grunderfassung.update().where(db.grunderfassung.c.erfassung_id == id_).values(data)
)
with db.ENGINE.begin() as conn:
conn.execute(stmt)
def get_initial_recording(
def initrec_get_initial_recording(
id_: int,
) -> dict[str, Any]:
logger.debug("[Call backend] get_initial_recording")
stmt = db.grunderfassung_unternehmen.select().where(
db.grunderfassung_unternehmen.c.erfassung_id == id_
)
stmt = db.grunderfassung.select().where(db.grunderfassung.c.erfassung_id == id_)
with db.ENGINE.begin() as conn:
ret = conn.execute(stmt)
@@ -192,18 +188,19 @@ def get_initial_recording(
@dc.dataclass(slots=True)
class FrontpageCompany:
erfassung_id: int
ma_id: int
# ma_id: int
name: str
Metadaten_aktualisierung: datetime.datetime
is_company: bool
def get_company_list() -> list[FrontpageCompany]:
def front_get_company_list() -> list[FrontpageCompany]:
logger.debug("[Call backend] get_company_list")
stmt = sql.select(
db.grunderfassung_unternehmen.c.erfassung_id,
db.grunderfassung_unternehmen.c.Partnersuche__un_suche,
db.grunderfassung_unternehmen.c.Metadaten_aktualisierung,
).order_by(db.grunderfassung_unternehmen.c.Metadaten_aktualisierung.desc())
db.grunderfassung.c.erfassung_id,
db.grunderfassung.c.Partnersuche__un_suche,
db.grunderfassung.c.Metadaten_aktualisierung,
).order_by(db.grunderfassung.c.Metadaten_aktualisierung.desc())
with db.ENGINE.connect() as conn:
res = conn.execute(stmt)
@@ -216,9 +213,21 @@ def get_company_list() -> list[FrontpageCompany]:
datetime_akt = cast(datetime.datetime, entry[2])
datetime_akt = datetime_akt.astimezone()
comp_info = comp_search_get_info(ma_id)
name = comp_info["ma_unternehmensname"]
name: str = "PLATZHALTER INDIVIDUAL"
is_company: bool = False
if ma_id is not None:
comp_info = initrec_comp_search_get_info(ma_id)
name = comp_info["ma_unternehmensname"]
is_company = True
front_page_companies.append(FrontpageCompany(erfassung_id, ma_id, name, datetime_akt))
# front_page_companies.append(FrontpageCompany(erfassung_id, ma_id, name, datetime_akt))
front_page_companies.append(
FrontpageCompany(
erfassung_id=erfassung_id,
name=name,
Metadaten_aktualisierung=datetime_akt,
is_company=is_company,
)
)
return front_page_companies

File diff suppressed because it is too large Load Diff