|
|
@@ -8,6 +8,7 @@ use App\Repositories\BaseRepository; |
|
|
use Illuminate\Database\Query\JoinClause; |
|
|
use Illuminate\Database\Query\JoinClause; |
|
|
use Illuminate\Support\Collection; |
|
|
use Illuminate\Support\Collection; |
|
|
use Illuminate\Support\Facades\DB; |
|
|
use Illuminate\Support\Facades\DB; |
|
|
|
|
|
use LogicException; |
|
|
|
|
|
|
|
|
class UseSummaryRepository extends BaseRepository |
|
|
class UseSummaryRepository extends BaseRepository |
|
|
{ |
|
|
{ |
|
|
@@ -21,6 +22,17 @@ class UseSummaryRepository extends BaseRepository |
|
|
const TABLE_SUMMARY = "summary"; |
|
|
const TABLE_SUMMARY = "summary"; |
|
|
const TABLE_NAME = "name"; |
|
|
const TABLE_NAME = "name"; |
|
|
|
|
|
|
|
|
|
|
|
private const SELECT_LIST = 'SELECT_LIST'; |
|
|
|
|
|
private const SELECT_CSV = 'SELECT_CSV'; |
|
|
|
|
|
|
|
|
|
|
|
private string $select = self::SELECT_LIST; |
|
|
|
|
|
|
|
|
|
|
|
public function forCsv(): static |
|
|
|
|
|
{ |
|
|
|
|
|
$this->select = self::SELECT_CSV; |
|
|
|
|
|
return $this; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* コレクションを取得する |
|
|
* コレクションを取得する |
|
|
@@ -53,7 +65,13 @@ class UseSummaryRepository extends BaseRepository |
|
|
$this->where($table, $condition, static::CONDITION_SUMMARY_YYYYMM, $this->makeColumnName([static::TABLE_SUMMARY, UseByKeySummary::COL_NAME_SUMMARY_YYYYMM])); |
|
|
$this->where($table, $condition, static::CONDITION_SUMMARY_YYYYMM, $this->makeColumnName([static::TABLE_SUMMARY, UseByKeySummary::COL_NAME_SUMMARY_YYYYMM])); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$table->select($this->columns()); |
|
|
|
|
|
|
|
|
if ($this->select === self::SELECT_LIST) { |
|
|
|
|
|
$table->select($this->columns()); |
|
|
|
|
|
} else if ($this->select === self::SELECT_CSV) { |
|
|
|
|
|
$table->select($this->csvColumns()); |
|
|
|
|
|
} else { |
|
|
|
|
|
throw new LogicException("SELECT不正"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
$main = DB::table($table, "main"); |
|
|
$main = DB::table($table, "main"); |
|
|
|
|
|
|
|
|
@@ -86,4 +104,20 @@ class UseSummaryRepository extends BaseRepository |
|
|
]; |
|
|
]; |
|
|
return $columns; |
|
|
return $columns; |
|
|
} |
|
|
} |
|
|
|
|
|
private function csvColumns() |
|
|
|
|
|
{ |
|
|
|
|
|
$summary = static::TABLE_SUMMARY; |
|
|
|
|
|
$name = static::TABLE_NAME; |
|
|
|
|
|
$columns = [ |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_ID]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_SUMMARY_YYYYMM]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_SUMMARY_KEY1]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$name, HtCustomParkingName::COL_NAME_CUSTOMER_NAME]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_SUMMARY_KEY2]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$name, HtCustomParkingName::COL_NAME_PARKING_NAME]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_RECEIPT_ORDER_COUNT]), |
|
|
|
|
|
$this->makeColumnNameForSelect([$summary, UseByKeySummary::COL_NAME_SMS_SEND_COUNT]), |
|
|
|
|
|
]; |
|
|
|
|
|
return $columns; |
|
|
|
|
|
} |
|
|
} |
|
|
} |