Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f8022279ad | |||
| 763638abd5 | |||
| 99bc442495 | |||
| 61fe16a0ea | |||
| 14979dba4b |
+38
-7
@@ -58,9 +58,28 @@ class DirectAccessReportGenerator
|
|||||||
? trim($contact->get('firstName') . ' ' . $contact->get('lastName'))
|
? trim($contact->get('firstName') . ' ' . $contact->get('lastName'))
|
||||||
: 'ללא איש קשר';
|
: 'ללא איש קשר';
|
||||||
|
|
||||||
// Get assigned user name
|
// Get assigned user name — prefer case's assignedUser, then userId, then current user
|
||||||
$assignedUser = $userId ? $this->entityManager->getEntityById('User', $userId) : null;
|
$assignedUserName = '';
|
||||||
$assignedUserName = $assignedUser ? $assignedUser->get('name') : ($this->user->get('name') ?? '');
|
$caseAssignedUserId = $case->get('assignedUserId');
|
||||||
|
if ($caseAssignedUserId) {
|
||||||
|
$caseAssignedUser = $this->entityManager->getEntityById('User', $caseAssignedUserId);
|
||||||
|
if ($caseAssignedUser) {
|
||||||
|
$assignedUserName = $caseAssignedUser->get('name') ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty($assignedUserName) && $userId) {
|
||||||
|
$assignedUser = $this->entityManager->getEntityById('User', $userId);
|
||||||
|
if ($assignedUser) {
|
||||||
|
$assignedUserName = $assignedUser->get('name') ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (empty($assignedUserName)) {
|
||||||
|
$assignedUserName = $this->user->get('name') ?? '';
|
||||||
|
}
|
||||||
|
// Filter out system/API user names
|
||||||
|
if (in_array(strtolower($assignedUserName), ['api', 'x-api-key', 'system', 'admin'], true)) {
|
||||||
|
$assignedUserName = '';
|
||||||
|
}
|
||||||
|
|
||||||
// Build placeholder data directly from params
|
// Build placeholder data directly from params
|
||||||
$data = $this->buildPlaceholderData($params, $case, $contactName, $assignedUserName);
|
$data = $this->buildPlaceholderData($params, $case, $contactName, $assignedUserName);
|
||||||
@@ -131,11 +150,22 @@ class DirectAccessReportGenerator
|
|||||||
$legalAnalysis = $params['legalAnalysis'] ?? [];
|
$legalAnalysis = $params['legalAnalysis'] ?? [];
|
||||||
if (is_string($legalAnalysis)) {
|
if (is_string($legalAnalysis)) {
|
||||||
$legalAnalysis = json_decode($legalAnalysis, true) ?? [];
|
$legalAnalysis = json_decode($legalAnalysis, true) ?? [];
|
||||||
|
} elseif (is_object($legalAnalysis)) {
|
||||||
|
$legalAnalysis = (array) $legalAnalysis;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback: if AI sent legalAnalysis fields flat (not nested), pick them up
|
||||||
|
$laFields = ['q1DocsDetail', 'q2ReasonDetail', 'q4PanelComposition', 'q6ComplaintsDetail',
|
||||||
|
'q8ClinicalGap', 'q9MoharaDetail', 'q10RehabDetail', 'q11ScoreDetail', 'q12UniqueDetail'];
|
||||||
|
foreach ($laFields as $f) {
|
||||||
|
if (empty($legalAnalysis[$f]) && !empty($params[$f])) {
|
||||||
|
$legalAnalysis[$f] = $params[$f];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return [
|
return [
|
||||||
// Header
|
// Header
|
||||||
'legalAidNumber' => $params['legalAidNumber'] ?? $case->get('cLegalAidNumber') ?? '',
|
'cLegalAidNumber' => $params['legalAidNumber'] ?? $case->get('cLegalAidNumber') ?? '',
|
||||||
'contactName' => $contactName,
|
'contactName' => $contactName,
|
||||||
'assignedUserName' => $assignedUserName,
|
'assignedUserName' => $assignedUserName,
|
||||||
'reportDate' => $this->formatDate(date('Y-m-d')),
|
'reportDate' => $this->formatDate(date('Y-m-d')),
|
||||||
@@ -186,8 +216,8 @@ class DirectAccessReportGenerator
|
|||||||
|
|
||||||
private function addCheckboxData(array &$data, array $params): void
|
private function addCheckboxData(array &$data, array $params): void
|
||||||
{
|
{
|
||||||
$CHK = '☑';
|
$CHK = "☑\u{00A0}";
|
||||||
$UNCHK = '☐';
|
$UNCHK = "☐\u{00A0}";
|
||||||
|
|
||||||
$urgency = $params['urgencyLevel'] ?? '';
|
$urgency = $params['urgencyLevel'] ?? '';
|
||||||
$data['chk_urgency_regular'] = ($urgency === 'רגיל') ? $CHK : $UNCHK;
|
$data['chk_urgency_regular'] = ($urgency === 'רגיל') ? $CHK : $UNCHK;
|
||||||
@@ -211,6 +241,7 @@ class DirectAccessReportGenerator
|
|||||||
$data['chk_contact_bad'] = ($contactStatus === 'לא תקין') ? $CHK : $UNCHK;
|
$data['chk_contact_bad'] = ($contactStatus === 'לא תקין') ? $CHK : $UNCHK;
|
||||||
|
|
||||||
$rec = $params['recommendationType'] ?? '';
|
$rec = $params['recommendationType'] ?? '';
|
||||||
|
$data['chk_rec_proceed'] = ($rec === 'המשך ייצוג') ? $CHK : $UNCHK;
|
||||||
$data['chk_rec_consulting'] = ($rec === 'ייעוץ והדרכה חלף ייצוג') ? $CHK : $UNCHK;
|
$data['chk_rec_consulting'] = ($rec === 'ייעוץ והדרכה חלף ייצוג') ? $CHK : $UNCHK;
|
||||||
$data['chk_rec_waiver'] = ($rec === 'ויתור הלקוח') ? $CHK : $UNCHK;
|
$data['chk_rec_waiver'] = ($rec === 'ויתור הלקוח') ? $CHK : $UNCHK;
|
||||||
$data['chk_rec_replacement'] = ($rec === 'החלפת ייצוג') ? $CHK : $UNCHK;
|
$data['chk_rec_replacement'] = ($rec === 'החלפת ייצוג') ? $CHK : $UNCHK;
|
||||||
@@ -361,7 +392,7 @@ class DirectAccessReportGenerator
|
|||||||
{
|
{
|
||||||
if (!$date) return '';
|
if (!$date) return '';
|
||||||
if (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', $date, $m)) {
|
if (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', $date, $m)) {
|
||||||
return "{$m[3]}/{$m[2]}/{$m[1]}";
|
return "{$m[3]}.{$m[2]}.{$m[1]}";
|
||||||
}
|
}
|
||||||
return $date;
|
return $date;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "LegalAssistance",
|
"name": "LegalAssistance",
|
||||||
"version": "2.0.2",
|
"version": "2.0.7",
|
||||||
"acceptableVersions": [">=8.0.0"],
|
"acceptableVersions": [">=8.0.0"],
|
||||||
"php": [">=8.1"],
|
"php": [">=8.1"],
|
||||||
"releaseDate": "2026-04-09",
|
"releaseDate": "2026-04-09",
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -109,8 +109,8 @@
|
|||||||
},
|
},
|
||||||
"recommendationType": {
|
"recommendationType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["ייעוץ והדרכה חלף ייצוג", "ויתור הלקוח", "החלפת ייצוג", "לא נוצר קשר", "לא התקיימה פגישה", "עדיין לא ניתן להחליט", "נדרשים מסמכים נוספים", "המלצה לסירוב"],
|
"enum": ["המשך ייצוג", "ייעוץ והדרכה חלף ייצוג", "ויתור הלקוח", "החלפת ייצוג", "לא נוצר קשר", "לא התקיימה פגישה", "עדיין לא ניתן להחליט", "נדרשים מסמכים נוספים", "המלצה לסירוב"],
|
||||||
"description": "סוג ההמלצה/ההודעה"
|
"description": "סוג ההמלצה/ההודעה — בחר ׳המשך ייצוג׳ כשמומלץ להגיש ערעור או להמשיך בייצוג"
|
||||||
},
|
},
|
||||||
"recommendationDetail": {
|
"recommendationDetail": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user