Auto-Planning & Auto-Assignment
Business perspective: Auto-Planning & Auto-Assignment
1. Business Summary
Auto-generates phases, tasks, and resource assignments from a job using the account's RS plan, strategies, and risk factor.
2. Business Value
Reduces PM workload and accelerates job intake; standardizes scheduling.
3. Users / Stakeholders
PMs, ops managers, vendor managers.
4. Workflows
A. Auto-plan trigger
- AutomationController::autoplanning(jobId, options) → component autoPlaning().
B. Steps
1. Read Job + phase types + task types.
2. Compute available minutes (with risk factor).
3. Choose per-phase or per-file mode.
4. Create tasks sequentially (per phase: time-share %).
5. Optionally trigger auto-assign (auto_assign=1) — set plan_id from Account.rs_plan_id.
6. Link files via linkFileToTask().
7. Cron-driven RS scheduling via AutoplanRsCron / AutoplanRsTaskCron.
5. Sub-Features
- Per-phase / per-file modes.
- AutoplanCron, AutoplanShift, AutoplanShiftLog.
- AutoplanStrategy and AutoplanCriteria.
- AutoplanDetail (request payload), AutoplanLog (history).
- Account-level RS plan (
Account.rs_plan_id).
6. Business Rules
- Risk factor reduces minutes.
- DTP types (17, 18, 10) use task
productivityrate; others usedefault_rate. - Time-share % from phase_types_details.
- Auto-assign plan inherits from account's RS plan.
7. Data Entities
AutoplanCron, AutoplanShift, AutoplanShiftLog, AutoplanStrategy, AutoplanCriteria, AutoplanDetail, AutoplanLog, AutoplanRsCron, AutoplanRsTaskCron.
8. Entry Points
automation/autoplanning.- Cron-driven via AutoplanRsCron tables.
9. Inputs & Outputs
- Inputs: job ID, options, account RS plan.
- Outputs: tasks, file links, auto-assign markers, logs.
10. Integrations
- Resource selection engine.
- TMS file flow.
11. Calculations / Logic
minutes = (end - start) hours × 60.available_minutes = minutes - minutes × risk%.- Per-task duration =
available_minutes × time_share%.
12. Status Lifecycle
- AutoplanLog has run statuses (pending / running / done / failed).
13. Permissions
- PMs, ops, brand-scoped.
14. Reports & KPIs
- Auto-plan success rate, average plan time, fallback rate.
15. Risks & Observations
- Risk factor / productivity hard-coded for some task types.
phase_types_detailsconfig impacts every job.- No transaction-bounded creation.
16. Source Code Evidence
app/Controller/AutomationController.php::autoplanning(),setAccountRSPlan(),estimateTasksByPercentAndShift().app/Controller/Component/AutomationComponent.php::autoPlaning(),linkFileToTask(),getRiskFactor().app/Model/AutoplanCron.php,AutoplanShift.php,AutoplanStrategy.php,AutoplanCriteria.php,AutoplanDetail.php,AutoplanLog.php,AutoplanRsCron.php,AutoplanRsTaskCron.php.