foreach ($motivations as $motivation) {
/** @var $motivation Motivation */
- // Рассчитываем сумму себестоимости за эту неделю
+ $correction = self::getMotivationValue($motivation->id, 8, self::CODE_COSTS_OF_GOODS);
$costSum = self::getSelfCostSumByStore($monthStart, $monthEnd, $motivation->store_id);
self::saveOrUpdateMotivationValue($motivation->id,
- "fact", self::CODE_COSTS_OF_GOODS, "float", $costSum);
+ "fact", self::CODE_COSTS_OF_GOODS, "float", $costSum + $correction);
}
}
$exportImportTable = ExportImportTable::find()->select(['export_val'])->where(['entity' => 'city_store', 'entity_id' => $storeId, 'export_id' => 1])->one();
if ($exportImportTable) {
- $writeOffs = WriteOffs::find()->alias('wo')->select(['wo.type', 'wo.date', 'wop.product_id', 'wop.quantity'])
+ $writeOffs = WriteOffs::find()->alias('wo')->select(['wo.type', 'wo.date', 'wop.product_id', 'wop.quantity', 'wop.summ'])
->rightJoin('write_offs_products wop', 'wop.write_offs_id = wo.id')
->where(['between', 'wo.date', $startDate, $endDate])
->andWhere(['wo.store_id' => $exportImportTable->export_val])
$sum = 0;
foreach($writeOffs as $data) {
- $sum += ($selfCostProductMap[date("Y-m-d", strtotime($data['date']))][$data['product_id']] ?? 0)
+ $value = ($selfCostProductMap[date("Y-m-d", strtotime($data['date']))][$data['product_id']] ?? 0)
* ($data['quantity'] ?? 0);
+ $sum = $value > 0 ? $value : $data['summ'];
}
return $sum;