*/
use yii\helpers\Json;
+use yii_app\records\Admin;
+use yii_app\records\AdminGroup;
use yii_app\records\ApiCronBuh;
use yii_app\records\Firms;
use yii_app\records\Motivation;
$weekRange = Motivation::getWeekRangeForDate();
- foreach (Firms::getInn() as $key => $firm ) {
- $model = new ApiCronBuh();
- $model->date = date('Y-m-d H:i:s');
- $model->request_id = strval(strtotime($model->date). '_' .$key);
- $model->json_post = Json::encode([
- 'request_id' => $model->request_id,
- 'cost_items' => [
- 'start_time' => date('Y-m-d 00:00:00', strtotime($weekRange['start_time'])),
- 'end_time' => date('Y-m-d 23:59:59', strtotime($weekRange['end_time'])),
- ]
- ]);
- $model->inn = $key;
-
- try {
- $model->save();
- } catch (Exception $e) {
- throw new Exception($e);
+
+ if ((date('d') % 7 == 0 || date('t') == date('d'))) {
+
+ foreach (Firms::getInn() as $key => $firm) {
+ for ($week = Motivation::getWeek(); $week >= 1; $week--) {
+ sleep(1);
+ $day = $week * 7;
+ $month = date('m');
+ $year = date('Y');
+
+ if ($week == 5) {
+ $day = ($week - 1) * 7 + 1;
+ }
+
+ $date = strtotime("{$day}-{$month}-{$year}");
+
+ $weekRange = Motivation::getWeekRangeForDate($date);
+ $model = new ApiCronBuh();
+ $model->date = date('Y-m-d H:i:s');
+ $model->request_id = strval(strtotime($model->date) . '_' . $key);
+
+ $model->json_post = Json::encode([
+ 'request_id' => $model->request_id,
+ 'cost_items' => [
+ 'start_time' => date('Y-m-d 00:00:00', strtotime($weekRange['start_time'])),
+ 'end_time' => date('Y-m-d 23:59:59', strtotime($weekRange['end_time'])),
+ ]
+ ]);
+ $model->inn = $key;
+ try {
+ $model->save();
+ } catch (Exception $e) {
+ throw new Exception($e);
+ }
+ }
+ }
+ } else {
+ foreach (Firms::getInn() as $key => $firm) {
+ $model = new ApiCronBuh();
+ $model->date = date('Y-m-d H:i:s');
+ $model->request_id = strval(strtotime($model->date) . '_' . $key);
+ $model->json_post = Json::encode([
+ 'request_id' => $model->request_id,
+ 'cost_items' => [
+ 'start_time' => date('Y-m-d 00:00:00', strtotime($weekRange['start_time'])),
+ 'end_time' => date('Y-m-d 23:59:59', strtotime($weekRange['end_time'])),
+ ]
+ ]);
+ $model->inn = $key;
+ try {
+ $model->save();
+ } catch (Exception $e) {
+ throw new Exception($e);
+ }
+
}
- }
+ }
+ if (!in_array(Admin::findOne([Yii::$app->user->id])->group_id, [AdminGroup::GROUP_IT])) {
+ return $this->render('/site/index');
+ }
$info = ' ================ test Task ' . $taskNum . ' stop ================';
->andWhere(['store_guid' => $storeData['store_guid']])
->one();
- if (isset($storeBuh)) {
- $store = CityStore::getCityStoreById($storeBuh->store_id, true);
+ if (!$storeBuh) {
+ LogService::apiErrorLog(json_encode(["error_id" => 45, "error" => 'Несуществующий магазин! Название: ' . $storeData['store_name'] . ' , guid: ' . $storeData['store_guid']], JSON_UNESCAPED_UNICODE));
+ return;
+ }
+ $store = CityStore::getCityStoreById($storeBuh->store_id, true);
foreach ($storeData['items'] as $items) {
foreach ($items as $item) {
$value = MotivationCostsItem::findOne(['name' => $item['name']]);
}
}
}
- }
+
}
}