@extends('layouts.report') @section('title', '得意先元帳') @section('content') @php function number_format_string($num, $decimals = 0) { if (is_numeric($num)) { return number_format($num, $decimals); } else { return $num; } } @endphp @php $RECORDS_PER_PAGE = 13; $pages = []; $page = []; $total = []; $prevCustomerCode = NULL; $headOfCustomer = 1; $carriedPrice = 0; //logger('customer01.blade.php', [__FILE__ => __LINE__]); foreach($viewdata['records'] as $record) { //if (!empty($prevCustomerCode) && $prevCustomerCode != $record['CustomerCode']) if ($record['ProductName'] == 'header') { // 最終ページフラグ if (count($page) == 0 && count($pages) > 0) { foreach($pages[count($pages) - 1] as &$rec) { $rec['TailOfCustomer'] = 1; } $refSummary['TotalPage'] -= 1; } else { foreach($page as &$rec) { $rec['TailOfCustomer'] = 1; } } $refSummary = &$viewdata['summaries'][$record['CustomerCode']]; $refSummary['TotalPage'] = 1; if (count($page) > 0) { $pages[] = $page; } $page = []; $headOfCustomer = 1; } // 残額集計 if ($headOfCustomer && count($page)==0) { // 1件目は繰越 $refSummary = &$viewdata['summaries'][$record['CustomerCode']]; $carriedPrice = $refSummary['CarriedPrice']; $refSummary['PreTaxPrice'] = 0; $refSummary['TaxPrice'] = 0; $refSummary['IncomePrice'] = 0; $refSummary['DiscountPrice'] = 0; $refSummary['TotalPage'] = 1; $refSummary['CarriedPrice'] = $carriedPrice; if ($record['Count'] > 0 || $carriedPrice > 0) { $page[] = [ 'HeadOfCustomer' => $headOfCustomer, 'TailOfCustomer' => 0, 'CustomerCode' => $record['CustomerCode'], 'CustomerName' => $record['CustomerName'], 'TheDate' => '', 'ProductName' => '前月繰越残高', 'BillNumber' => '', 'Remark' => '', 'Amount' => '', 'UnitName' => '', 'UnitPrice' => '', 'SalesPrice' => '', 'IncomePrice' => '', 'CarriedPrice' => $carriedPrice, ]; } } else { $carriedPrice += ($record['SalesPrice'] - $record['IncomePrice']); //$refSummary['CarriedPrice'] += ($record['SalesPrice'] - $record['IncomePrice']) + $record['TaxPrice']; $record['HeadOfCustomer'] = $headOfCustomer; $record['TailOfCustomer'] = 0; $record['CarriedPrice'] = $carriedPrice; $refSummary['PreTaxPrice'] += $record['SalesPrice']; //$refSummary['TaxPrice'] += $record['TaxPrice']; if ($record['DepositType'] == 7) { // 入金値引き $refSummary['DiscountPrice'] += $record['IncomePrice']; } else { // 実質入金 $refSummary['IncomePrice'] += $record['IncomePrice']; } $page[] = $record; if (count($page) >= $RECORDS_PER_PAGE) { $refSummary['TotalPage'] += 1; $pages[] = $page; $page = []; $headOfCustomer = 0; } } $prevCustomerCode = $record['CustomerCode']; } if (count($page) > 0) { //logger('customer01.blade.php', [__FILE__ => __LINE__]); //logger('customer01.blade.php', ['count($pages)' => count($pages)]); // 最終ページフラグ foreach($page as $rec) { $rec['TailOfCustomer'] = 1; } $pages[] = $page; //$page = []; } //logger('customer01.blade.php', [__FILE__ => __LINE__]); $prevCustomerCode = NULL; $localPageNum = 1; @endphp @foreach($pages as $i => $page) @php //logger('Monthly.customer01', ["page[{$i}]" => $page]); $summary = [ 'CustomerCode' => '', 'CustomerName' => '', 'CarriedSalesPrice' => 0, 'CarriedTaxPrice' => 0, 'CarriedIncomePrice' => 0, ]; $customerCode = $page[0]['CustomerCode']; if(array_key_exists($customerCode, $viewdata['summaries'])) { $summary = $viewdata['summaries'][$customerCode]; } if (!empty($prevCustomerCode) && $prevCustomerCode != $customerCode) { $localPageNum = 1; } $prevCustomerCode = $customerCode; @endphp @include('monthly/customer01-01',[ 'localPageNum' => $localPageNum++, 'pagenum' => ($i + 1), 'pagetotal' => count($pages), 'record_per_page' => $RECORDS_PER_PAGE, 'pagedata'=>$page, 'summary'=>$summary, 'total' => (($i == count($pages) - 1) ? $total : null), ]) @endforeach @endsection