"COUNT(*) as cnt",
"SUM(CASE WHEN operation='Продажа' THEN s.summ ELSE (CASE WHEN operation='Возврат' THEN -s.summ ELSE 0 END) END) as total",
"s.store_id",
- //"p1c.type as type",
- "p1cn.category as type",
+ "(CASE WHEN p1c.type = 'Матрица' THEN 'Матрица' ELSE p1cn.category END) as type",
"TO_CHAR(s.date, 'YYYY-MM') as month"
])
->leftJoin('sales_products sp', 's.id = sp.check_id')
->andWhere(['order_id' => ['', '0']])
->andWhere(['not in', 'p1cn.category', ['', 'букет', 'сборка', 'сервис']])
->andWhere(['s.store_id' => $model->store_id])
- ->groupBy(['s.store_id', "TO_CHAR(s.date, 'YYYY-MM')", "p1cn.category"])
- ->orderBy(['month' => SORT_ASC, 'p1cn.category' => SORT_ASC])
+ ->groupBy([
+ 's.store_id',
+ "TO_CHAR(s.date, 'YYYY-MM')",
+ new \yii\db\Expression("
+ CASE
+ WHEN p1c.type = 'Матрица' THEN 'Матрица'
+ ELSE p1cn.category
+ END
+ ")
+ ])
+ ->orderBy(['month' => SORT_ASC, 'type' => SORT_ASC])
->asArray()
->all();
"COUNT(*) as cnt",
"SUM(CASE WHEN operation='Продажа' THEN s.summ ELSE (CASE WHEN operation='Возврат' THEN -s.summ ELSE 0 END) END) as total",
"s.store_id",
- //"p1c.type as type",
- "p1cn.category as type",
+ "(CASE WHEN p1c.type = 'Матрица' THEN 'Матрица' ELSE p1cn.category END) as type",
"TO_CHAR(s.date, 'YYYY-MM') as month"
])
->leftJoin('sales_products sp', 's.id = sp.check_id')
->andWhere(['not in', 'order_id', ['', '0']])
->andWhere(['s.store_id' => $model->store_id])
->andWhere(['not in', 'p1cn.category', ['', 'букет', 'сборка', 'сервис']])
- ->groupBy(['s.store_id', "TO_CHAR(s.date, 'YYYY-MM')", "p1cn.category"])
- ->orderBy(['month' => SORT_ASC, 'p1cn.category' => SORT_ASC])
+ ->groupBy([
+ 's.store_id',
+ "TO_CHAR(s.date, 'YYYY-MM')",
+ new \yii\db\Expression("
+ CASE
+ WHEN p1c.type = 'Матрица' THEN 'Матрица'
+ ELSE p1cn.category
+ END
+ ")
+ ])
+ ->orderBy(['month' => SORT_ASC, 'type' => SORT_ASC])
->asArray()
->all();
$store_id = $eit->export_val ?? '';
$writeOffs = WriteOffs::find()->alias('wo')->select([
'sum(wo.summ) as total',
- //"p1c.type as p1ctype",
- "p1cn.category as p1ctype",
+ "(CASE WHEN p1c.type = 'Матрица' THEN 'Матрица' ELSE p1cn.category END) as p1ctype",
"TO_CHAR(wo.date, 'YYYY-MM') as month"
])
->leftJoin('write_offs_products wop', 'wop.write_offs_id = wo.id')
->andWhere(['wo.type' => WriteOffsErp::WRITE_OFFS_TYPE_BRAK])
->andWhere(['not in', 'p1cn.category', ['', 'букет', 'сборка', 'сервис']])
->andWhere(['wo.store_id' => $store_id])
- ->groupBy(["month", 'p1cn.category'])
+ ->groupBy([
+ "month",
+ new \yii\db\Expression("
+ CASE
+ WHEN p1c.type = 'Матрица' THEN 'Матрица'
+ ELSE p1cn.category
+ END
+ ")
+ ])
->asArray()->all();
$tableWriteOffs = [];