diff --git a/app/Controllers/Jobcard.php b/app/Controllers/Jobcard.php index 203a6f1..97e386a 100644 --- a/app/Controllers/Jobcard.php +++ b/app/Controllers/Jobcard.php @@ -16,6 +16,8 @@ use App\Models\BikemakeModel; use App\Models\VehicleModel; use App\Models\SalesOrderModel; use App\Models\SalesOrderProductModel; +use App\Models\UsersModel; +use App\Models\RoleModel; use Mpdf\Mpdf; class Jobcard extends BaseController { @@ -35,7 +37,9 @@ class Jobcard extends BaseController { $JobcardModel = new JobcardModel(); - $jobs=$JobcardModel->getJobCardsWithProductsAndService($this->session->get('logged_user_branch_id')); + $data['id'] = $this->session->get('logged_user'); + $data['role'] = $this->session->get('logged_user_role'); + $jobs=$JobcardModel->getJobCardsWithProductsAndService($this->session->get('logged_user_branch_id'), $data); $data['jobs']=$jobs; // echo "
";
// print_r($jobs);die;
@@ -74,6 +78,7 @@ class Jobcard extends BaseController
} else if ($job_card_id !== '0')
{
+ // echo json_encode($this->session->get('logged_user_role'));die;
$productModel = new ProductModel();
$JobcardModel = new JobcardModel();
$JobcardProductModel = new JobcardProductModel();
@@ -178,9 +183,15 @@ class Jobcard extends BaseController
// print_r($jobs_product);die;
$VehicleModel = new VehicleModel();
$vehicle=$VehicleModel->where('isactive',1)->where('branch_id',$this->session->get('logged_user_branch_id'))->findAll();
- $data['vehicle']=$vehicle;
+ $data['vehicle']=$vehicle;
+
+ if($this->session->get('logged_user_role') == "Floor Manager")
+ {
+ $RoleModel = new RoleModel();
+ $data['workers'] = $RoleModel->get_workers($this->session->get('logged_user_branch_id'));
+ // echo json_encode($data['workers']);die;
+ }
}
- // print_r($data);die;
$data['job_card_id'] = $job_card_id;
$bikeMakeModel = new BikeMakeModel();
$data['makeData'] =$bikeMakeModel->findAll();
@@ -212,6 +223,8 @@ class Jobcard extends BaseController
'billing_state' => $this->request->getPost('state'),
'billing_postal_code' => $this->request->getPost('postalcode'),
'status'=> $this->request->getPost('status'),
+ 'assigned_to'=> json_encode($this->request->getPost('assigned_to')),
+ 'store_item_issued'=> $this->request->getPost('store_item_issued'),
'subtotal'=> $this->request->getPost('sub_total'),
'tax'=> $this->request->getPost('invoicetax'),
'total'=> $this->request->getPost('grand_total'),
@@ -254,30 +267,7 @@ class Jobcard extends BaseController
$service_id = $item->id;
}
- if(isset($item->product)) {
- // Insert into the product table
- $id = [];
- foreach ($item->product as $pt) {
- $product['job_card_id'] = $job_card_id;
- $product['product_id'] = $pt->p_id;
- $product['qty'] = $pt->qty;
- $product['tax'] = $pt->tax;
- $product['amount'] = $pt->amount;
- if(empty($pt->id)) {
- $JobcardProductModel->insert($product);
- $job_card_product_id = $JobcardProductModel->getInsertID();
- }
- else {
- $JobcardProductModel->update($pt->id, $product);
- $job_card_product_id = $pt->id;
- }
- array_push($id, $job_card_product_id);
- }
- $res = $JobcardServiceModel->update($service_id, ['product_id' => json_encode($id) ]);
- if($res) {
- $this->product_data_maintanence($id, $status);
- }
- }
+ if(isset($item->product)) { $this->product_data_insertion($job_card_id, $service_id, $JobcardServiceModel, $item, $JobcardProductModel, $status); }
}
/********** INSERT COMPLAINT DATA ************/
@@ -300,30 +290,7 @@ class Jobcard extends BaseController
$complaint_id = $item->id;
}
- if(isset($item->product)) {
- // Insert into the product table
- $id = [];
- foreach ($item->product as $pt) {
- $product['job_card_id'] = $job_card_id;
- $product['product_id'] = $pt->p_id;
- $product['qty'] = $pt->qty;
- $product['tax'] = $pt->tax;
- $product['amount'] = $pt->amount;
- if(empty($pt->id)) {
- $JobcardProductModel->insert($product);
- $job_card_product_id = $JobcardProductModel->getInsertID();
- }
- else {
- $JobcardProductModel->update($pt->id, $product);
- $job_card_product_id = $pt->id;
- }
- array_push($id, $job_card_product_id);
- }
- $res =$JobcardComplaintModel->update($complaint_id, ['product_id' => json_encode($id) ]);
- if($res) {
- $this->product_data_maintanence($id, $status);
- }
- }
+ if(isset($item->product)) { $this->product_data_insertion($job_card_id, $complaint_id, $JobcardComplaintModel, $item, $JobcardProductModel, $status); }
}
/********** INSERT CUSTOM COMPLAINT DATA ************/
@@ -346,35 +313,38 @@ class Jobcard extends BaseController
$cc_complaint_id = $item->id;
}
- if(isset($item->product)) {
- // Insert into the product table
- $id = [];
- foreach ($item->product as $pt) {
- $product['job_card_id'] = $job_card_id;
- $product['product_id'] = $pt->p_id;
- $product['qty'] = $pt->qty;
- $product['tax'] = $pt->tax;
- $product['amount'] = $pt->amount;
- if(empty($pt->id)) {
- $JobcardProductModel->insert($product);
- $job_card_product_id = $JobcardProductModel->getInsertID();
- }
- else {
- $JobcardProductModel->update($pt->id, $product);
- $job_card_product_id = $pt->id;
- }
- array_push($id, $job_card_product_id);
- }
- $res =$JobcardCustomComplaintModel->update($cc_complaint_id, ['product_id' => json_encode($id) ]);
- if($res) {
- $this->product_data_maintanence($id, $status);
- }
- }
+ if(isset($item->product)) { $this->product_data_insertion($job_card_id, $cc_complaint_id, $JobcardCustomComplaintModel, $item, $JobcardProductModel, $status); }
}
return redirect()->to('job_card_index');
}
+ public function product_data_insertion($job_card_id, $parent_id, $ParentModel, $item, $JobcardProductModel, $status)
+ {
+ // Insert into the product table
+ $id = [];
+ foreach ($item->product as $pt) {
+ $product['job_card_id'] = $job_card_id;
+ $product['product_id'] = $pt->p_id;
+ $product['qty'] = $pt->qty;
+ $product['tax'] = $pt->tax;
+ $product['amount'] = $pt->amount;
+ if(empty($pt->id)) {
+ $JobcardProductModel->insert($product);
+ $job_card_product_id = $JobcardProductModel->getInsertID();
+ }
+ else {
+ $JobcardProductModel->update($pt->id, $product);
+ $job_card_product_id = $pt->id;
+ }
+ array_push($id, $job_card_product_id);
+ }
+ $res =$ParentModel->update($parent_id, ['product_id' => json_encode($id) ]);
+ if($res) {
+ $this->product_data_maintanence($id, $status);
+ }
+ }
+
public function delete_items($delArr)
{
$JobcardServiceModel = new JobcardServiceModel();
diff --git a/app/Controllers/Products.php b/app/Controllers/Products.php
index 5c6bf3c..70c7841 100644
--- a/app/Controllers/Products.php
+++ b/app/Controllers/Products.php
@@ -163,7 +163,10 @@ class Products extends BaseController
'specification' => $this->request->getPost('specification'),
'hsn_sac' => $this->request->getPost('hsn_sac'),
'isactive' => 1 ,
- 'branch_id' => $this->session->get('logged_user_branch_id')
+ 'branch_id' => $this->session->get('logged_user_branch_id'),
+
+ 'total_amount' => $this->session->get('total_amount'),
+ 'per' => $this->session->get('per')
];
$product_id = $this->request->getPost('product_id');
diff --git a/app/Models/JobcardModel.php b/app/Models/JobcardModel.php
index b0ccff8..3f5ecb3 100644
--- a/app/Models/JobcardModel.php
+++ b/app/Models/JobcardModel.php
@@ -8,17 +8,20 @@ class JobcardModel extends Model
protected $allowedFields = ['job_card_id','vehicle_id','branch_id',
'order_number','client_mobile_no','client_name',
'billing_address','billing_city','billing_state','billing_country',
- 'billing_postal_code','status','subtotal','tax','total','isactive'];
+ 'billing_postal_code','status','assigned_to', 'store_item_issued','subtotal','tax','total','isactive'];
- public function getJobCardsWithProductsAndService($logged_user_branch_id)
+ public function getJobCardsWithProductsAndService($logged_user_branch_id,$data)
{
$this->select('job_card.*, COUNT(job_card_product.job_card_id) AS product_count, vehicle.reg_no');
$this->join('job_card_product', 'job_card_product.job_card_id = job_card.job_card_id', 'left');
$this->join('vehicle', 'vehicle.vehicle_id = job_card.vehicle_id', 'left');
$this->groupBy('job_card.job_card_id');
$this->where('job_card.isactive', 1);
+ if ($data['role'] == 'Senior Mechanic' || $data['role'] == 'Mechanic') {
+ $this->where("JSON_CONTAINS(assigned_to, '" . json_encode($data['id']) . "')", null, false);
+ }
$this->where('job_card.branch_id',$logged_user_branch_id);
$this->orderBy('job_card.job_card_id','DESC');
return $this->findAll();
diff --git a/app/Models/ProductModel.php b/app/Models/ProductModel.php
index 24b65b7..c672b12 100644
--- a/app/Models/ProductModel.php
+++ b/app/Models/ProductModel.php
@@ -5,7 +5,11 @@ class ProductModel extends Model
{
protected $table = 'products';
protected $primaryKey = 'product_id';
- protected $allowedFields = ['sku_id','product_id','rack_number','manufacturer_id','make_id','models_id','quality','product_name','branch_id','prefered_vendor','product_category','mfr_part_no','purchase_order_level','unit_price','commision_rate','sgst','cgst','purchase_cost','usage_unit','vendor','qty_stock','reorder_level','handler','qty_in_demand','product_image','description','specification','hsn_sac','isactive'];
+ protected $allowedFields = ['sku_id','product_id','rack_number','manufacturer_id','make_id','models_id',
+ 'quality','product_name','branch_id','prefered_vendor','product_category','mfr_part_no','purchase_order_level',
+ 'unit_price','commision_rate','sgst','cgst','purchase_cost','usage_unit','vendor','qty_stock','reorder_level',
+ 'handler','qty_in_demand','product_image','description','specification','hsn_sac','isactive','total_amount',
+ 'per'];
public function getTax()
diff --git a/app/Models/RoleModel.php b/app/Models/RoleModel.php
index e9e4fb5..e300cb2 100644
--- a/app/Models/RoleModel.php
+++ b/app/Models/RoleModel.php
@@ -6,12 +6,23 @@ class RoleModel extends Model
protected $table = 'roles';
protected $primaryKey = 'role_id';
protected $allowedFields = ['role_id','roles','isactive'];
-public function getRoles(){
- return $this->where('roles !=', 'Super Admin')->findAll();
-}
-public function getRoleNameById($roleId)
-{
- $role = $this->where('role_id', $roleId)->first();
- return $role ? $role['roles'] : 'Unknown';
-}
+ public function getRoles(){
+ return $this->where('roles !=', 'Super Admin')->findAll();
+ }
+ public function getRoleNameById($roleId)
+ {
+ $role = $this->where('role_id', $roleId)->first();
+ return $role ? $role['roles'] : 'Unknown';
+ }
+
+ public function get_workers($logged_user_branch_id)
+ {
+ $this->select('roles.*,users.user_id, users.name, users.business_id, users.branch_id, users.role, users.mobile_no, users.isactive');
+ $this->join('users', 'users.role = roles.role_id');
+ $this->where('roles.isactive', 1);
+ $this->where('users.isactive', 1);
+ $this->whereIn('roles.roles', ['Mechanic','Helper']);
+ $this ->where('users.branch_id',$logged_user_branch_id);
+ return $this->findAll();
+ }
}
\ No newline at end of file
diff --git a/app/Views/job_card_form.php b/app/Views/job_card_form.php
index 1e8712d..d3b1abf 100644
--- a/app/Views/job_card_form.php
+++ b/app/Views/job_card_form.php
@@ -94,6 +94,32 @@
+
+
+
+
+
+
+
+
+ get('logged_user_role') == 'Store Manager') { ?>
+
+
+
+
+
@@ -938,7 +964,7 @@ $(document).ready(async function() {
' ' +
' ' +
' ' +
- ' ' +
+ ' ' +
' ' +
'';
diff --git a/app/Views/jobs_list.php b/app/Views/jobs_list.php
index 1d04e3f..a34d837 100644
--- a/app/Views/jobs_list.php
+++ b/app/Views/jobs_list.php
@@ -44,8 +44,13 @@
Client Name
Client Mobile
Quantity
- Subtotal
- Tax
+ get('logged_user_role') != 'Store Manager') { ?>
+ Subtotal
+ Tax
+
+ Issued From The Store
+
Total
Status
Actions
@@ -62,8 +67,13 @@
= $value['client_name']; ?>
= $value['client_mobile_no']; ?>
= $value['product_count']; ?>
- = $value['subtotal']; ?>
- = $value['tax']; ?>
+ get('logged_user_role') != 'Store Manager') { ?>
+ = $value['subtotal']; ?>
+ = $value['tax']; ?>
+
+
+
= $value['total']; ?>
= $value['status']; ?>
diff --git a/app/Views/layout/header.php b/app/Views/layout/header.php
index 4ea2aaf..0eee6e9 100644
--- a/app/Views/layout/header.php
+++ b/app/Views/layout/header.php
@@ -148,7 +148,10 @@
get('logged_user_role') == 'Floor Manager' ||
session()->get('logged_user_role') == 'Administrator' ||
- session()->get('logged_user_role') == 'Job Card Manager') {
+ session()->get('logged_user_role') == 'Job Card Manager' ||
+ session()->get('logged_user_role') == 'Store Manager' ||
+ session()->get('logged_user_role') == 'Senior Mechanic' ||
+ session()->get('logged_user_role') == 'Mechanic') {
?>
@@ -164,12 +167,14 @@
Job Card
-
- Vehicles
-
-
- Clients
-
+ get('logged_user_role') == 'Floor Manager' || session()->get('logged_user_role') == 'Administrator' || session()->get('logged_user_role') == 'Job Card Manager') { ?>
+
+ Vehicles
+
+
+ Clients
+
+
diff --git a/app/Views/product_form.php b/app/Views/product_form.php
index fea84cb..a7aed8e 100644
--- a/app/Views/product_form.php
+++ b/app/Views/product_form.php
@@ -183,19 +183,15 @@
Pricing Information :
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
-
-
-
Stock Information :
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -313,6 +320,23 @@