Dashboard
მიმდინარე სურათი
მარაგის ღირებულება
₾ 128,450
საბაზო ფასებით
კრიტიკული მარაგი
18
მინ. ზღვრის ქვემოთ
აქტიური ობიექტები
6
Active
კვირის ხარჯვა
₾ 24,980
Issue / Transfers
მომავალი მიწოდებები / შეკვეთები
| PO # | მომწოდებელი | ობიექტი | თარიღი | სტატუსი |
|---|---|---|---|---|
| PO-0145 | ConcreteMix LLC | ობიექტი #12 | 2026-02-14 | გზავნილი |
| PO-0146 | SteelMart | მთავარი საწყობი | 2026-02-15 | დრაფტი |
დაბალი მარაგი
ცემენტი 50კგ
ობიექტი #12
არმატურა Ø12
მთავარი საწყობი
სწრაფი ქმედებები
Demo: ქმნის ჩანაწერებს შესაბამის ცხრილებში.
ბოლო აქტივობა
| დრო | ტიპი | მასალა | რაოდენობა | ობიექტი | დოკუმენტი |
|---|---|---|---|---|---|
| 2026-02-13 17:40 | შემოსვლა | ქვიშა | +12 მ³ | — | GRN-0091 |
| 2026-02-13 16:10 | გატანა | ცემენტი 50კგ | -10 ტომარა | ობიექტი A | ISS-0210 |
| 2026-02-13 14:05 | გადანაწილება | არმატურა Ø12 | -300 მ | ობიექტი B | TR-0044 |
პროექტები
(აქ იქნება პროექტების სრული ცხრილი/დეტალი — შენს backend-ზე მიბმა)
მასალების კატალოგი
(აქ იქნება მასალების CRUD)
მარაგი (ობიექტებზე)
OnHand/Reserved/Available დათვლილია Data.inv-დან.
| მასალა | OnHand | Reserved | Available | Min | Value | Action |
|---|
AI ანალიზი ამ ცხრილიდან კითხულობს Stock-ს (available vs min). Min-ები მოდის Data.minLevels-დან.
მომწოდებლები
PR გვერდი (აქ იქნება შენი არსებული PR ლოგიკა)
PO გვერდი (აქ იქნება შენი არსებული PO ლოგიკა)
GRN გვერდი (აქ იქნება შენი არსებული GRN ლოგიკა)
Issue გვერდი (აქ იქნება შენი არსებული Issue ლოგიკა)
ტრანსფერები (TR)
| TR# | From | To | თარიღი | სტატუსი | მძღოლი |
|---|---|---|---|---|---|
| TR-0044 | პროექტი B | ობიექტი #12 | 2026-02-13 | Completed | — |
დაბრუნებები (RTV / Site Return)
| ID | ტიპი | პროექტი | მასალა | Qty | სტატუსი | ქმედება |
|---|
რეზერვაცია / ალოკაცია
| ID | პროექტი | სამუშაო | მასალა | Qty | სტატუსი | ქმედება |
|---|
BOQ / BOM (Planned vs Actual)
| ID | პროექტი | სახელი | მასალა | Planned | Issued | სტატუსი |
|---|
QA/QC
(GRN-ზე Pass/Reject და Reject → Return აქ უნდა დაიკავშიროს შენს GRN ლოგიკასთან)
Lot / Batch / Serial
| ID | მასალა | Lot/Serial | Expiry | ლოკაცია |
|---|
ინსტრუმენტები / აღჭურვილობა
| ID | სახელი | Serial | სტატუსი | Holder | ქმედება |
|---|
ინვენტარიზაცია
| თარიღი | მასალა | Qty | სტატუსი |
|---|
ალერტები
(Low stock, PO overdue, BOQ overuse…)
რეპორტები
(Stock valuation, Issue report, Supplier performance…)
AI
—
Low
0
Over
0
Anomaly
0
Output
PO Draft (text)
Budget Control (Planned vs Actual Cost)
| პროექტი | Planned ₾ | Actual ₾ | Variance | სტატუსი |
|---|---|---|---|---|
| ობიექტი #12 | ₾ 200,000 | ₾ 158,400 | -₾ 41,600 | On Track |
Approval Workflow
PR/PO საჭიროებს მრავალსაფეხურიან დამტკიცებას.
| დოკუმენტი | ტიპი | თანხა | სტატუსი | ქმედება |
|---|---|---|---|---|
| PO-0151 | PO | ₾ 12,500 | Pending |
Audit Trail
ყველა ცვლილება ილოგება.
| დრო | მომხმარებელი | ქმედება | ობიექტი |
|---|---|---|---|
| 2026-02-13 18:22 | Admin | Approved PO-0151 | ობიექტი #12 |
Equipment Maintenance
სერვისის გრაფიკი ინსტრუმენტებზე.
| Tool | Next Service | სტატუსი |
|---|---|---|
| ბურღი | 2026-03-01 | Due Soon |
პარამეტრები
Warehouses, Roles, Numbering, Units, Costing, DB Schema
Warehouses
${Data.warehouses.map(w => `
`).join('')}
${w.name}
${w.id} • ${w.type}
Roles & Permissions
Admin
Full access
Storekeeper
GRN / Issue / Transfer / Reserve / Return
Engineer
BOQ / Reserve + View budget
Note: რეალურ სისტემაში ეს უნდა შემოწმდეს backend-ზეც.
System
Numbering
Units (UOM)
ტომარა
მეტრი
მ³
Costing Method
Current:
${State.costMethod}
(შეცვალე ზედა selector-ით)
Multi-warehouse DB Schema (Draft)
ეს არის draft — შეგიძლია გადაიტანო mysql-ში და მოარგო შენს პროექტს.
ნახე SQL კოდი
-- Warehouses
CREATE TABLE warehouses (
id INT AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(40) UNIQUE,
name VARCHAR(120),
type ENUM('CENTRAL','SITE','YARD') DEFAULT 'SITE',
address VARCHAR(255) NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Materials
CREATE TABLE materials (
id INT AUTO_INCREMENT PRIMARY KEY,
sku VARCHAR(60) UNIQUE,
name VARCHAR(180),
uom VARCHAR(30),
std_cost DECIMAL(12,4) DEFAULT 0
);
-- Inventory per warehouse
CREATE TABLE inventory_balances (
warehouse_id INT,
material_id INT,
on_hand DECIMAL(14,4) DEFAULT 0,
reserved DECIMAL(14,4) DEFAULT 0,
PRIMARY KEY (warehouse_id, material_id)
);
-- FIFO layers
CREATE TABLE inventory_layers (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
warehouse_id INT,
material_id INT,
qty_remaining DECIMAL(14,4),
unit_cost DECIMAL(12,4),
source_doc VARCHAR(40),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Movements
CREATE TABLE inventory_movements (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
type ENUM('GRN','ISSUE','TR','ADJ','RETURN') NOT NULL,
project_id INT NULL,
from_warehouse_id INT NULL,
to_warehouse_id INT NULL,
material_id INT NOT NULL,
qty DECIMAL(14,4) NOT NULL,
unit_cost DECIMAL(12,4) DEFAULT 0,
total_cost DECIMAL(14,4) DEFAULT 0,
doc_no VARCHAR(40),
created_by INT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- BOQ planned vs issued
CREATE TABLE boq_lines (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
project_id INT,
material_id INT,
planned_qty DECIMAL(14,4) DEFAULT 0,
issued_qty DECIMAL(14,4) DEFAULT 0
);
-- Budgets
CREATE TABLE project_budgets (
project_id INT PRIMARY KEY,
planned_budget DECIMAL(14,2) DEFAULT 0
);
-- Roles
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120),
role ENUM('ADMIN','STOREKEEPER','ENGINEER')
);
- Budget variance = planned_budget - SUM(issue.total_cost) per project.
- BOQ status auto-calculated from issued_qty vs planned_qty.
- Cost engine: FIFO via inventory_layers, Moving Avg via running avg.
Modal