From: vladfo Date: Wed, 2 Oct 2024 06:54:58 +0000 (+0300) Subject: Изменния в файлах задач X-Git-Tag: 1.6~42^2~9 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=93df823304e4b46e9e1fef7ab15a2ee7e7042794;p=erp24_rep%2Fyii-erp24%2F.git Изменния в файлах задач --- diff --git a/erp24/scripts/tasks/task_32_create_request_for_1c_buh.php b/erp24/scripts/tasks/task_32_create_request_for_1c_buh.php deleted file mode 100644 index f9254fd8..00000000 --- a/erp24/scripts/tasks/task_32_create_request_for_1c_buh.php +++ /dev/null @@ -1,153 +0,0 @@ -setTaskNum($taskNum) - ->setName('Task ' . $taskNum) - ->setDate($dateTask) - ->setDateStart($dateTaskStart) - ; - $validate = $schedulerTaskLog->validate(); - if ($validate) { - $schedulerTaskLog->save(); - } - - $weekRange = Motivation::getWeekRangeForDate(); - - 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); - createApiCron($key, $weekRange); - } - } - } else { - foreach (Firms::getInn() as $key => $firm) { - createApiCron($key, $weekRange); - } - - } - - - $info = ' ================ test Task ' . $taskNum . ' stop ================'; - echo $info; - $log .= $info; - $log .= ' date >= ' . strtotime("-1 week", time()); - $dateTaskStop = date('Y-m-d H:i:s'); - } else { - $info = ' Task ' . $taskNum . ' skip '; - echo $info; - $log .= $info; - } -} catch (Exception $e) { - $error = 'Exception: ' . $e->getMessage() . ' ' . $e->getFile() . ' >>> ' . $e->getLine(); -} - -if (empty($schedulerTaskLog)) { - $schedulerTaskLog = new SchedulerTaskLog(); - $schedulerTaskLog->setTaskNum($taskNum) - ->setName('Task ' . $taskNum) - ->setDate($dateTask) - ->setDateStart($dateTaskStart) - ->setDateStop($dateTaskStop) - ->setDescription($description) - ->setError($error) - ->setInfo($infoText) - ->setLog($log) - ; -} else { - $schedulerTaskLog->setDateStop($dateTaskStop) - ->setDescription($description) - ->setError($error) - ->setInfo($infoText) - ->setLog($log) - ; -} -$validate = $schedulerTaskLog->validate(); -if ($validate) { - $schedulerTaskLog->save(); -} - -function createApiCron($key, $weekRange) { - $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); - } -} \ No newline at end of file diff --git a/erp24/scripts/tasks/task_33_insert_data_to_monitvation_from_motivation_buh.php b/erp24/scripts/tasks/task_33_insert_data_to_monitvation_from_motivation_buh.php index 464d9c56..4378cf5c 100644 --- a/erp24/scripts/tasks/task_33_insert_data_to_monitvation_from_motivation_buh.php +++ b/erp24/scripts/tasks/task_33_insert_data_to_monitvation_from_motivation_buh.php @@ -67,10 +67,29 @@ try { $schedulerTaskLog->save(); } + + + + $currentDay = date('d', $time); + + + if ($currentDay == '01') { + + $monthValue = intval(date('m', strtotime('-1 month', $time))); + $yearValue = intval(date('Y', strtotime('-1 month', $time))); + } else { + + $monthValue = intval(date('m', $time)); + $yearValue = intval(date('Y', $time)); + } + + + + $month = MotivationBuh::find() ->select('id') - ->andWhere(['month' => intval(date('m'))]) - ->andWhere(['year' => intval(date('Y'))]) + ->andWhere(['month' => $monthValue]) + ->andWhere(['year' => $yearValue]) ->asArray() ->column(); diff --git a/erp24/scripts/tasks/task_34_create_request_for_1c_buh.php b/erp24/scripts/tasks/task_34_create_request_for_1c_buh.php new file mode 100644 index 00000000..53d51ab8 --- /dev/null +++ b/erp24/scripts/tasks/task_34_create_request_for_1c_buh.php @@ -0,0 +1,175 @@ +setTaskNum($taskNum) + ->setName('Task ' . $taskNum) + ->setDate($dateTask) + ->setDateStart($dateTaskStart); + + $validate = $schedulerTaskLog->validate(); + if ($validate) { + $schedulerTaskLog->save(); + } + + $currentDay = date('d'); + $currentMonth = date('m'); + $currentYear = date('Y'); + + + if ($currentDay == 8) { + // 1-я неделя + $weekRange = Motivation::getWeekRangeForDate(1); + processFirms($weekRange); + } elseif ($currentDay == 15) { + // 1-я и 2-я недели + for ($week = 1; $week <= 2; $week++) { + $weekRange = Motivation::getWeekRangeForDate($week); + processFirms($weekRange); + } + } elseif ($currentDay == 22) { + // 1-я, 2-я и 3-я недели + for ($week = 1; $week <= 3; $week++) { + $weekRange = Motivation::getWeekRangeForDate($week); + processFirms($weekRange); + } + } elseif ($currentDay == 29) { + // 1-я, 2-я, 3-я и 4-я недели + for ($week = 1; $week <= 4; $week++) { + $weekRange = Motivation::getWeekRangeForDate($week); + processFirms($weekRange); + } + } elseif (date('t') == $currentDay) { + // Последний день месяца — все 5 недель + for ($week = 1; $week <= 5; $week++) { + $weekRange = Motivation::getWeekRangeForDate($week); + processFirms($weekRange); + } + } + + + if ($currentDay == 1) { + $previousMonth = date('m', strtotime('first day of last month')); + for ($week = 1; $week <= 5; $week++) { + $weekRange = Motivation::getWeekRangeForDate($week, $previousMonth); + processFirms($weekRange); + } + } + + $info = ' ================ test Task ' . $taskNum . ' stop ================'; + echo $info; + $log .= $info; + $log .= ' date >= ' . strtotime("-1 week", time()); + $dateTaskStop = date('Y-m-d H:i:s'); + } else { + $info = ' Task ' . $taskNum . ' skip '; + echo $info; + $log .= $info; + } +} catch (Exception $e) { + $error = 'Exception: ' . $e->getMessage() . ' ' . $e->getFile() . ' >>> ' . $e->getLine(); +} + +if (empty($schedulerTaskLog)) { + $schedulerTaskLog = new SchedulerTaskLog(); + $schedulerTaskLog->setTaskNum($taskNum) + ->setName('Task ' . $taskNum) + ->setDate($dateTask) + ->setDateStart($dateTaskStart) + ->setDateStop($dateTaskStop) + ->setDescription($description) + ->setError($error) + ->setInfo($infoText) + ->setLog($log); +} else { + $schedulerTaskLog->setDateStop($dateTaskStop) + ->setDescription($description) + ->setError($error) + ->setInfo($infoText) + ->setLog($log); +} + +$validate = $schedulerTaskLog->validate(); +if ($validate) { + $schedulerTaskLog->save(); +} + + +function processFirms($weekRange) { + foreach (Firms::getInn() as $key => $firm) { + createApiCron($key, $weekRange); + } +} + +function createApiCron($key, $weekRange) { + $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); + } +} \ No newline at end of file