salesentry filters

This commit is contained in:
Sampanna Rimal
2024-09-17 16:34:40 +05:45
parent afb2c202d6
commit 0b438e302d
19 changed files with 303 additions and 50 deletions

View File

@ -9,10 +9,37 @@ use Illuminate\Support\Facades\DB;
class SalesEntryRepository implements SalesEntryInterface
{
public function findAll()
// public function findAll()
// {
// return SalesEntry::when(true, function ($query) {
// })->paginate(20);
// }
public function findAll($filters = [], $limit = null, $offset = null)
{
return SalesEntry::when(true, function ($query) {
})->paginate(20);
return SalesEntry::when($filters, function ($query) use ($filters) {
if (isset($filters["category_id"])) {
$query->whereHas('salesEntryDetails', function ( $query) use ($filters) {
$query->where('category_id', '=', $filters["category_id"]);
});
}
if (isset($filters["product_id"])) {
$query->whereHas('salesEntryDetails', function ( $query) use ($filters) {
$query->where('product_id', '=', $filters["product_id"]);
});
}
if (isset($filters["stock_id"])) {
$query->whereHas('salesEntryDetails', function ( $query) use ($filters) {
$query->where('stock_id', '=', $filters["stock_id"]);
});
}
if (isset($filters["date"])) {
$explodeDate = explode("to", $filters['date']);
$query->whereBetween("sales_date", [$explodeDate[0], preg_replace('/\s+/', '', $explodeDate[1])]);
}
})->get();
}
public function getSalesEntryById($SalesEntryId)
@ -44,12 +71,16 @@ class SalesEntryRepository implements SalesEntryInterface
$request->merge(['salesentry_id' => $salesEntryData->id]);
foreach ($salesEntryDetails['product_id'] as $key => $productId) {
foreach ($salesEntryDetails['stock_id'] as $key => $stockId) {
// dd($request->input('salesentry_id'));
$data = [
'salesentry_id' => $request->input('salesentry_id'),
'product_id' => $productId,
'unit' => $salesEntryDetails['unit'][$key],
'product_id' => $salesEntryDetails['product_id'][$key],
'category_id' => $salesEntryDetails['category_id'][$key],
'stock_id' => $salesEntryDetails['stock_id'][$key],
'size_id' => $salesEntryDetails['size_id'][$key],
'rate' => $salesEntryDetails['rate'][$key],
// 'unit' => $salesEntryDetails['unit'][$key],
'quantity' => $salesEntryDetails['qty'][$key],
'amount' => $salesEntryDetails['amt'][$key],
'desc' => $salesEntryDetails['desc'][$key],