$dateFrom = strtotime(sprintf('%04d-%02d-01 00:00:00', $year, $month));
$dateTo = strtotime('+1 month -1 second', $dateFrom);
- //var_dump($monthYear); die();
+
$stores = $this->getVisibleStores();
$storeIds = array_map(fn($s)=>$s->id, $stores);
if (!empty($filters['store_id'])) {
}
$result = [];
- //var_dump($weekRanges, $dateFrom); die();
+
foreach ($weekRanges as $range) {
$exprWeek = new Expression((string)$range['index']);
$query = (new Query())->select([
'sum' => (float)$row['total_sum'],
];
}
- // var_dump($result, $range['start'], $range['end']); die();
}
return $result;
$weeklyData = $this->getWeeklySpeciesDataForMonth(
$mYear, $filters, $productFilter, $type
);
- // var_dump($weeklyData, $mYear); die();
+
foreach ($weeklyData as $row) {
$week = $row['week'];
$sid = $row['store_id'];
($historical[$week][$sid][$cat][$sub][$spec] ?? 0) + $sumWeek;
}
}
- //var_dump($historical); die();
+
$dateFrom = sprintf('%04d-%02d-01 00:00:00', $year, $month);
$dateTo = date('Y-m-d H:i:s', strtotime("$dateFrom +1 month -1 second"));
$monthWeighted = $this->getMonthSpeciesShareOrWriteOffWeighted(
->asArray()
->all();
- //var_dump($products); die();
foreach ($priceRecords as $id => $record) {
if ($goal == 0 || (int)$record['price'] == 0) {
$forecast = 0;
}
+ // альтернативные методы расчета списаний
+
public function calculateFullGoalChainWeighted(array $filters): array
{
$datePlan = $filters['plan_date'];
$monthSpeciesGoal = $this->getMonthSpeciesGoalDirty($monthSpeciesShare, $monthSubcategoryGoal);
}
- // var_dump($monthSpeciesGoal);
- // die();
+
$filtered = array_filter($monthSpeciesGoal, function ($row) use ($filters) {
foreach ($filters as $key => $value) {
if ($value === null || $value === '') {