Исправлен пересчет весовых товаров в онлайн реализации
This commit is contained in:
miroman-afk
2023-08-15 10:54:39 +03:00
parent 468cb21e40
commit a7c1679d12
6 changed files with 76 additions and 34 deletions

View File

@@ -26,7 +26,7 @@ class ShiftOnlineOrders extends Model
->first();
$start_order_info[] = array(
'code' => intval($start_order_item['more']),
'count' => floatval($start_order_item['value']),
'count' => Base::tofloat($start_order_item['value']),
'sale_price' => $item['sale_price'],
'special_price' => $item['special_price']
);
@@ -71,7 +71,6 @@ class ShiftOnlineOrders extends Model
} else {
$end_order = $start_order_info;
}
return $end_order;
}
@@ -184,6 +183,7 @@ class ShiftOnlineOrders extends Model
if ($order_status == "Возвращен" || $order_status == "Возвращен частично") {
$returned_items = self::getReturnedItems($order['code']);
Log::debug($returned_items);
foreach ($returned_items as $returned_item) {
$returned_sum += round(abs($returned_item['sale_price']) * $returned_item['count'], 2);
$returned_count += $returned_item['count'];
@@ -216,6 +216,7 @@ class ShiftOnlineOrders extends Model
foreach ($items as $key => $item) {
$realPrice = $item['real_price'] * $item['count'] * $item['cof'];
$salePrice = $item['sale_price'] * $item['count'];
$specialPrice = $item['special_price'] * $item['count'];
if ($realPrice > 0) {
$discount = $salePrice / $realPrice;
$discount = (1 - $discount) * 100;
@@ -239,15 +240,13 @@ class ShiftOnlineOrders extends Model
'amount' => round($item['sale_price'] * $item['count'], 2),
'discount' => round($discount),
'total_count' => floatval($item['count']),
'profit' => floatval($item['count']) * round($item['sale_price'], 2) - floatval($item['count']) * round($item['special_price'], 2)
'profit' => $salePrice - $specialPrice
);
foreach ($deleted_items as $deleted_item) {
if ($item['menu_code'] == $deleted_item['menu_code']) {
$order_info[$key]['deleted_count'] = $deleted_item['count'];
$order_info[$key]['total_count'] = $order_info[$key]['total_count'] - $deleted_item['count'];
$order_info[$key]['deleted_sum'] = abs($deleted_item['sale_price']) * $deleted_item['count'];
$order_info[$key]['profit'] = $order_info[$key]['total_count'] * round($item['sale_price'], 2) - $order_info[$key]['total_count'] * round($item['special_price'], 2);
$deleted_count += $deleted_item['count'];
$deleted_sum += abs($deleted_item['sale_price']) * $deleted_item['count'];
}