Complete Non-Conformance Report system replacing the PowerApps/SharePoint prototype: FastAPI + SQLAlchemy 2 (async) + Alembic + MySQL 8 backend, React 18 + Vite + TypeScript + MUI frontend, Entra ID auth (MSAL / JWKS, group-gated), Microsoft Graph delegated Mail.Send notifications (OBO), six-stage workflow state machine with server-side enforcement, atomic NCR-YYYY-NNNN numbering, attachments with camera capture, immutable field-level audit trail, admin reopen, reports + CSV export, WeasyPrint PDF traveler, Power BI reporting views + read-only DB user, documented VISUAL ERP job-lookup stub, pytest suite (26 tests), docker-compose deployment. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
30 lines
629 B
Python
30 lines
629 B
Python
from app.models.base import Base
|
|
from app.models.user import User, UserRole
|
|
from app.models.lookups import Department, DeviationCategory
|
|
from app.models.ncr import (
|
|
JobInfo,
|
|
Ncr,
|
|
NcrSecondaryAssignee,
|
|
NcrSequence,
|
|
StageTransition,
|
|
)
|
|
from app.models.attachment import Attachment
|
|
from app.models.audit import AuditLog
|
|
from app.models.app_setting import AppSetting
|
|
|
|
__all__ = [
|
|
"Base",
|
|
"User",
|
|
"UserRole",
|
|
"Department",
|
|
"DeviationCategory",
|
|
"Ncr",
|
|
"NcrSequence",
|
|
"NcrSecondaryAssignee",
|
|
"StageTransition",
|
|
"JobInfo",
|
|
"Attachment",
|
|
"AuditLog",
|
|
"AppSetting",
|
|
]
|