*/
public function actionIndex()
{
+ // Создание поисковой модели
$searchModel = new ClusterSearch();
$dataProvider = $searchModel->search($this->request->queryParams);
+ // Получение всех кустовых директоров
$clusterManagers = Admin::find()
->select(['name', 'id', 'store_arr'])
->where(['group_id' => 7, 'group_name' => 'Кустовой директор'])
->indexBy('id')
->all();
- // Получение параметра 'date' из GET-запроса, если он передан
+ // Получение параметра 'date' из GET-запроса или текущей даты
$currentDate = Yii::$app->request->get('ClusterSearch')['date'] ?? date('Y-m-d');
+
+ // Минимально допустимая дата
$minDate = '2024-09-12';
+ // Проверка: если текущая дата меньше минимальной, устанавливаем минимальную дату
+ if (strtotime($currentDate) < strtotime($minDate)) {
+ $currentDate = $minDate;
+ }
+
$storeData = ClusterCalendar::find()
->select([
'cluster_id',
$clusterId = $cluster['cluster_id'];
$stores = explode(',', $cluster['stores']);
$lastUpdate = $cluster['last_update'];
- // var_dump($stores);
+
foreach ($stores as $storeId) {
$newCalendar = new ClusterCalendar();
$newCalendar->cluster_id = $clusterId;
'lastUpdates' => $lastUpdates,
'storeLists' => $storeLists,
'clusterToManager' => $clusterToManager,
- 'currentDate' => $currentDate,
+ 'currentDate' => Yii::$app->request->get('ClusterSearch')['date'] ?? $currentDate,
]);
}
// Получаем модель кластера по ID
$model = $this->findModel($id);
- // Если $currentDate не передан в запросе, используем текущую дату
+ // Если $date не передан в запросе, используем текущую дату
$currentDate = $date ?? date('Y-m-d');
// Ограничение на минимальную дату для выборки
- $dateFrom = '2024-09-12';
- $year = date('Y');
+ $minDate = '2024-09-12';
+
+ // Проверка, если выбранная дата меньше 12 сентября 2024 года
+ if (strtotime($currentDate) < strtotime($minDate)) {
+ $currentDate = $minDate; // Присваиваем минимально допустимую дату
+ }
// Поиск записей в ClusterCalendar для указанного кластера
$stores = ClusterCalendar::find()
->where(['cluster_id' => $id])
- ->andWhere(['<=', 'date_from', $currentDate]) // Записи, начиная с указанной или более ранней даты
- ->andWhere(['>', 'date_to', $currentDate]) // Записи, где дата окончания больше текущей
- ->andWhere(['>=', 'date_from', $dateFrom]) // Дата начала должна быть не раньше 2024-09-12
+ ->andWhere(['<=', 'date_from', $currentDate])
+ ->andWhere(['>', 'date_to', $currentDate])
+ ->andWhere(['>=', 'date_from', $minDate])
->all();
// Получаем список всех кустов для перевода
// Получение всех магазинов из таблицы CityStore
$storesData = CityStore::find()
- ->select(['id', 'name']) // Выбираем только id и name
- ->indexBy('id') // Индексируем результат по id
+ ->select(['id', 'name'])
+ ->indexBy('id')
->asArray()
->all();
'model' => $model,
'dataProvider' => $dataProvider,
'clustersList' => $clustersList,
- 'currentDate' => $currentDate, // Передаем текущую или выбранную дату
- 'clusterManager' => $manager, // Передаем кустового директора
- 'storeNames' => $storeNames, // Передаем справочник с именами магазинов
+ 'currentDate' => $currentDate,
+ 'clusterManager' => $manager,
+ 'storeNames' => $storeNames,
]);
}
-
public function actionMoveStore()
{
$storeId = Yii::$app->request->post('store_id');