diff --git a/docs/implementation/task-g-document-preview-foundation.md b/docs/implementation/task-g-document-preview-foundation.md new file mode 100644 index 0000000..5ae691d --- /dev/null +++ b/docs/implementation/task-g-document-preview-foundation.md @@ -0,0 +1,125 @@ +# Task G - Quotation Document Preview Foundation + +## Files Added + +- `src/features/foundation/document-template/types.ts` +- `src/features/foundation/document-template/service.ts` +- `src/features/foundation/document-template/queries.ts` +- `src/features/foundation/document-template/mutations.ts` +- `src/features/foundation/document-template/server/service.ts` +- `src/features/foundation/document-template/components/template-settings.tsx` +- `src/features/crm/quotations/document/types.ts` +- `src/features/crm/quotations/document/service.ts` +- `src/features/crm/quotations/document/queries.ts` +- `src/features/crm/quotations/document/server/service.ts` +- `src/features/crm/quotations/components/quotation-document-preview.tsx` +- `src/app/api/crm/quotations/[id]/document-data/route.ts` +- `src/app/api/crm/quotations/[id]/document-preview/route.ts` +- `src/app/api/crm/document-templates/route.ts` +- `src/app/api/crm/document-templates/[id]/route.ts` +- `src/app/api/crm/document-templates/[id]/versions/route.ts` +- `drizzle/0006_worried_mordo.sql` + +## Files Modified + +- `src/db/schema.ts` +- `src/db/seeds/foundation.seed.ts` +- `src/lib/auth/rbac.ts` +- `src/config/nav-config.ts` +- `src/app/dashboard/crm/settings/templates/page.tsx` +- `src/app/dashboard/crm/quotations/[id]/page.tsx` +- `src/features/crm/quotations/components/quotation-detail.tsx` +- `src/features/crm/quotations/api/mutations.ts` +- `src/features/foundation/approval/mutations.ts` +- `docs/implementation/technical-debt.md` + +## Schema Added + +- `crm_document_templates` +- `crm_document_template_versions` +- `crm_document_template_mappings` +- `crm_document_template_table_columns` + +## API Routes Added + +- `GET /api/crm/quotations/[id]/document-data` +- `GET /api/crm/quotations/[id]/document-preview` +- `GET/POST /api/crm/document-templates` +- `GET/PATCH/DELETE /api/crm/document-templates/[id]` +- `GET/POST /api/crm/document-templates/[id]/versions` + +## Preview UI Added + +- Replaced quotation `Document Preview` placeholder with a production preview tab backed by real quotation data, template resolution, and mapped preview payloads. +- Added watermark/status behavior for non-approved quotations through normalized `watermarkStatus`. +- Preview now shows: + - quotation header + - customer block + - project info + - items table + - price summary + - scope / exclusion / payment topics + - approval block + - signature placeholders + +## Template Settings UI Added + +- Replaced `/dashboard/crm/settings/templates` placeholder with a production listing page. +- Current UI is intentionally lightweight and read-focused: + - template name and description + - default badge + - active/inactive badge + - file type + - latest version + - version count + - mapping count + +## Template Seed Added + +- Foundation seed now upserts a default quotation `pdfme` template per organization. +- Seed picks template JSON by organization name: + - `ALLA_template_pdfme_fainal3.json` + - `ONVALLA_template_pdfme_fainal3.json` +- If the organization name does not match either branch, the seed falls back to a minimal schema payload. +- Seed also creates baseline placeholder mappings and a table mapping for quotation line items. + +## Mapping Resolver Added + +- `resolveTemplateForDocument()` +- `resolveTemplateMappings()` +- `mapDocumentDataToTemplateInput()` + +Behavior: + +- resolves by `documentType + productType + fileType` +- falls back to `default` product type when no specific product template exists +- maps dot-path source fields into scalar, multiline, or table-ready template input + +## Approved Snapshot Prep Added + +- `prepareApprovedQuotationSnapshot(quotationId, organizationId)` + +Output contains: + +- `quotationId` +- `approvedAt` +- `documentData` +- `templateVersionId` +- `templateInput` + +## Remaining Risks + +- Mapping CRUD UI is not implemented yet, so template mappings remain seed-driven and read-only. +- `pdfme` preview is not canvas-accurate rendering; current preview is an application-native document view using the normalized document snapshot. +- Template resolution currently uses `productType: default` for quotation preview. Product-specific template selection can be added later once the business rule is finalized. +- No binary PDF generation, storage, or approved PDF URL persistence yet. + +## Task H Readiness + +Task G leaves the repo ready for: + +- actual `pdfme` generation service integration +- approved PDF snapshot persistence +- template version publishing workflow +- mapping editor or admin maintenance UI +- product-specific template resolution rules diff --git a/docs/implementation/technical-debt.md b/docs/implementation/technical-debt.md index 50e6258..23827fa 100644 --- a/docs/implementation/technical-debt.md +++ b/docs/implementation/technical-debt.md @@ -140,3 +140,53 @@ Future: Priority: * High + +## After Task F + +### Approval Permission Sync +Existing memberships may not automatically receive new approval permissions. + +Future: +- add permission sync script +- admin UI for role/permission management + +### Approval Workflow Config UI +Approval workflow is seeded but not configurable from UI. + +Future: +- workflow setup screen +- step editor +- approver role mapping + +### Approval Notification +Approval workflow has no email/line notification yet. + +Future: +- notification queue +- approval reminder + +## After Task G + +### Document Mapping Editor +Template mappings are seeded and readable, but not yet manageable from UI. + +Future: +- mapping CRUD UI +- table column editor +- publish/draft template workflow + +### pdfme Render Parity +Document preview is application-native, not pixel-perfect `pdfme` rendering. + +Future: +- server-side pdfme render pipeline +- preview image generation +- schema validation against live template versions + +### Approved PDF Persistence +Approved snapshot preparation exists, but no binary file generation or storage write-back yet. + +Future: +- approved PDF generator +- storage abstraction +- immutable approved artifact URL on quotation diff --git a/drizzle/0006_worried_mordo.sql b/drizzle/0006_worried_mordo.sql new file mode 100644 index 0000000..8822836 --- /dev/null +++ b/drizzle/0006_worried_mordo.sql @@ -0,0 +1,66 @@ +CREATE TABLE "crm_document_template_mappings" ( + "id" text PRIMARY KEY NOT NULL, + "organization_id" text NOT NULL, + "template_version_id" text NOT NULL, + "placeholder_key" text NOT NULL, + "source_path" text NOT NULL, + "data_type" text NOT NULL, + "sheet_name" text, + "default_value" text, + "format_mask" text, + "sort_order" integer DEFAULT 0 NOT NULL, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp with time zone DEFAULT now() NOT NULL, + "deleted_at" timestamp with time zone +); +--> statement-breakpoint +CREATE TABLE "crm_document_template_table_columns" ( + "id" text PRIMARY KEY NOT NULL, + "organization_id" text NOT NULL, + "mapping_id" text NOT NULL, + "column_name" text NOT NULL, + "source_field" text NOT NULL, + "column_letter" text, + "sort_order" integer DEFAULT 0 NOT NULL, + "format_mask" text, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp with time zone DEFAULT now() NOT NULL, + "deleted_at" timestamp with time zone +); +--> statement-breakpoint +CREATE TABLE "crm_document_template_versions" ( + "id" text PRIMARY KEY NOT NULL, + "organization_id" text NOT NULL, + "template_id" text NOT NULL, + "version" text NOT NULL, + "file_path" text, + "schema_json" jsonb NOT NULL, + "preview_image_url" text, + "is_active" boolean DEFAULT true NOT NULL, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp with time zone DEFAULT now() NOT NULL, + "deleted_at" timestamp with time zone, + "created_by" text NOT NULL +); +--> statement-breakpoint +CREATE TABLE "crm_document_templates" ( + "id" text PRIMARY KEY NOT NULL, + "organization_id" text NOT NULL, + "document_type" text NOT NULL, + "product_type" text NOT NULL, + "file_type" text NOT NULL, + "template_name" text NOT NULL, + "description" text, + "is_default" boolean DEFAULT false NOT NULL, + "is_active" boolean DEFAULT true NOT NULL, + "created_at" timestamp with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp with time zone DEFAULT now() NOT NULL, + "deleted_at" timestamp with time zone, + "created_by" text NOT NULL, + "updated_by" text NOT NULL +); +--> statement-breakpoint +CREATE UNIQUE INDEX "crm_document_template_mappings_version_placeholder_idx" ON "crm_document_template_mappings" USING btree ("template_version_id","placeholder_key");--> statement-breakpoint +CREATE UNIQUE INDEX "crm_document_template_table_columns_mapping_name_idx" ON "crm_document_template_table_columns" USING btree ("mapping_id","column_name");--> statement-breakpoint +CREATE UNIQUE INDEX "crm_document_template_versions_template_version_idx" ON "crm_document_template_versions" USING btree ("template_id","version");--> statement-breakpoint +CREATE UNIQUE INDEX "crm_document_templates_org_doc_product_file_name_idx" ON "crm_document_templates" USING btree ("organization_id","document_type","product_type","file_type","template_name"); \ No newline at end of file diff --git a/drizzle/meta/0006_snapshot.json b/drizzle/meta/0006_snapshot.json new file mode 100644 index 0000000..08a20c7 --- /dev/null +++ b/drizzle/meta/0006_snapshot.json @@ -0,0 +1,2971 @@ +{ + "id": "ad73f2e2-1046-414f-bcd9-32482c623e57", + "prevId": "784d3c1e-a756-471c-8400-38db2f394041", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.crm_approval_actions": { + "name": "crm_approval_actions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "approval_request_id": { + "name": "approval_request_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "step_number": { + "name": "step_number", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "action": { + "name": "action", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "remark": { + "name": "remark", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "acted_by": { + "name": "acted_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "acted_at": { + "name": "acted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_approval_requests": { + "name": "crm_approval_requests", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_type": { + "name": "entity_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_id": { + "name": "entity_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "current_step": { + "name": "current_step", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "requested_by": { + "name": "requested_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "requested_at": { + "name": "requested_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_approval_steps": { + "name": "crm_approval_steps", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "workflow_id": { + "name": "workflow_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "step_number": { + "name": "step_number", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "role_code": { + "name": "role_code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role_name": { + "name": "role_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_required": { + "name": "is_required", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "crm_approval_steps_workflow_step_idx": { + "name": "crm_approval_steps_workflow_step_idx", + "columns": [ + { + "expression": "workflow_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "step_number", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_approval_workflows": { + "name": "crm_approval_workflows", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_type": { + "name": "entity_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "crm_approval_workflows_org_code_idx": { + "name": "crm_approval_workflows_org_code_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "code", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_customer_contacts": { + "name": "crm_customer_contacts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "customer_id": { + "name": "customer_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "position": { + "name": "position", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "department": { + "name": "department", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "phone": { + "name": "phone", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "mobile": { + "name": "mobile", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_primary": { + "name": "is_primary", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_customers": { + "name": "crm_customers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "branch_id": { + "name": "branch_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "abbr": { + "name": "abbr", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tax_id": { + "name": "tax_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customer_type": { + "name": "customer_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "customer_status": { + "name": "customer_status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "address": { + "name": "address", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "province": { + "name": "province", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "district": { + "name": "district", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sub_district": { + "name": "sub_district", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "postal_code": { + "name": "postal_code", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "country": { + "name": "country", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "phone": { + "name": "phone", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "fax": { + "name": "fax", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "website": { + "name": "website", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "lead_channel": { + "name": "lead_channel", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customer_group": { + "name": "customer_group", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "crm_customers_org_code_idx": { + "name": "crm_customers_org_code_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "code", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_document_template_mappings": { + "name": "crm_document_template_mappings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "template_version_id": { + "name": "template_version_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "placeholder_key": { + "name": "placeholder_key", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_path": { + "name": "source_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "data_type": { + "name": "data_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "sheet_name": { + "name": "sheet_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "format_mask": { + "name": "format_mask", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "crm_document_template_mappings_version_placeholder_idx": { + "name": "crm_document_template_mappings_version_placeholder_idx", + "columns": [ + { + "expression": "template_version_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "placeholder_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_document_template_table_columns": { + "name": "crm_document_template_table_columns", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "mapping_id": { + "name": "mapping_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "column_name": { + "name": "column_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "source_field": { + "name": "source_field", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "column_letter": { + "name": "column_letter", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "format_mask": { + "name": "format_mask", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "crm_document_template_table_columns_mapping_name_idx": { + "name": "crm_document_template_table_columns_mapping_name_idx", + "columns": [ + { + "expression": "mapping_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "column_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_document_template_versions": { + "name": "crm_document_template_versions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "template_id": { + "name": "template_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "version": { + "name": "version", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_path": { + "name": "file_path", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "schema_json": { + "name": "schema_json", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "preview_image_url": { + "name": "preview_image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "crm_document_template_versions_template_version_idx": { + "name": "crm_document_template_versions_template_version_idx", + "columns": [ + { + "expression": "template_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "version", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_document_templates": { + "name": "crm_document_templates", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "document_type": { + "name": "document_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "product_type": { + "name": "product_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_type": { + "name": "file_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "template_name": { + "name": "template_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_default": { + "name": "is_default", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "crm_document_templates_org_doc_product_file_name_idx": { + "name": "crm_document_templates_org_doc_product_file_name_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "document_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "product_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "file_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "template_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_enquiries": { + "name": "crm_enquiries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "branch_id": { + "name": "branch_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "customer_id": { + "name": "customer_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "contact_id": { + "name": "contact_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "requirement": { + "name": "requirement", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "project_name": { + "name": "project_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "project_location": { + "name": "project_location", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "product_type": { + "name": "product_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "priority": { + "name": "priority", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "lead_channel": { + "name": "lead_channel", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "estimated_value": { + "name": "estimated_value", + "type": "double precision", + "primaryKey": false, + "notNull": false + }, + "chance_percent": { + "name": "chance_percent", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "expected_close_date": { + "name": "expected_close_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "competitor": { + "name": "competitor", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "source": { + "name": "source", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_hot_project": { + "name": "is_hot_project", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "crm_enquiries_org_code_idx": { + "name": "crm_enquiries_org_code_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "code", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_enquiry_followups": { + "name": "crm_enquiry_followups", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enquiry_id": { + "name": "enquiry_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "followup_date": { + "name": "followup_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + }, + "followup_type": { + "name": "followup_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "contact_id": { + "name": "contact_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "outcome": { + "name": "outcome", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "next_followup_date": { + "name": "next_followup_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "next_action": { + "name": "next_action", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_attachments": { + "name": "crm_quotation_attachments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quotation_id": { + "name": "quotation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_name": { + "name": "file_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "original_file_name": { + "name": "original_file_name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_path": { + "name": "file_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "file_size": { + "name": "file_size", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "file_type": { + "name": "file_type", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "uploaded_at": { + "name": "uploaded_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "uploaded_by": { + "name": "uploaded_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_customers": { + "name": "crm_quotation_customers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quotation_id": { + "name": "quotation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "customer_id": { + "name": "customer_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_primary": { + "name": "is_primary", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_followups": { + "name": "crm_quotation_followups", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quotation_id": { + "name": "quotation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "followup_date": { + "name": "followup_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + }, + "followup_type": { + "name": "followup_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "contact_id": { + "name": "contact_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "outcome": { + "name": "outcome", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "next_followup_date": { + "name": "next_followup_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "next_action": { + "name": "next_action", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_items": { + "name": "crm_quotation_items", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quotation_id": { + "name": "quotation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "item_number": { + "name": "item_number", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "product_type": { + "name": "product_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "unit": { + "name": "unit", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "unit_price": { + "name": "unit_price", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "discount": { + "name": "discount", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "discount_type": { + "name": "discount_type", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tax_rate": { + "name": "tax_rate", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_price": { + "name": "total_price", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_topic_items": { + "name": "crm_quotation_topic_items", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "topic_id": { + "name": "topic_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotation_topics": { + "name": "crm_quotation_topics", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "quotation_id": { + "name": "quotation_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "topic_type": { + "name": "topic_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.crm_quotations": { + "name": "crm_quotations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "branch_id": { + "name": "branch_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "enquiry_id": { + "name": "enquiry_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "customer_id": { + "name": "customer_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "contact_id": { + "name": "contact_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "quotation_date": { + "name": "quotation_date", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true + }, + "valid_until": { + "name": "valid_until", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "quotation_type": { + "name": "quotation_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "project_name": { + "name": "project_name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "project_location": { + "name": "project_location", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "attention": { + "name": "attention", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "reference": { + "name": "reference", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "revision": { + "name": "revision", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "parent_quotation_id": { + "name": "parent_quotation_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "revision_remark": { + "name": "revision_remark", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "currency": { + "name": "currency", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "exchange_rate": { + "name": "exchange_rate", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "subtotal": { + "name": "subtotal", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "discount": { + "name": "discount", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "discount_type": { + "name": "discount_type", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "tax_rate": { + "name": "tax_rate", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "tax_amount": { + "name": "tax_amount", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "total_amount": { + "name": "total_amount", + "type": "double precision", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "chance_percent": { + "name": "chance_percent", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "is_hot_project": { + "name": "is_hot_project", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "competitor": { + "name": "competitor", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "salesman_id": { + "name": "salesman_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_sent": { + "name": "is_sent", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "sent_at": { + "name": "sent_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "sent_via": { + "name": "sent_via", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "accepted_at": { + "name": "accepted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "rejected_at": { + "name": "rejected_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "rejection_reason": { + "name": "rejection_reason", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "updated_by": { + "name": "updated_by", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "crm_quotations_org_code_idx": { + "name": "crm_quotations_org_code_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "code", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.document_sequences": { + "name": "document_sequences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "branch_id": { + "name": "branch_id", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "document_type": { + "name": "document_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "period": { + "name": "period", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "current_number": { + "name": "current_number", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "padding_length": { + "name": "padding_length", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 3 + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "document_sequences_org_doc_period_branch_idx": { + "name": "document_sequences_org_doc_period_branch_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "document_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "period", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "branch_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.memberships": { + "name": "memberships", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'user'" + }, + "business_role": { + "name": "business_role", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'viewer'" + }, + "permissions": { + "name": "permissions", + "type": "text[]", + "primaryKey": false, + "notNull": true, + "default": "'{}'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ms_options": { + "name": "ms_options", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "code": { + "name": "code", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "label": { + "name": "label", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "sort_order": { + "name": "sort_order", + "type": "integer", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": true + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ms_options_org_category_code_idx": { + "name": "ms_options_org_category_code_idx", + "columns": [ + { + "expression": "organization_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "code", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.organizations": { + "name": "organizations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "image_url": { + "name": "image_url", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "plan": { + "name": "plan", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'free'" + }, + "created_by": { + "name": "created_by", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "organizations_slug_idx": { + "name": "organizations_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products": { + "name": "products", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "integer", + "primaryKey": true, + "notNull": true, + "identity": { + "type": "always", + "name": "products_id_seq", + "schema": "public", + "increment": "1", + "startWith": "1", + "minValue": "1", + "maxValue": "2147483647", + "cache": "1", + "cycle": false + } + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "photo_url": { + "name": "photo_url", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "price": { + "name": "price", + "type": "double precision", + "primaryKey": false, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tr_audit_logs": { + "name": "tr_audit_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "organization_id": { + "name": "organization_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "branch_id": { + "name": "branch_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_type": { + "name": "entity_type", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "entity_id": { + "name": "entity_id", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "action": { + "name": "action", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "before_data": { + "name": "before_data", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "after_data": { + "name": "after_data", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "request_id": { + "name": "request_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "password_hash": { + "name": "password_hash", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "system_role": { + "name": "system_role", + "type": "text", + "primaryKey": false, + "notNull": true, + "default": "'user'" + }, + "image": { + "name": "image", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "active_organization_id": { + "name": "active_organization_id", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "users_email_idx": { + "name": "users_email_idx", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": {}, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json index 7e5305e..b43e326 100644 --- a/drizzle/meta/_journal.json +++ b/drizzle/meta/_journal.json @@ -43,6 +43,13 @@ "when": 1781575976324, "tag": "0005_numerous_blob", "breakpoints": true + }, + { + "idx": 6, + "version": "7", + "when": 1781579746622, + "tag": "0006_worried_mordo", + "breakpoints": true } ] } \ No newline at end of file diff --git a/plans/task-g.md b/plans/task-g.md new file mode 100644 index 0000000..d79fc2d --- /dev/null +++ b/plans/task-g.md @@ -0,0 +1,509 @@ +# Task G: Quotation Document Preview / PDF Template Foundation + +## ALLA OS CRM vNext + +คุณคือ Senior Full-stack Engineer + +ให้ implement Quotation Document Preview และ PDF Template Foundation โดยต่อยอดจาก: + +```txt +Task A +Task B +Task B.1 +Task C +Task D +Task E +Task E.1 +Task F +``` + +## ต้องอ่านก่อน + +```txt +docs/implementation/task-a-template-audit.md +docs/implementation/task-b-template-audit.md +docs/implementation/task-b1-foundation-stabilization.md +docs/implementation/technical-debt.md + +docs/adr/0007-quotation-revision-strategy.md +docs/adr/0008-attachment-storage-strategy.md + +Layout.md +AGENTS.md +.agents/skills/kiranism-shadcn-dashboard + +src/features/foundation/** +src/features/crm/customers/** +src/features/crm/enquiries/** +src/features/crm/quotations/** +src/db/schema.ts +``` + +--- + +# Goal + +สร้าง foundation สำหรับเอกสารใบเสนอราคา + +โฟกัสที่: + +```txt +Quotation document preview +PDF template metadata +Template versioning +Template placeholder mapping +Approved snapshot preparation +``` + +ยังไม่ทำ PDF generation จริงแบบ production เต็ม + +--- + +# Scope G1: Template Schema + +เพิ่ม tables ถ้ายังไม่มี + +```txt +crm_document_templates +crm_document_template_versions +crm_document_template_mappings +crm_document_template_table_columns +``` + +## crm_document_templates + +```txt +id +organizationId + +documentType +productType +fileType + +templateName +description + +isDefault +isActive + +createdAt +updatedAt +deletedAt +createdBy +updatedBy +``` + +documentType example: + +```txt +quotation +``` + +fileType example: + +```txt +pdfme +excel +html +``` + +--- + +## crm_document_template_versions + +```txt +id +organizationId +templateId + +version +filePath +schemaJson +previewImageUrl + +isActive + +createdAt +updatedAt +deletedAt +createdBy +``` + +--- + +## crm_document_template_mappings + +```txt +id +organizationId +templateVersionId + +placeholderKey +sourcePath +dataType + +sheetName +defaultValue +formatMask +sortOrder + +createdAt +updatedAt +deletedAt +``` + +dataType: + +```txt +scalar +multiline +table +image +``` + +--- + +## crm_document_template_table_columns + +```txt +id +organizationId +mappingId + +columnName +sourceField +columnLetter +sortOrder +formatMask + +createdAt +updatedAt +deletedAt +``` + +--- + +# Scope G2: Quotation Snapshot Preparation + +เพิ่มใน quotation document service + +สร้าง function: + +```ts +buildQuotationDocumentData(quotationId) +``` + +ให้ output เป็น normalized object สำหรับ preview/document generation + +ต้องรวม: + +```txt +company +branch +customer +contact +quotation +items +quotationCustomers +topics +approval +signatures placeholder +``` + +ตัวอย่าง output: + +```ts +{ + company: {}, + branch: {}, + customer: {}, + contact: {}, + quotation: {}, + items: [], + topics: { + scope: [], + exclusion: [], + payment: [] + }, + approval: { + status, + approvedAt, + approvers: [] + } +} +``` + +Rules: + +* validate organizationId +* ห้าม query ข้าม organization +* ใช้ approved quotation ได้ +* draft/pending preview ได้ แต่ต้องแสดง watermark/status badge ใน UI + +--- + +# Scope G3: Template Mapping Resolver + +สร้าง service: + +```txt +src/features/foundation/document-template/** +``` + +หรือถ้าเหมาะสม: + +```txt +src/features/crm/quotations/document/** +``` + +Functions: + +```ts +resolveTemplateForDocument(params) +resolveTemplateMappings(templateVersionId) +mapDocumentDataToTemplateInput(documentData, mappings) +``` + +Rules: + +* template default ตาม documentType + productType + fileType +* fallback default template ของ documentType +* mapping ต้องไม่ hardcode เฉพาะ quotation มากเกินไป +* sourcePath ใช้ dot path เช่น customer.name, quotation.code, items + +--- + +# Scope G4: API Routes + +เพิ่ม route handlers: + +```txt +src/app/api/crm/quotations/[id]/document-data/route.ts +src/app/api/crm/quotations/[id]/document-preview/route.ts +src/app/api/crm/document-templates/route.ts +src/app/api/crm/document-templates/[id]/route.ts +src/app/api/crm/document-templates/[id]/versions/route.ts +``` + +รองรับ: + +```txt +GET quotation document data +GET quotation document preview data +GET/POST document templates +GET/PATCH/DELETE document template +GET/POST template versions +``` + +ยังไม่ต้องทำ binary PDF download + +--- + +# Scope G5: Preview UI + +ใน: + +```txt +/dashboard/crm/quotations/[id] +``` + +แทน Document Preview Placeholder ด้วย real preview tab + +Preview ต้องแสดง: + +```txt +quotation header +customer block +project info +items table +price summary +scope/exclusion/payment topics +approval block +signature placeholders +status watermark/badge +``` + +ใช้ Layout.md และ shadcn dashboard style + +ห้ามสร้าง design system ใหม่ + +--- + +# Scope G6: Template Settings UI + +เพิ่ม route ถ้ายังเป็น placeholder: + +```txt +/dashboard/crm/settings/templates +``` + +UI ขั้นต่ำ: + +```txt +Template list +Template versions +Default template badge +Active/inactive badge +Mapping count +``` + +ยังไม่ต้องทำ template designer แบบ drag/drop + +ทำได้แค่ metadata CRUD หรือ read-only listing ก่อน + +--- + +# Scope G7: pdfme Template Seed + +ถ้ามี template json อยู่แล้ว ให้ seed เป็น default quotation pdfme template + +Seed: + +```txt +documentType = quotation +fileType = pdfme +productType = default +templateName = ALLA Quotation Standard +version = 1.0 +schemaJson = existing pdfme template json +isDefault = true +isActive = true +``` + +Mapping placeholders: + +```txt +customer_name -> customer.name +customer_addr -> customer.address +customer_tel -> customer.phone +customer_email -> customer.email +customer_att -> contact.name +project_name -> quotation.projectName +site_location -> quotation.projectLocation +quotation_date -> quotation.quotationDate +quotation_code -> quotation.code +quotation_price -> quotation.totalAmount +currency -> quotation.currency +exclusion_data -> topics.exclusion +item_topic -> topics.scope +``` + +ถ้าไม่มี template json ใน repo ให้สร้าง seed placeholder template schemaJson แบบ minimal + +--- + +# Scope G8: Approved Snapshot Preparation + +ยังไม่ต้อง generate PDF จริง + +แต่ให้เตรียม service function: + +```ts +prepareApprovedQuotationSnapshot(quotationId) +``` + +ใช้สำหรับอนาคตเมื่อ quotation approved แล้ว + +Output: + +```ts +{ + quotationId, + approvedAt, + documentData, + templateVersionId, + templateInput +} +``` + +ยังไม่ต้องเขียนลง approvedPdfUrl ถ้ายังไม่มี PDF generator + +--- + +# Permissions + +เพิ่มถ้ายังไม่มี: + +```txt +crm.document_template.read +crm.document_template.create +crm.document_template.update +crm.document_template.delete +crm.quotation.document.preview +``` + +--- + +# Audit + +Audit mutation: + +```txt +crm_document_template +crm_document_template_version +crm_document_template_mapping +``` + +Preview GET ไม่ต้อง audit + +--- + +# ห้ามทำ + +```txt +PDF binary generation +Excel binary generation +File upload storage +Drag/drop template designer +Report +Dashboard KPI +Notification +``` + +--- + +# Output + +หลังทำเสร็จ สรุป: + +1. Files Added +2. Files Modified +3. Schema Added +4. API Routes Added +5. Preview UI Added +6. Template Settings UI Added +7. Template Seed Added +8. Mapping Resolver Added +9. Approved Snapshot Prep Added +10. Remaining Risks +11. Task H Readiness + +--- + +# Definition of Done + +Task G ผ่านเมื่อ: + +✔ document template schema พร้อม + +✔ template version schema พร้อม + +✔ mapping schema พร้อม + +✔ quotation document data service พร้อม + +✔ template resolver พร้อม + +✔ quotation preview tab แสดงข้อมูลจริง + +✔ template settings route ใช้งานได้ขั้นต่ำ + +✔ pdfme default template seed พร้อม หรือ fallback minimal seed พร้อม + +✔ approved snapshot preparation พร้อม + +✔ ยังไม่ generate PDF binary จริง + +✔ ยังไม่ทำ template designer + +✔ ยังไม่ทำ report/dashboard diff --git a/src/app/api/crm/document-templates/[id]/route.ts b/src/app/api/crm/document-templates/[id]/route.ts new file mode 100644 index 0000000..aac790a --- /dev/null +++ b/src/app/api/crm/document-templates/[id]/route.ts @@ -0,0 +1,119 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { z } from 'zod'; +import { auditDelete, auditUpdate } from '@/features/foundation/audit-log/service'; +import { + getDocumentTemplate, + softDeleteDocumentTemplate, + updateDocumentTemplate +} from '@/features/foundation/document-template/server/service'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { AuthError, requireOrganizationAccess } from '@/lib/auth/session'; + +type Params = { + params: Promise<{ id: string }>; +}; + +const documentTemplateSchema = z.object({ + documentType: z.string().min(1).optional(), + productType: z.string().min(1).optional(), + fileType: z.string().min(1).optional(), + templateName: z.string().min(1).optional(), + description: z.string().optional().nullable(), + isDefault: z.boolean().optional(), + isActive: z.boolean().optional() +}); + +export async function GET(_request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateRead + }); + const template = await getDocumentTemplate(id, organization.id); + + return NextResponse.json({ + success: true, + time: new Date().toISOString(), + message: 'Document template loaded successfully', + template + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to load document template' }, { status: 500 }); + } +} + +export async function PATCH(request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization, session } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateUpdate + }); + const payload = documentTemplateSchema.parse(await request.json()); + const before = await getDocumentTemplate(id, organization.id); + const updated = await updateDocumentTemplate(id, organization.id, session.user.id, payload); + + await auditUpdate({ + organizationId: organization.id, + userId: session.user.id, + entityType: 'crm_document_template', + entityId: id, + beforeData: before, + afterData: updated + }); + + return NextResponse.json({ + success: true, + message: 'Document template updated successfully' + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof z.ZodError) { + return NextResponse.json({ message: error.issues[0]?.message ?? 'Invalid payload' }, { status: 400 }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to update document template' }, { status: 500 }); + } +} + +export async function DELETE(_request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization, session } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateDelete + }); + const before = await getDocumentTemplate(id, organization.id); + const updated = await softDeleteDocumentTemplate(id, organization.id, session.user.id); + + await auditDelete({ + organizationId: organization.id, + userId: session.user.id, + entityType: 'crm_document_template', + entityId: id, + beforeData: before, + afterData: updated + }); + + return NextResponse.json({ + success: true, + message: 'Document template deleted successfully' + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to delete document template' }, { status: 500 }); + } +} diff --git a/src/app/api/crm/document-templates/[id]/versions/route.ts b/src/app/api/crm/document-templates/[id]/versions/route.ts new file mode 100644 index 0000000..b8db365 --- /dev/null +++ b/src/app/api/crm/document-templates/[id]/versions/route.ts @@ -0,0 +1,81 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { z } from 'zod'; +import { auditCreate } from '@/features/foundation/audit-log/service'; +import { + createDocumentTemplateVersion, + listDocumentTemplateVersions +} from '@/features/foundation/document-template/server/service'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { AuthError, requireOrganizationAccess } from '@/lib/auth/session'; + +type Params = { + params: Promise<{ id: string }>; +}; + +const versionSchema = z.object({ + version: z.string().min(1), + filePath: z.string().optional().nullable(), + schemaJson: z.unknown(), + previewImageUrl: z.string().optional().nullable(), + isActive: z.boolean().optional() +}); + +export async function GET(_request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateRead + }); + const items = await listDocumentTemplateVersions(id, organization.id); + + return NextResponse.json({ + success: true, + time: new Date().toISOString(), + message: 'Document template versions loaded successfully', + items + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to load document template versions' }, { status: 500 }); + } +} + +export async function POST(request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization, session } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateUpdate + }); + const payload = versionSchema.parse(await request.json()); + const created = await createDocumentTemplateVersion(id, organization.id, session.user.id, payload); + + await auditCreate({ + organizationId: organization.id, + userId: session.user.id, + entityType: 'crm_document_template_version', + entityId: created.id, + afterData: created + }); + + return NextResponse.json({ + success: true, + message: 'Document template version created successfully' + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof z.ZodError) { + return NextResponse.json({ message: error.issues[0]?.message ?? 'Invalid payload' }, { status: 400 }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to create document template version' }, { status: 500 }); + } +} diff --git a/src/app/api/crm/document-templates/route.ts b/src/app/api/crm/document-templates/route.ts new file mode 100644 index 0000000..0d3c429 --- /dev/null +++ b/src/app/api/crm/document-templates/route.ts @@ -0,0 +1,82 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { z } from 'zod'; +import { auditCreate } from '@/features/foundation/audit-log/service'; +import { + createDocumentTemplate, + listDocumentTemplates +} from '@/features/foundation/document-template/server/service'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { AuthError, requireOrganizationAccess } from '@/lib/auth/session'; + +const documentTemplateSchema = z.object({ + documentType: z.string().min(1), + productType: z.string().min(1), + fileType: z.string().min(1), + templateName: z.string().min(1), + description: z.string().optional().nullable(), + isDefault: z.boolean().optional(), + isActive: z.boolean().optional() +}); + +export async function GET(request: NextRequest) { + try { + const { organization } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateRead + }); + const { searchParams } = request.nextUrl; + const items = await listDocumentTemplates(organization.id, { + documentType: searchParams.get('documentType') ?? undefined, + fileType: searchParams.get('fileType') ?? undefined, + isActive: searchParams.get('isActive') ?? undefined + }); + + return NextResponse.json({ + success: true, + time: new Date().toISOString(), + message: 'Document templates loaded successfully', + items + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to load document templates' }, { status: 500 }); + } +} + +export async function POST(request: NextRequest) { + try { + const { organization, session } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmDocumentTemplateCreate + }); + const payload = documentTemplateSchema.parse(await request.json()); + const created = await createDocumentTemplate(organization.id, session.user.id, payload); + + await auditCreate({ + organizationId: organization.id, + userId: session.user.id, + entityType: 'crm_document_template', + entityId: created.id, + afterData: created + }); + + return NextResponse.json({ + success: true, + message: 'Document template created successfully' + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof z.ZodError) { + return NextResponse.json({ message: error.issues[0]?.message ?? 'Invalid payload' }, { status: 400 }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to create document template' }, { status: 500 }); + } +} diff --git a/src/app/api/crm/quotations/[id]/document-data/route.ts b/src/app/api/crm/quotations/[id]/document-data/route.ts new file mode 100644 index 0000000..3ab30d5 --- /dev/null +++ b/src/app/api/crm/quotations/[id]/document-data/route.ts @@ -0,0 +1,33 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { buildQuotationDocumentData } from '@/features/crm/quotations/document/server/service'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { AuthError, requireOrganizationAccess } from '@/lib/auth/session'; + +type Params = { + params: Promise<{ id: string }>; +}; + +export async function GET(_request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmQuotationDocumentPreview + }); + const documentData = await buildQuotationDocumentData(id, organization.id); + + return NextResponse.json({ + success: true, + time: new Date().toISOString(), + message: 'Quotation document data loaded successfully', + documentData + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to load quotation document data' }, { status: 500 }); + } +} diff --git a/src/app/api/crm/quotations/[id]/document-preview/route.ts b/src/app/api/crm/quotations/[id]/document-preview/route.ts new file mode 100644 index 0000000..7093d6f --- /dev/null +++ b/src/app/api/crm/quotations/[id]/document-preview/route.ts @@ -0,0 +1,33 @@ +import { NextRequest, NextResponse } from 'next/server'; +import { getQuotationDocumentPreviewData } from '@/features/crm/quotations/document/server/service'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { AuthError, requireOrganizationAccess } from '@/lib/auth/session'; + +type Params = { + params: Promise<{ id: string }>; +}; + +export async function GET(_request: NextRequest, { params }: Params) { + try { + const { id } = await params; + const { organization } = await requireOrganizationAccess({ + permission: PERMISSIONS.crmQuotationDocumentPreview + }); + const preview = await getQuotationDocumentPreviewData(id, organization.id); + + return NextResponse.json({ + success: true, + time: new Date().toISOString(), + message: 'Quotation document preview loaded successfully', + preview + }); + } catch (error) { + if (error instanceof AuthError) { + return NextResponse.json({ message: error.message }, { status: error.status }); + } + if (error instanceof Error) { + return NextResponse.json({ message: error.message }, { status: 400 }); + } + return NextResponse.json({ message: 'Unable to load quotation document preview' }, { status: 500 }); + } +} diff --git a/src/app/dashboard/crm/quotations/[id]/page.tsx b/src/app/dashboard/crm/quotations/[id]/page.tsx index 0f7e3f6..73d2d1e 100644 --- a/src/app/dashboard/crm/quotations/[id]/page.tsx +++ b/src/app/dashboard/crm/quotations/[id]/page.tsx @@ -1,6 +1,7 @@ import { auth } from '@/auth'; import { HydrationBoundary, dehydrate } from '@tanstack/react-query'; import PageContainer from '@/components/layout/page-container'; +import { quotationDocumentPreviewOptions } from '@/features/crm/quotations/document/queries'; import { quotationAttachmentsOptions, quotationByIdOptions, @@ -85,6 +86,11 @@ export default async function QuotationDetailRoute({ params }: PageProps) { session.user.activePermissions.includes(PERMISSIONS.crmApprovalReturn))); const isOrgAdmin = session?.user?.systemRole === 'super_admin' || session?.user?.activeMembershipRole === 'admin'; + const canPreviewDocument = + session?.user?.systemRole === 'super_admin' || + (!!session?.user?.activeOrganizationId && + (session.user.activeMembershipRole === 'admin' || + session.user.activePermissions.includes(PERMISSIONS.crmQuotationDocumentPreview))); const queryClient = getQueryClient(); if (canRead) { @@ -102,6 +108,9 @@ export default async function QuotationDetailRoute({ params }: PageProps) { limit: 20 }) ); + if (canPreviewDocument) { + void queryClient.prefetchQuery(quotationDocumentPreviewOptions(id)); + } } const referenceData = @@ -139,6 +148,7 @@ export default async function QuotationDetailRoute({ params }: PageProps) { activeBusinessRole={session?.user?.activeBusinessRole ?? null} isOrgAdmin={isOrgAdmin} currentUserId={session?.user?.id ?? ''} + canPreviewDocument={canPreviewDocument} /> ) : null} diff --git a/src/app/dashboard/crm/settings/templates/page.tsx b/src/app/dashboard/crm/settings/templates/page.tsx index 18bf3c3..879a827 100644 --- a/src/app/dashboard/crm/settings/templates/page.tsx +++ b/src/app/dashboard/crm/settings/templates/page.tsx @@ -1,19 +1,42 @@ +import { auth } from '@/auth'; +import { HydrationBoundary, dehydrate } from '@tanstack/react-query'; import PageContainer from '@/components/layout/page-container'; -import { CrmProductionPlaceholder } from '@/features/foundation/components/crm-production-placeholder'; +import { TemplateSettings } from '@/features/foundation/document-template/components/template-settings'; +import { documentTemplatesQueryOptions } from '@/features/foundation/document-template/queries'; +import { PERMISSIONS } from '@/lib/auth/rbac'; +import { getQueryClient } from '@/lib/query-client'; + +export default async function TemplatesRoute() { + const session = await auth(); + const canRead = + session?.user?.systemRole === 'super_admin' || + (!!session?.user?.activeOrganizationId && + (session.user.activeMembershipRole === 'admin' || + session.user.activePermissions.includes(PERMISSIONS.crmDocumentTemplateRead))); + const queryClient = getQueryClient(); + + if (canRead) { + void queryClient.prefetchQuery( + documentTemplatesQueryOptions({ documentType: 'quotation', fileType: 'pdfme' }) + ); + } -export default function TemplatesRoute() { return ( + You do not have access to CRM document templates. + + } > - + {canRead ? ( + + + + ) : null} ); } diff --git a/src/config/nav-config.ts b/src/config/nav-config.ts index cef17d3..6c97f8e 100644 --- a/src/config/nav-config.ts +++ b/src/config/nav-config.ts @@ -120,7 +120,7 @@ export const navGroups: NavGroup[] = [ url: '/dashboard/crm/settings/master-options', icon: 'settings', isActive: false, - access: { requireOrg: true, permission: 'organization:manage' }, + access: { requireOrg: true, permission: 'crm.document_template.read' }, items: [ { title: 'Master Options', @@ -135,7 +135,7 @@ export const navGroups: NavGroup[] = [ { title: 'Templates', url: '/dashboard/crm/settings/templates', - access: { requireOrg: true, permission: 'organization:manage' } + access: { requireOrg: true, permission: 'crm.document_template.read' } } ] } diff --git a/src/db/schema.ts b/src/db/schema.ts index 473ccdd..eda70cc 100644 --- a/src/db/schema.ts +++ b/src/db/schema.ts @@ -465,3 +465,104 @@ export const crmApprovalActions = pgTable('crm_approval_actions', { updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), deletedAt: timestamp('deleted_at', { withTimezone: true }) }); + +export const crmDocumentTemplates = pgTable( + 'crm_document_templates', + { + id: text('id').primaryKey(), + organizationId: text('organization_id').notNull(), + documentType: text('document_type').notNull(), + productType: text('product_type').notNull(), + fileType: text('file_type').notNull(), + templateName: text('template_name').notNull(), + description: text('description'), + isDefault: boolean('is_default').default(false).notNull(), + isActive: boolean('is_active').default(true).notNull(), + createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(), + updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), + deletedAt: timestamp('deleted_at', { withTimezone: true }), + createdBy: text('created_by').notNull(), + updatedBy: text('updated_by').notNull() + }, + (table) => ({ + organizationTemplateIdx: uniqueIndex('crm_document_templates_org_doc_product_file_name_idx').on( + table.organizationId, + table.documentType, + table.productType, + table.fileType, + table.templateName + ) + }) +); + +export const crmDocumentTemplateVersions = pgTable( + 'crm_document_template_versions', + { + id: text('id').primaryKey(), + organizationId: text('organization_id').notNull(), + templateId: text('template_id').notNull(), + version: text('version').notNull(), + filePath: text('file_path'), + schemaJson: jsonb('schema_json').notNull(), + previewImageUrl: text('preview_image_url'), + isActive: boolean('is_active').default(true).notNull(), + createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(), + updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), + deletedAt: timestamp('deleted_at', { withTimezone: true }), + createdBy: text('created_by').notNull() + }, + (table) => ({ + templateVersionIdx: uniqueIndex('crm_document_template_versions_template_version_idx').on( + table.templateId, + table.version + ) + }) +); + +export const crmDocumentTemplateMappings = pgTable( + 'crm_document_template_mappings', + { + id: text('id').primaryKey(), + organizationId: text('organization_id').notNull(), + templateVersionId: text('template_version_id').notNull(), + placeholderKey: text('placeholder_key').notNull(), + sourcePath: text('source_path').notNull(), + dataType: text('data_type').notNull(), + sheetName: text('sheet_name'), + defaultValue: text('default_value'), + formatMask: text('format_mask'), + sortOrder: integer('sort_order').default(0).notNull(), + createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(), + updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), + deletedAt: timestamp('deleted_at', { withTimezone: true }) + }, + (table) => ({ + templatePlaceholderIdx: uniqueIndex('crm_document_template_mappings_version_placeholder_idx').on( + table.templateVersionId, + table.placeholderKey + ) + }) +); + +export const crmDocumentTemplateTableColumns = pgTable( + 'crm_document_template_table_columns', + { + id: text('id').primaryKey(), + organizationId: text('organization_id').notNull(), + mappingId: text('mapping_id').notNull(), + columnName: text('column_name').notNull(), + sourceField: text('source_field').notNull(), + columnLetter: text('column_letter'), + sortOrder: integer('sort_order').default(0).notNull(), + formatMask: text('format_mask'), + createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(), + updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(), + deletedAt: timestamp('deleted_at', { withTimezone: true }) + }, + (table) => ({ + mappingColumnIdx: uniqueIndex('crm_document_template_table_columns_mapping_name_idx').on( + table.mappingId, + table.columnName + ) + }) +); diff --git a/src/db/seeds/foundation.seed.ts b/src/db/seeds/foundation.seed.ts index 6d76446..604d3af 100644 --- a/src/db/seeds/foundation.seed.ts +++ b/src/db/seeds/foundation.seed.ts @@ -18,6 +18,24 @@ type BranchSeedRow = { label: string; }; +type TemplateColumnSeed = { + columnName: string; + sourceField: string; + columnLetter?: string; + sortOrder: number; + formatMask?: string | null; +}; + +type TemplateMappingSeed = { + placeholderKey: string; + sourcePath: string; + dataType: 'scalar' | 'multiline' | 'table' | 'image'; + defaultValue?: string | null; + formatMask?: string | null; + sortOrder: number; + columns?: TemplateColumnSeed[]; +}; + function loadEnvFile(filePath: string) { if (!fs.existsSync(filePath)) { return; @@ -213,6 +231,145 @@ const APPROVAL_WORKFLOWS = [ } ]; +const DOCUMENT_TEMPLATE_MAPPINGS: TemplateMappingSeed[] = [ + { + placeholderKey: 'customer_name', + sourcePath: 'customer.name', + dataType: 'scalar', + sortOrder: 1 + }, + { + placeholderKey: 'customer_addr', + sourcePath: 'customer.address', + dataType: 'multiline', + sortOrder: 2 + }, + { + placeholderKey: 'customer_tel', + sourcePath: 'customer.phone', + dataType: 'scalar', + sortOrder: 3 + }, + { + placeholderKey: 'customer_email', + sourcePath: 'customer.email', + dataType: 'scalar', + sortOrder: 4 + }, + { + placeholderKey: 'customer_att', + sourcePath: 'contact.name', + dataType: 'scalar', + sortOrder: 5 + }, + { + placeholderKey: 'project_name', + sourcePath: 'quotation.projectName', + dataType: 'scalar', + sortOrder: 6 + }, + { + placeholderKey: 'site_location', + sourcePath: 'quotation.projectLocation', + dataType: 'multiline', + sortOrder: 7 + }, + { + placeholderKey: 'quotation_date', + sourcePath: 'quotation.quotationDate', + dataType: 'scalar', + formatMask: 'date', + sortOrder: 8 + }, + { + placeholderKey: 'quotation_code', + sourcePath: 'quotation.code', + dataType: 'scalar', + sortOrder: 9 + }, + { + placeholderKey: 'quotation_price', + sourcePath: 'quotation.totalAmount', + dataType: 'scalar', + formatMask: 'currency', + sortOrder: 10 + }, + { + placeholderKey: 'currency', + sourcePath: 'quotation.currencyCode', + dataType: 'scalar', + sortOrder: 11 + }, + { + placeholderKey: 'exclusion_data', + sourcePath: 'topics.exclusion', + dataType: 'multiline', + sortOrder: 12 + }, + { + placeholderKey: 'item_topic', + sourcePath: 'topics.scope', + dataType: 'multiline', + sortOrder: 13 + }, + { + placeholderKey: 'items_table', + sourcePath: 'items', + dataType: 'table', + sortOrder: 14, + columns: [ + { columnName: 'Item', sourceField: 'itemNumber', columnLetter: 'A', sortOrder: 1 }, + { columnName: 'Description', sourceField: 'description', columnLetter: 'B', sortOrder: 2 }, + { columnName: 'Qty', sourceField: 'quantity', columnLetter: 'C', sortOrder: 3 }, + { columnName: 'Unit', sourceField: 'unitLabel', columnLetter: 'D', sortOrder: 4 }, + { + columnName: 'Unit Price', + sourceField: 'unitPrice', + columnLetter: 'E', + sortOrder: 5, + formatMask: 'currency' + }, + { + columnName: 'Total', + sourceField: 'totalPrice', + columnLetter: 'F', + sortOrder: 6, + formatMask: 'currency' + } + ] + } +]; + +function loadTemplateSchemaByOrganizationName(organizationName: string) { + const normalized = organizationName.toUpperCase(); + const fileName = normalized.includes('ONVALLA') + ? 'ONVALLA_template_pdfme_fainal3.json' + : normalized.includes('ALLA') + ? 'ALLA_template_pdfme_fainal3.json' + : null; + + if (!fileName) { + return { + filePath: null, + templateName: `${organizationName} Quotation Standard`, + schemaJson: { + basePdf: '', + schemas: [], + pdfmeVersion: 'fallback' + } + }; + } + + const absolutePath = path.resolve(process.cwd(), 'src', 'pdfme_template', fileName); + const raw = fs.readFileSync(absolutePath, 'utf8'); + + return { + filePath: `src/pdfme_template/${fileName}`, + templateName: `${organizationName} Quotation Standard`, + schemaJson: JSON.parse(raw) + }; +} + async function upsertMasterOptionsForOrganization( sql: SqlClient, organizationId: string @@ -382,6 +539,188 @@ async function upsertApprovalWorkflowsForOrganization(sql: SqlClient, organizati } } +async function upsertDocumentTemplatesForOrganization( + sql: SqlClient, + organization: { id: string; name: string; createdBy: string } +) { + const templateSeed = loadTemplateSchemaByOrganizationName(organization.name); + const [templateRow] = await sql` + insert into crm_document_templates ( + id, + organization_id, + document_type, + product_type, + file_type, + template_name, + description, + is_default, + is_active, + deleted_at, + created_by, + updated_by + ) values ( + ${crypto.randomUUID()}, + ${organization.id}, + ${'quotation'}, + ${'default'}, + ${'pdfme'}, + ${templateSeed.templateName}, + ${'Seeded quotation template metadata for production preview foundation.'}, + ${true}, + ${true}, + ${null}, + ${organization.createdBy}, + ${organization.createdBy} + ) + on conflict do nothing + returning id + `; + + const resolvedTemplateId = + templateRow?.id ?? + ( + await sql` + select id + from crm_document_templates + where organization_id = ${organization.id} + and document_type = ${'quotation'} + and product_type = ${'default'} + and file_type = ${'pdfme'} + and deleted_at is null + order by is_default desc, created_at asc + limit 1 + ` + )[0]?.id; + + if (!resolvedTemplateId) { + throw new Error(`Unable to resolve template id for organization ${organization.id}`); + } + + const [versionRow] = await sql` + insert into crm_document_template_versions ( + id, + organization_id, + template_id, + version, + file_path, + schema_json, + preview_image_url, + is_active, + deleted_at, + created_by + ) values ( + ${crypto.randomUUID()}, + ${organization.id}, + ${resolvedTemplateId}, + ${'1.0'}, + ${templateSeed.filePath}, + ${JSON.stringify(templateSeed.schemaJson)}, + ${null}, + ${true}, + ${null}, + ${organization.createdBy} + ) + on conflict do nothing + returning id + `; + + const resolvedVersionId = + versionRow?.id ?? + ( + await sql` + select id + from crm_document_template_versions + where organization_id = ${organization.id} + and template_id = ${resolvedTemplateId} + and version = ${'1.0'} + and deleted_at is null + order by created_at asc + limit 1 + ` + )[0]?.id; + + if (!resolvedVersionId) { + throw new Error(`Unable to resolve template version id for organization ${organization.id}`); + } + + for (const mapping of DOCUMENT_TEMPLATE_MAPPINGS) { + const [mappingRow] = await sql` + insert into crm_document_template_mappings ( + id, + organization_id, + template_version_id, + placeholder_key, + source_path, + data_type, + sheet_name, + default_value, + format_mask, + sort_order, + deleted_at + ) values ( + ${crypto.randomUUID()}, + ${organization.id}, + ${resolvedVersionId}, + ${mapping.placeholderKey}, + ${mapping.sourcePath}, + ${mapping.dataType}, + ${null}, + ${mapping.defaultValue ?? null}, + ${mapping.formatMask ?? null}, + ${mapping.sortOrder}, + ${null} + ) + on conflict do nothing + returning id + `; + + const resolvedMappingId = + mappingRow?.id ?? + ( + await sql` + select id + from crm_document_template_mappings + where organization_id = ${organization.id} + and template_version_id = ${resolvedVersionId} + and placeholder_key = ${mapping.placeholderKey} + and deleted_at is null + limit 1 + ` + )[0]?.id; + + if (!resolvedMappingId || !mapping.columns?.length) { + continue; + } + + for (const column of mapping.columns) { + await sql` + insert into crm_document_template_table_columns ( + id, + organization_id, + mapping_id, + column_name, + source_field, + column_letter, + sort_order, + format_mask, + deleted_at + ) values ( + ${crypto.randomUUID()}, + ${organization.id}, + ${resolvedMappingId}, + ${column.columnName}, + ${column.sourceField}, + ${column.columnLetter ?? null}, + ${column.sortOrder}, + ${column.formatMask ?? null}, + ${null} + ) + on conflict do nothing + `; + } + } +} + async function main() { loadLocalEnv(); @@ -390,7 +729,7 @@ async function main() { try { const organizations = await sql` - select id, name + select id, name, created_by as "createdBy" from organizations order by name asc `; @@ -405,6 +744,7 @@ async function main() { const branchRows = await upsertMasterOptionsForOrganization(sql, organization.id); await upsertDocumentSequencesForOrganization(sql, organization.id, branchRows); await upsertApprovalWorkflowsForOrganization(sql, organization.id); + await upsertDocumentTemplatesForOrganization(sql, organization); console.log(`[seed-foundation] Seeded foundation data for ${organization.name}`); } } finally { diff --git a/src/features/crm/quotations/api/mutations.ts b/src/features/crm/quotations/api/mutations.ts index 4a7f26d..79966d2 100644 --- a/src/features/crm/quotations/api/mutations.ts +++ b/src/features/crm/quotations/api/mutations.ts @@ -1,5 +1,6 @@ import { mutationOptions } from '@tanstack/react-query'; import { getQueryClient } from '@/lib/query-client'; +import { quotationDocumentKeys } from '@/features/crm/quotations/document/queries'; import { createQuotation, createQuotationAttachment, @@ -31,6 +32,11 @@ import type { QuotationTopicMutationPayload } from './types'; +function invalidateQuotationDocumentQueries(quotationId: string) { + getQueryClient().invalidateQueries({ queryKey: quotationDocumentKeys.data(quotationId) }); + getQueryClient().invalidateQueries({ queryKey: quotationDocumentKeys.preview(quotationId) }); +} + export const createQuotationMutation = mutationOptions({ mutationFn: (data: QuotationMutationPayload) => createQuotation(data), onSuccess: () => { @@ -44,6 +50,7 @@ export const updateQuotationMutation = mutationOptions({ onSuccess: (_data, variables) => { getQueryClient().invalidateQueries({ queryKey: quotationKeys.all }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.id) }); + invalidateQuotationDocumentQueries(variables.id); } }); @@ -61,6 +68,7 @@ export const createQuotationItemMutation = mutationOptions({ getQueryClient().invalidateQueries({ queryKey: quotationKeys.items(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.all }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -78,6 +86,7 @@ export const updateQuotationItemMutation = mutationOptions({ getQueryClient().invalidateQueries({ queryKey: quotationKeys.items(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.all }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -88,6 +97,7 @@ export const deleteQuotationItemMutation = mutationOptions({ getQueryClient().invalidateQueries({ queryKey: quotationKeys.items(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.all }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -104,6 +114,7 @@ export const createQuotationCustomerMutation = mutationOptions({ queryKey: quotationKeys.customers(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -122,6 +133,7 @@ export const updateQuotationCustomerMutation = mutationOptions({ queryKey: quotationKeys.customers(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -133,6 +145,7 @@ export const deleteQuotationCustomerMutation = mutationOptions({ queryKey: quotationKeys.customers(variables.quotationId) }); getQueryClient().invalidateQueries({ queryKey: quotationKeys.detail(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -141,6 +154,7 @@ export const createQuotationTopicMutation = mutationOptions({ createQuotationTopic(quotationId, values), onSuccess: (_data, variables) => { getQueryClient().invalidateQueries({ queryKey: quotationKeys.topics(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -149,6 +163,7 @@ export const updateQuotationTopicMutation = mutationOptions({ updateQuotationTopic(quotationId, values), onSuccess: (_data, variables) => { getQueryClient().invalidateQueries({ queryKey: quotationKeys.topics(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); @@ -157,6 +172,7 @@ export const deleteQuotationTopicMutation = mutationOptions({ deleteQuotationTopic(quotationId, topicId), onSuccess: (_data, variables) => { getQueryClient().invalidateQueries({ queryKey: quotationKeys.topics(variables.quotationId) }); + invalidateQuotationDocumentQueries(variables.quotationId); } }); diff --git a/src/features/crm/quotations/components/quotation-detail.tsx b/src/features/crm/quotations/components/quotation-detail.tsx index 347a535..a5c25b7 100644 --- a/src/features/crm/quotations/components/quotation-detail.tsx +++ b/src/features/crm/quotations/components/quotation-detail.tsx @@ -69,6 +69,7 @@ import type { QuotationTopicRecord } from '../api/types'; import { submitQuotationApprovalMutation } from '@/features/foundation/approval/mutations'; +import { QuotationDocumentPreview } from './quotation-document-preview'; import { QuotationFormSheet } from './quotation-form-sheet'; import { QuotationApprovalTab } from './quotation-approval-tab'; import { QuotationStatusBadge } from './quotation-status-badge'; @@ -481,7 +482,8 @@ export function QuotationDetail({ canReturnApproval, activeBusinessRole, isOrgAdmin, - currentUserId + currentUserId, + canPreviewDocument }: { quotationId: string; referenceData: QuotationReferenceData; @@ -499,6 +501,7 @@ export function QuotationDetail({ activeBusinessRole: string | null; isOrgAdmin: boolean; currentUserId: string; + canPreviewDocument: boolean; }) { const { data } = useSuspenseQuery(quotationByIdOptions(quotationId)); const { data: itemsData } = useSuspenseQuery(quotationItemsOptions(quotationId)); @@ -1188,15 +1191,19 @@ export function QuotationDetail({ - - - Document Preview Placeholder - PDF and rendered output are intentionally postponed. - - - - - + {canPreviewDocument ? ( + + ) : ( + + + Document Preview + Preview permission is required to load document data. + + + + + + )} diff --git a/src/features/crm/quotations/components/quotation-document-preview.tsx b/src/features/crm/quotations/components/quotation-document-preview.tsx new file mode 100644 index 0000000..e5ae827 --- /dev/null +++ b/src/features/crm/quotations/components/quotation-document-preview.tsx @@ -0,0 +1,238 @@ +'use client'; + +import { useSuspenseQuery } from '@tanstack/react-query'; +import { Badge } from '@/components/ui/badge'; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; +import { Separator } from '@/components/ui/separator'; +import { quotationDocumentPreviewOptions } from '@/features/crm/quotations/document/queries'; + +function Field({ label, value }: { label: string; value: string | null | undefined }) { + return ( +
+
{label}
+
{value || '-'}
+
+ ); +} + +export function QuotationDocumentPreview({ quotationId }: { quotationId: string }) { + const { data } = useSuspenseQuery(quotationDocumentPreviewOptions(quotationId)); + const { documentData, template } = data.preview; + + return ( +
+ + +
+
+ {documentData.company.name} + + Quotation Preview using {template.template.templateName} v{template.version.version} + +
+
+ {documentData.watermarkStatus ? ( + {documentData.watermarkStatus} + ) : ( + Approved Ready + )} + {template.template.fileType} +
+
+
+ +
+ + + Quotation Header + Commercial identity and issue information. + + + + + + + + + + + + + + Customer Block + Bill-to and attention context for the document. + + + + + + +
+ +
+
+
+
+ + + + Project Information + Scope summary and reference data for the customer. + + + + + + + + + + + + Items Table + Normalized line items prepared for template mapping. + + +
+
Item
+
Description
+
Qty
+
Unit
+
Unit Price
+
Total
+
+ {documentData.items.map((item) => ( +
+
{item.itemNumber}
+
+
{item.description}
+
{item.productTypeLabel || '-'}
+
+
{item.quantity}
+
{item.unitLabel || '-'}
+
{item.unitPrice.toLocaleString()}
+
{item.totalPrice.toLocaleString()}
+
+ ))} +
+
+ +
+ + + Topics + Scope, exclusions, and payment terms from topic records. + + + {[ + { key: 'scope', title: 'Scope' }, + { key: 'exclusion', title: 'Exclusions' }, + { key: 'payment', title: 'Payment Terms' } + ].map((group) => { + const entries = documentData.topics[group.key as keyof typeof documentData.topics]; + return ( +
+
{group.title}
+ {!entries.length ? ( +
No entries
+ ) : ( + entries.map((entry) => ( +
+
{entry.title}
+
    + {entry.items.map((item) => ( +
  • {item}
  • + ))} +
+
+ )) + )} +
+ ); + })} +
+
+ +
+ + + Price Summary + + +
+ Subtotal + {documentData.quotation.subtotal.toLocaleString()} +
+
+ Tax + {documentData.quotation.taxAmount.toLocaleString()} +
+
+ Total + {documentData.quotation.totalAmount.toLocaleString()} +
+
+
+ + + + Approval Block + Prepared for watermark and approval snapshot flows. + + + + + + + {!documentData.approval.approvers.length ? ( +
No approval actions recorded.
+ ) : ( + documentData.approval.approvers.map((item) => ( +
+
+ Step {item.stepNumber} - {item.roleName} +
+
+ {item.actorName || '-'} {item.actedAt ? `on ${new Date(item.actedAt).toLocaleString()}` : ''} +
+
+ )) + )} +
+
+ + + + Signature Placeholders + + + + + + + + + +
+
+
+
+
+ ); +} diff --git a/src/features/crm/quotations/document/queries.ts b/src/features/crm/quotations/document/queries.ts new file mode 100644 index 0000000..fabc368 --- /dev/null +++ b/src/features/crm/quotations/document/queries.ts @@ -0,0 +1,20 @@ +import { queryOptions } from '@tanstack/react-query'; +import { getQuotationDocumentData, getQuotationDocumentPreview } from './service'; + +export const quotationDocumentKeys = { + all: ['crm-quotation-document'] as const, + data: (id: string) => [...quotationDocumentKeys.all, 'data', id] as const, + preview: (id: string) => [...quotationDocumentKeys.all, 'preview', id] as const +}; + +export const quotationDocumentDataOptions = (id: string) => + queryOptions({ + queryKey: quotationDocumentKeys.data(id), + queryFn: () => getQuotationDocumentData(id) + }); + +export const quotationDocumentPreviewOptions = (id: string) => + queryOptions({ + queryKey: quotationDocumentKeys.preview(id), + queryFn: () => getQuotationDocumentPreview(id) + }); diff --git a/src/features/crm/quotations/document/server/service.ts b/src/features/crm/quotations/document/server/service.ts new file mode 100644 index 0000000..7c5b408 --- /dev/null +++ b/src/features/crm/quotations/document/server/service.ts @@ -0,0 +1,359 @@ +import { and, eq, inArray, isNull } from 'drizzle-orm'; +import { + crmCustomerContacts, + crmCustomers, + crmQuotations, + organizations, + users +} from '@/db/schema'; +import { db } from '@/lib/db'; +import { AuthError } from '@/lib/auth/session'; +import { listApprovalRequests, getApprovalRequest } from '@/features/foundation/approval/server/service'; +import { + mapDocumentDataToTemplateInput, + resolveTemplateForDocument, + resolveTemplateMappings +} from '@/features/foundation/document-template/server/service'; +import { getActiveOptionsByCategory } from '@/features/foundation/master-options/service'; +import { + getQuotationDetail, + listQuotationCustomers, + listQuotationItems, + listQuotationTopics +} from '@/features/crm/quotations/server/service'; +import type { + ApprovedQuotationSnapshot, + QuotationDocumentApprovalStep, + QuotationDocumentData +} from '../types'; + +const DOCUMENT_OPTION_CATEGORIES = { + branch: 'crm_branch', + status: 'crm_quotation_status', + quotationType: 'crm_quotation_type', + currency: 'crm_currency', + discountType: 'crm_discount_type', + unit: 'crm_unit', + customerRole: 'crm_quotation_customer_role', + productType: 'crm_product_type' +} as const; + +function toRevisionLabel(revision: number) { + return `R${String(revision).padStart(2, '0')}`; +} + +async function assertQuotationDocumentAccess(quotationId: string, organizationId: string) { + const [quotation] = await db + .select() + .from(crmQuotations) + .where( + and( + eq(crmQuotations.id, quotationId), + eq(crmQuotations.organizationId, organizationId), + isNull(crmQuotations.deletedAt) + ) + ) + .limit(1); + + if (!quotation) { + throw new AuthError('Quotation not found', 404); + } + + return quotation; +} + +function findOptionLabel( + options: Array<{ id: string; code: string; label: string }>, + id: string | null | undefined +) { + return id ? options.find((option) => option.id === id)?.label ?? null : null; +} + +function findOptionCode( + options: Array<{ id: string; code: string; label: string }>, + id: string | null | undefined +) { + return id ? options.find((option) => option.id === id)?.code ?? null : null; +} + +export async function buildQuotationDocumentData( + quotationId: string, + organizationId: string +): Promise { + const quotation = await assertQuotationDocumentAccess(quotationId, organizationId); + const [ + company, + quotationDetail, + items, + quotationCustomers, + topics, + branchOptions, + statusOptions, + quotationTypeOptions, + currencyOptions, + discountTypeOptions, + unitOptions, + customerRoleOptions, + productTypeOptions, + approvalRequests + ] = await Promise.all([ + db + .select() + .from(organizations) + .where(eq(organizations.id, organizationId)) + .then((rows) => rows[0] ?? null), + getQuotationDetail(quotationId, organizationId), + listQuotationItems(quotationId, organizationId), + listQuotationCustomers(quotationId, organizationId), + listQuotationTopics(quotationId, organizationId), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.branch, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.status, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.quotationType, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.currency, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.discountType, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.unit, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.customerRole, { organizationId }), + getActiveOptionsByCategory(DOCUMENT_OPTION_CATEGORIES.productType, { organizationId }), + listApprovalRequests(organizationId, { entityType: 'quotation', entityId: quotationId, limit: 20 }) + ]); + + if (!company) { + throw new AuthError('Organization not found', 404); + } + + const [customer, contact, relatedCustomers, preparer] = await Promise.all([ + db + .select() + .from(crmCustomers) + .where( + and( + eq(crmCustomers.id, quotation.customerId), + eq(crmCustomers.organizationId, organizationId), + isNull(crmCustomers.deletedAt) + ) + ) + .then((rows) => rows[0] ?? null), + quotation.contactId + ? db + .select() + .from(crmCustomerContacts) + .where( + and( + eq(crmCustomerContacts.id, quotation.contactId), + eq(crmCustomerContacts.organizationId, organizationId), + isNull(crmCustomerContacts.deletedAt) + ) + ) + .then((rows) => rows[0] ?? null) + : Promise.resolve(null), + quotationCustomers.length + ? db + .select({ id: crmCustomers.id, code: crmCustomers.code, name: crmCustomers.name }) + .from(crmCustomers) + .where( + and( + eq(crmCustomers.organizationId, organizationId), + inArray( + crmCustomers.id, + quotationCustomers.map((item) => item.customerId) + ), + isNull(crmCustomers.deletedAt) + ) + ) + : Promise.resolve([]), + db + .select({ id: users.id, name: users.name }) + .from(users) + .where(eq(users.id, quotation.createdBy)) + .then((rows) => rows[0] ?? null) + ]); + + if (!customer) { + throw new AuthError('Customer not found', 404); + } + + const approvalRequest = approvalRequests.items.find((item) => item.status === 'approved') ?? approvalRequests.items[0] ?? null; + const approvalDetail = approvalRequest + ? await getApprovalRequest(approvalRequest.id, organizationId) + : null; + const branch = branchOptions.find((option) => option.id === quotation.branchId) ?? null; + const relatedCustomerMap = new Map(relatedCustomers.map((item) => [item.id, item])); + const statusCode = findOptionCode(statusOptions, quotation.status); + const statusLabel = findOptionLabel(statusOptions, quotation.status); + const approvalApprovers: QuotationDocumentApprovalStep[] = + approvalDetail?.timeline + .filter((item) => ['approve', 'reject', 'return'].includes(item.action)) + .map((item) => { + const step = approvalDetail.steps.find((candidate) => candidate.stepNumber === item.stepNumber); + return { + stepNumber: item.stepNumber, + roleCode: step?.roleCode ?? '', + roleName: step?.roleName ?? `Step ${item.stepNumber}`, + action: item.action, + actorName: item.actorName, + actedAt: item.actedAt, + remark: item.remark + }; + }) ?? []; + + return { + company: { + id: company.id, + name: company.name, + slug: company.slug, + imageUrl: company.imageUrl, + plan: company.plan + }, + branch: branch + ? { + id: branch.id, + code: branch.code, + label: branch.label, + value: branch.value + } + : null, + customer: { + id: customer.id, + code: customer.code, + name: customer.name, + address: customer.address, + phone: customer.phone, + email: customer.email, + taxId: customer.taxId + }, + contact: contact + ? { + id: contact.id, + name: contact.name, + email: contact.email, + mobile: contact.mobile, + position: contact.position + } + : null, + quotation: { + id: quotationDetail.id, + code: quotationDetail.code, + quotationDate: quotationDetail.quotationDate, + validUntil: quotationDetail.validUntil, + projectName: quotationDetail.projectName, + projectLocation: quotationDetail.projectLocation, + attention: quotationDetail.attention, + reference: quotationDetail.reference, + revision: quotationDetail.revision, + revisionLabel: toRevisionLabel(quotationDetail.revision), + statusCode, + statusLabel, + quotationTypeCode: findOptionCode(quotationTypeOptions, quotationDetail.quotationType), + quotationTypeLabel: findOptionLabel(quotationTypeOptions, quotationDetail.quotationType), + currencyCode: findOptionCode(currencyOptions, quotationDetail.currency), + currencyLabel: findOptionLabel(currencyOptions, quotationDetail.currency), + exchangeRate: quotationDetail.exchangeRate, + subtotal: quotationDetail.subtotal, + discount: quotationDetail.discount, + discountTypeCode: findOptionCode(discountTypeOptions, quotationDetail.discountType), + discountTypeLabel: findOptionLabel(discountTypeOptions, quotationDetail.discountType), + taxRate: quotationDetail.taxRate, + taxAmount: quotationDetail.taxAmount, + totalAmount: quotationDetail.totalAmount, + notes: quotationDetail.notes + }, + items: items.map((item) => ({ + id: item.id, + itemNumber: item.itemNumber, + productTypeCode: findOptionCode(productTypeOptions, item.productType), + productTypeLabel: findOptionLabel(productTypeOptions, item.productType), + description: item.description, + quantity: item.quantity, + unitCode: findOptionCode(unitOptions, item.unit), + unitLabel: findOptionLabel(unitOptions, item.unit), + unitPrice: item.unitPrice, + discount: item.discount, + discountTypeCode: findOptionCode(discountTypeOptions, item.discountType), + taxRate: item.taxRate, + totalPrice: item.totalPrice, + notes: item.notes + })), + quotationCustomers: quotationCustomers.map((item) => ({ + id: item.id, + customerId: item.customerId, + customerName: relatedCustomerMap.get(item.customerId)?.name ?? item.customerName, + customerCode: relatedCustomerMap.get(item.customerId)?.code ?? item.customerCode, + roleCode: item.role, + roleLabel: findOptionLabel(customerRoleOptions, item.role), + isPrimary: item.isPrimary + })), + topics: { + scope: topics + .filter((item) => item.topicType === 'scope') + .map((item) => ({ title: item.title, items: item.items.map((child) => child.content) })), + exclusion: topics + .filter((item) => item.topicType === 'exclusion') + .map((item) => ({ title: item.title, items: item.items.map((child) => child.content) })), + payment: topics + .filter((item) => item.topicType === 'payment') + .map((item) => ({ title: item.title, items: item.items.map((child) => child.content) })), + other: topics + .filter((item) => !['scope', 'exclusion', 'payment'].includes(item.topicType)) + .map((item) => ({ title: item.title, items: item.items.map((child) => child.content) })) + }, + approval: { + requestId: approvalDetail?.request.id ?? null, + workflowName: approvalDetail?.workflow.name ?? null, + status: approvalDetail?.request.status ?? null, + approvedAt: + approvalDetail?.request.status === 'approved' ? approvalDetail.request.completedAt : null, + currentStep: approvalDetail?.request.currentStep ?? null, + currentStepRoleName: approvalDetail?.currentStep?.roleName ?? null, + approvers: approvalApprovers + }, + signatures: { + preparedBy: preparer?.name ?? null, + requestedBy: contact?.name ?? customer.name, + salesManager: + approvalApprovers.find((item) => item.roleCode === 'sales_manager')?.actorName ?? null, + departmentManager: + approvalApprovers.find((item) => item.roleCode === 'department_manager')?.actorName ?? null, + topManager: approvalApprovers.find((item) => item.roleCode === 'top_manager')?.actorName ?? null + }, + watermarkStatus: statusCode && statusCode !== 'approved' ? statusLabel ?? statusCode : null + }; +} + +export async function getQuotationDocumentPreviewData( + quotationId: string, + organizationId: string +) { + const documentData = await buildQuotationDocumentData(quotationId, organizationId); + const template = await resolveTemplateForDocument(organizationId, { + documentType: 'quotation', + productType: 'default', + fileType: 'pdfme' + }); + const mappings = await resolveTemplateMappings(template.version.id, organizationId); + const templateInput = mapDocumentDataToTemplateInput( + documentData as unknown as Record, + mappings + ); + + return { + documentData, + template, + mappings, + templateInput + }; +} + +export async function prepareApprovedQuotationSnapshot( + quotationId: string, + organizationId: string +): Promise { + const preview = await getQuotationDocumentPreviewData(quotationId, organizationId); + + return { + quotationId, + approvedAt: preview.documentData.approval.approvedAt, + documentData: preview.documentData, + templateVersionId: preview.template.version.id, + templateInput: preview.templateInput + }; +} diff --git a/src/features/crm/quotations/document/service.ts b/src/features/crm/quotations/document/service.ts new file mode 100644 index 0000000..73d14fa --- /dev/null +++ b/src/features/crm/quotations/document/service.ts @@ -0,0 +1,13 @@ +import { apiClient } from '@/lib/api-client'; +import type { + QuotationDocumentDataResponse, + QuotationDocumentPreviewResponse +} from './types'; + +export async function getQuotationDocumentData(id: string) { + return apiClient(`/crm/quotations/${id}/document-data`); +} + +export async function getQuotationDocumentPreview(id: string) { + return apiClient(`/crm/quotations/${id}/document-preview`); +} diff --git a/src/features/crm/quotations/document/types.ts b/src/features/crm/quotations/document/types.ts new file mode 100644 index 0000000..d13ede6 --- /dev/null +++ b/src/features/crm/quotations/document/types.ts @@ -0,0 +1,153 @@ +import type { + DocumentTemplateMappingWithColumns, + ResolvedDocumentTemplate +} from '@/features/foundation/document-template/types'; + +export interface QuotationDocumentTopicGroup { + title: string; + items: string[]; +} + +export interface QuotationDocumentApprovalStep { + stepNumber: number; + roleCode: string; + roleName: string; + action: string; + actorName: string | null; + actedAt: string | null; + remark: string | null; +} + +export interface QuotationDocumentData { + company: { + id: string; + name: string; + slug: string; + imageUrl: string | null; + plan: string; + }; + branch: { + id: string; + code: string; + label: string; + value: string | null; + } | null; + customer: { + id: string; + code: string; + name: string; + address: string | null; + phone: string | null; + email: string | null; + taxId: string | null; + }; + contact: { + id: string; + name: string; + email: string | null; + mobile: string | null; + position: string | null; + } | null; + quotation: { + id: string; + code: string; + quotationDate: string; + validUntil: string | null; + projectName: string | null; + projectLocation: string | null; + attention: string | null; + reference: string | null; + revision: number; + revisionLabel: string; + statusCode: string | null; + statusLabel: string | null; + quotationTypeCode: string | null; + quotationTypeLabel: string | null; + currencyCode: string | null; + currencyLabel: string | null; + exchangeRate: number; + subtotal: number; + discount: number; + discountTypeCode: string | null; + discountTypeLabel: string | null; + taxRate: number; + taxAmount: number; + totalAmount: number; + notes: string | null; + }; + items: Array<{ + id: string; + itemNumber: number; + productTypeCode: string | null; + productTypeLabel: string | null; + description: string; + quantity: number; + unitCode: string | null; + unitLabel: string | null; + unitPrice: number; + discount: number; + discountTypeCode: string | null; + taxRate: number; + totalPrice: number; + notes: string | null; + }>; + quotationCustomers: Array<{ + id: string; + customerId: string; + customerName: string; + customerCode: string; + roleCode: string; + roleLabel: string | null; + isPrimary: boolean; + }>; + topics: { + scope: QuotationDocumentTopicGroup[]; + exclusion: QuotationDocumentTopicGroup[]; + payment: QuotationDocumentTopicGroup[]; + other: QuotationDocumentTopicGroup[]; + }; + approval: { + requestId: string | null; + workflowName: string | null; + status: string | null; + approvedAt: string | null; + currentStep: number | null; + currentStepRoleName: string | null; + approvers: QuotationDocumentApprovalStep[]; + }; + signatures: { + preparedBy: string | null; + requestedBy: string | null; + salesManager: string | null; + departmentManager: string | null; + topManager: string | null; + }; + watermarkStatus: string | null; +} + +export interface QuotationDocumentDataResponse { + success: boolean; + time: string; + message: string; + documentData: QuotationDocumentData; +} + +export interface QuotationDocumentPreviewResponse { + success: boolean; + time: string; + message: string; + preview: { + documentData: QuotationDocumentData; + template: ResolvedDocumentTemplate; + mappings: DocumentTemplateMappingWithColumns[]; + templateInput: Record; + }; +} + +export interface ApprovedQuotationSnapshot { + quotationId: string; + approvedAt: string | null; + documentData: QuotationDocumentData; + templateVersionId: string; + templateInput: Record; +} diff --git a/src/features/foundation/approval/mutations.ts b/src/features/foundation/approval/mutations.ts index c389736..ef10c05 100644 --- a/src/features/foundation/approval/mutations.ts +++ b/src/features/foundation/approval/mutations.ts @@ -1,4 +1,5 @@ import { mutationOptions } from '@tanstack/react-query'; +import { quotationDocumentKeys } from '@/features/crm/quotations/document/queries'; import { getQueryClient } from '@/lib/query-client'; import { approveApproval, @@ -16,6 +17,8 @@ function invalidateQuotationQueries(quotationId: string) { const queryClient = getQueryClient(); queryClient.invalidateQueries({ queryKey: quotationKeys.all }); queryClient.invalidateQueries({ queryKey: quotationKeys.detail(quotationId) }); + queryClient.invalidateQueries({ queryKey: quotationDocumentKeys.data(quotationId) }); + queryClient.invalidateQueries({ queryKey: quotationDocumentKeys.preview(quotationId) }); } function invalidateRelatedEntityQueries(approvalId: string) { diff --git a/src/features/foundation/document-template/components/template-settings.tsx b/src/features/foundation/document-template/components/template-settings.tsx new file mode 100644 index 0000000..506881c --- /dev/null +++ b/src/features/foundation/document-template/components/template-settings.tsx @@ -0,0 +1,62 @@ +'use client'; + +import { useSuspenseQuery } from '@tanstack/react-query'; +import { Badge } from '@/components/ui/badge'; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; +import { documentTemplatesQueryOptions } from '../queries'; + +export function TemplateSettings() { + const { data } = useSuspenseQuery( + documentTemplatesQueryOptions({ documentType: 'quotation', fileType: 'pdfme' }) + ); + + return ( +
+ {!data.items.length ? ( +
+ No production document templates found. +
+ ) : ( + data.items.map((template) => ( + + +
+ {template.templateName} + {template.description || 'No description provided.'} +
+
+ {template.isDefault ? Default : null} + + {template.isActive ? 'Active' : 'Inactive'} + + {template.fileType} +
+
+ +
+
Document Type
+
{template.documentType}
+
+
+
Product Type
+
{template.productType}
+
+
+
Latest Version
+
{template.latestVersion ?? '-'}
+
+
+
Version Count
+
{template.versionCount}
+
+
+
Mapping Count
+
{template.mappingCount}
+
+
+
+ )) + )} +
+ ); +} diff --git a/src/features/foundation/document-template/mutations.ts b/src/features/foundation/document-template/mutations.ts new file mode 100644 index 0000000..cf79e93 --- /dev/null +++ b/src/features/foundation/document-template/mutations.ts @@ -0,0 +1,43 @@ +import { mutationOptions } from '@tanstack/react-query'; +import { getQueryClient } from '@/lib/query-client'; +import { + createDocumentTemplate, + createDocumentTemplateVersion, + deleteDocumentTemplate, + updateDocumentTemplate +} from './service'; +import { documentTemplateKeys } from './queries'; +import type { DocumentTemplateMutationPayload, DocumentTemplateVersionMutationPayload } from './types'; + +export const createDocumentTemplateMutation = mutationOptions({ + mutationFn: (data: DocumentTemplateMutationPayload) => createDocumentTemplate(data), + onSuccess: () => { + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.all }); + } +}); + +export const updateDocumentTemplateMutation = mutationOptions({ + mutationFn: ({ id, values }: { id: string; values: Partial }) => + updateDocumentTemplate(id, values), + onSuccess: (_data, variables) => { + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.all }); + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.detail(variables.id) }); + } +}); + +export const deleteDocumentTemplateMutation = mutationOptions({ + mutationFn: (id: string) => deleteDocumentTemplate(id), + onSuccess: () => { + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.all }); + } +}); + +export const createDocumentTemplateVersionMutation = mutationOptions({ + mutationFn: ({ id, values }: { id: string; values: DocumentTemplateVersionMutationPayload }) => + createDocumentTemplateVersion(id, values), + onSuccess: (_data, variables) => { + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.all }); + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.detail(variables.id) }); + getQueryClient().invalidateQueries({ queryKey: documentTemplateKeys.versions(variables.id) }); + } +}); diff --git a/src/features/foundation/document-template/queries.ts b/src/features/foundation/document-template/queries.ts new file mode 100644 index 0000000..26f5c96 --- /dev/null +++ b/src/features/foundation/document-template/queries.ts @@ -0,0 +1,29 @@ +import { queryOptions } from '@tanstack/react-query'; +import { getDocumentTemplateById, getDocumentTemplates, getDocumentTemplateVersions } from './service'; +import type { DocumentTemplateFilters } from './types'; + +export const documentTemplateKeys = { + all: ['crm-document-templates'] as const, + list: (filters: DocumentTemplateFilters) => + [...documentTemplateKeys.all, 'list', filters] as const, + detail: (id: string) => [...documentTemplateKeys.all, 'detail', id] as const, + versions: (id: string) => [...documentTemplateKeys.all, 'versions', id] as const +}; + +export const documentTemplatesQueryOptions = (filters: DocumentTemplateFilters = {}) => + queryOptions({ + queryKey: documentTemplateKeys.list(filters), + queryFn: () => getDocumentTemplates(filters) + }); + +export const documentTemplateByIdOptions = (id: string) => + queryOptions({ + queryKey: documentTemplateKeys.detail(id), + queryFn: () => getDocumentTemplateById(id) + }); + +export const documentTemplateVersionsQueryOptions = (id: string) => + queryOptions({ + queryKey: documentTemplateKeys.versions(id), + queryFn: () => getDocumentTemplateVersions(id) + }); diff --git a/src/features/foundation/document-template/server/service.ts b/src/features/foundation/document-template/server/service.ts new file mode 100644 index 0000000..2ba948b --- /dev/null +++ b/src/features/foundation/document-template/server/service.ts @@ -0,0 +1,563 @@ +import { and, asc, eq, isNull } from 'drizzle-orm'; +import { + crmDocumentTemplateMappings, + crmDocumentTemplateTableColumns, + crmDocumentTemplateVersions, + crmDocumentTemplates +} from '@/db/schema'; +import { db } from '@/lib/db'; +import { AuthError } from '@/lib/auth/session'; +import type { + DocumentTemplateDetail, + DocumentTemplateFilters, + DocumentTemplateListItem, + DocumentTemplateMappingRecord, + DocumentTemplateMappingWithColumns, + DocumentTemplateMutationPayload, + DocumentTemplateRecord, + DocumentTemplateTableColumnRecord, + DocumentTemplateVersionDetail, + DocumentTemplateVersionMutationPayload, + DocumentTemplateVersionRecord, + ResolveTemplateParams, + ResolvedDocumentTemplate +} from '../types'; + +function mapTemplateRecord(row: typeof crmDocumentTemplates.$inferSelect): DocumentTemplateRecord { + return { + id: row.id, + organizationId: row.organizationId, + documentType: row.documentType, + productType: row.productType, + fileType: row.fileType, + templateName: row.templateName, + description: row.description, + isDefault: row.isDefault, + isActive: row.isActive, + createdAt: row.createdAt.toISOString(), + updatedAt: row.updatedAt.toISOString(), + deletedAt: row.deletedAt?.toISOString() ?? null, + createdBy: row.createdBy, + updatedBy: row.updatedBy + }; +} + +function mapVersionRecord( + row: typeof crmDocumentTemplateVersions.$inferSelect +): DocumentTemplateVersionRecord { + return { + id: row.id, + organizationId: row.organizationId, + templateId: row.templateId, + version: row.version, + filePath: row.filePath, + schemaJson: row.schemaJson, + previewImageUrl: row.previewImageUrl, + isActive: row.isActive, + createdAt: row.createdAt.toISOString(), + updatedAt: row.updatedAt.toISOString(), + deletedAt: row.deletedAt?.toISOString() ?? null, + createdBy: row.createdBy + }; +} + +function mapMappingRecord( + row: typeof crmDocumentTemplateMappings.$inferSelect +): DocumentTemplateMappingRecord { + return { + id: row.id, + organizationId: row.organizationId, + templateVersionId: row.templateVersionId, + placeholderKey: row.placeholderKey, + sourcePath: row.sourcePath, + dataType: row.dataType as DocumentTemplateMappingRecord['dataType'], + sheetName: row.sheetName, + defaultValue: row.defaultValue, + formatMask: row.formatMask, + sortOrder: row.sortOrder, + createdAt: row.createdAt.toISOString(), + updatedAt: row.updatedAt.toISOString(), + deletedAt: row.deletedAt?.toISOString() ?? null + }; +} + +function mapTableColumnRecord( + row: typeof crmDocumentTemplateTableColumns.$inferSelect +): DocumentTemplateTableColumnRecord { + return { + id: row.id, + organizationId: row.organizationId, + mappingId: row.mappingId, + columnName: row.columnName, + sourceField: row.sourceField, + columnLetter: row.columnLetter, + sortOrder: row.sortOrder, + formatMask: row.formatMask, + createdAt: row.createdAt.toISOString(), + updatedAt: row.updatedAt.toISOString(), + deletedAt: row.deletedAt?.toISOString() ?? null + }; +} + +async function assertTemplate(id: string, organizationId: string) { + const [template] = await db + .select() + .from(crmDocumentTemplates) + .where( + and( + eq(crmDocumentTemplates.id, id), + eq(crmDocumentTemplates.organizationId, organizationId), + isNull(crmDocumentTemplates.deletedAt) + ) + ) + .limit(1); + + if (!template) { + throw new AuthError('Document template not found', 404); + } + + return template; +} + +async function listVersionsByTemplateIds(templateIds: string[], organizationId: string) { + if (!templateIds.length) { + return []; + } + + return db + .select() + .from(crmDocumentTemplateVersions) + .where( + and( + eq(crmDocumentTemplateVersions.organizationId, organizationId), + isNull(crmDocumentTemplateVersions.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateVersions.createdAt)); +} + +export async function resolveTemplateMappings( + templateVersionId: string, + organizationId: string +): Promise { + const mappings = await db + .select() + .from(crmDocumentTemplateMappings) + .where( + and( + eq(crmDocumentTemplateMappings.templateVersionId, templateVersionId), + eq(crmDocumentTemplateMappings.organizationId, organizationId), + isNull(crmDocumentTemplateMappings.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateMappings.sortOrder), asc(crmDocumentTemplateMappings.createdAt)); + const columns = await db + .select() + .from(crmDocumentTemplateTableColumns) + .where( + and( + eq(crmDocumentTemplateTableColumns.organizationId, organizationId), + isNull(crmDocumentTemplateTableColumns.deletedAt) + ) + ) + .orderBy( + asc(crmDocumentTemplateTableColumns.sortOrder), + asc(crmDocumentTemplateTableColumns.createdAt) + ); + const columnMap = new Map(); + + for (const column of columns.map(mapTableColumnRecord)) { + const items = columnMap.get(column.mappingId) ?? []; + items.push(column); + columnMap.set(column.mappingId, items); + } + + return mappings.map((mapping) => ({ + ...mapMappingRecord(mapping), + columns: columnMap.get(mapping.id) ?? [] + })); +} + +export async function listDocumentTemplates( + organizationId: string, + filters: DocumentTemplateFilters = {} +): Promise { + const templates = await db + .select() + .from(crmDocumentTemplates) + .where( + and( + eq(crmDocumentTemplates.organizationId, organizationId), + isNull(crmDocumentTemplates.deletedAt), + ...(filters.documentType ? [eq(crmDocumentTemplates.documentType, filters.documentType)] : []), + ...(filters.fileType ? [eq(crmDocumentTemplates.fileType, filters.fileType)] : []), + ...(filters.isActive === 'true' ? [eq(crmDocumentTemplates.isActive, true)] : []), + ...(filters.isActive === 'false' ? [eq(crmDocumentTemplates.isActive, false)] : []) + ) + ) + .orderBy(asc(crmDocumentTemplates.templateName)); + const versions = await db + .select() + .from(crmDocumentTemplateVersions) + .where( + and( + eq(crmDocumentTemplateVersions.organizationId, organizationId), + isNull(crmDocumentTemplateVersions.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateVersions.createdAt)); + const mappings = await db + .select() + .from(crmDocumentTemplateMappings) + .where( + and( + eq(crmDocumentTemplateMappings.organizationId, organizationId), + isNull(crmDocumentTemplateMappings.deletedAt) + ) + ); + + return templates.map((template) => { + const templateVersions = versions.filter((item) => item.templateId === template.id); + const latestVersion = templateVersions.at(-1) ?? null; + const templateVersionIds = new Set(templateVersions.map((item) => item.id)); + const mappingCount = mappings.filter((item) => templateVersionIds.has(item.templateVersionId)).length; + + return { + ...mapTemplateRecord(template), + latestVersion: latestVersion?.version ?? null, + versionCount: templateVersions.length, + mappingCount + }; + }); +} + +export async function getDocumentTemplate( + id: string, + organizationId: string +): Promise { + const template = await assertTemplate(id, organizationId); + const versions = await db + .select() + .from(crmDocumentTemplateVersions) + .where( + and( + eq(crmDocumentTemplateVersions.templateId, id), + eq(crmDocumentTemplateVersions.organizationId, organizationId), + isNull(crmDocumentTemplateVersions.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateVersions.createdAt)); + const versionsWithMappings: DocumentTemplateVersionDetail[] = []; + let mappingCount = 0; + + for (const version of versions) { + const mappings = await resolveTemplateMappings(version.id, organizationId); + mappingCount += mappings.length; + versionsWithMappings.push({ + ...mapVersionRecord(version), + mappings + }); + } + + return { + ...mapTemplateRecord(template), + versions: versionsWithMappings, + mappingCount + }; +} + +export async function listDocumentTemplateVersions(id: string, organizationId: string) { + await assertTemplate(id, organizationId); + const versions = await db + .select() + .from(crmDocumentTemplateVersions) + .where( + and( + eq(crmDocumentTemplateVersions.templateId, id), + eq(crmDocumentTemplateVersions.organizationId, organizationId), + isNull(crmDocumentTemplateVersions.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateVersions.createdAt)); + + return Promise.all( + versions.map(async (version) => ({ + ...mapVersionRecord(version), + mappings: await resolveTemplateMappings(version.id, organizationId) + })) + ); +} + +export async function createDocumentTemplate( + organizationId: string, + userId: string, + payload: DocumentTemplateMutationPayload +) { + const [created] = await db + .insert(crmDocumentTemplates) + .values({ + id: crypto.randomUUID(), + organizationId, + documentType: payload.documentType, + productType: payload.productType, + fileType: payload.fileType, + templateName: payload.templateName.trim(), + description: payload.description?.trim() || null, + isDefault: payload.isDefault ?? false, + isActive: payload.isActive ?? true, + createdBy: userId, + updatedBy: userId + }) + .returning(); + + if (created.isDefault) { + await normalizeDefaultTemplate(created.id, organizationId, created.documentType, created.fileType); + } + + return created; +} + +export async function updateDocumentTemplate( + id: string, + organizationId: string, + userId: string, + payload: Partial +) { + const template = await assertTemplate(id, organizationId); + const [updated] = await db + .update(crmDocumentTemplates) + .set({ + documentType: payload.documentType ?? template.documentType, + productType: payload.productType ?? template.productType, + fileType: payload.fileType ?? template.fileType, + templateName: payload.templateName?.trim() ?? template.templateName, + description: payload.description === undefined ? template.description : payload.description?.trim() || null, + isDefault: payload.isDefault ?? template.isDefault, + isActive: payload.isActive ?? template.isActive, + updatedAt: new Date(), + updatedBy: userId + }) + .where(eq(crmDocumentTemplates.id, id)) + .returning(); + + if (updated.isDefault) { + await normalizeDefaultTemplate(updated.id, organizationId, updated.documentType, updated.fileType); + } + + return updated; +} + +async function normalizeDefaultTemplate( + templateId: string, + organizationId: string, + documentType: string, + fileType: string +) { + await db + .update(crmDocumentTemplates) + .set({ + isDefault: false, + updatedAt: new Date() + }) + .where( + and( + eq(crmDocumentTemplates.organizationId, organizationId), + eq(crmDocumentTemplates.documentType, documentType), + eq(crmDocumentTemplates.fileType, fileType), + isNull(crmDocumentTemplates.deletedAt) + ) + ); + + await db + .update(crmDocumentTemplates) + .set({ + isDefault: true, + updatedAt: new Date() + }) + .where(eq(crmDocumentTemplates.id, templateId)); +} + +export async function softDeleteDocumentTemplate(id: string, organizationId: string, userId: string) { + await assertTemplate(id, organizationId); + const [updated] = await db + .update(crmDocumentTemplates) + .set({ + deletedAt: new Date(), + updatedAt: new Date(), + updatedBy: userId + }) + .where(eq(crmDocumentTemplates.id, id)) + .returning(); + + return updated; +} + +export async function createDocumentTemplateVersion( + templateId: string, + organizationId: string, + userId: string, + payload: DocumentTemplateVersionMutationPayload +) { + await assertTemplate(templateId, organizationId); + const [created] = await db + .insert(crmDocumentTemplateVersions) + .values({ + id: crypto.randomUUID(), + organizationId, + templateId, + version: payload.version.trim(), + filePath: payload.filePath?.trim() || null, + schemaJson: payload.schemaJson, + previewImageUrl: payload.previewImageUrl?.trim() || null, + isActive: payload.isActive ?? true, + createdBy: userId + }) + .returning(); + + return created; +} + +export async function resolveTemplateForDocument( + organizationId: string, + params: ResolveTemplateParams +): Promise { + const templates = await db + .select() + .from(crmDocumentTemplates) + .where( + and( + eq(crmDocumentTemplates.organizationId, organizationId), + eq(crmDocumentTemplates.documentType, params.documentType), + eq(crmDocumentTemplates.fileType, params.fileType), + isNull(crmDocumentTemplates.deletedAt), + eq(crmDocumentTemplates.isActive, true) + ) + ) + .orderBy(asc(crmDocumentTemplates.createdAt)); + const exactTemplate = + templates.find( + (template) => template.productType === (params.productType ?? 'default') && template.isDefault + ) ?? + templates.find((template) => template.productType === (params.productType ?? 'default')) ?? + templates.find((template) => template.productType === 'default' && template.isDefault) ?? + templates.find((template) => template.productType === 'default') ?? + templates.find((template) => template.isDefault) ?? + templates[0]; + + if (!exactTemplate) { + throw new AuthError('No active document template found', 404); + } + + const versions = await db + .select() + .from(crmDocumentTemplateVersions) + .where( + and( + eq(crmDocumentTemplateVersions.organizationId, organizationId), + eq(crmDocumentTemplateVersions.templateId, exactTemplate.id), + eq(crmDocumentTemplateVersions.isActive, true), + isNull(crmDocumentTemplateVersions.deletedAt) + ) + ) + .orderBy(asc(crmDocumentTemplateVersions.createdAt)); + const version = versions.at(-1); + + if (!version) { + throw new AuthError('No active template version found', 404); + } + + return { + template: mapTemplateRecord(exactTemplate), + version: mapVersionRecord(version) + }; +} + +function getValueByPath(source: unknown, path: string): unknown { + return path.split('.').reduce((current, segment) => { + if (current === null || current === undefined) { + return undefined; + } + + if (Array.isArray(current) && /^\d+$/.test(segment)) { + return current[Number(segment)]; + } + + if (typeof current === 'object' && current !== null && segment in current) { + return (current as Record)[segment]; + } + + return undefined; + }, source); +} + +function applyFormatMask(value: unknown, formatMask?: string | null) { + if (value === null || value === undefined) { + return value; + } + + if (formatMask === 'currency' && typeof value === 'number') { + return value.toLocaleString(); + } + + if (formatMask === 'date' && typeof value === 'string') { + return new Date(value).toLocaleDateString(); + } + + return value; +} + +export function mapDocumentDataToTemplateInput( + documentData: Record, + mappings: DocumentTemplateMappingWithColumns[] +) { + const result: Record = {}; + + for (const mapping of mappings) { + const rawValue = getValueByPath(documentData, mapping.sourcePath); + + if (mapping.dataType === 'table') { + const rows = Array.isArray(rawValue) ? rawValue : []; + result[mapping.placeholderKey] = rows.map((row) => { + const rowRecord = row as Record; + return mapping.columns.reduce>((accumulator, column) => { + accumulator[column.columnName] = applyFormatMask( + rowRecord[column.sourceField], + column.formatMask + ); + return accumulator; + }, {}); + }); + continue; + } + + if (mapping.dataType === 'multiline') { + if (Array.isArray(rawValue)) { + const normalized = rawValue + .map((item) => { + if (typeof item === 'string') { + return item; + } + + if (item && typeof item === 'object' && 'items' in item) { + return ((item as { items?: string[] }).items ?? []).join('\n'); + } + + return String(item ?? ''); + }) + .filter(Boolean) + .join('\n\n'); + result[mapping.placeholderKey] = normalized || mapping.defaultValue || ''; + continue; + } + + result[mapping.placeholderKey] = + typeof rawValue === 'string' ? rawValue : mapping.defaultValue || ''; + continue; + } + + result[mapping.placeholderKey] = + applyFormatMask(rawValue, mapping.formatMask) ?? mapping.defaultValue ?? ''; + } + + return result; +} diff --git a/src/features/foundation/document-template/service.ts b/src/features/foundation/document-template/service.ts new file mode 100644 index 0000000..3f454cd --- /dev/null +++ b/src/features/foundation/document-template/service.ts @@ -0,0 +1,64 @@ +import { apiClient } from '@/lib/api-client'; +import type { + DocumentTemplateDetailResponse, + DocumentTemplateFilters, + DocumentTemplateListResponse, + DocumentTemplateMutationPayload, + DocumentTemplateVersionMutationPayload, + DocumentTemplateVersionsResponse, + MutationSuccessResponse +} from './types'; + +export async function getDocumentTemplates(filters: DocumentTemplateFilters = {}) { + const searchParams = new URLSearchParams(); + + if (filters.documentType) searchParams.set('documentType', filters.documentType); + if (filters.fileType) searchParams.set('fileType', filters.fileType); + if (filters.isActive) searchParams.set('isActive', filters.isActive); + + const query = searchParams.toString(); + return apiClient( + `/crm/document-templates${query ? `?${query}` : ''}` + ); +} + +export async function getDocumentTemplateById(id: string) { + return apiClient(`/crm/document-templates/${id}`); +} + +export async function createDocumentTemplate(data: DocumentTemplateMutationPayload) { + return apiClient('/crm/document-templates', { + method: 'POST', + body: JSON.stringify(data) + }); +} + +export async function updateDocumentTemplate( + id: string, + data: Partial +) { + return apiClient(`/crm/document-templates/${id}`, { + method: 'PATCH', + body: JSON.stringify(data) + }); +} + +export async function deleteDocumentTemplate(id: string) { + return apiClient(`/crm/document-templates/${id}`, { + method: 'DELETE' + }); +} + +export async function getDocumentTemplateVersions(id: string) { + return apiClient(`/crm/document-templates/${id}/versions`); +} + +export async function createDocumentTemplateVersion( + id: string, + data: DocumentTemplateVersionMutationPayload +) { + return apiClient(`/crm/document-templates/${id}/versions`, { + method: 'POST', + body: JSON.stringify(data) + }); +} diff --git a/src/features/foundation/document-template/types.ts b/src/features/foundation/document-template/types.ts new file mode 100644 index 0000000..d47f72a --- /dev/null +++ b/src/features/foundation/document-template/types.ts @@ -0,0 +1,141 @@ +export interface DocumentTemplateRecord { + id: string; + organizationId: string; + documentType: string; + productType: string; + fileType: string; + templateName: string; + description: string | null; + isDefault: boolean; + isActive: boolean; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + createdBy: string; + updatedBy: string; +} + +export interface DocumentTemplateVersionRecord { + id: string; + organizationId: string; + templateId: string; + version: string; + filePath: string | null; + schemaJson: unknown; + previewImageUrl: string | null; + isActive: boolean; + createdAt: string; + updatedAt: string; + deletedAt: string | null; + createdBy: string; +} + +export interface DocumentTemplateMappingRecord { + id: string; + organizationId: string; + templateVersionId: string; + placeholderKey: string; + sourcePath: string; + dataType: 'scalar' | 'multiline' | 'table' | 'image'; + sheetName: string | null; + defaultValue: string | null; + formatMask: string | null; + sortOrder: number; + createdAt: string; + updatedAt: string; + deletedAt: string | null; +} + +export interface DocumentTemplateTableColumnRecord { + id: string; + organizationId: string; + mappingId: string; + columnName: string; + sourceField: string; + columnLetter: string | null; + sortOrder: number; + formatMask: string | null; + createdAt: string; + updatedAt: string; + deletedAt: string | null; +} + +export interface DocumentTemplateMappingWithColumns extends DocumentTemplateMappingRecord { + columns: DocumentTemplateTableColumnRecord[]; +} + +export interface DocumentTemplateVersionDetail extends DocumentTemplateVersionRecord { + mappings: DocumentTemplateMappingWithColumns[]; +} + +export interface DocumentTemplateDetail extends DocumentTemplateRecord { + versions: DocumentTemplateVersionDetail[]; + mappingCount: number; +} + +export interface DocumentTemplateListItem extends DocumentTemplateRecord { + latestVersion: string | null; + versionCount: number; + mappingCount: number; +} + +export interface DocumentTemplateFilters { + documentType?: string; + fileType?: string; + isActive?: string; +} + +export interface DocumentTemplateListResponse { + success: boolean; + time: string; + message: string; + items: DocumentTemplateListItem[]; +} + +export interface DocumentTemplateDetailResponse { + success: boolean; + time: string; + message: string; + template: DocumentTemplateDetail; +} + +export interface DocumentTemplateVersionsResponse { + success: boolean; + time: string; + message: string; + items: DocumentTemplateVersionDetail[]; +} + +export interface DocumentTemplateMutationPayload { + documentType: string; + productType: string; + fileType: string; + templateName: string; + description?: string | null; + isDefault?: boolean; + isActive?: boolean; +} + +export interface DocumentTemplateVersionMutationPayload { + version: string; + filePath?: string | null; + schemaJson: unknown; + previewImageUrl?: string | null; + isActive?: boolean; +} + +export interface ResolveTemplateParams { + documentType: string; + productType?: string | null; + fileType: string; +} + +export interface ResolvedDocumentTemplate { + template: DocumentTemplateRecord; + version: DocumentTemplateVersionRecord; +} + +export interface MutationSuccessResponse { + success: boolean; + message: string; +} diff --git a/src/lib/auth/rbac.ts b/src/lib/auth/rbac.ts index 253be8d..a904196 100644 --- a/src/lib/auth/rbac.ts +++ b/src/lib/auth/rbac.ts @@ -52,7 +52,12 @@ export const PERMISSIONS = { crmApprovalSubmit: 'crm.approval.submit', crmApprovalApprove: 'crm.approval.approve', crmApprovalReject: 'crm.approval.reject', - crmApprovalReturn: 'crm.approval.return' + crmApprovalReturn: 'crm.approval.return', + crmDocumentTemplateRead: 'crm.document_template.read', + crmDocumentTemplateCreate: 'crm.document_template.create', + crmDocumentTemplateUpdate: 'crm.document_template.update', + crmDocumentTemplateDelete: 'crm.document_template.delete', + crmQuotationDocumentPreview: 'crm.quotation.document.preview' } as const; export type Permission = (typeof PERMISSIONS)[keyof typeof PERMISSIONS]; @@ -94,7 +99,12 @@ function getMembershipBasePermissions(role: MembershipRole): Permission[] { PERMISSIONS.crmApprovalSubmit, PERMISSIONS.crmApprovalApprove, PERMISSIONS.crmApprovalReject, - PERMISSIONS.crmApprovalReturn + PERMISSIONS.crmApprovalReturn, + PERMISSIONS.crmDocumentTemplateRead, + PERMISSIONS.crmDocumentTemplateCreate, + PERMISSIONS.crmDocumentTemplateUpdate, + PERMISSIONS.crmDocumentTemplateDelete, + PERMISSIONS.crmQuotationDocumentPreview ]; } @@ -105,7 +115,9 @@ function getMembershipBasePermissions(role: MembershipRole): Permission[] { PERMISSIONS.crmEnquiryRead, PERMISSIONS.crmEnquiryFollowupRead, PERMISSIONS.crmQuotationRead, - PERMISSIONS.crmApprovalRead + PERMISSIONS.crmApprovalRead, + PERMISSIONS.crmDocumentTemplateRead, + PERMISSIONS.crmQuotationDocumentPreview ]; } diff --git a/src/pdfme_template/ALLA_template_pdfme_fainal3.json b/src/pdfme_template/ALLA_template_pdfme_fainal3.json new file mode 100644 index 0000000..7f1529d --- /dev/null +++ b/src/pdfme_template/ALLA_template_pdfme_fainal3.json @@ -0,0 +1,1522 @@ +{ + "schemas": [ + [ + { + "name": "company1", + "type": "text", + "content": "ALLA PUBLIC COMPANY LIMITED", + "position": { + "x": 10, + "y": 37 + }, + "width": 50, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordiaBold", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company2", + "type": "text", + "content": "(Head Office)", + "position": { + "x": 56, + "y": 37 + }, + "width": 22.49, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_addr1", + "type": "text", + "content": "933,935,937,939 Soi Onnut 46, Onnut Road, Onnut,", + "position": { + "x": 10, + "y": 42 + }, + "width": 66.15, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_addr2", + "type": "text", + "content": "Suanluang, Bangkok 10250 Thailand.", + "position": { + "x": 10, + "y": 47 + }, + "width": 50, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "middle", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_tel", + "type": "text", + "content": "Tel: +66 2 322 0776-8, +66 2 721 5696-9", + "position": { + "x": 135, + "y": 37 + }, + "width": 58.47, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_email", + "type": "text", + "content": "FAX: +66 2 322 1891-2 Email: info@alla.co.th", + "position": { + "x": 135, + "y": 42 + }, + "width": 61.91, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_tax", + "type": "text", + "content": "Tax Identification Number (TIN): 010 755 8000 393", + "position": { + "x": 135, + "y": 47 + }, + "width": 63.76, + "height": 4.23, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "line", + "type": "line", + "position": { + "x": 10, + "y": 55 + }, + "width": 190, + "height": 0.5, + "rotate": 0, + "opacity": 1, + "readOnly": true, + "color": "#000000", + "required": false, + "content": "" + }, + { + "name": "customer_name", + "type": "text", + "content": "{customer_name}", + "position": { + "x": 10, + "y": 60 + }, + "width": 95, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 20, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordiaBold", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_addr", + "type": "text", + "content": "{customer_addr}", + "position": { + "x": 10, + "y": 70 + }, + "width": 95, + "height": 15, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1.3, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_tel", + "type": "text", + "content": "{customer_tel}", + "position": { + "x": 30, + "y": 90 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_email", + "type": "text", + "content": "{customer_email}", + "position": { + "x": 30, + "y": 100 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "dear_sirs", + "type": "text", + "content": "Dear sirs, We are pleased to quote you the price, Deliver information and specification as stated hereunder & attached sheets", + "position": { + "x": 15, + "y": 155 + }, + "width": 180, + "height": 10, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "exclusion_label", + "type": "table", + "position": { + "x": 10, + "y": 195 + }, + "width": 190, + "height": 5.6448, + "content": "[[\"Exclusion from scope of Supply:\"]]", + "showHead": false, + "repeatHead": false, + "head": [ + "Name" + ], + "headWidthPercentages": [ + 100 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "#ffffff", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "exclusion_data", + "type": "table", + "position": { + "x": 15, + "y": 205 + }, + "width": 185, + "height": 7.6448, + "content": "[[\"{exclusion_data}\"]]", + "showHead": false, + "repeatHead": false, + "head": [ + "Name" + ], + "headWidthPercentages": [ + 100 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordia", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 1, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "quotation_price_data", + "type": "table", + "position": { + "x": 14.74, + "y": 175 + }, + "width": 185, + "height": 7.6448, + "content": "[[\"Price (Exclude VAT)\",\"{quotation_price}\",\" \",\"{currency}\"]]", + "showHead": false, + "repeatHead": false, + "head": [ + "Name", + "City", + "Head 3", + "Head 4" + ], + "headWidthPercentages": [ + 28.125, + 58.34767550533545, + 2.4513428524798244, + 11.075981642184729 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 1, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": { + "alignment": { + "1": "right" + } + }, + "required": false, + "readOnly": false + }, + { + "name": "quotation_date_labe", + "type": "text", + "content": "Date ", + "position": { + "x": 120, + "y": 65 + }, + "width": 25, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "quotation_date_data", + "type": "text", + "content": "{quotation_date}", + "position": { + "x": 148, + "y": 65 + }, + "width": 50, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "quotation_code_lable", + "type": "text", + "content": "Quotation No ", + "position": { + "x": 120, + "y": 75 + }, + "width": 25, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "quotation_code_data", + "type": "text", + "content": "{quotation_code}", + "position": { + "x": 148, + "y": 75 + }, + "width": 50, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_att", + "type": "text", + "content": "{customer_att}", + "position": { + "x": 30, + "y": 110 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "project_name", + "type": "text", + "content": "{project_name}", + "position": { + "x": 30, + "y": 120 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "site_location", + "type": "text", + "content": "{site_location}", + "position": { + "x": 30, + "y": 130 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "colon", + "type": "text", + "content": ":", + "position": { + "x": 143, + "y": 65 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon copy", + "type": "text", + "content": ":", + "position": { + "x": 143, + "y": 75 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_tel", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 90.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_fax", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 100.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_email", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 110.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_att", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 120.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_project", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 130.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_site", + "type": "text", + "content": ":", + "position": { + "x": 25, + "y": 140.03 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "tel_label", + "type": "text", + "content": "Tel", + "position": { + "x": 10, + "y": 90 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "email_label", + "type": "text", + "content": "Email", + "position": { + "x": 10, + "y": 100 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "att_label", + "type": "text", + "content": "Att", + "position": { + "x": 10, + "y": 110 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "project_label", + "type": "text", + "content": "Project ", + "position": { + "x": 10, + "y": 120 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "site_label", + "type": "text", + "content": "Location", + "position": { + "x": 10, + "y": 130 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + } + ], + [ + { + "name": "topic", + "type": "table", + "position": { + "x": 10, + "y": 35 + }, + "width": 189.97, + "height": 6.6448, + "content": "[[\"Topic:\"]]", + "showHead": false, + "repeatHead": false, + "head": [ + "Terms of payment upon progress of each item:" + ], + "headWidthPercentages": [ + 100 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "", + "backgroundColor": "#ffffff", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + } + }, + "bodyStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "data_topic", + "type": "table", + "position": { + "x": 15, + "y": 45 + }, + "width": 185, + "height": 6.6448, + "content": "[[\"{item_topic}\"]]", + "showHead": false, + "repeatHead": false, + "head": [ + "Head 2" + ], + "headWidthPercentages": [ + 100 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordia", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "Please_do_not", + "type": "text", + "content": "Please do not hesitate to contact us, if you require any additional information", + "position": { + "x": 15, + "y": 75 + }, + "width": 184.94, + "height": 10, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "middle", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "yours_faithfuly", + "type": "text", + "content": "Yours faithfully,\nALLA Public Company Limited", + "position": { + "x": 79.96, + "y": 95 + }, + "width": 60, + "height": 10, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "app1", + "type": "text", + "content": "Type Something...", + "position": { + "x": 10, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app1_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 10, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app2", + "type": "text", + "content": "Type Something...", + "position": { + "x": 81.38, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app2_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 81.38, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app3", + "type": "text", + "content": "Type Something...", + "position": { + "x": 155, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app3_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 155, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + } + ] + ], + "basePdf": { + "width": 210, + "height": 297, + "padding": [ + 31, + 10, + 25, + 10 + ], + "staticSchema": [ + { + "name": "field1", + "type": "image", + "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAC58AAAG4CAYAAAB45LKeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAZrlJREFUeNrs3V9u20i6KHB2IwvQrGDUK2hpBa286sXqFUh+uMAFhAsnK3CygmQwMDDAPMReQcsvfo28ArtXEM0Kju8Kzqlq02fSHoukLInFP78fQChpUWSxqsRPaX78mGUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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", + "position": { + "x": 0, + "y": 0.13 + }, + "width": 210, + "height": 31, + "rotate": 0, + "opacity": 1, + "required": false, + "readOnly": false + }, + { + "name": "field2", + "type": "image", + "content": "data:image/png;base64,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", + "position": { + "x": 0, + "y": 272 + }, + "width": 210, + "height": 25, + "rotate": 0, + "opacity": 1, + "required": false, + "readOnly": false + } + ] + }, + "pdfmeVersion": "6.0.6" +} diff --git a/src/pdfme_template/ONVALLA_template_pdfme_fainal3.json b/src/pdfme_template/ONVALLA_template_pdfme_fainal3.json new file mode 100644 index 0000000..d68d045 --- /dev/null +++ b/src/pdfme_template/ONVALLA_template_pdfme_fainal3.json @@ -0,0 +1,1460 @@ +{ + "schemas": [ + [ + { + "name": "company", + "type": "text", + "content": "ONVALLA COMPANY LIMITED", + "position": { + "x": 10, + "y": 32 + }, + "width": 50, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordiaBold", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_addr1", + "type": "text", + "content": "50 Moo 20, Lam Luk Ka, Lam Luk Ka,", + "position": { + "x": 10, + "y": 37 + }, + "width": 50, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_addr2", + "type": "text", + "content": "Pathumthani 12150, Thailand.", + "position": { + "x": 10, + "y": 42 + }, + "width": 50, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "middle", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_tel", + "type": "text", + "content": "Tel: +66 2 193 5380-5 FAX: +66 2 193 5387", + "position": { + "x": 135, + "y": 32 + }, + "width": 58.47, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_email", + "type": "text", + "content": "Email: info@onvalla.com", + "position": { + "x": 135, + "y": 37 + }, + "width": 32.54, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "company_tax", + "type": "text", + "content": "Tax Identification Number (TIN): 010 553 3015 476", + "position": { + "x": 135, + "y": 42 + }, + "width": 63.76, + "height": 4.23, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 12, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "line", + "type": "line", + "position": { + "x": 10, + "y": 50 + }, + "width": 190, + "height": 0.5, + "rotate": 0, + "opacity": 1, + "readOnly": true, + "color": "#000000", + "required": false, + "content": "" + }, + { + "name": "customer_name", + "type": "text", + "content": "{customer_name}", + "position": { + "x": 10, + "y": 60 + }, + "width": 95, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 20, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordiaBold", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_addr", + "type": "text", + "content": "{customer_addr}", + "position": { + "x": 10, + "y": 70 + }, + "width": 95, + "height": 15, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_tel", + "type": "text", + "content": "{customer_tel}", + "position": { + "x": 30, + "y": 90 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_email", + "type": "text", + "content": "{customer_email}", + "position": { + "x": 30, + "y": 100 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "dear_sirs", + "type": "text", + "content": "Dear sirs, We are pleased to quote you the price, Deliver information and specification as stated hereunder & attached sheets", + "position": { + "x": 15, + "y": 155 + }, + "width": 180, + "height": 10, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "exclusion_label", + "type": "table", + "position": { + "x": 10, + "y": 195 + }, + "width": 190, + "height": 5.6448, + "content": "[[\"Exclusion from scope of Supply:\"]]", + "showHead": false, + "repeatHead": false, + "head": ["Name"], + "headWidthPercentages": [100], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "#ffffff", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "exclusion_data", + "type": "table", + "position": { + "x": 15, + "y": 205 + }, + "width": 185, + "height": 7.6448, + "content": "[[\"{exclusion_data}\"]]", + "showHead": false, + "repeatHead": false, + "head": ["Name"], + "headWidthPercentages": [100], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordia", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 1, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "quotation_price_data", + "type": "table", + "position": { + "x": 15, + "y": 175 + }, + "width": 185, + "height": 7.6448, + "content": "[[\"Price (Exclude VAT)\",\"{quotation_price}\",\" \",\"{currency}\"]]", + "showHead": false, + "repeatHead": false, + "head": ["Name", "City", "Head 3", "Head 4"], + "headWidthPercentages": [ + 28.125, 58.34767550533545, 2.4513428524798244, 11.075981642184729 + ], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordiaBold", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 1, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": { + "alignment": { + "1": "right" + } + }, + "required": false, + "readOnly": false + }, + { + "name": "quotation_date_labe", + "type": "text", + "content": "Date ", + "position": { + "x": 120, + "y": 65 + }, + "width": 25, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "quotation_date_data", + "type": "text", + "content": "{quotation_date}", + "position": { + "x": 148, + "y": 65 + }, + "width": 50, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "quotation_code_lable", + "type": "text", + "content": "Quotation No ", + "position": { + "x": 120, + "y": 75 + }, + "width": 25, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "quotation_code_data", + "type": "text", + "content": "{quotation_code}", + "position": { + "x": 148, + "y": 75 + }, + "width": 50, + "height": 5.03, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "customer_att", + "type": "text", + "content": "{customer_att}", + "position": { + "x": 30, + "y": 110 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "project_name", + "type": "text", + "content": "{project_name}", + "position": { + "x": 30, + "y": 120 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "site_location", + "type": "text", + "content": "{site_location}", + "position": { + "x": 30, + "y": 130 + }, + "width": 85, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "colon", + "type": "text", + "content": ": ", + "position": { + "x": 143, + "y": 65 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon copy", + "type": "text", + "content": ": ", + "position": { + "x": 143, + "y": 75 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_tel", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 90 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_fax", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 100 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_email", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 110 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_att", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 120 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_project", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 130 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "colon_site", + "type": "text", + "content": ": ", + "position": { + "x": 25, + "y": 140 + }, + "width": 5, + "height": 5.03, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "tel_label", + "type": "text", + "content": "Tel", + "position": { + "x": 10, + "y": 90 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "email_label", + "type": "text", + "content": "Email", + "position": { + "x": 10, + "y": 100 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "att_label", + "type": "text", + "content": "Att", + "position": { + "x": 10, + "y": 110 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "project_label", + "type": "text", + "content": "Project", + "position": { + "x": 10, + "y": 120 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "site_label", + "type": "text", + "content": "Location", + "position": { + "x": 10, + "y": 130 + }, + "width": 15, + "height": 5, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + } + ], + [ + { + "name": "topic", + "type": "table", + "position": { + "x": 10, + "y": 35 + }, + "width": 185, + "height": 6.6448, + "content": "[[\"Topic:\"]]", + "showHead": false, + "repeatHead": false, + "head": ["Terms of payment upon progress of each item:"], + "headWidthPercentages": [100], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordia", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "data_topic", + "type": "table", + "position": { + "x": 15, + "y": 45 + }, + "width": 185, + "height": 6.6448, + "content": "[[\"{item_topic}\"]]", + "showHead": false, + "repeatHead": false, + "head": ["Head 2"], + "headWidthPercentages": [100], + "tableStyles": { + "borderWidth": 0, + "borderColor": "#000000" + }, + "headStyles": { + "fontName": "cordia", + "fontSize": 13, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#ffffff", + "borderColor": "", + "backgroundColor": "#2980ba", + "borderWidth": { + "top": 0, + "right": 0, + "bottom": 0, + "left": 0 + }, + "padding": { + "top": 5, + "right": 5, + "bottom": 5, + "left": 5 + } + }, + "bodyStyles": { + "fontName": "cordia", + "fontSize": 16, + "characterSpacing": 0, + "alignment": "left", + "verticalAlignment": "middle", + "lineHeight": 1, + "fontColor": "#000000", + "borderColor": "#ffffff", + "backgroundColor": "", + "alternateBackgroundColor": "#ffffff", + "borderWidth": { + "top": 0.1, + "right": 0.1, + "bottom": 0.1, + "left": 0.1 + }, + "padding": { + "top": 0, + "right": 0, + "bottom": 1, + "left": 0 + } + }, + "columnStyles": {}, + "required": false, + "readOnly": false + }, + { + "name": "Please_do_not", + "type": "text", + "content": "Please do not hesitate to contact us, if you require any additional information", + "position": { + "x": 15, + "y": 75 + }, + "width": 184.94, + "height": 10, + "rotate": 0, + "alignment": "left", + "verticalAlignment": "middle", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "yours_faithfuly", + "type": "text", + "content": "Yours faithfully,\nOnvalla Company Limited", + "position": { + "x": 79.96, + "y": 95 + }, + "width": 50, + "height": 10, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 16, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": true + }, + { + "name": "app1", + "type": "text", + "content": "Type Something...", + "position": { + "x": 10, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app1_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 10, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app2", + "type": "text", + "content": "Type Something...", + "position": { + "x": 81.38, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app2_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 81.38, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app3", + "type": "text", + "content": "Type Something...", + "position": { + "x": 155, + "y": 120 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + }, + { + "name": "app3_position", + "type": "text", + "content": "Type Something...", + "position": { + "x": 155, + "y": 128 + }, + "width": 45, + "height": 5, + "rotate": 0, + "alignment": "center", + "verticalAlignment": "top", + "fontSize": 13, + "textFormat": "plain", + "fontVariantFallback": "synthetic", + "lineHeight": 1, + "characterSpacing": 0, + "fontColor": "#000000", + "fontName": "cordia", + "backgroundColor": "", + "opacity": 1, + "strikethrough": false, + "underline": false, + "required": false, + "readOnly": false + } + ] + ], + "basePdf": { + "width": 210, + "height": 297, + "padding": [25, 10, 25, 10], + "staticSchema": [ + { + "name": "field1", + "type": "image", + "content": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAC58AAAFjCAYAAAAAHV5yAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAWT5JREFUeNrs3UFy20iaNmBURe2tOYHQJ5A6eADTJxB7SW1MnaDs1d872buZlV0nEL2xli2fwNQBFEWdoOATDH2DH9mCp10uiSBIgMwEnicCQVcJpDI/JCAq+OJTlgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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", + "position": { "x": 0, "y": 0.13 }, + "width": 210, + "height": 25, + "rotate": 0, + "opacity": 1, + "required": false, + "readOnly": false + }, + { + "name": "field2", + "type": "image", + "content": "data:image/png;base64,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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjO3/BRgAmJApVATHpwQAAAAASUVORK5CYII=", + "position": { "x": 0, "y": 272 }, + "width": 210, + "height": 25, + "rotate": 0, + "opacity": 1, + "required": false, + "readOnly": false + } + ] + }, + "pdfmeVersion": "6.0.6" +}