Merge branch 'main' of bitbucket.org:venbainformationtechnology/the_mechanic

This commit is contained in:
aadhavan valli 2024-04-09 17:50:50 +05:30
commit d2ad528720
4 changed files with 93 additions and 83 deletions

View File

@ -6,7 +6,7 @@ use App\Models\ProductModel;
use App\Models\BikemakeModel;
use App\Models\VendorModel;
use App\Models\BikemodelsModel;
class Products extends BaseController
{
@ -61,14 +61,24 @@ class Products extends BaseController
$data['page_name']="Add Product";
} else if ($product_id !== '0') {
$data['page_name']="Edit Product";
$ProductModel = new ProductModel();
$products=$ProductModel->where('product_id', $product_id)->get()->getRowArray();
$data['products']=$products;
$BikemakeModel = new BikemakeModel();
$data['make'] = $BikemakeModel->findAll();
$ProductModel = new ProductModel();
$BikemodelsModel = new BikemodelsModel();
$make_id = $products['make_id'];
$data['models'] = $BikemodelsModel->where('make_id', $make_id)->findAll();
$tax=$ProductModel->getTax();
$data['tax']=$tax;
$products=$ProductModel->where('product_id', $product_id)->get()->getRowArray();
$data['products']=$products;
$VendorModel = new VendorModel();
$data['vendors']=$VendorModel->findAll();
// print_r($data);die;
}
$data['product_id'] = $product_id;

View File

@ -63,7 +63,7 @@ class Sales extends BaseController
$data['page_name']="Edit Sale Order";
$ClientModel = new ClientModel();
$client=$ClientModel->where('isactive',1)->where('branch_id',$this->session->get('logged_user_branch_id'))->findAll();
$SalesOrderModel = new SalesOrderModel();
$SalesOrderModel = new SalesOrderModel();
$sales=$SalesOrderModel->where('sales_order_id', $sales_order_id)->get()->getRowArray();
$data['sales']=$sales;
$VehicleModel = new VehicleModel();
@ -71,7 +71,7 @@ $vehicles = $VehicleModel->where('isactive',1)->where('vehicle_id',$sales['vehic
->where('branch_id',$this->session->get('logged_user_branch_id'))
->first();
$makeId = $vehicles['make'];
$modelId = $vehicles['model'];
$modelId = $vehicle['model'];
// Encode the modelId before searching
$encodedModelId = json_encode([$modelId]);

View File

@ -91,6 +91,13 @@
<li class="menu-title">Navigation</li>
<?php if(session()->get('logged_user_role') == 'Floor Manager' ||
session()->get('logged_user_role') == 'Job Card Manager' ||
session()->get('logged_user_role') == 'Store Manager') {
?>
<li>
<a href="#sidebarLayouts1" data-toggle="collapse">
<i class="mdi mdi-sale"></i>
@ -102,12 +109,23 @@
<li>
<a href="<?php echo base_url('sales_order_index') ?>">Sales Order</a>
</li>
<li>
<a href="<?php echo base_url('vehicle_index') ?>">Vehicles</a>
</li>
<li>
<a href="<?php echo base_url('client_index') ?>">Clients</a>
</li>
</ul>
</div>
</li>
<?php } ?>
<?php if(session()->get('logged_user_role') == 'Floor Manager' ||
session()->get('logged_user_role') == 'Job Card Manager' ||
session()->get('logged_user_role') == 'Store Manager') {
?>
<li>
<a href="#sidebarLayouts" data-toggle="collapse">
<i class="ri-shopping-cart-fill"></i>
@ -128,41 +146,16 @@
</ul>
</div>
</li>
<?php } ?>
<?php if(session()->get('logged_user_role') == 'Floor Manager' ||
session()->get('logged_user_role') == 'Job Card Manager' ||
session()->get('logged_user_role') == 'Store Manager') { ?>
<li>
<a href="<?php echo base_url('vehicle_index') ?>">
<i class="mdi mdi-motorbike"></i>
<span> Vehicle </span>
</a>
</li>
<?php } ?>
<?php if(session()->get('logged_user_role') == 'Floor Manager' ||
session()->get('logged_user_role') == 'Job Card Manager' ||
session()->get('logged_user_role') == 'Store Manager') { ?>
<li>
<a href="<?php echo base_url('client_index') ?>">
<i class="mdi mdi-clipboard-account"></i>
<span> Client </span>
</a>
</li>
<?php } ?>
<!-- <li>
<a href="<?php echo base_url('service_index') ?>">
<i class="fas fa-wrench"></i>
<span> Service </span>
</a>
</li> -->
<li class="menu-title">Masters</li>
<li>

View File

@ -1,4 +1,5 @@
<?php include('layout/header.php'); ?>
<div class="row">
<div class="col-12">
<div class="page-title-box page-title-box-alt">
@ -27,18 +28,29 @@
<label for="make" class="col-form-label">Make<span class="text-danger">*</span></label>
<select class="form-control SelExample" id="make" name="make" required>
<option value="">Select a Make</option>
<!-- Options for make -->
<?php foreach ($make as $value): ?>
<option value="<?= $value['make_id'] ?>" <?= isset($vendor['make_ids']) && in_array($value['make_id'], $vendor['make_ids']) ? 'selected' : '' ?>><?= $value['make'] ?></option>
<?php endforeach; ?>
<option value="<?= $value['make_id'] ?>" <?= isset($products['make_id']) && $products['make_id'] == $value['make_id'] ? 'selected' : '' ?>>
<?= $value['make'] ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="model" class="col-form-label">Model<span class="text-danger">*</span></label>
<select class="form-control SelExample" id="model" name="model[]" required multiple>
<!-- Options for model will be populated dynamically via AJAX -->
</select>
</div>
<label for="model" class="col-form-label">Model<span class="text-danger">*</span></label>
<select class="form-control SelExample" id="model" name="model[]" required multiple>
<!-- Options for model will be populated dynamically via AJAX -->
<?php if(isset($models) && !empty($models)): ?>
<?php foreach($models as $model): ?>
<option value="<?= $model['model_id'] ?>" <?= isset($products['models_id']) && in_array($model['model_id'], json_decode($products['models_id'], true)) ? 'selected' : '' ?>>
<?= $model['model_name'] ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="inputEmail4" class="col-form-label">Product Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" name="productname" placeholder="Product Name" value="<?= isset($products['product_name']) ? $products['product_name'] : '' ?>" required>
@ -48,6 +60,13 @@
<select class="form-control" id="vendor" name="vendor" required>
<!-- Placeholder option -->
<option value="">Select Vendor</option>
<?php foreach ($vendors as $vendor): ?>
<option value="<?= $vendor['vendor_id'] ?>" <?= isset($products['vendor']) && $products['vendor'] == $vendor['vendor_id'] ? 'selected' : '' ?>>
<?= $vendor['vendor_name'] ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="form-group col-md-4">
@ -114,13 +133,18 @@
<h4 class="header-title">Stock Information :</h4><br>
<div class="form-row">
<div class="form-group col-md-4">
<label for="inputPassword4" class="col-form-label">Qty in Stock<span class="text-danger">*</span></label>
<input type="number" class="form-control" name="qty_in_stock" placeholder="Qty in Stock" value="<?= isset($products['qty_stock']) ? $products['qty_stock'] : '' ?>" required>
</div>
<div class="form-group col-md-4">
<label for="inputPassword4" class="col-form-label">Purchase Order Level<span class="text-danger"></span></label>
<input type="number" class="form-control" name="purchase_order_level" placeholder="Purchase Order Level" value="<?= isset($products['purchase_order_level']) ? $products['purchase_order_level'] : '' ?>" required>
</div>
<label for="inputPassword4" class="col-form-label">Qty in Stock<span class="text-danger">*</span></label>
<input type="number" class="form-control" id="qty_in_stock" name="qty_in_stock" placeholder="Qty in Stock" value="<?= isset($products['qty_stock']) ? $products['qty_stock'] : '' ?>" required>
</div>
<div class="form-group col-md-4">
<label for="inputPassword4" class="col-form-label">Purchase Order Level<span class="text-danger"></span></label>
<input type="number" class="form-control" id="purchase_order_level" name="purchase_order_level" placeholder="Purchase Order Level" value="<?= isset($products['purchase_order_level']) ? $products['purchase_order_level'] : '' ?>" required>
</div>
<div class="form-group col-md-4">
<label for="inputPassword4" class="col-form-label">Purchase Re-Order Level<span class="text-danger"></span></label>
<input type="number" class="form-control" id="purchase_reorder_level" name="purchase_reorder_level" placeholder="Purchase Re-Order Level" value="<?= isset($products['purchase_reorder_level']) ? $products['purchase_reorder_level'] : '' ?>" required>
</div>
<div class="form-group col-md-4" hidden>
<label for="inputPassword4" class="col-form-label">Qty in Demand</label>
<input type="number" class="form-control" name="qty_in_demand" placeholder="Qty in Demand" value="<?= isset($products['qty_in_demand']) ? $products['qty_in_demand'] : '' ?>" >
@ -217,45 +241,28 @@ $(document).ready(function() {
});
});
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const qtyInStockInput = document.getElementById('qty_in_stock');
const purchaseOrderLevelInput = document.getElementById('purchase_order_level');
const purchaseReorderLevelInput = document.getElementById('purchase_reorder_level');
$(document).ready(function() {
$('#model').change(function() {
// Listen for the keyup event on qty in stock input
qtyInStockInput.addEventListener('keyup', function() {
const qtyInStock = parseFloat(qtyInStockInput.value);
const purchaseorderLevel = qtyInStock / 2; // Calculate the purchase reorder level (half of qty in stock)
var model_ids = $('#model').val(); // Get the selected model IDs
var make_id = $('#make').val();
console.log(model_ids);
// AJAX request to get vendors based on the selected model ID
$.ajax({
url: '<?php echo base_url('get_vendors_by_model') ?>', // URL to your CodeIgniter controller method
type: 'POST',
dataType: 'json',
data: { model_ids: model_ids , make_id : make_id }, // Send the selected make ID and model IDs to the controller
success: function(response) {
// Update vendor dropdown based on the response
if (response) {
// Clear existing options
$('#vendor').empty();
// Append new options
$('#vendor').append('<option value>Select Vendor</option>');
$.each(response, function(index, vendor) {
$('#vendor').append('<option value="' + vendor.vendor_id + '">' + vendor.vendor_name + '</option>');
});
} else {
// Handle case when no vendors are found for the selected model
console.log('No vendors found for the selected model');
}
},
error: function(xhr, status, error) {
// Handle error
console.error(xhr.responseText);
}
});
// Update the value of purchase reorder level input
purchaseOrderLevelInput.value = isNaN(purchaseorderLevel) ? '' : purchaseorderLevel;
purchaseReorderLevelInput.value = isNaN(qtyInStock) ? '' : qtyInStock;
});
});
</script>
<style>
.select2-container .select2-selection--multiple .select2-selection__choice{
padding: 5px 7px 5px 0 !important;