salesentry filters
This commit is contained in:
@ -42,10 +42,14 @@ class SalesEntryController extends Controller
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*/
|
||||
public function index()
|
||||
public function index(Request $request)
|
||||
{
|
||||
$filters = $request->all();
|
||||
$data['title'] = 'Sales Entries';
|
||||
$data['salesEntries'] = SalesEntry::all();
|
||||
$data['stockList'] = $this->stockRepository->pluck();
|
||||
$data['productList'] = $this->productRepository->pluck();
|
||||
$data['categoryList'] = $this->categoryRepository->pluck();
|
||||
$data['salesEntries'] = $this->salesEntryRepository->findAll($filters);
|
||||
return view('salesEntry::salesEntry.index', $data);
|
||||
}
|
||||
|
||||
@ -55,9 +59,9 @@ class SalesEntryController extends Controller
|
||||
public function create()
|
||||
{
|
||||
$data['title'] = 'New Sales Entry';
|
||||
$data['categoryList'] = $this->categoryRepository->pluck();
|
||||
$data['stockList'] = $this->stockRepository->pluck();
|
||||
$data['productList'] = $this->productRepository->pluck();
|
||||
$data['categoryList'] = $this->categoryRepository->pluck();
|
||||
$data['customerList'] = $this->customerRepository->pluck();
|
||||
$data['sizes'] = $this->fieldRepository->getDropdownByAlias('size');
|
||||
$data['paymentModes'] = $this->fieldRepository->getDropdownByAlias('payment-mode');
|
||||
@ -127,9 +131,11 @@ class SalesEntryController extends Controller
|
||||
$productList= $this->productRepository->pluck('id');
|
||||
$stockList= $this->stockRepository->pluck('id');
|
||||
$categoryList= $this->categoryRepository->pluck('id');
|
||||
$sizes = $this->fieldRepository->getDropdownByAlias('size');
|
||||
$paymentModes = $this->fieldRepository->getDropdownByAlias('payment-mode');
|
||||
|
||||
return response()->json([
|
||||
'view' => view('salesEntry::salesEntry.clone-product', compact('data', 'numInc', 'script', 'productList'))->render(),
|
||||
'view' => view('salesEntry::salesEntry.clone-product', compact('data', 'numInc', 'script', 'productList', 'categoryList', 'stockList', 'sizes', 'paymentModes'))->render(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,16 @@ class SalesEntry extends Model
|
||||
USE StatusTrait;
|
||||
|
||||
protected $table = 'tbl_salesentries';
|
||||
protected $guarded = [];
|
||||
protected $fillable = [
|
||||
'customer_id',
|
||||
'sales_date',
|
||||
'payment',
|
||||
'paymentmode_id',
|
||||
'paymentref',
|
||||
'total_amt',
|
||||
'created_at',
|
||||
'updated_at'
|
||||
];
|
||||
protected $appends = ['status_name'];
|
||||
|
||||
|
||||
|
@ -14,7 +14,20 @@ class SalesEntryDetail extends Model
|
||||
USE StatusTrait;
|
||||
|
||||
protected $table = 'tbl_salesentrydetails';
|
||||
protected $guarded = [];
|
||||
protected $fillable = [
|
||||
'salesentry_id',
|
||||
'product_id',
|
||||
'category_id',
|
||||
'stock_id',
|
||||
'size_id',
|
||||
'unit',
|
||||
'rate',
|
||||
'quantity',
|
||||
'amount',
|
||||
'desc',
|
||||
'created_at',
|
||||
'updated_at'
|
||||
];
|
||||
protected $appends = ['status_name'];
|
||||
|
||||
|
||||
|
@ -6,7 +6,7 @@ use Illuminate\Http\Request;
|
||||
|
||||
interface SalesEntryInterface
|
||||
{
|
||||
public function findAll();
|
||||
public function findAll($filters);
|
||||
public function getSalesEntryById($SalesEntryId);
|
||||
public function getSalesEntryByEmail($email);
|
||||
public function delete($SalesEntryId);
|
||||
|
@ -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],
|
||||
|
Reference in New Issue
Block a user