diff --git a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php
index 19fc5583..549a01a0 100644
--- a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php
+++ b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php
@@ -20,6 +20,7 @@ use Modules\Internal\Services\MemberEnrollmentService;
use PDF;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\Builder;
+use Illuminate\Support\Facades\File;
class CorporateMemberController extends Controller
{
@@ -393,4 +394,36 @@ class CorporateMemberController extends Controller
"file_url" => url('files/CorporateMembershipList.xlsx')
]);
}
+
+ public function sendAllECard(Request $request, $corporate_id){
+ $members = DB::table('members')
+ ->leftJoin('corporate_employees', 'members.id', '=', 'corporate_employees.member_id')
+ ->where('corporate_employees.corporate_id', $corporate_id)
+ ->get()
+ ->toArray();
+
+
+ foreach($members as $member){
+ $pdf = PDF::loadView('pdf.ecard', compact(['member']));
+ // Simpan file PDF ke direktori yang diinginkan
+ $pdfPath = storage_path('app/pdf/ecards/E-card-' . $member->name . '.pdf');
+ // Cek apakah file sudah ada
+ if (!File::exists($pdfPath)) {
+ $pdf = PDF::loadView('pdf.ecard', compact('member'));
+ $pdf->save($pdfPath);
+ }
+
+ $dataEmail = [
+ 'email' => $member->email,
+ 'name' => $member->name,
+ 'subject' => 'Digital E Card '. $member->name,
+ 'body' => '
Hi ' . $member->name . '
',
+ 'attach' => $pdfPath,
+ ];
+ $sendEmail = Helper::sendEmailattachData($dataEmail);
+ }
+
+ return true;
+
+ }
}
diff --git a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php
index 09347128..1d70de74 100644
--- a/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php
+++ b/Modules/Internal/Http/Controllers/Api/DailyMonitoringController.php
@@ -68,7 +68,7 @@ class DailyMonitoringController extends Controller
$claimList = DB::table('request_logs')
->leftJoin('services', 'services.code', '=', 'request_logs.service_code')
->leftJoin('members', 'members.id', '=', 'request_logs.member_id')
- ->select('request_logs.id','request_logs.submission_date AS admission_date','request_logs.discharge_date','request_logs.code','services.name as service_name','request_logs.status','members.name',)
+ ->select('request_logs.id','request_logs.submission_date AS admission_date','request_logs.discharge_date','request_logs.code','services.name as service_name','request_logs.status','members.name', 'members.member_id')
->where('request_logs.service_code', 'IP')
->where('request_logs.status_final_log', 'approved')
->where("request_logs.member_id", "=", $memberDetail->id)
diff --git a/Modules/Internal/Routes/api.php b/Modules/Internal/Routes/api.php
index c97454bd..4a262d30 100644
--- a/Modules/Internal/Routes/api.php
+++ b/Modules/Internal/Routes/api.php
@@ -284,6 +284,8 @@ Route::prefix('internal')->group(function () {
Route::resource('doctors', DoctorController::class);
Route::post('generate-log/{member_id}', [CorporateMemberController::class, 'generateLog']);
+
+ Route::post('send_card/{corporate_id}', [CorporateMemberController::class, 'sendAllECard']);
Route::controller(ClaimRequestController::class)->group(function () {
Route::post('files-mcu', 'filesMcu');
});
diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php
index 5ce5c9a4..12eb9f96 100644
--- a/app/Helpers/Helper.php
+++ b/app/Helpers/Helper.php
@@ -317,7 +317,6 @@ class Helper
{
// Buat instance PHPMailer
$mail = new PHPMailer(true);
-
try {
// Server settings
$mail->isSMTP();
@@ -341,8 +340,46 @@ class Helper
// Kirim email
$mail->send();
return true;
+
} catch (\Exception $e) {
- //var_dump($mail->ErrorInfo);die();
+ dd($e);
+ return ($mail->ErrorInfo);
+ return false;
+ }
+ }
+
+ public static function sendEmailattachData($data = array())
+ {
+ // Buat instance PHPMailer
+ $mail = new PHPMailer(true);
+ try {
+ // Server settings
+ $mail->isSMTP();
+ $mail->Host = 'smtp.gmail.com';
+ $mail->SMTPAuth = true;
+ $mail->Username = env('EMAIL');
+ $mail->Password = env('PW_EMAIL');
+ $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
+ $mail->Port = 465;
+ $mail->SMTPSecure = "ssl";
+
+ // Penerima email
+ $mail->setFrom(env('EMAIL'), env('NAME_EMAIL'));
+ $mail->addAddress($data['email'], $data['name']);
+
+ // Konten email
+ $mail->isHTML(true);
+ $mail->Subject = $data['subject'];
+ $mail->Body = $data['body'];
+ $mail->addAttachment($data['attach'], 'e-card.pdf');
+
+ // Kirim email
+ $mail->send();
+ return true;
+
+ } catch (\Exception $e) {
+ dd($mail->ErrorInfo);
+ return ($mail->ErrorInfo);
return false;
}
}
diff --git a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx
index 67e46a89..3b758f82 100644
--- a/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx
+++ b/frontend/dashboard/src/pages/CaseManagement/DailyMonitoring/Components/ClaimListRow.tsx
@@ -89,11 +89,11 @@ export default function ClaimListRow ({ ...props }: Props) {
-