FIX_notification history mismatched
This commit is contained in:
parent
8a39ba1a54
commit
8af557dde1
@ -27,7 +27,7 @@ class Home extends BaseController
|
|||||||
$data['invoice'] = $model->invoice_dtls();
|
$data['invoice'] = $model->invoice_dtls();
|
||||||
// $data['active_category'] = $model->schemes();
|
// $data['active_category'] = $model->schemes();
|
||||||
$data['active_schemes'] = $model->active_schemes();
|
$data['active_schemes'] = $model->active_schemes();
|
||||||
$data['expiring_membership'] = $model->expiring_membership_list();
|
$data['expiring_membership'] = $model->expiring_membership_with_notification_list();
|
||||||
$data['notifications'] = $model->expiring_membership_list();
|
$data['notifications'] = $model->expiring_membership_list();
|
||||||
// print_r( $data['expiring_membership']);die;
|
// print_r( $data['expiring_membership']);die;
|
||||||
// $data['active_category'] = array_filter($model->schemes(), function ($element) {
|
// $data['active_category'] = array_filter($model->schemes(), function ($element) {
|
||||||
|
|||||||
@ -176,6 +176,48 @@ class HomeModel extends Model
|
|||||||
->getResultArray();
|
->getResultArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function expiring_membership_with_notification_list() {
|
||||||
|
$now = date('Y-m-d');
|
||||||
|
$last30days = date('Y-m-d', strtotime('+30 days'));
|
||||||
|
|
||||||
|
$membershipList = $this->db->table('subscription as S')
|
||||||
|
->join('customers as C', 'C.customer_id = S.customer_id', 'left')
|
||||||
|
->join('books as BK', 'BK.book_id = S.scheme_id', 'left')
|
||||||
|
->join('book_categories as BC', 'BC.book_id = S.scheme_id', 'left')
|
||||||
|
->join('category as CM', 'CM.id = BC.category_id', 'left')
|
||||||
|
->select('CM.name, CONCAT_WS(" ", C.first_name, C.last_name) as customer_name,
|
||||||
|
C.email as customer_email, C.mobile_no as customer_mobile,
|
||||||
|
S.sub_id, S.scheme_id, S.customer_id, S.business_id,
|
||||||
|
S.to_subscription, S.from_subscription, BK.title, BK.short_code, BK.book_id,
|
||||||
|
DATEDIFF(S.to_subscription, CURDATE()) as countdays,
|
||||||
|
DATE_FORMAT(S.to_subscription, "%d/%m/%Y") as to_subscription_date_format,
|
||||||
|
(
|
||||||
|
SELECT MAX(NHP.start_date_time)
|
||||||
|
FROM notification_campaign as NC
|
||||||
|
LEFT JOIN notification_history_parents as NHP ON NHP.campaign_id = NC.campaign_id
|
||||||
|
LEFT JOIN notification_history_children as NHC ON NHC.fkid = NHP.id
|
||||||
|
WHERE NHC.customer_id = C.customer_id AND NHC.receiving_entity LIKE "%@%" AND NHC.receiving_status = 1
|
||||||
|
) as email_last_notify_on,
|
||||||
|
(
|
||||||
|
SELECT MAX(NHP.start_date_time)
|
||||||
|
FROM notification_campaign as NC
|
||||||
|
LEFT JOIN notification_history_parents as NHP ON NHP.campaign_id = NC.campaign_id
|
||||||
|
LEFT JOIN notification_history_children as NHC ON NHC.fkid = NHP.id
|
||||||
|
WHERE NHC.customer_id = S.customer_id AND NHC.receiving_entity NOT LIKE "%@%" AND NHC.receiving_status = 1
|
||||||
|
AND NHC.receiving_status REGEXP "^[0-9]+$"
|
||||||
|
) as whatsapp_last_notify_on')
|
||||||
|
->where('S.to_subscription >=', $now)
|
||||||
|
->where('S.to_subscription <=', $last30days)
|
||||||
|
->where('S.isactive', 1)
|
||||||
|
->where('LOWER(CM.name)', strtolower("Membership"))
|
||||||
|
->orderBy('S.to_subscription', 'ASC')
|
||||||
|
->groupBy('S.sub_id')
|
||||||
|
->get()
|
||||||
|
->getResultArray();
|
||||||
|
return $membershipList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function book_published_dtls(){
|
public function book_published_dtls(){
|
||||||
|
|
||||||
if ((int)date('m') <= 3) {
|
if ((int)date('m') <= 3) {
|
||||||
|
|||||||
@ -133,74 +133,52 @@
|
|||||||
<h4 class="header-title mt-1">Expiring Membership List in next 30 days</h4>
|
<h4 class="header-title mt-1">Expiring Membership List in next 30 days</h4>
|
||||||
<div class="conversation-list" data-simplebar style="max-height: 255px !important">
|
<div class="conversation-list" data-simplebar style="max-height: 255px !important">
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-sm table-centered mb-0 font-14">
|
<table class="table table-sm table-centered mb-0 font-14">
|
||||||
<thead class="thead-light">
|
<thead class="thead-light">
|
||||||
<tr>
|
<tr>
|
||||||
<th style="width: 5%;">#</th>
|
<th style="width: 5%;">#</th>
|
||||||
<th style="width: 20%;">Name</th>
|
<th style="width: 20%;">Name</th>
|
||||||
<th style="width: 20%;">Mobile No</th>
|
<th style="width: 20%;">Mobile No</th>
|
||||||
<th style="width: 20%;">Email</th>
|
<th style="width: 20%;">Email</th>
|
||||||
<th style="width: 50%;">Scheme Name</th>
|
<th style="width: 50%;">Scheme Name</th>
|
||||||
<th style="width: 25%;">Expiring In</th>
|
<th style="width: 25%;">Expiring In</th>
|
||||||
<th style="width: 25%;">Notification On</th>
|
<th style="width: 25%;">Notification On</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php $tempinx = 0;
|
<?php
|
||||||
// echo "<pre>";
|
$tempinx = 0;
|
||||||
// print_r($expiring_membership);
|
if(!empty($expiring_membership)):
|
||||||
// echo "</pre>";
|
foreach ($expiring_membership as $e) :
|
||||||
if(!empty($expiring_membership)):
|
$daysincount = (int)$e['countdays'];
|
||||||
foreach ($expiring_membership as $e) :
|
$daysincountstring = ($daysincount == 0 ? 'Today' : ($daysincount == 1 ? 'Tomorrow' : $daysincount . ' days')); ?>
|
||||||
$daysincount = (int)$e['countdays'];
|
<tr>
|
||||||
$daysincountstring = ($daysincount == 0 ? 'Today' : ($daysincount == 1 ? 'Tomorrow' : $daysincount . ' days'));
|
<td><?= ++$tempinx; ?></td>
|
||||||
?>
|
<td><h5 class="mt-0 mb-1"><?= $e['customer_name']; ?></h5></td>
|
||||||
<tr>
|
<td><?= $e['customer_mobile'];?></td>
|
||||||
<!-- <td><?= $e['sub_id']; ?></td> -->
|
<td><?= $e['customer_email'];?></td>
|
||||||
<td><?= ++$tempinx; ?></td>
|
<td><?= $e['short_code']; ?></td>
|
||||||
<td><h5 class="mt-0 mb-1"><?= $e['customer_name']; ?></h5></td>
|
<td>
|
||||||
<td><?= $e['customer_mobile'];?></td>
|
<span class="badge badge-success badge-pill"><?= $daysincountstring; ?></span>
|
||||||
<td><?= $e['customer_email'];?></td>
|
<span class="font-13"><br><?= $e['to_subscription_date_format']; ?></span>
|
||||||
<td><?= $e['short_code']; ?></td>
|
</td>
|
||||||
<td><span class="badge badge-success badge-pill"><?= $daysincountstring; ?></span> <span class="font-13"><br><?= $e['to_subscription_date_format']; ?></span></td>
|
<td>
|
||||||
<td>
|
<?php
|
||||||
<?php
|
echo !empty($e['email_last_notify_on'])
|
||||||
$startDate = date('d/m/Y', strtotime($e['from_subscription']));
|
? date('d-m-Y h:i A', strtotime($e['email_last_notify_on']))
|
||||||
$endDate = date('d/m/Y', strtotime($e['to_subscription']));
|
: '';
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php endforeach;
|
||||||
|
else : ?>
|
||||||
|
<tr>
|
||||||
|
<td colspan="7"><center>No data found</center></td>
|
||||||
|
</tr>
|
||||||
|
<?php endif; ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
$notifications = $e['notifications'];
|
|
||||||
$emailNotifications = array_filter($notifications, function($notification) {
|
|
||||||
return $notification['mode'] === 'Email';
|
|
||||||
});
|
|
||||||
|
|
||||||
$lastNotification = end($emailNotifications);
|
|
||||||
$lastStartDateTime = ($lastNotification && isset($lastNotification['start_date_time'])) ? $lastNotification['start_date_time'] : '';
|
|
||||||
$startDateTime = $lastStartDateTime ? date('d/m/Y', strtotime($lastStartDateTime)) : '';
|
|
||||||
|
|
||||||
if(isset($lastNotification['receiving_status'])){
|
|
||||||
if ($startDateTime >= $startDate && $startDateTime <= $endDate) {
|
|
||||||
echo $startDateTime ;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
/*
|
|
||||||
<script>
|
|
||||||
var lastNotification = <?= empty($lastNotification) ? '' : json_encode($lastNotification) ?>;
|
|
||||||
console.log(lastNotification);
|
|
||||||
</script>
|
|
||||||
*/
|
|
||||||
?>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php endforeach; else : ?>
|
|
||||||
<tr>
|
|
||||||
<td colspan="7"><center>No data found</center></td>
|
|
||||||
</tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div> <!-- end table-responsive-->
|
</div> <!-- end table-responsive-->
|
||||||
</div>
|
</div>
|
||||||
</div> <!-- end card-body-->
|
</div> <!-- end card-body-->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user