Centurio Sistemas & modulju dokumentacija
🏛️ Platformas arhitektūra 🔑 Login
🏠 Visi moduli / manufacturing_execution / Projekti un būvniecības vietas
📘

Projekti un būvniecības vietas

projects manufacturing_execution 🛡️ RLS Protected

Projekti & būvniecības objekti <unk> process un API dokumenta, kas iegūta no kods.

Fachliche Bestimmung: Projekti & būvniecības vietas <unk> process un API dokumentācija, kas iegūta no kods, ietver visus reģistrētos procesus, spējas, stāvokļa mašīnas, API un simulācijas un pārskatīšanas tabulu.

⚡ Darbības plūsmas un dzīves cikļi

Kundenauftrag → Abwicklung cascade:business.customer_order.fulfill

Kaskade (review_gated).

1. order
Verkaufsauftrag anlegen / bestätigen
sales
Aktionen: sales.create
2. issue
Izstrādājumu uzskaites
inventāri
Aktionen: stock.issue.create
3. tour
Izdodšanas brauciena plānošana
logistika
Aktionen: create_tour
4. project
projekts / izmaksām
Projekti
Aktionen: link_project
5. task
Ja ir nepieciešams, aprēķina:
uzdevumi
Aktionen: create_task

Apmeklēt pasūtījumu apstiprinājumu cascade:business.order_confirmation.check

Kaskade (review_gated).

1. match
AB <unk> pasūtījumu salīdzināšana
iepirkums
Aktionen: order_confirmation.match
2. project
projekts / izmaksām
Projekti
Aktionen: link_project
3. task
piegādes termiņš / cenas pārraudzība
uzdevumi
Aktionen: create_task

iepriekšējais rēķins → Apskaita cascade:business.supplier_invoice.p2p

Kaskade (review_gated).

1. booking
Kopsavilkšanas datums
grāmatvedības
Aktionen: grāmatvedības.
2. project
Projekta izmaksas
Projekti
Aktionen: link_project
3. task
Pārraudzība / konta termiņš
uzdevumi
Aktionen: create_task

projekts / izmaksām cascade_target:business.project.link

Kaskade (review_gated).

1. cascade
projekts / izmaksām

Uzrakstības: projekta "krāva" subagents plan:command_project_crud_subagent

Pārbaudēts durabls plan (durabls_plan), sākums: manuals_command.

1. project_crud_subagent
project_crud_subagent
{"key": "execute_command", "label": "Befehl prüfen, ausführen oder zur Freigabe vorlegen", "adapter": "agent.execute", "agent": "project_crud_subagent", "condition_fact": null}
Aktionen: project_crud_subagent

Ja tas ir nepieciešams, status:project

Apskatāma stāvokļa mašīna (apskatāma tikai).

1. draft
projektu
Statuss <unk>izraksts <unk> statuss GT15_0__.
2. active
aktīvs
Stacija <unk>aktīva <unk> stacionārā mašīna projekts.
3. on_hold
on_hold
Stacija <unk>on_hold<unk> stacionārā mašīna projekts.
4. completed
pabeigta
Statuss <unk>lvots<unk> stāvokļa mašīna projekts.
5. cancelled
atcelts
Statuss <unk> atcelts <unk> statuss <unk>GT15_0__.
6. archived
arhivēti
Statuss <unk>archived<unk> state machine projekts.

🗄️ Datu modeļi & laukumi

ProjectMeasurementLines project_measurement_lines RLS Aktiv
15 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle project_measurement_lines

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
measurement_id UUID Ja * FK ➔ project_measurements.id Feld measurement_id
quote_item_id UUID Nein FK ➔ quote_items.id Feld quote_item_id
pos_number VARCHAR(32) Ja * - Feld pos_number
description VARCHAR(255) Ja * - Feld description
formula VARCHAR(255) Nein - Feld formula
quantity_period NUMERIC(12, 3) Ja * - Feld quantity_period
quantity_cumulative NUMERIC(12, 3) Ja * - Feld quantity_cumulative
unit VARCHAR(16) Ja * - Feld unit
unit_price NUMERIC(14, 2) Ja * - Feld unit_price
total_net_cumulative NUMERIC(14, 2) Ja * - Feld total_net_cumulative
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
metadata JSONB Ja * - Feld metadata
ProjectMeasurements project_measurements RLS Aktiv
17 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle project_measurements

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
project_id UUID Ja * FK ➔ projects.id Feld project_id
quote_id UUID Nein FK ➔ quotes.id Feld quote_id
measurement_number VARCHAR(64) Ja * - Feld measurement_number
measurement_date DATE Ja * - Feld measurement_date
status VARCHAR(48) Ja * - Feld status
approved_by VARCHAR(255) Nein - Feld approved_by
approved_at DATETIME Nein - Feld approved_at
notes TEXT Nein - Feld notes
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ProjectMilestones project_milestones RLS Aktiv
18 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle project_milestones

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
project_id UUID Ja * FK ➔ projects.id Feld project_id
name VARCHAR(255) Ja * - Feld name
due_date DATE Nein - Feld due_date
sort INTEGER Ja * - Feld sort
status VARCHAR(16) Ja * - Feld status
reached_at DATETIME Nein - Feld reached_at
reached_by UUID Nein - Feld reached_by
predecessor_id UUID Nein FK ➔ project_milestones.id Feld predecessor_id
notes TEXT Nein - Feld notes
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ProjectRateCards project_rate_cards RLS Aktiv
16 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle project_rate_cards

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
project_id UUID Nein FK ➔ projects.id Feld project_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
role_name VARCHAR(64) Ja * - Feld role_name
hourly_rate NUMERIC(14, 2) Ja * - Feld hourly_rate
currency VARCHAR(3) Ja * - Feld currency
valid_from DATE Nein - Feld valid_from
valid_until DATE Nein - Feld valid_until
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
ProjectTimeEntries project_time_entries RLS Aktiv
24 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle project_time_entries

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
project_id UUID Ja * FK ➔ projects.id Feld project_id
user_id UUID Ja * FK ➔ users.id Feld user_id
ticket_id UUID Nein FK ➔ tickets.id Feld ticket_id
invoice_id UUID Nein FK ➔ invoices.id Feld invoice_id
entry_date DATE Ja * - Feld entry_date
duration_minutes INTEGER Ja * - Feld duration_minutes
rounded_minutes INTEGER Ja * - Feld rounded_minutes
activity_description TEXT Ja * - Feld activity_description
internal_notes TEXT Nein - Feld internal_notes
is_billable BOOLEAN Ja * - Feld is_billable
hourly_rate NUMERIC(14, 2) Ja * - Feld hourly_rate
total_amount_net NUMERIC(14, 2) Ja * - Feld total_amount_net
billing_status VARCHAR(48) Ja * - Feld billing_status
approved_by UUID Nein FK ➔ users.id Feld approved_by
approved_at DATETIME Nein - Feld approved_at
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
Projects projects RLS Aktiv
41 Šķiet, ka tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai tas ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā, vai ir atkarīgs no tā vai ir no tā.

Tabelle projects

Feldname Datums Atbalsts Schlüssel Īpaša nozīme
project_number VARCHAR(32) Ja * - Feld project_number
name VARCHAR(255) Ja * - Feld name
contract_id UUID Nein - Feld contract_id
parent_id UUID Nein FK ➔ projects.id Feld parent_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
supplier_id UUID Nein FK ➔ suppliers.id Feld supplier_id
partner_type VARCHAR(32) Ja * - Feld partner_type
status VARCHAR(48) Ja * - Feld status
description TEXT Nein - Feld description
street VARCHAR(255) Nein - Feld street
postal_code VARCHAR(16) Nein - Feld postal_code
city VARCHAR(128) Nein - Feld city
country_code VARCHAR(2) Nein - Feld country_code
latitude NUMERIC(9, 6) Nein - Feld latitude
longitude NUMERIC(9, 6) Nein - Feld longitude
trade VARCHAR(64) Nein - Feld trade
manager_user_id UUID Nein FK ➔ users.id Feld manager_user_id
site_contact_name VARCHAR(255) Nein - Feld site_contact_name
site_contact_phone VARCHAR(64) Nein - Feld site_contact_phone
access_notes TEXT Nein - Feld access_notes
planned_start DATE Nein - Feld planned_start
planned_end DATE Nein - Feld planned_end
actual_start DATE Nein - Feld actual_start
actual_end DATE Nein - Feld actual_end
quoted_value NUMERIC(14, 2) Nein - Feld quoted_value
estimated_cost NUMERIC(14, 2) Nein - Feld estimated_cost
estimated_hours NUMERIC(14, 4) Nein - Feld estimated_hours
estimated_labor_cost NUMERIC(14, 2) Nein - Feld estimated_labor_cost
estimated_material_cost NUMERIC(14, 2) Nein - Feld estimated_material_cost
currency VARCHAR(3) Ja * - Feld currency
tags ARRAY Ja * - Feld tags
id UUID Nein PK Feld id
tenant_id UUID Ja * FK ➔ organizations.id Feld tenant_id
created_at DATETIME Ja * - Feld created_at
updated_at DATETIME Ja * - Feld updated_at
created_by UUID Nein - Feld created_by
updated_by UUID Nein - Feld updated_by
source_type VARCHAR(32) Nein - Feld source_type
source_id UUID Nein - Feld source_id
metadata JSONB Ja * - Feld metadata
deleted_at DATETIME Nein - Feld deleted_at

🔌 Izstādes punkti (UI un API)

Art Metodes Galvenā vieta / ceļš Titel & Zweck Attaisnošana
⚡ REST API DELETE /api/v1/projects/{project_id}
delete_project
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API GET /api/v1/projects
list_projects
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}
get_project
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/budget-status
get_budget_status
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/measurements
list_measurements
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/measurements/{measurement_id}
get_measurement
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/milestones
list_milestones
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/rate-cards
list_rate_cards
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/subprojects
list_subprojects
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/summary
get_project_summary
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/time-entries
list_time_entries
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /api/v1/projects/{project_id}/workorders
list_project_workorders
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /portal/{slug}/projekte
projects_page
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /projects
projects_page
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /projects/new
project_create_page
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /projects/{project_id}
project_detail_page
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API GET /projects/{project_id}/edit
project_detail_page
Semantic binding: inventory_only; mutation=False
projects
⚡ REST API PATCH /api/v1/projects/{project_id}
update_project
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects
create_project
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/materials
book_project_material
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/measurements
create_measurement
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/measurements/{measurement_id}/approve
approve_measurement
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/measurements/{measurement_id}/create-cumulative-invoice
create_cumulative_invoice
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/measurements/{measurement_id}/create-final-invoice
create_vob_final_invoice
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/measurements/{measurement_id}/lines
add_measurement_lines
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/milestones
add_milestone
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/milestones/{milestone_id}/reach
reach_milestone
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/milestones/{milestone_id}/unreach
unreach_milestone
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/rate-cards
create_rate_card
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/subprojects
create_subproject
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/time-entries
log_time
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/time-entries/approve
approve_time_entries
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/time-entries/invoice
generate_tm_invoice
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/worklogs
record_project_worklog
Semantic binding: operator_surface; mutation=True
projects
⚡ REST API POST /api/v1/projects/{project_id}/workorders
create_project_workorder
Semantic binding: operator_surface; mutation=True
projects

🛡️ Regulators & atbilstība

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • GOPD pārraudzības
  • Klienta izolācija (PostgreSQL RLS)