fixed taraz for all metals
This commit is contained in:
@@ -10,6 +10,7 @@ use App\Models\Price;
|
||||
use App\Models\Product;
|
||||
use App\Models\TransactionsAdmin;
|
||||
use App\Models\Withdraw;
|
||||
use App\Services\BalanceReportService;
|
||||
use App\Services\ConfigService;
|
||||
use Carbon\Carbon;
|
||||
use Hekmatinasser\Verta\Verta;
|
||||
@@ -149,7 +150,7 @@ class DashboardController extends Controller
|
||||
return $cnt;
|
||||
}
|
||||
|
||||
public function getBalance(Request $request)
|
||||
public function getBalance(Request $request, BalanceReportService $balanceReportService)
|
||||
{
|
||||
$startDate = Carbon::parse($request->startDate)->startOfDay();
|
||||
$endDate = Carbon::parse($request->endDate)->endOfDay();
|
||||
@@ -158,6 +159,12 @@ class DashboardController extends Controller
|
||||
$response["kalhor"]=[];
|
||||
|
||||
$excludeCustomerId = (int) app(ConfigService::class)->getInt('balance_report_exclude_customer_id', 4);
|
||||
$catalogMetalIds = $balanceReportService->catalogMetalIds();
|
||||
if ($catalogMetalIds === []) {
|
||||
$catalogMetalIds = [1];
|
||||
}
|
||||
$limanMetalBuckets = $balanceReportService->initMetalBalanceBuckets($catalogMetalIds);
|
||||
$kalhorMetalBuckets = $balanceReportService->initMetalBalanceBuckets($catalogMetalIds);
|
||||
|
||||
$response["pay_at_update"] = Order::whereNull('pay_at')->update(['pay_at' => DB::raw('created_at')]);
|
||||
//liman
|
||||
@@ -171,6 +178,8 @@ class DashboardController extends Controller
|
||||
$response["liman"]["balance_abs"]["gold"] = 0;
|
||||
$response["liman"]["balance_abs"]["cash"] = 0;
|
||||
foreach ($response["liman"]["orders"] as $OrderGoldBalanceRow) {
|
||||
$balanceReportService->applyOrderToBuckets($limanMetalBuckets, $OrderGoldBalanceRow);
|
||||
|
||||
if ($OrderGoldBalanceRow->direction == 1){
|
||||
$response["liman"]["balance"]["gold"] += $OrderGoldBalanceRow->amount;
|
||||
$response["liman"]["balance"]["cash"] -= $OrderGoldBalanceRow->total_price;
|
||||
@@ -212,10 +221,22 @@ class DashboardController extends Controller
|
||||
$response["kalhor"]["balance"]['gold'] += $data['Count'];
|
||||
$response["kalhor"]["balance"]['cash'] -= $data['TotalPrice'];
|
||||
$direction =2;
|
||||
$balanceReportService->applyKalhorSlice(
|
||||
$kalhorMetalBuckets,
|
||||
(float) $data['Count'],
|
||||
(float) $data['TotalPrice'],
|
||||
2
|
||||
);
|
||||
} elseif ($data['DealTypeStr'] == "فروش" or $data['DealTypeStr'] == "فروش _ دستی") {
|
||||
$response["kalhor"]["balance"]['gold'] -= $data['Count'];
|
||||
$response["kalhor"]["balance"]['cash'] += $data['TotalPrice'];
|
||||
$direction =1;
|
||||
$balanceReportService->applyKalhorSlice(
|
||||
$kalhorMetalBuckets,
|
||||
(float) $data['Count'],
|
||||
(float) $data['TotalPrice'],
|
||||
1
|
||||
);
|
||||
}
|
||||
$response["kalhor"]["balance_abs"]['gold'] += $data['Count'];
|
||||
$response["kalhor"]["balance_abs"]['cash'] += $data['TotalPrice'];
|
||||
@@ -244,6 +265,12 @@ class DashboardController extends Controller
|
||||
//main
|
||||
$response['cashBalance']= -$response["liman"]["balance"]["cash"]+$response["kalhor"]["balance"]["cash"];
|
||||
$response['goldBalance']= -$response["liman"]["balance"]["gold"]+$response["kalhor"]["balance"]["gold"];
|
||||
|
||||
$metalBalances = $balanceReportService->buildMetalBalancesResponse($limanMetalBuckets, $kalhorMetalBuckets);
|
||||
$response['metalBalances'] = $metalBalances['items'];
|
||||
if (!empty($metalBalances['items'])) {
|
||||
$response['goldBalance'] = $metalBalances['totalGoldBalance'];
|
||||
}
|
||||
//mazaneh
|
||||
$changeMesghal = config('change_mesghal');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user