FIX_Customer Subscription Invoice : ps

This commit is contained in:
VE10-Sanjeev 2024-07-29 06:07:59 +00:00
parent c4f86a1534
commit a1460ccfd7
2 changed files with 45 additions and 32 deletions

View File

@ -159,9 +159,9 @@ class CustomerModel extends Model
public function getSubscriberDataByCustomerId($customerId)
{
// Default invoice type is 2 (subscription).
$where = ['subscription.customer_id'=> $customerId,'invoice.invoice_type' => 2,'subscription.isactive' => 1];
$where = ['subscription.customer_id'=> $customerId,'invoice.invoice_type' => 2];
$builder = $this->db->table('subscription');
$builder->select('subscription.sub_id,subscription.scheme_id,subscription.customer_id,subscription.invoice_id,subscription.isactive,invoice.invoice_number,invoice.status,books.title, DATE_FORMAT(subscription.from_subscription, "%d/%m/%Y") AS formatted_from_subscription, DATE_FORMAT(subscription.to_subscription, "%d/%m/%Y") AS formatted_to_subscription, DATEDIFF(subscription.to_subscription, subscription.from_subscription) as subscription_in_days');
$builder->select('subscription.sub_id,subscription.scheme_id,subscription.customer_id,subscription.invoice_id,subscription.isactive,invoice.invoice_number,invoice.status,books.title, subscription.from_subscription,subscription.to_subscription,DATE_FORMAT(subscription.from_subscription, "%d/%m/%Y") AS formatted_from_subscription, DATE_FORMAT(subscription.to_subscription, "%d/%m/%Y") AS formatted_to_subscription, DATEDIFF(subscription.to_subscription, subscription.from_subscription) as subscription_in_days');
$builder->join('books', 'books.book_id = subscription.scheme_id', 'left');
$builder->join('invoice', 'subscription.invoice_id = invoice.invoice_id', 'left');
$builder->where($where);

View File

@ -2,7 +2,12 @@
<div class="col-lg-12">
<div class="card">
<div class="card-body">
<h4 class="header-title"><?= $page_name; ?></h4>
<?php $fullName = trim( (isset($customer['first_name']) ? $customer['first_name'] : '' ). ' ' .
(isset($customer['last_name']) ? $customer['last_name'] : '')
);
?>
<h4 class="header-title"><?= $page_name === 'Edit Customer Details' ? htmlspecialchars($fullName)." - Customer Details" : $page_name; ?></h4>
<?php if ($page_name === 'Edit Customer Details') : ?>
<ul class="nav nav-tabs" id="customerTabs" role="tablist">
<li class="nav-item">
@ -28,7 +33,7 @@
<label for="cfname" class="col-form-label">First Name<span class="text-danger"> *</span></label>
<input type="text" class="form-control" id="cfname" name="cfname" value="<?= isset($customer['first_name']) ? $customer['first_name'] : '' ?>" placeholder="First Name" required />
<div class="invalid-feedback"> Please provide. </div>
</div>
</div>
<div class="form-group col-md-4">
<label for="csname" class="col-form-label">Last Name<span class="text-danger"> *</span></label>
<input type="text" class="form-control" name="csname" value="<?= isset($customer['last_name']) ? $customer['last_name'] : '' ?>" placeholder="Last Name" />
@ -273,38 +278,46 @@
</thead>
<tbody>
<?php foreach ($subscriptions as $subscription) :
$daysRemaining = (int)$subscription->subscription_in_days;
$fromDateTime = (new DateTime($subscription->formatted_from_subscription))->format('Y-m-d');
$toDateTime = (new DateTime($subscription->formatted_from_subscription))->format('Y-m-d');
$currentDate = (new DateTime())->format('Y-m-d');
if ($currentDate === $toDateTime) {
$class = 'text-danger';
$message = "Expired on Today";
} elseif ($currentDate > $toDateTime) {
<?php foreach ($subscriptions as $row) : ?>
<?php
$from_date = date('d/m/Y', strtotime($row->from_subscription));
$to_date = date('d/m/Y', strtotime($row->to_subscription));
$daysRemaining = (int)$row->subscription_in_days;
$fromDateTime = new DateTime($row->from_subscription);
$toDateTime = new DateTime($row->to_subscription);
$currentDate = new DateTime();
$currentDate->setTime(0, 0, 0);
$toDateTime->setTime(0, 0, 0);
$interval = $currentDate->diff($toDateTime);
$daysRemaining = $interval->days;
if ($currentDate > $toDateTime) {
$daysRemaining = -$daysRemaining;
}
if ($daysRemaining < 0) {
$class = 'text-danger';
$message = "Expired";
} elseif ($daysRemaining == 0) {
$class = 'text-danger';
$message = "Expires Today";
} elseif ($daysRemaining == 1) {
$class = 'text-warning';
$message = "Expires Tomorrow";
} elseif ($daysRemaining <= 7) {
$class = 'text-warning';
$message = "Expires in $daysRemaining days";
} else {
if ($daysRemaining == 1) {
$class = 'text-warning';
$message = "Expires in 1 day";
} elseif ($daysRemaining <= 7) {
$class = 'text-warning';
$message = "Expires in $daysRemaining days";
} else {
$class = 'text-success';
$message = "$daysRemaining days until expiration";
}
}
?>
$class = 'text-success';
$message = "$daysRemaining days until expiration";
}
?>
<tr>
<td><?= $subscription->title ?></td>
<td><?= $subscription->formatted_from_subscription ?></td>
<td><?= $subscription->formatted_to_subscription ?></td>
<td><?= $subscription->invoice_number ?></td>
<td><?= $subscription->status ?></td>
<td><span class="<?php echo $class; ?>"><?php echo $message; ?></span></td>
<td><?= $row->title ?></td>
<td><?= $row->formatted_from_subscription ?></td>
<td><?= $row->formatted_to_subscription ?></td>
<td><?= $row->invoice_number ?></td>
<td><?= $row->status ?></td>
<td><span class="<?php echo $class; ?>"><?php echo $message; ?></span></td>
</tr>
<?php endforeach; ?>
</tbody>