Cześć, mam pewien problem z obliczaniem marż, pokazuje mi jakieś dziwne zawyżone wartości. Możecie rzucić okiem na kod?
$qty = 0;
$query = $this->db->query("SELECT SUM(OO.sumaNetto_buy) AS sumaNetto_buy, SUM(OO.sumaNetto_sell) AS sumaNetto_sell, FROM_UNIXTIME(OO.`time`, '%Y-%m') AS `date`, COUNT(OO.`orders_id`) AS `qty` FROM `orders` OO
WHERE OO.status=1 AND deleted=0 AND OO.`time` >= ".$from." AND OO.`time` <= ".$to." GROUP BY FROM_UNIXTIME(OO.`time`, '%Y-%m')");
foreach ($query->result_array() as $key) {
$array['general_qty'][] = $key['qty'];
$qty = $key['qty'];
$month = $key['date'];
$date = explode("-", $key['date']); $year = $date[0];
$timestamp = date("U", mktime(0
, 0
, 0
, $date[1
], 1
, $date[0
])) * 1000;
$array['orders_days'][] = $timestamp;
$array['orders_values2'][] = "[$timestamp, $qty]";
$array['orders_netto_buy_table2'][$year] += $key['sumaNetto_buy'];
$array['orders_netto_sell_table2'][$year] += $key['sumaNetto_sell'];
$array['orders_netto_buy_table2'][$month] += $key['sumaNetto_buy'];
$array['orders_netto_sell_table2'][$month] += $key['sumaNetto_sell'];
$array['orders_values_table2'][$month] = $qty;
}
$query = $this->db->query("SELECT SUM(OO.sumaNetto_buy) AS sumaNetto_buy, SUM(OO.sumaNetto_sell) AS sumaNetto_sell, OO.delivery_id, OO.pharmacy_id, FROM_UNIXTIME(OO.`time`, '%Y-%m') AS `date`, COUNT(OO.`orders_id`) AS `qty` FROM `orders` OO
WHERE OO.status=1 AND deleted=0 AND OO.`time` >= ".$from." AND OO.`time` <= ".$to." GROUP BY FROM_UNIXTIME(OO.`time`, '%Y-%m'), OO.delivery_id, OO.pharmacy_id");
if($query->num_rows() > 0){
foreach ($query->result_array() as $key) {
$qty = $key['qty'];
$month = $key['date'];
$date = explode("-", $key['date']); $year = $date[0];
$timestamp = date("U", mktime(0
, 0
, 0
, $date[1
], 1
, $date[0
])) * 1000;
$array['days_values_group_table2'][$key['delivery_id']][] = $timestamp;
$array['orders_values_group2'][$key['delivery_id']][] = "[$timestamp, $qty]";
$array['orders_netto_buy_group_table2'][$year][$key['delivery_id']] += $key['sumaNetto_buy'];
$array['orders_netto_sell_group_table2'][$year][$key['delivery_id']] += $key['sumaNetto_sell'];
$array['orders_netto_buy_group_table2'][$month][$key['delivery_id']] += $key['sumaNetto_buy'];
$array['orders_netto_sell_group_table2'][$month][$key['delivery_id']] += $key['sumaNetto_sell'];
$array['orders_values_group_table2'][$month][$key['delivery_id']] += $qty;
if ($key['delivery_id'] == 9)
{
$array['orders_values_group_table_pharmacies2'][$month][$key['pharmacy_id']] = $qty;
}
}
}
W widoku:
<table class="table table-condensed table-hover">
<?php foreach ($summaryGeneral['days_values_group_table2'] as $station => $value) { ?>
<th><?php echo $summaryGeneral['delivery'][$station] ?></th> <?php } ?>
<?php $this->load->helper('number_helper'); ?>
<?php foreach ($summaryGeneral['orders_netto_buy_group_table2'] as $month => $arr){ ?>
<?php var_dump(($summaryGeneral['orders_netto_sell_table2'][$month] - $summaryGeneral['orders_netto_buy_table2'][$month]) * (100/$summaryGeneral['orders_netto_buy_table2'][$month])); ?>
<?php echo strlen($month) == 4 ? '<td class="success"><strong>'.$month.'
</strong></td>' : '
<td>'.$month.'
</td>' ?>
<td><?php echo price(($summaryGeneral['orders_netto_sell_table2'][$month] - $summaryGeneral['orders_netto_buy_table2'][$month]) / $summaryGeneral['orders_netto_sell_table2'][$month]); ?></td>
<?php foreach ($summaryGeneral['days_values_group_table2'] as $station => $value) { ?>
<td><?php echo price(100 * ($summaryGeneral['orders_netto_sell_group_table2'][$month][$station] - $summaryGeneral['orders_netto_buy_group_table2'][$month][$station]) / $summaryGeneral['orders_netto_sell_group_table2'][$month][$station]); ?></td> <?php } ?>
<?php } ?>
W efekcie:
Link