ultimatepos/Modules/Maintenance/docs/راهنمای-دسته‌بندی-کارخانه.html

1021 lines
43 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>راهنمای دسته‌بندی قطعات و تجهیزات کارخانه — UltimatePOS CMMS</title>
<link href="https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<style>
:root {
--primary: #1e40af;
--primary-light: #3b82f6;
--secondary: #0f766e;
--accent: #d97706;
--bg: #f8fafc;
--card: #ffffff;
--text: #1e293b;
--muted: #64748b;
--border: #e2e8f0;
--success: #059669;
--warning: #d97706;
--danger: #dc2626;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
@page {
size: A4;
margin: 18mm 15mm;
}
body {
font-family: 'Vazirmatn', Tahoma, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.85;
font-size: 11pt;
}
.page {
max-width: 210mm;
margin: 0 auto;
background: white;
padding: 0;
}
.page-break { page-break-before: always; }
/* Cover */
.cover {
min-height: 277mm;
background: linear-gradient(145deg, #1e3a8a 0%, #1e40af 40%, #0f766e 100%);
color: white;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 40px;
position: relative;
overflow: hidden;
}
.cover::before {
content: '';
position: absolute;
width: 400px; height: 400px;
border-radius: 50%;
background: rgba(255,255,255,0.05);
top: -100px; right: -100px;
}
.cover::after {
content: '';
position: absolute;
width: 300px; height: 300px;
border-radius: 50%;
background: rgba(255,255,255,0.05);
bottom: -80px; left: -80px;
}
.cover-badge {
background: rgba(255,255,255,0.15);
border: 1px solid rgba(255,255,255,0.3);
padding: 8px 24px;
border-radius: 50px;
font-size: 10pt;
margin-bottom: 30px;
position: relative;
}
.cover h1 {
font-size: 26pt;
font-weight: 800;
line-height: 1.5;
margin-bottom: 16px;
position: relative;
}
.cover .subtitle {
font-size: 13pt;
opacity: 0.9;
margin-bottom: 40px;
position: relative;
}
.cover-meta {
position: relative;
background: rgba(0,0,0,0.2);
border-radius: 12px;
padding: 20px 40px;
font-size: 10pt;
}
.cover-meta div { margin: 6px 0; }
/* Content sections */
.content { padding: 30px 35px; }
h2 {
font-size: 16pt;
color: var(--primary);
border-right: 5px solid var(--primary-light);
padding-right: 14px;
margin: 28px 0 16px;
font-weight: 700;
}
h3 {
font-size: 12pt;
color: var(--secondary);
margin: 20px 0 10px;
font-weight: 600;
}
p { margin-bottom: 12px; text-align: justify; }
.lead {
font-size: 11.5pt;
color: var(--muted);
background: #eff6ff;
border-radius: 10px;
padding: 16px 20px;
border-right: 4px solid var(--primary-light);
margin-bottom: 20px;
}
/* TOC */
.toc { list-style: none; }
.toc li {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px dashed var(--border);
font-size: 11pt;
}
.toc li span:first-child { font-weight: 500; }
.toc-num { color: var(--primary); font-weight: 700; min-width: 30px; }
/* Cards */
.card-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px;
margin: 16px 0;
}
.card {
background: var(--card);
border: 1px solid var(--border);
border-radius: 10px;
padding: 16px;
}
.card-icon {
width: 36px; height: 36px;
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 18px;
margin-bottom: 10px;
}
.card h4 { font-size: 11pt; margin-bottom: 6px; color: var(--primary); }
.card p { font-size: 9.5pt; color: var(--muted); margin: 0; }
.bg-blue { background: #dbeafe; }
.bg-green { background: #d1fae5; }
.bg-orange { background: #ffedd5; }
.bg-purple { background: #ede9fe; }
/* Tables */
table {
width: 100%;
border-collapse: collapse;
margin: 14px 0;
font-size: 9.5pt;
}
th {
background: var(--primary);
color: white;
padding: 10px 12px;
text-align: right;
font-weight: 600;
}
td {
padding: 9px 12px;
border-bottom: 1px solid var(--border);
vertical-align: top;
}
tr:nth-child(even) td { background: #f8fafc; }
.tag {
display: inline-block;
padding: 2px 10px;
border-radius: 20px;
font-size: 8.5pt;
font-weight: 600;
}
.tag-blue { background: #dbeafe; color: #1d4ed8; }
.tag-green { background: #d1fae5; color: #047857; }
.tag-orange { background: #ffedd5; color: #c2410c; }
.tag-red { background: #fee2e2; color: #b91c1c; }
/* Pyramid / hierarchy */
.pyramid { margin: 20px auto; text-align: center; max-width: 500px; }
.pyramid-level {
margin: 6px auto;
padding: 12px 20px;
border-radius: 8px;
color: white;
font-weight: 600;
font-size: 10pt;
}
.pl-1 { background: #1e3a8a; width: 90%; }
.pl-2 { background: #1e40af; width: 78%; }
.pl-3 { background: #2563eb; width: 66%; }
.pl-4 { background: #3b82f6; width: 54%; }
.pl-5 { background: #60a5fa; width: 42%; color: #1e3a8a; }
.pyramid-arrow {
color: var(--muted);
font-size: 16pt;
line-height: 1;
margin: 2px 0;
}
/* Process steps */
.process {
display: flex;
flex-direction: column;
gap: 0;
margin: 20px 0;
}
.process-step {
display: flex;
gap: 16px;
align-items: flex-start;
}
.step-num {
min-width: 36px; height: 36px;
background: var(--primary);
color: white;
border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-weight: 700;
font-size: 11pt;
flex-shrink: 0;
}
.step-body {
flex: 1;
background: #f8fafc;
border: 1px solid var(--border);
border-radius: 10px;
padding: 14px 18px;
margin-bottom: 8px;
}
.step-body h4 { font-size: 11pt; color: var(--primary); margin-bottom: 4px; }
.step-body p { font-size: 9.5pt; margin: 0; color: var(--muted); }
.step-connector {
width: 36px;
display: flex;
justify-content: center;
color: var(--primary-light);
font-size: 18pt;
margin: -4px 0;
padding-right: 0;
}
/* Tree diagram */
.tree {
background: #f0fdf4;
border: 1px solid #bbf7d0;
border-radius: 12px;
padding: 20px 24px;
font-family: 'Courier New', monospace;
font-size: 9.5pt;
line-height: 1.7;
direction: ltr;
text-align: left;
margin: 16px 0;
white-space: pre;
color: #14532d;
}
/* Module flow SVG container */
.diagram-box {
background: white;
border: 1px solid var(--border);
border-radius: 12px;
padding: 16px;
margin: 16px 0;
text-align: center;
}
.diagram-box svg { max-width: 100%; height: auto; }
/* Role cards */
.role-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 12px;
margin: 14px 0;
}
.role-card {
border-radius: 10px;
padding: 14px;
text-align: center;
border: 1px solid var(--border);
}
.role-card .role-icon { font-size: 28px; margin-bottom: 8px; }
.role-card h4 { font-size: 10pt; color: var(--primary); margin-bottom: 6px; }
.role-card ul { list-style: none; font-size: 8.5pt; color: var(--muted); text-align: right; }
.role-card ul li { padding: 3px 0; }
.role-card ul li::before { content: '✓ '; color: var(--success); }
/* Summary box */
.summary-box {
background: linear-gradient(135deg, #1e40af, #0f766e);
color: white;
border-radius: 12px;
padding: 24px;
margin: 20px 0;
}
.summary-box h3 { color: white; margin-top: 0; }
.summary-box p { color: rgba(255,255,255,0.9); }
.golden-rule {
background: rgba(255,255,255,0.15);
border-radius: 8px;
padding: 14px;
margin-top: 12px;
font-size: 10pt;
}
/* Footer */
.page-footer {
text-align: center;
color: var(--muted);
font-size: 8.5pt;
padding: 20px;
border-top: 1px solid var(--border);
margin-top: 30px;
}
/* Mistakes */
.mistake-row td:first-child { color: var(--danger); font-weight: 600; }
.mistake-row td:last-child { color: var(--success); font-weight: 600; }
@media print {
body { background: white; }
.page { max-width: 100%; }
.cover { min-height: 100vh; }
}
</style>
</head>
<body>
<div class="page">
<!-- ========== COVER ========== -->
<div class="cover">
<div class="cover-badge">UltimatePOS — ماژول نگهداری و تعمیرات (CMMS)</div>
<h1>راهنمای جامع<br>دسته‌بندی قطعات، تجهیزات<br>و دارایی‌های کارخانه</h1>
<p class="subtitle">راهنمای عملی برای مدیران، حسابداری، CRM، انبار و تیم تعمیرات</p>
<div class="cover-meta">
<div><strong>نسخه:</strong> ۱.۰ — تیر ۱۴۰۵</div>
<div><strong>سیستم:</strong> UltimatePOS V6.9 + Maintenance Module</div>
<div><strong>مخاطب:</strong> همه پرسنل — بدون نیاز به دانش فنی</div>
</div>
</div>
<!-- ========== TOC ========== -->
<div class="content page-break">
<h2>فهرست مطالب</h2>
<ul class="toc">
<li><span class="toc-num">۱</span><span>چرا به دسته‌بندی نیاز داریم؟</span><span>۳</span></li>
<li><span class="toc-num">۲</span><span>تصویر کلی سیستم — هر چیز کجا می‌نشیند؟</span><span>۴</span></li>
<li><span class="toc-num">۳</span><span>چهار لایهٔ اصلی دسته‌بندی</span><span>۵</span></li>
<li><span class="toc-num">۴</span><span>نمودار ارتباط ماژول‌ها</span><span>۷</span></li>
<li><span class="toc-num">۵</span><span>مثال عملی: کارخانه دستمال کاغذی</span><span>۸</span></li>
<li><span class="toc-num">۶</span><span>جدول تصمیم — «این را کجا ثبت کنم؟»</span><span>۱۰</span></li>
<li><span class="toc-num">۷</span><span>روال گام‌به‌گام از صفر تا بهره‌برداری</span><span>۱۱</span></li>
<li><span class="toc-num">۸</span><span>گارانتی، مصرفی، مفقودی و مستهلک</span><span>۱۳</span></li>
<li><span class="toc-num">۹</span><span>نقش هر بخش سازمان</span><span>۱۴</span></li>
<li><span class="toc-num">۱۰</span><span>اشتباهات رایج و خلاصهٔ یک‌صفحه‌ای</span><span>۱۵</span></li>
</ul>
<div class="lead">
این سند توضیح می‌دهد چگونه خط تولید، ماشین‌ها (لاکسا، فول‌کات، بسته‌بند)، تاسیسات (پمپ باد)، سیم‌کابل، ابزار (آچار آلن) و قطعات مصرفی را در سیستم ثبت کنید تا هم در CRM و حسابداری و هم در نگهداری و تعمیرات (CMMS) درست کار کند.
</div>
</div>
<!-- ========== SECTION 1 ========== -->
<div class="content page-break">
<h2>۱. چرا به دسته‌بندی نیاز داریم؟</h2>
<p>در یک کارخانه، «چیزها» انواع مختلفی دارند. اگر همه را یک‌جور ثبت کنیم، گزارش خرابی، گارانتی، موجودی انبار و حسابداری اشتباه می‌شود.</p>
<table>
<thead>
<tr><th>نوع</th><th>مثال</th><th>سوال اصلی</th><th>ثبت در</th></tr>
</thead>
<tbody>
<tr><td>خط تولید</td><td>خط دستمال کاغذی</td><td>کدام بخش کارخانه؟</td><td><span class="tag tag-blue">خط تولید</span></td></tr>
<tr><td>ماشین</td><td>لاکسا، فول‌کات، بسته‌بند</td><td>کدام دستگاه خراب شد؟</td><td><span class="tag tag-blue">تجهیز</span></td></tr>
<tr><td>قطعه داخل ماشین</td><td>غلطک، موتور، سیم‌کابل</td><td>چه قطعه‌ای عوض شود؟</td><td><span class="tag tag-green">قطعه نصب‌شده</span></td></tr>
<tr><td>تاسیسات</td><td>پمپ باد، برق کارخانه</td><td>مال کل کارخانه است؟</td><td><span class="tag tag-orange">تجهیز جدا</span></td></tr>
<tr><td>ابزار</td><td>آچار آلن</td><td>در انبار داریم؟</td><td><span class="tag tag-green">قطعه یدکی</span></td></tr>
<tr><td>مصرفی</td><td>فیلتر، روغن، غلطک</td><td>تمام می‌شود و دوباره خرید؟</td><td><span class="tag tag-red">کاتالوگ + انبار</span></td></tr>
</tbody>
</table>
<h3>ساختار درختی چندسطحی (طبق پیشنهاد دکتر داوری)</h3>
<div class="pyramid">
<div class="pyramid-level pl-1">مشتری / کارخانه (CRM)</div>
<div class="pyramid-arrow"></div>
<div class="pyramid-level pl-2">پروژه (قرارداد نصب یا نگهداری)</div>
<div class="pyramid-arrow"></div>
<div class="pyramid-level pl-3">خط تولید (مثلاً TP-01)</div>
<div class="pyramid-arrow"></div>
<div class="pyramid-level pl-4">ماشین / تجهیز (لاکسا، فول‌کات، ...)</div>
<div class="pyramid-arrow"></div>
<div class="pyramid-level pl-5">قطعات نصب‌شده (درخت BOM)</div>
</div>
</div>
<!-- ========== SECTION 2 & 3 ========== -->
<div class="content page-break">
<h2>۲. تصویر کلی — هر چیز کجا می‌نشیند؟</h2>
<p>سیستم یک درخت واحد ندارد؛ <strong>چهار محور موازی</strong> دارد که با هم کار می‌کنند:</p>
<div class="card-grid">
<div class="card">
<div class="card-icon bg-blue">📍</div>
<h4>محور ۱ — مکان عملیاتی</h4>
<p>مشتری → پروژه → خط تولید → ماشین → قطعات<br><em>سوال: کجاست؟</em></p>
</div>
<div class="card">
<div class="card-icon bg-green">🏷️</div>
<h4>محور ۲ — نوع ماشین</h4>
<p>دسته‌بندی درختی تجهیزات<br><em>سوال: چه نوع ماشینی است؟</em></p>
</div>
<div class="card">
<div class="card-icon bg-orange">📋</div>
<h4>محور ۳ — کاتالوگ فنی</h4>
<p>تعریف استاندارد قطعات<br><em>سوال: این قطعه چیست؟</em></p>
</div>
<div class="card">
<div class="card-icon bg-purple">💰</div>
<h4>محور ۴ — انبار و مالی</h4>
<p>موجودی، قیمت، دارایی ثابت<br><em>سوال: چند تا داریم و ارزشش چقدر است؟</em></p>
</div>
</div>
<h2>۳. چهار لایهٔ اصلی — جزئیات</h2>
<h3>لایه الف — محل و مشتری (عملیاتی)</h3>
<table>
<thead><tr><th>نام در سیستم</th><th>جدول / ماژول</th><th>معنی ساده</th></tr></thead>
<tbody>
<tr><td>مشتری</td><td>contacts — CRM</td><td>کارخانه یا شخص صاحب کار</td></tr>
<tr><td>پروژه</td><td>pjt_projects — Project</td><td>قرارداد نصب، راه‌اندازی یا نگهداری</td></tr>
<tr><td>خط تولید</td><td>maintenance_production_lines</td><td>یک خط مشخص در کارخانه</td></tr>
<tr><td>تجهیز / ماشین</td><td>maintenance_equipment</td><td>هر دستگاه روی آن خط</td></tr>
<tr><td>قطعه نصب‌شده</td><td>maintenance_equipment_parts</td><td>قطعه روی ماشین (با زیرقطعه)</td></tr>
</tbody>
</table>
<h3>لایه ب — دسته‌بندی نوع ماشین (درختی)</h3>
<div class="tree">ماشین‌آلات تولید
├── خط تبدیل (Converting)
│ ├── لاکسا (Waxing)
│ ├── فول‌کات (Full Cut)
│ └── ...
├── بسته‌بندی (Packaging)
├── تاسیسات کارخانه
│ ├── کمپرسور / پمپ باد
│ └── سیستم برق
└── ابزار و تجهیزات کمکی</div>
<h3>لایه ج — کاتالوگ فنی قطعات</h3>
<p>یک‌بار تعریف می‌شود؛ برای همه ماشین‌های مشابه قابل استفاده است. شامل: کد کاتالوگ، سازنده، نوع (مکانیکی/الکترونیکی/پنوماتیک/مصرفی)، OEM، فاصله تعویض پیشنهادی.</p>
<h3>لایه د — انبار و مالی</h3>
<table>
<thead><tr><th>بخش</th><th>کاربرد</th></tr></thead>
<tbody>
<tr><td>قطعه یدکی (Spare Part)</td><td>موجودی انبار، حداقل stock، قیمت خرید</td></tr>
<tr><td>محصول (Product)</td><td>پیوند با انبار اصلی سیستم</td></tr>
<tr><td>دارایی ثابت (Asset)</td><td>ماشین‌های گران‌قیمت — استهلاک حسابداری</td></tr>
<tr><td>حسابداری (Accounting)</td><td>ثبت هزینه تعمیر و حساب‌های ثابت</td></tr>
</tbody>
</table>
</div>
<!-- ========== SECTION 4 - DIAGRAM ========== -->
<div class="content page-break">
<h2>۴. نمودار ارتباط ماژول‌ها</h2>
<div class="diagram-box">
<svg viewBox="0 0 700 420" xmlns="http://www.w3.org/2000/svg" style="direction:ltr">
<!-- CRM -->
<rect x="280" y="10" width="140" height="50" rx="8" fill="#1e40af" />
<text x="350" y="40" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="13" font-weight="600">CRM / مشتری</text>
<!-- Project -->
<rect x="280" y="90" width="140" height="50" rx="8" fill="#2563eb" />
<text x="350" y="120" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="13" font-weight="600">پروژه Project</text>
<!-- Production Line -->
<rect x="260" y="170" width="180" height="50" rx="8" fill="#3b82f6" />
<text x="350" y="200" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="13" font-weight="600">خط تولید CMMS</text>
<!-- Equipment -->
<rect x="240" y="250" width="220" height="50" rx="8" fill="#0f766e" />
<text x="350" y="280" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="13" font-weight="600">تجهیز / ماشین</text>
<!-- Parts -->
<rect x="220" y="330" width="260" height="50" rx="8" fill="#059669" />
<text x="350" y="360" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="13" font-weight="600">قطعات نصب‌شده (BOM)</text>
<!-- Side modules -->
<rect x="30" y="250" width="150" height="50" rx="8" fill="#d97706" stroke="#b45309" stroke-width="2"/>
<text x="105" y="280" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="11" font-weight="600">انبار قطعات</text>
<rect x="520" y="250" width="150" height="50" rx="8" fill="#7c3aed" stroke="#6d28d9" stroke-width="2"/>
<text x="595" y="280" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="11" font-weight="600">دارایی ثابت</text>
<rect x="30" y="170" width="150" height="50" rx="8" fill="#dc2626" stroke="#b91c1c" stroke-width="2"/>
<text x="105" y="200" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="11" font-weight="600">کاتالوگ قطعات</text>
<rect x="520" y="170" width="150" height="50" rx="8" fill="#0891b2" stroke="#0e7490" stroke-width="2"/>
<text x="595" y="200" text-anchor="middle" fill="white" font-family="Vazirmatn,Tahoma" font-size="11" font-weight="600">حسابداری</text>
<!-- Arrows vertical -->
<line x1="350" y1="60" x2="350" y2="90" stroke="#64748b" stroke-width="2" marker-end="url(#arrow)"/>
<line x1="350" y1="140" x2="350" y2="170" stroke="#64748b" stroke-width="2"/>
<line x1="350" y1="220" x2="350" y2="250" stroke="#64748b" stroke-width="2"/>
<line x1="350" y1="300" x2="350" y2="330" stroke="#64748b" stroke-width="2"/>
<!-- Side arrows -->
<line x1="180" y1="275" x2="240" y2="275" stroke="#d97706" stroke-width="2" stroke-dasharray="5,3"/>
<line x1="460" y1="275" x2="520" y2="275" stroke="#7c3aed" stroke-width="2" stroke-dasharray="5,3"/>
<line x1="180" y1="195" x2="260" y2="195" stroke="#dc2626" stroke-width="2" stroke-dasharray="5,3"/>
<line x1="440" y1="195" x2="520" y2="195" stroke="#0891b2" stroke-width="2" stroke-dasharray="5,3"/>
<defs>
<marker id="arrow" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
<path d="M0,0 L6,3 L0,6 Z" fill="#64748b"/>
</marker>
</defs>
</svg>
<p style="font-size:9pt;color:#64748b;margin-top:8px;">فلش‌های عمودی: سلسله‌مراتب عملیاتی | فلش‌های افقی: ارتباط با انبار، کاتالوگ، دارایی و حسابداری</p>
</div>
<h3>نمودار جریان داده — از ثبت تا تعمیر</h3>
<div class="diagram-box">
<svg viewBox="0 0 700 200" xmlns="http://www.w3.org/2000/svg">
<rect x="10" y="70" width="100" height="60" rx="8" fill="#dbeafe" stroke="#3b82f6"/>
<text x="60" y="105" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#1e40af">ثبت ماشین</text>
<rect x="140" y="70" width="100" height="60" rx="8" fill="#d1fae5" stroke="#059669"/>
<text x="190" y="105" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#047857">تعریف BOM</text>
<rect x="270" y="70" width="100" height="60" rx="8" fill="#ffedd5" stroke="#d97706"/>
<text x="320" y="105" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#c2410c">برنامه PM</text>
<rect x="400" y="70" width="100" height="60" rx="8" fill="#fee2e2" stroke="#dc2626"/>
<text x="450" y="100" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#b91c1c">گزارش</text>
<text x="450" y="115" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#b91c1c">خرابی</text>
<rect x="530" y="70" width="100" height="60" rx="8" fill="#ede9fe" stroke="#7c3aed"/>
<text x="580" y="100" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#6d28d9">دستور</text>
<text x="580" y="115" text-anchor="middle" font-family="Vazirmatn" font-size="10" fill="#6d28d9">کار</text>
<rect x="660" y="70" width="30" height="60" rx="4" fill="#f1f5f9" stroke="#94a3b8"/>
<text x="675" y="105" text-anchor="middle" font-family="Vazirmatn" font-size="14" fill="#64748b"></text>
<polygon points="115,100 130,95 130,105" fill="#64748b"/>
<polygon points="245,100 260,95 260,105" fill="#64748b"/>
<polygon points="375,100 390,95 390,105" fill="#64748b"/>
<polygon points="505,100 520,95 520,105" fill="#64748b"/>
<polygon points="635,100 650,95 650,105" fill="#64748b"/>
<line x1="110" y1="100" x2="140" y2="100" stroke="#64748b" stroke-width="2"/>
<line x1="240" y1="100" x2="270" y2="100" stroke="#64748b" stroke-width="2"/>
<line x1="370" y1="100" x2="400" y2="100" stroke="#64748b" stroke-width="2"/>
<line x1="500" y1="100" x2="530" y2="100" stroke="#64748b" stroke-width="2"/>
<line x1="630" y1="100" x2="660" y2="100" stroke="#64748b" stroke-width="2"/>
</svg>
</div>
</div>
<!-- ========== SECTION 5 - EXAMPLE ========== -->
<div class="content page-break">
<h2>۵. مثال عملی: کارخانه دستمال کاغذی</h2>
<h3>۵.۱ ثبت مشتری و پروژه</h3>
<table>
<thead><tr><th>مورد</th><th>مقدار نمونه</th><th>ماژول</th></tr></thead>
<tbody>
<tr><td>مشتری</td><td>کارخانه پارس تیشو</td><td>CRM / مخاطبین</td></tr>
<tr><td>پروژه</td><td>نصب و نگهداری خط TP-2026</td><td>Project</td></tr>
<tr><td>نوع مشتری</td><td>factory (کارخانه)</td><td>CMMS — client_type</td></tr>
</tbody>
</table>
<h3>۵.۲ خط تولید و ماشین‌ها</h3>
<table>
<thead><tr><th>کد</th><th>نام</th><th>دسته</th><th>توضیح</th></tr></thead>
<tbody>
<tr><td>TP-01</td><td>خط دستمال کاغذی</td><td></td><td>خط تولید اصلی</td></tr>
<tr><td>EQ-LAX-01</td><td>ماشین لاکسا</td><td>تبدیل</td><td>روی خط TP-01</td></tr>
<tr><td>EQ-FC-01</td><td>فول‌کات</td><td>تبدیل</td><td>روی خط TP-01</td></tr>
<tr><td>EQ-PKG-01</td><td>بسته‌بند</td><td>بسته‌بندی</td><td>روی خط TP-01</td></tr>
<tr><td>EQ-AIR-01</td><td>کمپرسور / پمپ باد</td><td>تاسیسات</td><td>مشترک — تجهیز جدا</td></tr>
</tbody>
</table>
<div class="lead" style="background:#fff7ed;border-color:#d97706;">
<strong>نکته مهم:</strong> پمپ باد معمولاً مال <em>کل کارخانه</em> است، نه فقط یک ماشین. آن را به‌صورت <strong>تجهیز مستقل</strong> با دسته «تاسیسات» ثبت کنید، نه زیرقطعهٔ لاکسا.
</div>
<h3>۵.۳ درخت قطعات ماشین لاکسا (BOM)</h3>
<div class="tree">ماشین لاکسا (EQ-LAX-01)
├── سیستم حرارتی
│ ├── غلطک لاکسا [مصرفی | گارانتی ۶ ماه]
│ └── سنسور دما [الکترونیکی]
├── سیستم پنوماتیک
│ ├── شیر برقی [پنوماتیک]
│ └── لوله فشار
└── سیستم برق
├── موتور اصلی
└── سیم‌کابل انتقال [الکترونیکی]</div>
<h3>۵.۴ پمپ باد — تجهیز جدا</h3>
<div class="tree">کمپرسور / پمپ باد (EQ-AIR-01)
├── موتور الکتریکی
├── سیم‌کابل انتقال برق
├── فیلتر هوا [مصرفی — موجودی انبار]
└── مخزن هوا</div>
</div>
<!-- ========== SECTION 6 ========== -->
<div class="content page-break">
<h2>۶. جدول تصمیم — «این را کجا ثبت کنم؟»</h2>
<table>
<thead>
<tr><th>اگر این است...</th><th>ثبت کن در...</th><th>چرا؟</th></tr>
</thead>
<tbody>
<tr><td>خط تولید دستمال</td><td><span class="tag tag-blue">خط تولید</span></td><td>محدودهٔ کارخانه</td></tr>
<tr><td>ماشین لاکسا / فول‌کات / بسته‌بند</td><td><span class="tag tag-blue">تجهیز (ماشین)</span></td><td>قابل تعمیر، گزارش خرابی، PM</td></tr>
<tr><td>پمپ باد مشترک کارخانه</td><td><span class="tag tag-orange">تجهیز جدا + دسته تاسیسات</span></td><td>مال چند خط است</td></tr>
<tr><td>سیم‌کابل روی یک ماشین</td><td><span class="tag tag-green">قطعه نصب‌شده (BOM)</span></td><td>جزء همان ماشین</td></tr>
<tr><td>آچار آلن</td><td><span class="tag tag-green">قطعه یدکی / انبار</span></td><td>ابزار — نه ماشین</td></tr>
<tr><td>غلطک / فیلتر / روغن</td><td><span class="tag tag-red">کاتالوگ + انبار + BOM</span></td><td>تعریف + موجودی + محل نصب</td></tr>
<tr><td>ماشین ۲+ میلیارد تومانی</td><td><span class="tag tag-blue">تجهیز CMMS</span> + <span class="tag tag-orange">دارایی ثابت</span></td><td>تعمیرات + حسابداری</td></tr>
<tr><td>پیچ کوچک مصرفی</td><td><span class="tag tag-red">کاتالوگ (مصرفی) + انبار</span></td><td>فقط از انبار کم می‌شود</td></tr>
</tbody>
</table>
<h3>قانون طلایی — ۴ سوال</h3>
<div class="card-grid">
<div class="card" style="border-right: 4px solid #3b82f6;">
<h4>کجاست؟</h4>
<p>→ خط تولید + ماشین + BOM</p>
</div>
<div class="card" style="border-right: 4px solid #059669;">
<h4>چیست؟</h4>
<p>→ کاتالوگ قطعات + دسته نوع</p>
</div>
<div class="card" style="border-right: 4px solid #d97706;">
<h4>چند تا داریم؟</h4>
<p>→ انبار قطعات یدکی</p>
</div>
<div class="card" style="border-right: 4px solid #7c3aed;">
<h4>ارزش دفتری؟</h4>
<p>→ دارایی ثابت + حسابداری</p>
</div>
</div>
</div>
<!-- ========== SECTION 7 - PROCESS ========== -->
<div class="content page-break">
<h2>۷. روال گام‌به‌گام — از صفر تا بهره‌برداری</h2>
<div class="process">
<div class="process-step">
<div class="step-num">۱</div>
<div class="step-body">
<h4>ثبت مشتری در CRM</h4>
<p>کارخانه را در مخاطبین (contacts) ثبت کنید. پیگیری قرارداد و ارتباطات در CRM انجام می‌شود.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۲</div>
<div class="step-body">
<h4>ایجاد پروژه</h4>
<p>پروژهٔ نصب یا نگهداری در ماژول Project بسازید و به مشتری وصل کنید.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۳</div>
<div class="step-body">
<h4>تعریف خط تولید</h4>
<p>نگهداری → خطوط تولید → مثلاً TP-01 با کد و نام و اتصال به پروژه.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۴</div>
<div class="step-body">
<h4>طراحی دسته‌بندی نوع ماشین</h4>
<p>نگهداری → دسته‌بندی تجهیزات → درخت (تبدیل، بسته‌بندی، تاسیسات، ...).</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۵</div>
<div class="step-body">
<h4>ثبت ماشین‌ها</h4>
<p>هر ماشین: کد، نام، سریال، خط تولید، پروژه، مشتری، دسته، تاریخ نصب، گارانتی.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۶</div>
<div class="step-body">
<h4>تعریف کاتالوگ قطعات</h4>
<p>قطعات تکراری (غلطک، فیلتر، بلبرینگ) را یک‌بار در کاتالوگ قطعات تعریف کنید.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۷</div>
<div class="step-body">
<h4>ساخت BOM (درخت قطعات)</h4>
<p>در تب «قطعات» هر ماشین: سیستم‌ها و زیرقطعات را با parent_id درختی وارد کنید.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۸</div>
<div class="step-body">
<h4>راه‌اندازی انبار</h4>
<p>قطعات یدکی را با لینک به محصول انبار ثبت کنید. حداقل موجودی تنظیم کنید.</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۹</div>
<div class="step-body">
<h4>ثبت دارایی ثابت (حسابداری)</h4>
<p>ماشین‌های اصلی را در Asset Management ثبت و با تجهیز CMMS پیوند دهید (fixed_asset_id).</p>
</div>
</div>
<div class="step-connector"></div>
<div class="process-step">
<div class="step-num">۱۰</div>
<div class="step-body">
<h4>برنامه نگهداری و شروع بهره‌برداری</h4>
<p>PM تنظیم کنید. بازدید، دستور کار، تعویض قطعه و گزارش خرابی را فعال کنید.</p>
</div>
</div>
</div>
</div>
<!-- ========== SECTION 8 ========== -->
<div class="content page-break">
<h2>۸. گارانتی، مصرفی، مفقودی و مستهلک</h2>
<table>
<thead><tr><th>مفهوم</th><th>کجا ثبت می‌شود؟</th><th>فیلدهای کلیدی</th></tr></thead>
<tbody>
<tr>
<td><strong>گارانتی ماشین</strong></td>
<td>تجهیز (Equipment)</td>
<td>warranty_expires_at</td>
</tr>
<tr>
<td><strong>گارانتی قطعه</strong></td>
<td>قطعه نصب‌شده (Equipment Part)</td>
<td>warranty_status, warranty_provider, warranty_expires_at</td>
</tr>
<tr>
<td><strong>مسئولیت تعمیر</strong></td>
<td>قطعه نصب‌شده</td>
<td>responsibility: ours / vendor / shared</td>
</tr>
<tr>
<td><strong>قطعه مصرفی</strong></td>
<td>کاتالوگ + قطعه نصب‌شده</td>
<td>is_consumable = بله</td>
</tr>
<tr>
<td><strong>تعویض دوره‌ای</strong></td>
<td>قطعه نصب‌شده</td>
<td>replacement_interval_days, expected_replacement_date</td>
</tr>
<tr>
<td><strong>سلامت قطعه</strong></td>
<td>بازدید + قطعه</td>
<td>health_percentage (۰ تا ۱۰۰)</td>
</tr>
<tr>
<td><strong>مستهلک / بازنشسته</strong></td>
<td>تجهیز</td>
<td>status = retired</td>
</tr>
<tr>
<td><strong>مصرف از انبار</strong></td>
<td>قطعه یدکی</td>
<td>spare_part_consumptions</td>
</tr>
<tr>
<td><strong>تعویض در تعمیر</strong></td>
<td>تاریخچه تعویض</td>
<td>part_replacements</td>
</tr>
</tbody>
</table>
<h3>چرخهٔ عمر قطعه — نمودار</h3>
<div class="diagram-box">
<svg viewBox="0 0 650 120" xmlns="http://www.w3.org/2000/svg">
<rect x="5" y="35" width="90" height="50" rx="8" fill="#dbeafe" stroke="#3b82f6"/>
<text x="50" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#1e40af">تعریف در</text>
<text x="50" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#1e40af">کاتالوگ</text>
<rect x="115" y="35" width="90" height="50" rx="8" fill="#d1fae5" stroke="#059669"/>
<text x="160" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#047857">خرید و</text>
<text x="160" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#047857">انبار</text>
<rect x="225" y="35" width="90" height="50" rx="8" fill="#ffedd5" stroke="#d97706"/>
<text x="270" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#c2410c">نصب روی</text>
<text x="270" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#c2410c">ماشین</text>
<rect x="335" y="35" width="90" height="50" rx="8" fill="#ede9fe" stroke="#7c3aed"/>
<text x="380" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#6d28d9">بازدید</text>
<text x="380" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#6d28d9">دوره‌ای</text>
<rect x="445" y="35" width="90" height="50" rx="8" fill="#fee2e2" stroke="#dc2626"/>
<text x="490" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#b91c1c">تعویض /</text>
<text x="490" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#b91c1c">تعمیر</text>
<rect x="555" y="35" width="90" height="50" rx="8" fill="#f1f5f9" stroke="#94a3b8"/>
<text x="600" y="65" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#64748b">ثبت در</text>
<text x="600" y="78" text-anchor="middle" font-family="Vazirmatn" font-size="9" fill="#64748b">تاریخچه</text>
<line x1="95" y1="60" x2="115" y2="60" stroke="#64748b" stroke-width="2"/>
<line x1="205" y1="60" x2="225" y2="60" stroke="#64748b" stroke-width="2"/>
<line x1="315" y1="60" x2="335" y2="60" stroke="#64748b" stroke-width="2"/>
<line x1="425" y1="60" x2="445" y2="60" stroke="#64748b" stroke-width="2"/>
<line x1="535" y1="60" x2="555" y2="60" stroke="#64748b" stroke-width="2"/>
</svg>
</div>
</div>
<!-- ========== SECTION 9 - ROLES ========== -->
<div class="content page-break">
<h2>۹. نقش هر بخش سازمان</h2>
<div class="role-grid">
<div class="role-card" style="background:#eff6ff;">
<div class="role-icon">🤝</div>
<h4>فروش / CRM</h4>
<ul>
<li>ثبت مشتری (کارخانه)</li>
<li>پیگیری قرارداد</li>
<li>پیشنهاد و فاکتور</li>
</ul>
</div>
<div class="role-card" style="background:#f0fdf4;">
<div class="role-icon">🔧</div>
<h4>فنی / CMMS</h4>
<ul>
<li>خط تولید و ماشین</li>
<li>BOM و PM</li>
<li>بازدید و دستور کار</li>
</ul>
</div>
<div class="role-card" style="background:#fff7ed;">
<div class="role-icon">📦</div>
<h4>انبار</h4>
<ul>
<li>کاتالوگ و موجودی</li>
<li>حداقل stock</li>
<li>تحویل به تعمیرات</li>
</ul>
</div>
<div class="role-card" style="background:#faf5ff;">
<div class="role-icon">📊</div>
<h4>حسابداری</h4>
<ul>
<li>دارایی ثابت</li>
<li>استهلاک</li>
<li>هزینه تعمیرات</li>
</ul>
</div>
<div class="role-card" style="background:#fef2f2;">
<div class="role-icon">👷</div>
<h4>تعمیرات</h4>
<ul>
<li>گزارش خرابی</li>
<li>اجرای دستور کار</li>
<li>ثبت تعویض قطعه</li>
</ul>
</div>
<div class="role-card" style="background:#ecfeff;">
<div class="role-icon">👔</div>
<h4>مدیریت</h4>
<ul>
<li>داشبورد CMMS</li>
<li>گزارش هزینه و توقف</li>
<li>تصمیم اورهال</li>
</ul>
</div>
</div>
<h3>مسیر منو در سیستم</h3>
<table>
<thead><tr><th>کار</th><th>مسیر منو</th></tr></thead>
<tbody>
<tr><td>مشتری</td><td>مخاطبین / CRM</td></tr>
<tr><td>پروژه</td><td>Project → پروژه‌ها</td></tr>
<tr><td>خط تولید</td><td>نگهداری → خطوط تولید</td></tr>
<tr><td>ماشین</td><td>نگهداری → تجهیزات</td></tr>
<tr><td>دسته نوع ماشین</td><td>نگهداری → دسته‌بندی تجهیزات</td></tr>
<tr><td>کاتالوگ قطعه</td><td>نگهداری → کاتالوگ قطعات</td></tr>
<tr><td>انبار قطعه</td><td>نگهداری → قطعات یدکی</td></tr>
<tr><td>دارایی ثابت</td><td>Asset Management</td></tr>
<tr><td>دستور کار / بازدید</td><td>نگهداری → دستور کار / بازدیدها</td></tr>
</tbody>
</table>
</div>
<!-- ========== SECTION 10 ========== -->
<div class="content page-break">
<h2>۱۰. اشتباهات رایج</h2>
<table>
<thead><tr><th>اشتباه ❌</th><th>درست ✅</th></tr></thead>
<tbody>
<tr class="mistake-row"><td>پمپ باد را زیر لاکسا گذاشتن</td><td>تجهیز جدا — دسته «تاسیسات»</td></tr>
<tr class="mistake-row"><td>آچار را مثل ماشین ثبت کردن</td><td>فقط در انبار قطعات یدکی</td></tr>
<tr class="mistake-row"><td>قطعه بدون کاتالوگ وارد کردن</td><td>اول کاتالوگ، بعد نصب روی ماشین</td></tr>
<tr class="mistake-row"><td>فقط CMMS بدون دارایی ثابت</td><td>ماشین گران = هر دو جا ثبت شود</td></tr>
<tr class="mistake-row"><td>یک دسته برای همه چیز</td><td>از جدول تصمیم (بخش ۶) استفاده کنید</td></tr>
<tr class="mistake-row"><td>فراموش کردن گارانتی قطعه</td><td>warranty_status روی هر قطعه نصب‌شده</td></tr>
</tbody>
</table>
<div class="summary-box">
<h3>خلاصهٔ یک‌صفحه‌ای</h3>
<p style="font-size:12pt;line-height:2;">
<strong>مشتری</strong><strong>پروژه</strong><strong>خط تولید</strong><strong>ماشین</strong><strong>قطعات (درختی)</strong>
<br>+ دسته نوع ماشین | کاتالوگ قطعه | انبار | دارایی ثابت
</p>
<div class="golden-rule">
<strong>قانون طلایی:</strong><br>
کجاست؟ → خط و ماشین &nbsp;|&nbsp;
چیست؟ → کاتالوگ &nbsp;|&nbsp;
چند تا؟ → انبار &nbsp;|&nbsp;
ارزش؟ → دارایی ثابت
</div>
</div>
<div class="page-footer">
<p>راهنمای دسته‌بندی قطعات و تجهیزات کارخانه — UltimatePOS CMMS v1.0</p>
<p>تولید شده توسط سیستم UltimatePOS — ماژول نگهداری و تعمیرات</p>
</div>
</div>
</div>
</body>
</html>