Centurio System- & moduldokumentation
🏛️ Plattformarkitektur 🔑 Login
🏠 Alla moduler / manufacturing_execution / Arbetsuppgifter & Werkstatt
🧰

Arbetsuppgifter & Werkstatt

workorders manufacturing_execution 🛡️ RLS Protected

Tillverkning och produktionsuppdrag, arbetssätt, materialbehovsbestämmande och tidsuppställning.

Fachliche Bestimmung: Samordnar den fysiska utförandet på arbetsplatser, tillverkning och byggplatser. Genereras automatiskt från anbudsanmälan på offert. Förbehåller uppdragspositioner och behov av listor (med undantag för inrikesverksamhet) och möjliggör tidsuppställning, statusförskott och överlämnande till räkenskapsförfarande.

⚡ Arbetsflöden och livscykler

Arbetstidsavveckling workorder_execution

Från planerat till förberedande och tillverkning till anslutning.

stateDiagram-v2 [*] --> SCHEDULED: Aus Angebot konvertiert SCHEDULED --> IN_PROGRESS: Techniker startet Arbeit IN_PROGRESS --> QUALITY_CHECK: Montage beendet QUALITY_CHECK --> COMPLETED: Abnahme erfolgt COMPLETED --> [*]: Übergabe an Schlussrechnung
1. SCHEDULED
Inplanering
- att det finns en tidpunkt för att genomföra en åtgärd.
Aktionen: Förberedelser
2. IN_PROGRESS
I verkställighet
medarbetare startar bearbetningen och tar in arbetstid.
Aktionen: Bokning av tid
3. QUALITY_CHECK
Kvalitetskontroll
Slutprov efter arbetsnormer eller kundkriterier.
Aktionen: Inlämning av kontrollprotokoll
4. COMPLETED
Avslutat
Auftrag fertiggestellt, Rückmeldung an Projekt und Abrechnung.
Aktionen: Invaktning

Användaruppgift: extra arbetsagent plan:command_extra_work_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användaruppgift: webbplatsdokumentationsagent plan:command_site_documentation_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användaruppgift: tidsfångade plan:command_time_capture_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användaruppdrag: Oberbetad arbetsagent plan:command_unbilled_work_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användaruppgift: arbetsuppgift plan:command_work_completion_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användarföreskrifter: arbetsordning plan:command_workorder_crud_subagent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Användarföreskrifter: arbetsordern general agent plan:command_workorder_general_agent

Tjänststyrd plan (durable_plan), start: manual_command.

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

Arbetsuppdrag avslutat plan:unbilled_check

Tjänststyrd varaktighetsplan (durable_plan), start: domain_event.

1. unbilled_work_agent
unbilled_work_agent
{"key": "step_0", "label": "Nicht abgerechnete Stunden finden", "adapter": "agent.execute", "agent": "unbilled_work_agent", "condition_fact": null}
Aktionen: unbilled_work_agent

Uppdrag som anmält färdigt plan:work_completed

Tjänststyrd varaktighetsplan (durable_plan), start: domain_event.

1. extra_work_agent
extra_work_agent
{"key": "step_0", "label": "Zusatzleistungen erkennen", "adapter": "agent.execute", "agent": "extra_work_agent", "condition_fact": null}
Aktionen: extra_work_agent
2. service_history_agent
service_history_agent
{"key": "step_1", "label": "Wartungseintrag fuer Anlage", "adapter": "agent.execute", "agent": "service_history_agent", "condition_fact": "asset_id"}
Aktionen: service_history_agent
3. billing_agent
billing_agent
{"key": "step_2", "label": "Rechnungsentwurf erstellen", "adapter": "agent.execute", "agent": "billing_agent", "condition_fact": "billable"}
Aktionen: billing_agent

Förberedande för: status:work_order

Observable_only_observable_state machine.

1. draft
Förberedande
Status <unk>utkast <unk> av den tillståndsmaskin order.
2. scheduled
Planerade
Status <unk>schemat <unk> av den tillståndsmaskin order.
3. active
Aktiva
Status <unk>aktiv<unk> av den tillståndsmaskinen order.
4. waiting_customer
waiting_customer
Status <unk>waiting_customer<unk> av den tillståndsmaskin order.
5. waiting_vendor
waiting_vendor
Status <unk>waiting_vendor<unk> av den tillståndsmaskin order.
6. completed
fullbordade
Status <unk>förklarad<unk> av den tillståndsmaskinen order.
7. approved
godkänt
Status <unk>godkänt<unk> av den tillståndsmaskin order.
8. invoiced
Invokat
Status <unk>invoidad <unk> av den statliga maskinen order.
9. cancelled
Avbokade
Status <unk>annuleras<unk> av den tillståndsmaskinen order.

🗄️ Datamodeller & fält

WorkLogs work_logs RLS Aktiv
16 Fält / kolumner

Tabelle work_logs

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
work_order_id UUID Nein FK ➔ work_orders.id Feld work_order_id
project_id UUID Nein FK ➔ projects.id Feld project_id
user_id UUID Nein FK ➔ users.id Feld user_id
started_at DATETIME Nein - Feld started_at
ended_at DATETIME Nein - Feld ended_at
duration_minutes INTEGER Ja * - Feld duration_minutes
description TEXT Nein - Feld description
billable BOOLEAN Ja * - Feld billable
hourly_rate NUMERIC(14, 2) Nein - Feld hourly_rate
source VARCHAR(48) Ja * - Feld source
idempotency_key VARCHAR(128) Nein - Feld idempotency_key
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
WorkOrders work_orders RLS Aktiv
48 Fält / kolumner

Tabelle work_orders

Feldname Uppgifter Förpliktelse Schlüssel Arbetsuppgifter
work_order_number VARCHAR(32) Ja * - Feld work_order_number
project_id UUID Nein FK ➔ projects.id Feld project_id
customer_id UUID Nein FK ➔ customers.id Feld customer_id
asset_id UUID Nein FK ➔ assets.id Feld asset_id
location_id UUID Nein FK ➔ locations.id Feld location_id
title VARCHAR(255) Ja * - Feld title
description TEXT Nein - Feld description
order_type VARCHAR(32) Ja * - Feld order_type
priority VARCHAR(16) Ja * - Feld priority
contract_id UUID Nein - Feld contract_id
ticket_id UUID Nein FK ➔ tickets.id Feld ticket_id
status VARCHAR(48) Ja * - Feld status
scheduled_start DATETIME Nein - Feld scheduled_start
scheduled_end DATETIME Nein - Feld scheduled_end
started_at DATETIME Nein - Feld started_at
completed_at DATETIME Nein - Feld completed_at
assigned_user_id UUID Nein FK ➔ users.id Feld assigned_user_id
customer_signature_document_id UUID Nein FK ➔ documents.id Feld customer_signature_document_id
completion_summary TEXT Nein - Feld completion_summary
billable BOOLEAN Ja * - Feld billable
currency VARCHAR(3) Ja * - Feld currency
subtotal NUMERIC(14, 2) Ja * - Feld subtotal
tax_total NUMERIC(14, 2) Ja * - Feld tax_total
total NUMERIC(14, 2) Ja * - Feld total
invoice_policy VARCHAR(12) Ja * - Feld invoice_policy
invoice_status VARCHAR(12) Ja * - Feld invoice_status
invoice_customer_id UUID Nein FK ➔ customers.id Feld invoice_customer_id
payment_terms VARCHAR(128) Nein - Feld payment_terms
payment_term_code VARCHAR(32) Nein - Feld payment_term_code
payment_term_days INTEGER Nein - Feld payment_term_days
skonto_days INTEGER Nein - Feld skonto_days
skonto_percent NUMERIC(5, 2) Nein - Feld skonto_percent
customer_reference VARCHAR(128) Nein - Feld customer_reference
cost_center VARCHAR(64) Nein - Feld cost_center
cost_object VARCHAR(64) Nein - Feld cost_object
tax_exemption_reason VARCHAR(255) Nein - Feld tax_exemption_reason
prepayment_percent NUMERIC(5, 2) Nein - Feld prepayment_percent
invoice_note TEXT Nein - Feld invoice_note
semantic_attributes JSONB Nein - Feld semantic_attributes
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

🔌 Inledande punkter (UI & API)

Art Förberedelse Slutpunkt / väg Titel & Zweck Förmåga
⚡ REST API DELETE /api/v1/workorders/{work_order_id}/items/{item_id}
delete_workorder_item
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API GET /api/v1/extra-work/projects/{project_id}/open
list_open_for_project
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/projects/{project_id}/flow
project_flow
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/reports/{report_id}/briefing
visit_briefing
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/reports/{report_id}/flow
report_flow
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/staff
Personal
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/work-orders/{work_order_id}/dossier/download
download_latest_dossier
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/work-orders/{work_order_id}/dossier/versions
dossier_versions
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/work-orders/{work_order_id}/dossier/{document_id}
download_dossier_version
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/jobflow/work-orders/{work_order_id}/flow
work_order_flow
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders
list_workorders
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/stats
workorder_stats
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}
get_workorder
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/compatible-parts
workorder_compatible_parts
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/delivery-note.pdf
work_order_delivery_note
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/invoicing
order_invoicing_overview
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/items
list_workorder_items
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/logs
list_worklogs
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/material-requirements
list_material_requirements
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /api/v1/workorders/{work_order_id}/materials
list_materials
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /portal/{slug}/auftraege
workorders_page
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /workorders
workorders_page
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /workorders/new
workorders_new_page
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /workorders/{work_order_id}
workorder_detail_page
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API GET /workorders/{work_order_id}/edit
workorder_detail_page
Semantic binding: not_evaluated; mutation=False
workorders
⚡ REST API PATCH /api/v1/workorders/{work_order_id}
update_workorder
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API PATCH /api/v1/workorders/{work_order_id}/items/{item_id}
update_workorder_item
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/extra-work/{candidate_id}/decide
Beslut
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/extra-work/{candidate_id}/invoiced
mark_invoiced
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/extra-work/{candidate_id}/quote
create_change_quote
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/projects/{project_id}/manager
assign_project_manager
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/projects/{project_id}/status
set_project_status
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/reports/{report_id}/create-order
create_order_for_visit
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/reports/{report_id}/schedule
schedule_report
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/work-orders/{work_order_id}/assign
assign_work_order
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/work-orders/{work_order_id}/dossier
create_dossier
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/work-orders/{work_order_id}/plan-visit
plan_visit
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/jobflow/work-orders/{work_order_id}/start
start_work_order
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders
create_workorder
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/complete
complete_workorder
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/create-invoice
create_invoice_from_workorder
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/documents
upload_workorder_document
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/invoice
create_order_invoice
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/items
add_workorder_item
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/logs
add_worklog
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/material-requirements
add_material_requirement
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/material-requirements/{requirement_id}/purchase
purchase_material_requirement
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/material-requirements/{requirement_id}/reserve
reserve_material_requirement
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/materials
consume_material
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API POST /api/v1/workorders/{work_order_id}/signature
save_signature
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API PUT /api/v1/workorders/{work_order_id}/invoice-settings
save_invoice_settings
Semantic binding: not_evaluated; mutation=True
workorders
⚡ REST API PUT /api/v1/workorders/{work_order_id}/items/{item_id}/delivered
set_item_delivered
Semantic binding: not_evaluated; mutation=True
workorders
🖥️ WEB-UI GET /auftraege
Överblick över uppdrag
Förteckning över alla verkstads- och monteringsuppdrag
workorders:read
⚡ REST API PATCH /api/v1/workorders/{id}/status
Ändra status
Överskjutande av uppdragsstatus
workorders:write

🛡️ Reglering och efterlevnad

Dieses Modul unterliegt folgenden gesetzlichen, regulatorischen und Revisionsstandards:

  • Arbetstid (ArbZG dokumentationsplikt)
  • Handverk (HwO)
Kopplade moduler:
➔ finance ➔ projects ➔ fieldservice ➔ assembly