From 3bae411dc60dc0fcaad98d6f6da894a685f6208b Mon Sep 17 00:00:00 2001 From: Tb Fajri Date: Mon, 4 Mar 2024 09:36:26 +0700 Subject: [PATCH] fitur is reversal --- .../Transformers/ClaimRequestShowResource.php | 12 ++ .../Transformers/RequestLogShowResource.php | 14 ++- .../ClaimRequests/Components/FormEdit.tsx | 13 ++- .../src/pages/ClaimRequests/Detail.tsx | 107 +++++++++++------- .../pages/CustomerService/FinalLog/Detail.tsx | 102 ++++++++++------- 5 files changed, 155 insertions(+), 93 deletions(-) diff --git a/Modules/Internal/Transformers/ClaimRequestShowResource.php b/Modules/Internal/Transformers/ClaimRequestShowResource.php index 458970a8..d56bbd75 100644 --- a/Modules/Internal/Transformers/ClaimRequestShowResource.php +++ b/Modules/Internal/Transformers/ClaimRequestShowResource.php @@ -71,6 +71,17 @@ class ClaimRequestShowResource extends JsonResource 'total_excess_paid' => $total_excess_paid, ]; + $isReversal = false; + $isRole = auth()->user()->role_id; + if ($data['request_log']['status'] == 'approved' && + $data['request_log']['status_final_log'] == 'approved' && + $data['status'] == 'approved' && + $data['status_claim_management'] == 'approved' && + $isRole != 1 // is admin + ){ + $isReversal = true; + } + $response = [ 'id' => $data['id'], @@ -101,6 +112,7 @@ class ClaimRequestShowResource extends JsonResource 'files' => $data['request_log']['files'], 'reason_decline' => $data['reason_decline'], // 'benefit_data' => $benefitDetailLog, + 'is_reversal' => $isReversal, // untuk penjagaan, jika true tidak bisa di edit/hapus lagi ]; diff --git a/Modules/Internal/Transformers/RequestLogShowResource.php b/Modules/Internal/Transformers/RequestLogShowResource.php index d289310f..1591701a 100644 --- a/Modules/Internal/Transformers/RequestLogShowResource.php +++ b/Modules/Internal/Transformers/RequestLogShowResource.php @@ -40,8 +40,19 @@ class RequestLogShowResource extends JsonResource $claimRequest = ClaimRequest::where('request_log_id', $requestLog['id'])->first(); if ($claimRequest) { $claimCode = $claimRequest->code; + $isReversal = false; + $isRole = auth()->user()->role_id; + if ($requestLog['status'] == 'approved' && + $requestLog['status_final_log'] == 'approved' && + $claimRequest->status == 'approved' && + $claimRequest->status_claim_management == 'approved' && + $isRole != 1 + ){ + $isReversal = true; + } } else { $claimCode = '-'; + $isReversal = false; } if ($provider){ @@ -97,7 +108,7 @@ class RequestLogShowResource extends JsonResource ->whereIn('code', $diagnosis) ->select('code', 'name') ->get(); - } + } $data = [ 'id' => $requestLog['id'], @@ -136,6 +147,7 @@ class RequestLogShowResource extends JsonResource 'catatan' => $requestLog['catatan'], 'reason' => $requestLog['reason'], 'diagnosis' => $icd, + 'is_reversal' => $isReversal, // untuk penjagaan, jika true tidak bisa di edit/hapus lagi ]; diff --git a/frontend/dashboard/src/pages/ClaimRequests/Components/FormEdit.tsx b/frontend/dashboard/src/pages/ClaimRequests/Components/FormEdit.tsx index 80811203..256aaea9 100644 --- a/frontend/dashboard/src/pages/ClaimRequests/Components/FormEdit.tsx +++ b/frontend/dashboard/src/pages/ClaimRequests/Components/FormEdit.tsx @@ -78,15 +78,13 @@ export default function FormEdit({ isEdit, currentClaim }: Props) { ); - const [date, setDate] = useState(currentClaim?.submission_date) + const [date, setDate] = useState(currentClaim?.submission_date ? fDateTimesecond(currentClaim?.submission_date) : null) const id = currentClaim?.id useEffect(() => { setDate(currentClaim?.submission_date) }, [currentClaim]); - console.log(date); - useEffect(() => { if (isEdit && currentClaim) { reset(defaultValues); @@ -254,7 +252,6 @@ export default function FormEdit({ isEdit, currentClaim }: Props) { ) - return ( @@ -310,10 +307,14 @@ export default function FormEdit({ isEdit, currentClaim }: Props) { setDate(field.value)} + value={field.value} + onChange={() => + setDate(field.value) + } + dateFormat='dd MMM yyyy HH:mm:ss' /> )} + /> diff --git a/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx b/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx index 0d85c4f6..647f632c 100644 --- a/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx +++ b/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx @@ -52,6 +52,7 @@ export default function Detail() { const { themeStretch } = useSettings(); const [claimRequests, setClaimRequest] = useState(); const [openDialogSubmit, setOpenDialogSubmit] = useState(false); + const [isReversal, setIsReversal] = useState(false); const { id } = useParams(); @@ -60,6 +61,7 @@ export default function Detail() { .get('claim-requests/detail/'+id) .then((response) => { setClaimRequest(response.data.data) + setIsReversal(response.data.data.is_reversal) }) .catch((error) => { console.error(error); @@ -226,13 +228,18 @@ export default function Detail() { Document - - - + { + !isReversal ? ( + + + + ) : null + } + {claimRequests?.files?.map((documentType, index) => ( @@ -253,14 +260,19 @@ export default function Detail() { {documentType.original_name ? documentType.original_name : '-'} - - { - setDialogDeleteFileLog(true) - setPathFile(documentType.path) - }} aria-label="delete" size="small" sx={{ marginLeft: 'auto' }}> - - - + { + !isReversal ? ( + + { + setDialogDeleteFileLog(true) + setPathFile(documentType.path) + }} aria-label="delete" size="small" sx={{ marginLeft: 'auto' }}> + + + + ) : null + } + ))} @@ -284,11 +296,15 @@ export default function Detail() { Benefit - + { + !isReversal ? ( + + ) : null + } @@ -301,29 +317,34 @@ export default function Detail() { {item.benefit?.description} - - - { - setDialogEditBenefit(true) - setIdBenefitData(item.id) - setBenefitConfigurationData(item) - }} - > - - Edit - - { - setIdBenefitData(item.id) - setDialogDeleteBenefit(true) - }} - > - - Delete - - - } /> - + { + !isReversal ? ( + + + { + setDialogEditBenefit(true) + setIdBenefitData(item.id) + setBenefitConfigurationData(item) + }} + > + + Edit + + { + setIdBenefitData(item.id) + setDialogDeleteBenefit(true) + }} + > + + Delete + + + } /> + + ) : null + } + diff --git a/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx b/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx index b9497245..02a158e7 100644 --- a/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx +++ b/frontend/dashboard/src/pages/CustomerService/FinalLog/Detail.tsx @@ -68,6 +68,7 @@ export default function Detail() { const navigate = useNavigate(); const { themeStretch } = useSettings(); const [requestLog, setRequestLog] = useState(); + const [isReversal, setIsReversal] = useState(false); const { id } = useParams(); @@ -77,6 +78,7 @@ export default function Detail() { .get('customer-service/request/'+id) .then((response) => { setRequestLog(response.data.data) + setIsReversal(response.data.data.is_reversal) }) .catch((error) => { console.error(error); @@ -283,11 +285,15 @@ export default function Detail() { Benefit - + { + !isReversal ? ( + + ) : null + } {requestLog?.benefit_data?.map((item, index) => ( @@ -300,29 +306,33 @@ export default function Detail() { {item.benefit?.description} - - - { - setDialogEditBenefit(true) - setIdBenefitData(item.id) - setBenefitConfigurationData(item) - }} - > - - Edit - - { - setIdBenefitData(item.id) - setDialogDeleteBenefit(true) - }} - > - - Delete - - - } /> - + { + !isReversal ? ( + + + { + setDialogEditBenefit(true) + setIdBenefitData(item.id) + setBenefitConfigurationData(item) + }} + > + + Edit + + { + setIdBenefitData(item.id) + setDialogDeleteBenefit(true) + }} + > + + Delete + + + } /> + + ) : null + } @@ -598,13 +608,16 @@ export default function Detail() { Files - - - + { !isReversal ? ( + + + + ) : null } + {requestLog?.files?.map((documentType, index) => ( @@ -617,14 +630,17 @@ export default function Detail() { {documentType.original_name ? documentType.original_name : '-'} - - { - setDialogDeleteFileLog(true) - setPathFile(documentType.path) - }} aria-label="delete" size="small" sx={{ marginLeft: 'auto' }}> - - - + { !isReversal ? ( + + { + setDialogDeleteFileLog(true) + setPathFile(documentType.path) + }} aria-label="delete" size="small" sx={{ marginLeft: 'auto' }}> + + + + ) : null } + ))}