Files
HRM-System/app/Models/NocTemplate.php
2026-04-13 08:16:56 +08:00

74 lines
8.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Log;
class NocTemplate extends Model
{
use HasFactory;
protected $fillable = [
'language',
'content',
'variables',
'created_by'
];
public function creator()
{
return $this->belongsTo(User::class, 'created_by');
}
public static function getTemplate($language, $createdBy = null)
{
return self::where('language', $language)
->where('created_by', $createdBy)
->first();
}
public static function createTemplatesForCompany($companyId)
{
$templates = [
'ar' => '<h2>شهادة عدم ممانعة</h2><p>التاريخ: {date}</p><p>إلى من يهمه الأمر،</p><p>نشهد بأن <strong>{employee_name}</strong> يعمل حالياً لدى {company_name} بمنصب {designation}.</p><p>ليس لدينا أي اعتراض على الموظف المذكور أعلاه لأي أغراض رسمية.</p><p>مع خالص التقدير،<br><strong>قسم الموارد البشرية</strong><br>{company_name}</p>',
'da' => '<h2>Ingen indsigelse certifikat</h2><p>Dato: {date}</p><p>Til hvem det måtte vedkomme,</p><p>Dette er for at bekræfte, at <strong>{employee_name}</strong> i øjeblikket er ansat hos {company_name} som {designation}.</p><p>Vi har ingen indvendinger mod ovennævnte medarbejder til officielle formål.</p><p>Med venlig hilsen,<br><strong>HR-afdelingen</strong><br>{company_name}</p>',
'de' => '<h2>Unbedenklichkeitsbescheinigung</h2><p>Datum: {date}</p><p>An wen es betrifft,</p><p>Hiermit wird bestätigt, dass <strong>{employee_name}</strong> derzeit bei {company_name} als {designation} beschäftigt ist.</p><p>Wir haben keine Einwände gegen den oben genannten Mitarbeiter für offizielle Zwecke.</p><p>Mit freundlichen Grüßen,<br><strong>Personalabteilung</strong><br>{company_name}</p>',
'en' => '<h2>No Objection Certificate</h2><p>Date: {date}</p><p>To Whom It May Concern,</p><p>This is to certify that <strong>{employee_name}</strong> is currently employed with {company_name} as {designation}.</p><p>We have no objection to the above mentioned employee for any official purposes.</p><p>Sincerely,<br><strong>HR Department</strong><br>{company_name}</p>',
'es' => '<h2>Certificado de No Objeción</h2><p>Fecha: {date}</p><p>A quien corresponda,</p><p>Por la presente certificamos que <strong>{employee_name}</strong> está actualmente empleado en {company_name} como {designation}.</p><p>No tenemos objeción alguna al empleado mencionado anteriormente para cualquier propósito oficial.</p><p>Atentamente,<br><strong>Departamento de RRHH</strong><br>{company_name}</p>',
'fr' => '<h2>Certificat de Non-Objection</h2><p>Date: {date}</p><p>À qui de droit,</p><p>Ceci certifie que <strong>{employee_name}</strong> est actuellement employé chez {company_name} en tant que {designation}.</p><p>Nous n\'avons aucune objection concernant l\'employé mentionné ci-dessus à des fins officielles.</p><p>Cordialement,<br><strong>Département RH</strong><br>{company_name}</p>',
'he' => '<h2>תעודת אי התנגדות</h2><p>תאריך: {date}</p><p>למי שזה נוגע,</p><p>זאת להעיד כי <strong>{employee_name}</strong> מועסק כעת ב-{company_name} בתפקיד {designation}.</p><p>אין לנו התנגדות לעובד הנ"ל לכל מטרה רשמית.</p><p>בכבוד רב,<br><strong>מחלקת משאבי אנוש</strong><br>{company_name}</p>',
'it' => '<h2>Certificato di Non Obiezione</h2><p>Data: {date}</p><p>A chi di competenza,</p><p>Si certifica che <strong>{employee_name}</strong> è attualmente impiegato presso {company_name} come {designation}.</p><p>Non abbiamo obiezioni riguardo al suddetto dipendente per scopi ufficiali.</p><p>Cordiali saluti,<br><strong>Dipartimento HR</strong><br>{company_name}</p>',
'ja' => '<h2>異議なし証明書</h2><p>日付: {date}</p><p>関係者各位</p><p><strong>{employee_name}</strong>が現在{company_name}で{designation}として雇用されていることを証明いたします。</p><p>上記従業員に関して、公的な目的での異議はございません。</p><p>敬具<br><strong>人事部</strong><br>{company_name}</p>',
'nl' => '<h2>Geen Bezwaar Certificaat</h2><p>Datum: {date}</p><p>Aan wie het betreft,</p><p>Hierbij wordt bevestigd dat <strong>{employee_name}</strong> momenteel werkzaam is bij {company_name} als {designation}.</p><p>Wij hebben geen bezwaar tegen bovengenoemde werknemer voor officiële doeleinden.</p><p>Met vriendelijke groet,<br><strong>HR Afdeling</strong><br>{company_name}</p>',
'pl' => '<h2>Certyfikat Braku Sprzeciwu</h2><p>Data: {date}</p><p>Do kogo to dotyczy,</p><p>Niniejszym poświadczamy, że <strong>{employee_name}</strong> jest obecnie zatrudniony w {company_name} na stanowisku {designation}.</p><p>Nie mamy sprzeciwu wobec wyżej wymienionego pracownika w celach urzędowych.</p><p>Z poważaniem,<br><strong>Dział HR</strong><br>{company_name}</p>',
'pt' => '<h2>Certificado de Não Objeção</h2><p>Data: {date}</p><p>A quem possa interessar,</p><p>Certificamos que <strong>{employee_name}</strong> está atualmente empregado na {company_name} como {designation}.</p><p>Não temos objeção ao funcionário mencionado acima para fins oficiais.</p><p>Atenciosamente,<br><strong>Departamento de RH</strong><br>{company_name}</p>',
'pt-BR' => '<h2>Certificado de Não Objeção</h2><p>Data: {date}</p><p>A quem possa interessar,</p><p>Certificamos que <strong>{employee_name}</strong> está atualmente empregado na {company_name} como {designation}.</p><p>Não temos objeção ao funcionário mencionado acima para fins oficiais.</p><p>Atenciosamente,<br><strong>Departamento de RH</strong><br>{company_name}</p>',
'ru' => '<h2>Справка об отсутствии возражений</h2><p>Дата: {date}</p><p>Кого это касается,</p><p>Настоящим подтверждаем, что <strong>{employee_name}</strong> в настоящее время работает в {company_name} в должности {designation}.</p><p>У нас нет возражений против вышеупомянутого сотрудника для официальных целей.</p><p>С уважением,<br><strong>Отдел кадров</strong><br>{company_name}</p>',
'tr' => '<h2>İtiraz Yok Belgesi</h2><p>Tarih: {date}</p><p>İlgili Makama,</p><p><strong>{employee_name}</strong> adlı kişinin {company_name} şirketinde {designation} pozisyonunda çalıştığını onaylarız.</p><p>Yukarıda belirtilen çalışanımız için resmi amaçlar doğrultusunda herhangi bir itirazımız bulunmamaktadır.</p><p>Saygılarımızla,<br><strong>İnsan Kaynakları Departmanı</strong><br>{company_name}</p>',
'zh' => '<h2>无异议证明</h2><p>日期:{date}</p><p>致相关人员:</p><p>兹证明<strong>{employee_name}</strong>目前在{company_name}担任{designation}职位。</p><p>我们对上述员工用于官方目的无任何异议。</p><p>此致<br><strong>人力资源部</strong><br>{company_name}</p>'
];
$variables = json_encode(['date', 'company_name', 'employee_name', 'designation']);
try {
foreach ($templates as $language => $content) {
self::updateOrCreate(
[
'language' => $language,
'created_by' => $companyId
],
[
'content' => $content,
'variables' => $variables
]
);
}
return true;
} catch (\Exception $e) {
Log::error('Failed to create NOC templates for company ID: ' . $companyId . '. Error: ' . $e->getMessage());
return false;
}
}
}