يحدد هذا الجزء من المواصفة كيف يتصل تطبيق التصنيع بالوحدات القائمة في النظام (المبيعات، المشتريات، المخزون، دفتر الأستاذ العام، الموارد البشرية) دون إعادة بنائها، ويجمع كل كيانات الوحدة في نموذج علائقي واحد، ويفرض ترتيب بناء مُلزماً تعتمد كل خطوة فيه على ما قبلها. القاعدة الحاكمة من الملف 00: «العمومية» — كل سلوك خاص بمصنع معين يُعبَّر عنه كحقل/قائمة قيم (enum) مع تفريع منطقي، لا كمسار شيفرة منفصل.
تنص المواصفة صراحةً على أن وحدة التصنيع تتكامل مع وحدات موجودة بالفعل في النظام المضيف ويجب عدم إعادة بنائها. الوحدات الخارجة عن النطاق (تُدمج ولا تُبنى): دفتر الأستاذ العام، نواة المخزون/المستودعات، نواة المشتريات، طلبات المبيعات، الموارد البشرية/الرواتب.
| الوحدة الخارجية | الاتجاه | ما الذي ينتقل |
|---|---|---|
المبيعات Sales | ← إلى التصنيع | طلبات العملاء تُطلق إنتاجاً حسب الطلب (MTO) أو تصنيعاً لدى الغير (Toll)؛ تُعاد تواريخ الوعد للمبيعات |
المشتريات Procurement | → من التصنيع | تخطيط الاحتياجات (MRP) يُصدر أوامر شراء مخططة؛ الاستلامات تُحدّث التوفر |
المخزون Inventory | ↔ ثنائي الاتجاه | حجوزات المواد، حركات المادة الخام ← تحت التشغيل ← المنتج التام، التتبع بالدفعة/اللوط، مخزون الأمانة (مملوك للعميل) |
دفتر الأستاذ العام General Ledger | → من التصنيع | كل صرف/تأكيد/استلام يُرحّل قيوداً محاسبية (تحت التشغيل، العمالة/الآلة/الأعباء المحمّلة، الانحرافات) |
الموارد البشرية HR | → إلى التصنيع | معدلات أجور العمالة؛ كميات العمل بالقطعة تغذّي الرواتب عكسياً |
ownership = Customer، ولا تُقيَّم أبداً كأصل خاص بالمصنع، ولا تُطلق أبداً عملية شراء.| الكيان | المفتاح / العلاقات | أهم الحقول والقواعد |
|---|---|---|
Item مرجعي من النظام المضيف | item_id PK | name, uom, procurement_type, material_ownership, costing_method, lead_time_days, safety_stock — يُشار إليه ولا يُملك داخل التصنيع |
BOM_Header | bom_id PK، parent_item_id FK→Item | bom_type, version, base_quantity, uom, status, effective_from, effective_to, created_by, approved_by |
BOM_Line | FK→BOM_Header (1—*)، component_id FK→Item | line_no, quantity, uom, scrap_percentage, issue_type, issue_level, operation_seq, substitute_items |
Routing_Header | routing_id PK، item_id FK→Item | routing_type, version, lot_size_from, lot_size_to, status, effective_from, effective_to, total_lead_time |
Routing_Operation | FK→Routing_Header (1—*)، FK→Work_Center، FK→Tool | operation_no, description, setup_time, run_time_per_unit, cavity_count, cycle_time, queue_time, move_time, inspection_required, critical_operation, required_skill_code |
Work_Center | wc_id PK، cost_center_id FK→Cost_Center | category, plant_location, capacity_unit, daily_capacity, capacity_multiplier, efficiency_percent, utilization_percent, calendar_id, setup_cost_rate, labor_cost_rate, machine_cost_rate, overhead_rate, labor_calc, bottleneck_flag |
Tool مورد resource_type=Tool | tool_id PK، product_id FK→Item | description, cavity_count, setup_time, status, life_cycles, cycles_used, purchase_cost — الإهلاك بالاستخدام (الدورات) لا بالزمن |
| الكيان | المفتاح / العلاقات | أهم الحقول |
|---|---|---|
MPS_Header | id PK | plan_name, plant_id, time_bucket, start_date, end_date, frozen_fence, slushy_fence, status |
MPS_Line | FK→MPS_Header، product_id FK→Item | period_date, forecast_qty, confirmed_orders_qty, planned_production, projected_balance, safety_stock_target, available_to_promise |
Item_MRP_Settings | item_id FK→Item | mrp_type, procurement_type, material_ownership, lot_sizing_rule, lot_size, min_lot, max_lot, safety_stock, lead_time_days, reorder_point |
MRP_Planned_Order عابر — يُعاد توليده كل تشغيلة | item_id FK→Item | order_type, quantity, required_date, release_date, source_demand_id, mrp_run_id |
CRP_Load مُخرَج | resource_id | resource_type, period, required_load, available_capacity, utilization_pct, status |
| الكيان | المفتاح / العلاقات | أهم الحقول والقواعد |
|---|---|---|
Production_Order_Header | order_no PK، FK→Item، FK→Tool | order_type, quantity, production_type, material_ownership, start_date, finish_date, status, bom_snapshot_id, routing_snapshot_id, wip_account — لقطة مجمّدة للـBOM والمسار عند الإطلاق |
Order_Component | FK→PO_Header، FK→Item | required_quantity, issued_quantity, reserved_quantity, operation_seq |
Order_Operation | FK→PO_Header، FK→Work_Center، FK→Tool | operation_no, planned_setup_time, planned_run_time, actual_setup_time, actual_run_time, status, actual_start_time, actual_end_time, confirmed_by, confirmed_quantity, scrap_quantity — الحالة تُدار من طبقة SFC |
Material_Issue_Header | issue_no PK، FK→PO_Header | issue_date, issue_type, issue_level, operation_no, issuer_id, warehouse_from, status |
Material_Issue_Line | FK→MI_Header، material_code FK→Item | quantity, batch_no, cost_price, total_cost, bin_location, ownership |
Confirmation_Header | confirmation_no PK، FK→PO_Header | operation_no, confirmation_type, operator_id, work_center_id, shift, timestamp |
Confirmation_Yield العائد توزيع لا قيمة مفردة | FK→Conf_Header | grade_code, quantity, unit_sale_price — منتجات مشتركة بدرجات A/B/C بأسعار مختلفة |
Confirmation_Detail | FK→Conf_Header | scrap_quantity, rework_quantity, setup_time_actual, run_time_actual, labor_hours, machine_hours, reason_code |
Goods_Receipt_Header | gr_no PK، FK→PO_Header | gr_date, receipt_type, warehouse_to, receiver_id, status |
Goods_Receipt_Line سطر لكل درجة | FK→GR_Header، FK→Item | received_quantity, grade_code, batch_no, bin_location, cost_per_unit, quality_status |
| الكيان | المفتاح / العلاقات | أهم الحقول |
|---|---|---|
Standard_Cost | item_id FK→Item | std_material_cost, std_labor_cost, std_overhead_cost, std_total_cost, last_updated, update_frequency |
Cost_Center | cc_id PK، parent_cc FK→Cost_Center (هرمي) | type, manager_id, budget_amount, actual_amount, status |
Variance_Record | FK→PO_Header | variance_type, amount, percentage, classification, owner, investigation_flag |
Pegging طلب↔توريد متعدد لمتعدد | FK→PO_Header، FK→SalesOrder | allocated_quantity — يربط طلب مبيعات بعدة أوامر إنتاج والعكس |
Delivery_Schedule تجزئة الطلب | schedule_id PK، FK→SalesOrder، FK→PO_Header | quantity, scheduled_date, status, linked_production_order |
Item 1—* BOM_Header 1—* BOM_Line *—1 Item (مكوّن) — متعدد المستويات تكراريItem 1—* Routing_Header 1—* Routing_Operation *—1 Work_Center، و Routing_Operation *—1 ToolWork_Center *—1 Cost_CenterSales_Order *—* Production_Order (عبر Pegging)، و Sales_Order 1—* Delivery_ScheduleProduction_Order 1—* من: Order_Component / Order_Operation، Material_Issue، Confirmation (← Yield بالدرجات)، Goods_Receipt (سطر لكل درجة)، Variance_Record| القائمة | القيم |
|---|---|
production_type | MakeToStock, MakeToOrder, AssembleToOrder, TollManufacturing |
material_ownership | Own, Customer |
procurement_type | Buy, Make |
costing_method | Standard, Actual, Average, FIFO |
labor_calc | Hourly, PieceRate |
issue_type | Manual, Backflush, AutoIssue |
issue_level | PerOrder, PerShift, PerOperation |
resource_type | Machine, Tool, Labor |
lot_sizing_rule | Exact, Fixed, MinMax, EOQ, PeriodOrder |
order_status | Planned, Released, InProcess, Completed, Closed |
operation_status | Waiting, Ready, InProgress, Completed |
Item_MRP_Settings + التكلفة المعيارية Standard_Cost| المكوّن | واجهة الاتصال بالبناء الحالي |
|---|---|
الجدولة التفصيلية APS | يستهلك الأوامر المخططة + تقاويم الموارد ← جدول زمني مرحلي لـ SFC |
إدارة الجودة QMS | يربط درجات/أسباب التأكيد؛ بوابات فحص على العمليات |
| إدارة العدد/القوالب | يوسّع كيان Tool: دورة الحياة، الصيانة، تتبع الدورات، تنبيهات الاستبدال |
الصيانة الوقائية PM | يخفّض طاقة Work_Center أثناء نوافذ التوقف |
الكفاءة الكلية OEE | يستهلك أزمنة Order_Operation الفعلية والهالك |
إدارة دورة حياة المنتج PLM / ECO | يحكم أوامر تغيير BOM/Routing (يُضفي رسمية على مفهوم اللقطة) |
Production لكنها رفيعة جداً (3 ترحيلات / 7 نماذج: BillOfMaterials, BomComponent/Operation, ProductionOrder, ProductionCenter) ولا تغطي MPS/MRP/CRP ولا التكلفة ولا التأكيد متعدد الدرجات ولا SFC — هذه المواصفة تتطلب توسعتها جذرياً وفق «وصفة الوحدات» (جداول مُسبَّقة، enums لكل آلة حالة، أحداث + مستمعون، Actions للنداءات عبر الوحدات).Modules\Accounting\Actions\CreateJournalEntry فقط (نمط النداء المتزامن المُعتمَد كما في PostLabInvoice)، ويجب أن يكون فورياً عند كل صرف/تأكيد/استلام كما تفرض المواصفة.Pegging و Delivery_Schedule يربط مباشرةً بكيان SalesOrder في وحدة Sales القائمة؛ والأوامر المخططة من MRP تُغذّي وحدة Purchases (PurchaseRequest/PurchaseOrder).Inventory القائمة (InventoryMovement, StockBalance, InventoryCostLayer) مع الحاجة لدلو ملكية منفصل لمخزون الأمانة ownership=Customer.Core PermissionDependencyRegistry بادئة mfg، ويُطبَّق نطاق الفرع عبر Core DataScope، وترقيم المستندات عبر SequenceService، والكيانات ترث BaseModel/TenantAware (company_id).labor_calc) تتبادل مع وحدة HRM (الرواتب/بنود الراتب)؛ ومراكز التكلفة Cost_Center تتقاطع مع مراكز التكلفة في وحدة Accounting.QMS للجودة، CMMS للصيانة الوقائية وإدارة العدد/القوالب — ما يقلّل البناء الجديد لو رُبطت الواجهات منذ الآن.