<?php

namespace console\commands;

use common\logic\Distribution\Distribution\Module\DistributionModule;
use common\logic\Producer\Producer\Module\ProducerModule;
use yii\console\Controller;

class ActiveDistributionsInAdvanceController extends Controller
{
    public function actionIndex()
    {
        $producerModule = ProducerModule::getInstance();
        $distributionModule = DistributionModule::getInstance();

        $producersArray = $producerModule->findProducersActive();
        foreach($producersArray as $producer) {
            \Yii::$app->logic->setProducerContext($producer);
            $weeksDistributionsActivatedInAdvance = $producerModule->getSolver()->getConfig('option_weeks_distributions_activated_in_advance');
            if($weeksDistributionsActivatedInAdvance) {
                $date = new \DateTime('+'.$weeksDistributionsActivatedInAdvance.' weeks');
                $distributionModule->getBuilder()->activeDistributionByDateIfDelivery($date);

                $distribution = $distributionModule->getRepository()
                    ->findOneDistribution($date->format('Y-m-d'), true);
                if($distribution) {
                    echo $producer->name. ' : distribution du ' . $date->format('d/m/Y') .' activée' ."\n";
                }
            }
        }
    }
}

?>