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 productivity rate; others use default_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_details config 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.

← Deep dives index