File: /var/www/grapossconnect/franchise-admin/commission-detail.php
<?php
require('include/header.php');
require('include/sidebar.php');
$agentCode = $_REQUEST['agent'];
?>
<style>
.avatar {
border-radius: 50%;
align-items: center;
display: flex;
justify-content: center;
}
.avatar__image {
height: 50%;
width: 50%;
}
.separator {
align-items: center;
display: flex;
margin-top: 20px;
position: relative;
}
.separator__content {
background: #fff;
left: 50%;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
padding: 0 0.25rem;
width: 26%;
font-size: 14px;
font-weight: 600;
}
.separator__separator {
border-bottom: 1px solid #ed1d24;
height: 1px;
width: 100%;
}
.showonly {
pointer-events: none;
cursor: not-allowed;
}
</style>
<div id="content" class="app-content">
<div class="d-flex align-items-center mb-3">
<div>
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="dashboard">Home</a></li>
<li class="breadcrumb-item"><a href="javascript:;">Center</a></li>
<li class="breadcrumb-item active"><i class="fa fa-arrow-back"></i>Center Detail</li>
</ol>
</div>
</div>
<?php if (!empty($agentCode)) {
//INSERT
$curDate = date('Y-m-d H:i:s');
if (isset($_POST['savecommission'])) {
$product = sanitize_text_field($_POST['product']);
$sharetype = sanitize_text_field($_POST['sharetype']);
$commission_amount = floatval($_POST['commission_amount']);
$remark_notes = sanitize_text_field($_POST['remark_notes']);
$agentid = intval($_POST['agentid']);
$agentcode = sanitize_text_field($_POST['agentcode']);
$franchise_id = intval($_POST['franchise_id']);
$productExists = $wpdb->get_var("SELECT COUNT(*) FROM `grp_agents_product_comm` WHERE `product_id`='$product' AND agent_id = '$agentid' AND `agent_code`='$agentcode'");
if ($productExists > 0) {
$errors = 'Product already in use';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if (empty($product)) {
$errors = 'Product field is required.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if (empty($sharetype)) {
$errors = 'Sharetype field is required.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if ($commission_amount <= 0) {
$errors = 'Commission amount must be a positive number.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if (empty($agentid)) {
$errors = 'Agent ID field is required.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if (empty($agentcode)) {
$errors = 'Agent code field is required.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else if (empty($franchise_id)) {
$errors = 'Franchise ID field is required.';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
} else {
if($sharetype=='Percent'){
$shareVal = 'P';
} else if($sharetype=='Amount'){
$shareVal = 'A';
}
$saveSql = $wpdb->query("INSERT INTO `grp_agents_product_comm` SET `agent_id`='$agentid',`agent_code`='$agentcode',`mf_id`='$franchise_id',`product_id`='$product',`comm_share_type`='$shareVal',`commission_agent`='$commission_amount',`commission_mf`='',`active`='1',`remarks`='$remark_notes',`add_date`='$curDate'");
if ($saveSql) {
$message = 'New Commisson added Successfully';
$status = 1;
echo "<meta http-equiv='refresh' content='5'>";
// exit();
} else {
$errors = 'Commisson failed';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
}
}
}
//Password
if (isset($_POST['changepassword'])) {
$agentid = intval($_POST['agentid']);
$agentcode = sanitize_text_field($_POST['agentcode']);
$franchise_id = intval($_POST['franchise_id']);
$password = $_POST['new_password'];
$new_password = md5($password);
$sqlPassword = "UPDATE grp_agents SET `password` = '$new_password' WHERE agent_id = '$agentid' AND `agent_code`='$agentcode' AND `mf_id`='$franchise_id'";
if ($wpdb->query($sqlPassword)) {
$wpdb->query("INSERT INTO `gc_agent_password_history` SET `agent_id`='$agentid',`agent_code`='$agentcode',`mf_id`='$franchise_id',`password`='$password',`updated_by`='$franchise_id',`updated_date`='$curDate'");
$message = 'New Password Created Successfully';
$status = 1;
echo "<meta http-equiv='refresh' content='5'>";
// exit();
} else {
$errors = 'Password reset failed';
$status = 2;
echo "<meta http-equiv='refresh' content='1'>";
}
}
//AGENT DETAIL
$getAgent = $wpdb->get_row("SELECT a.agent_id, a.agent_code, a.agent_type, a.password, a.name, a.institute_name, a.email, a.mobile, a.dob, a.state_id, a.state_code, a.city_id, a.post_office, a.pincode, a.address, a.landmark, a.creation_date, s.state_name, w.balance_amount FROM grp_agents AS a LEFT JOIN grp_states AS s ON a.state_id=s.state_id LEFT JOIN grp_agents_wallet AS w ON a.agent_id=w.agent_id WHERE a.agent_code='$agentCode' AND a.mf_id='$loginID'");
$agentIDD = $getAgent->agent_id;
//COMMISSION LIST
$getCommSql = $wpdb->get_results("SELECT c.comm_id, c.agent_id, c.agent_code, c.mf_id, c.product_id, c.comm_share_type, c.commission_agent, c.commission_mf, a.name, p.product_name FROM grp_agents_product_comm AS c LEFT JOIN grp_agents AS a ON c.agent_id=a.agent_id LEFT JOIN grp_product AS p ON c.product_id = p.product_id WHERE c.agent_code='$agentCode' AND c.mf_id='$loginID' ORDER BY c.comm_id DESC");
//sttate
$states = $wpdb->get_results("SELECT state_id, state_name FROM `grp_states` ORDER BY state_name ASC ");
//product
$getProduct = $wpdb->get_results("SELECT `product_id`, `product_name` FROM `grp_product` WHERE `status`='A'");
//bank detail
$bankData = $wpdb->get_row("SELECT `id`, `agent_id`, `bank_name`, `account_holder`, `account_no`, `account_type`, `ifsc_code`, `pan_type`, `pan_no`, `gstin`, `status`, `add_date` FROM `grp_agents_bank_details` WHERE `agent_id`='$agentIDD'");
//random password
function generateRandomPassword($minLength = 6, $maxLength = 10)
{
$characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$passwordLength = rand($minLength, $maxLength);
$rpassword = '';
for ($i = 0; $i < $passwordLength; $i++) {
$rpassword .= $characters[rand(0, strlen($characters) - 1)];
}
return $rpassword;
}
$rpassword = generateRandomPassword();
?>
<div class="row">
<!-- user detail -->
<div class="col-lg-4">
<div class="card border-0 mb-4">
<div class="card-body">
<div class="avatar">
<img class="avatar__image" src="https://uat.grapossconnect.com/franchise-panel/assets/img/user.png" />
</div>
<div class="centering">
<div style="font-weight: 600; font-size:14px; text-align:center; margin-top:20px;"><?php echo $agentCode; ?> </div>
<div class="separator">
<div class="separator__content">Agent Detail</div>
<div class="separator__separator"></div>
</div>
<table class="table">
<tbody>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Wallet Amount : <span class="text-danger"> <i class="fa fa-inr"></i> <?php echo $getAgent->balance_amount; ?> </span> </b></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Name :</b> <?php echo $getAgent->name; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Email :</b> <?php echo $getAgent->email; ?></td>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Mobile :</b><?php echo $getAgent->mobile; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>State :</b> <?php echo $getAgent->state_name; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Created Date :</b> <?php echo $getAgent->creation_date; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;"><b>Date Of Birth :</b> <?php echo $getAgent->dob; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;" colspan="2"><b>Address :</b> <?php echo $getAgent->address; ?></td>
</tr>
<tr>
<td style="padding: 0.8rem 0.8rem;" colspan="2"><b>Institute Name :</b> <?php echo $getAgent->institute_name; ?></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- commission form -->
<div class="col-lg-8">
<?php if ($status == 1) { ?>
<div class="alert alert-success" role="alert"><?php echo $message; ?></div>
<?php } else if ($status == 2) { ?>
<div class="alert alert-danger" role="alert"><?php echo $errors; ?></div>
<?php } ?>
<div class="panel panel-inverse panel-with-tabs" data-sortable-id="ui-unlimited-tabs-1">
<div class="panel-heading p-0">
<div class="tab-overflow">
<ul class="nav nav-tabs nav-tabs-inverse">
<li class="nav-item"><a href="#agent-update" data-bs-toggle="tab" class="nav-link active">Agent Details</a></li>
<li class="nav-item"><a href="#bank-details" data-bs-toggle="tab" class="nav-link">Agent Bank Details</a></li>
<li class="nav-item"><a href="#commission-list" data-bs-toggle="tab" class="nav-link ">Product List</a></li>
<li class="nav-item"><a href="#commission-add" data-bs-toggle="tab" class="nav-link">Add New Product</a></li>
<li class="nav-item"><a href="#change-password" data-bs-toggle="tab" class="nav-link">Reset Password</a></li>
</ul>
</div>
</div>
<div class="panel-body tab-content">
<div class="tab-pane fade" id="commission-list">
<div class="table-responsive">
<table id="data-table-default" class="table table-striped table-bordered align-middle" style="width: 100% !important;">
<thead>
<tr>
<th width="1%"></th>
<th class="text-nowrap">Agent Code</th>
<th class="text-nowrap">Agent Name</th>
<th class="text-nowrap">Product</th>
<th class="text-nowrap">Share type</th>
<th class="text-nowrap">Agent commission</th>
</tr>
</thead>
<tbody>
<?php
$i = 1;
foreach ($getCommSql as $comm) {
?>
<tr class="odd gradeX">
<th scope="row"><?php echo $i; ?></th>
<td class="fw-bold text-dark"><?php echo $comm->agent_code; ?></td>
<td><?php echo $comm->name; ?></td>
<td><?php echo $comm->product_name; ?></td>
<td><?php if($comm->comm_share_type=='P'){ echo 'Percent'; } else if($comm->comm_share_type=='A'){ echo 'Amount'; } ?></td>
<td><?php echo $comm->commission_agent; ?></td>
</tr>
<?php $i++;
} ?>
</tbody>
</table>
</div>
</div>
<!-- personal detail -->
<div class="tab-pane fade active show" id="agent-update">
<form method="POST">
<div class="card border-0 mb-4">
<div class="card-header h6 mb-0 bg-grey p-3">
<i class="fa fa-user fa-lg fa-fw text-dark text-opacity-50 me-1"></i> Personal Detail
</div>
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="mb-3">
<label class="form-label">Name<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="name" name="name" placeholder="Center Name" value="<?php echo $getAgent->name; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Email address<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="Email" name="email" placeholder="Enter email" value="<?php echo $getAgent->email; ?>">
</div>
</div>
<div class="col-12">
<div class="mb-3">
<label class="form-label">Center Name</label>
<input type="text" class="form-control showonly" id="Center" name="centername" placeholder="Enter Center Name" value="<?php echo $getAgent->institute_name; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Mobile No<span class="text-danger">*</span></label>
<input type="text" name="mobileno" class="form-control showonly" id="mobile" placeholder="Enter Mobile No" value="<?php echo $getAgent->mobile; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Date of Birth<span class="text-danger">*</span></label>
<input type="date" class="form-control showonly" id="dob" name="dob" placeholder="Enter Date of Birth" value="<?php echo $getAgent->dob; ?>">
</div>
</div>
<div class="col-4">
<div class="mb-3">
<label class="form-label">State<span class="text-danger">*</span></label>
<select name="cmbState" id="cmbState" class="form-control showonly">
<option value="0">-- State --</option>
<?php foreach ($states as $st) {
if ($st->state_id == $getAgent->state_id) {
$selected = 'selected';
} else {
$selected = '';
}
?>
<option value="<?php echo $st->state_id; ?>" <?php echo $selected; ?>><?php echo $st->state_name; ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-4">
<div class="mb-3">
<label class="form-label">City<span class="text-danger">*</span></label>
<select name="cmbCity" id="cmbCity" class="form-control showonly">
<option value="0">-- City --</option>
</select>
</div>
</div>
<div class="col-4">
<div class="mb-3">
<label class="form-label">Pincode<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="pincode" name="pincode" placeholder="Enter Pincode" value="<?php echo $getAgent->pincode; ?>">
</div>
</div>
<div class="col-12">
<div class="mb-3">
<label class="form-label">Address</label>
<input type="text" class="form-control showonly" id="address" name="address" placeholder="Enter Address" value="<?php echo $getAgent->address; ?>">
</div>
</div>
<div class="col-12">
<div class="mb-3">
<label class="form-label">Landmark</label>
<input type="text" class="form-control showonly" id="Landmark" name="landmark" placeholder="Enter Landmark" value="<?php echo $getAgent->landmark; ?>">
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- commission form -->
<div class="tab-pane fade" id="commission-add">
<form method="POST" autocomplete="off">
<fieldset>
<div class="row">
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Select Product<span class="text-danger">*</span></label>
<select name="product" id="product" class="form-control">
<option value="0">-- Select Product --</option>
<?php foreach ($getProduct as $pro) { ?>
<option value="<?php echo $pro->product_id; ?>"><?php echo $pro->product_name; ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-md-6">
<div class="mb-3">
<label class="form-label">Share Type<span class="text-danger">*</span></label>
<input class="form-control" type="text" name="sharetype" id="sharetype" placeholder="Share Type" readonly />
</div>
</div>
<div class="col-md-12">
<div class="mb-3">
<label class="form-label">Commission Amount<span class="text-danger">*</span></label>
<input class="form-control" type="text" name="commission_amount" id="commission_amount" placeholder="Enter Commission Amount" readonly />
</div>
</div>
<div class="col-md-12">
<div class="mb-3">
<textarea class="form-control" name="remark_notes" id="remark_notes" placeholder="Any Message & Notes Regarding Commission"></textarea>
</div>
</div>
</div>
<input type="hidden" name="agentid" value="<?php echo $getAgent->agent_id; ?>">
<input type="hidden" name="agentcode" value="<?php echo $getAgent->agent_code; ?>">
<input type="hidden" name="franchise_id" value="<?php echo $loginID; ?>">
<button type="submit" name="savecommission" class="btn btn-primary w-200px me-5px"><i class="fas fa-check"></i> CLICK TO SAVE DATA</button>
<button type="reset" class="btn btn-default w-100px">Cancel</button>
</fieldset>
</form>
</div>
<!-- Banking detail -->
<div class="tab-pane fade" id="bank-details">
<form method="POST">
<div class="card border-0 mb-4">
<div class="card-header h6 mb-0 bg-grey p-3">
<i class="fa fa-list fa-lg fa-fw text-dark text-opacity-50 me-1"></i> Banking Detail
</div>
<div class="card-body">
<div class="row">
<div class="col-6">
<div class="mb-3">
<label class="form-label">Bank Name<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="bankname" name="bankname" placeholder="Bank Name" value="<?php echo $bankData->bank_name; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Account Holder Name<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="accountholder" name="accountholder" placeholder="Enter Account Holder Name" value="<?php echo $bankData->account_holder; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Account Number<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="accountno" name="accountno" placeholder="Enter Account Number" value="<?php echo $bankData->account_no; ?>">
</div>
</div>
<div class="col-xl-4">
<div class="mb-3">
<label class="form-label">IFSC CODE<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="ifsccode" name="ifsccode" placeholder="EX - SBIN001XXXX" value="<?php echo $bankData->ifsc_code; ?>">
</div>
</div>
<div class="col-xl-2">
<div class="mb-3">
<label class="form-label">Account Type<span class="text-danger">*</span></label>
<select class="form-control showonly" id="accountype" name="accountype">
<option value="0">Select Account Type</option>
<option value="S" <?php if ($bankData->account_type == 'S') {
echo 'selected';
} ?>>Saving</option>
<option value="C" <?php if ($bankData->account_type == 'C') {
echo 'selected';
} ?>>Current</option>
</select>
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">Enter Pan Number<span class="text-danger">*</span></label>
<input type="text" class="form-control showonly" id="pancard" name="pancard" placeholder="EX - ABCTY1234D" value="<?php echo $bankData->pan_no; ?>">
</div>
</div>
<div class="col-6">
<div class="mb-3">
<label class="form-label">GST Number</label>
<input type="text" class="form-control showonly" id="gstnumber" name="gstno" placeholder="EX - 07XXXXX2194N1Z1" value="<?php echo $bankData->gstin; ?>">
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- change password -->
<div class="tab-pane fade" id="change-password">
<form method="POST" autocomplete="off">
<div class="card border-0 mb-4">
<div class="card-header h6 mb-0 bg-grey p-3">
<i class="fa fa-list fa-lg fa-fw text-dark text-opacity-50 me-1"></i> RESET PASSWORD
</div>
<div class="card-body">
<fieldset>
<div class="row">
<div class="col-md-12">
<div class="mb-3">
<label class="form-label">Reset Password<span class="text-danger">*</span></label>
<input class="form-control" type="text" name="new_password" id="new_password" placeholder="Enter New Password" value="<?php echo $rpassword; ?>" required/>
</div>
</div>
</div>
<input type="hidden" name="agentid" value="<?php echo $getAgent->agent_id; ?>">
<input type="hidden" name="agentcode" value="<?php echo $getAgent->agent_code; ?>">
<input type="hidden" name="franchise_id" value="<?php echo $loginID; ?>">
<button type="submit" name="changepassword" class="btn btn-primary w-200px me-5px"><i class="fas fa-check"></i> CLICK TO RESET PASSWORD</button>
<button type="reset" class="btn btn-default w-100px">Cancel</button>
</fieldset>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php } else {
echo 'No User Found';
} ?>
</div>
<?php require('include/footer-data.php'); ?>
<script>
$(document).on('change', '#product', function() {
var product = $(this).val();
if (product !== "") {
$.ajax({
url: "api/api_for_get_product_commission.php",
method: "GET",
data: { product_id: product },
success: function(response) {
var centerShare = response.center_share;
var typeShare = response.share_type;
$("#commission_amount").val(centerShare);
$("#sharetype").val(typeShare);
},
error: function() {
console.log("Error occurred during AJAX request.");
}
});
}
});
</script>