diff --git a/Modules/Internal/Http/Controllers/Api/ClaimController.php b/Modules/Internal/Http/Controllers/Api/ClaimController.php index a7e214b8..fa50375a 100755 --- a/Modules/Internal/Http/Controllers/Api/ClaimController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimController.php @@ -56,6 +56,7 @@ class ClaimController extends Controller $query->where(function ($query) use ($search) { $query->orWhere('members.name', 'like', "%" . $search . "%"); $query->orWhere('claim_requests.code', 'like', "%" . $search . "%"); + $query->orWhere('request_logs.code', 'like', "%" . $search . "%"); $query->orWhere('members.member_id', 'like', "%" . $search . "%"); }); }) @@ -84,6 +85,7 @@ class ClaimController extends Controller ->select( 'claim_requests.id', 'request_logs.id AS id_log', + 'request_logs.code AS code_log', 'claim_requests.code as code', 'members.name', DB::raw(' diff --git a/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php b/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php index eec5be19..63d79ef9 100755 --- a/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php @@ -41,41 +41,39 @@ class ClaimRequestController extends Controller */ public function index(Request $request) { - $claimRequests = ClaimRequest::query() - ->when($request->search, function ($q, $search) { - $q->where('code', 'LIKE', "%".$search."%"); - $q->orWhereHas('member', function ($subQuery) use ($search) { - $subQuery->where('name', 'LIKE', "%".$search."%"); - }); - }) - ->when($request->start_date, function ($q, $startDate) { - $q->where('submission_date', '>', Carbon::parse($startDate)->subDay()); - }) - ->when($request->end_date, function ($q, $endDate) use ($request) { - // Jika tanggal akhir diberikan dan tidak sama dengan tanggal mulai - if ($request->start_date != $request->end_date) { - $q->where('submission_date', '<', Carbon::parse($endDate)->addDay()); - } else { - $q->where('submission_date', '<', Carbon::parse($endDate)->addDay()); - } - }) - - ->when($request->service_code, function ($q, $serviceCode) { - $q->whereIn('service_code', $serviceCode); - }) - ->when($request->orderBy, function ($q, $orderBy) use ($request) { - if (in_array($orderBy, ['submission_date', 'code'])) { - $q->orderBy($orderBy, $request->order); - } - }) - ->when(empty($request->orderBy), function ($q) { - $q->orderBy('created_at', 'desc'); - }) - ->when($request->status, function($q, $status) { - $q->where('status', $status); - }) - ->with(['member', 'files', 'service', 'member.currentPolicy']) - ->paginate(); + $claimRequests = ClaimRequest::with(['requestLog', 'member', 'files', 'service', 'member.currentPolicy']) + ->when($request->search, function ($q, $search) { + $q->where(function ($query) use ($search) { + $query->where('code', 'LIKE', "%".$search."%") + ->orWhereHas('member', function ($subQuery) use ($search) { + $subQuery->where('name', 'LIKE', "%".$search."%"); + }) + ->orWhereHas('requestLog', function ($subQuery) use ($search) { + $subQuery->where('code', 'LIKE', "%".$search."%"); + }); + }); + }) + ->when($request->start_date, function ($q, $startDate) { + $q->where('submission_date', '>=', Carbon::parse($startDate)); + }) + ->when($request->end_date, function ($q, $endDate) { + $q->where('submission_date', '<=', Carbon::parse($endDate)); + }) + ->when($request->service_code, function ($q, $serviceCode) { + $q->whereIn('service_code', (array) $serviceCode); + }) + ->when($request->orderBy, function ($q, $orderBy) use ($request) { + $order = in_array($request->order, ['asc', 'desc']) ? $request->order : 'desc'; + if (in_array($orderBy, ['submission_date', 'code'])) { + $q->orderBy($orderBy, $order); + } + }, function ($q) { + $q->orderBy('created_at', 'desc'); + }) + ->when($request->status, function($q, $status) { + $q->where('status', $status); + }) + ->paginate(); return Helper::paginateResources(ClaimRequestResource::collection($claimRequests)); } diff --git a/Modules/Internal/Transformers/ClaimRequestResource.php b/Modules/Internal/Transformers/ClaimRequestResource.php index c4b1c49f..550d77fa 100755 --- a/Modules/Internal/Transformers/ClaimRequestResource.php +++ b/Modules/Internal/Transformers/ClaimRequestResource.php @@ -18,10 +18,10 @@ class ClaimRequestResource extends JsonResource $filesGroupByType = $this->files->mapToGroups(function($file) { return [Str::slug($file->type, '_') => $file]; }); - $data = [ 'id' => $this->id, 'code' => $this->code, + 'code_log' => $this->requestLog->code, 'submission_date' => $this->submission_date, 'member' => $this->member, 'status' => $this->status ?? 'unknown', diff --git a/Modules/Internal/Transformers/ClaimRequestShowResource.php b/Modules/Internal/Transformers/ClaimRequestShowResource.php index eaba898f..c651e1bc 100755 --- a/Modules/Internal/Transformers/ClaimRequestShowResource.php +++ b/Modules/Internal/Transformers/ClaimRequestShowResource.php @@ -96,6 +96,7 @@ class ClaimRequestShowResource extends JsonResource $response = [ 'id' => $data['id'], 'code' => $data['code'], + 'code_log' => $data['request_log']['code'], 'status' => $data['status'], 'request_log_id' => $data['request_log_id'], 'request_log' => $requestLogData, diff --git a/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx b/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx index 3058f81c..0b96e87f 100755 --- a/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx +++ b/frontend/dashboard/src/pages/ClaimRequests/Detail.tsx @@ -143,6 +143,10 @@ export default function Detail() { + + Code LOG + {claimRequests?.code_log} + Provider Name {claimRequests?.provider} diff --git a/frontend/dashboard/src/pages/ClaimRequests/List.tsx b/frontend/dashboard/src/pages/ClaimRequests/List.tsx index 20437328..e27d2bf8 100755 --- a/frontend/dashboard/src/pages/ClaimRequests/List.tsx +++ b/frontend/dashboard/src/pages/ClaimRequests/List.tsx @@ -483,7 +483,7 @@ export default function List() { // handleShowClaim(row); // }} > - {row.code} + {row.code} / {row.code_log} {row.member?.full_name} @@ -610,7 +610,7 @@ export default function List() { {/* */} - Code + Code Claim / Code LOG Name diff --git a/frontend/dashboard/src/pages/Claims/List.tsx b/frontend/dashboard/src/pages/Claims/List.tsx index b18793f7..b19101dd 100755 --- a/frontend/dashboard/src/pages/Claims/List.tsx +++ b/frontend/dashboard/src/pages/Claims/List.tsx @@ -68,7 +68,7 @@ import CloseIcon from '@mui/icons-material/Close'; export default function List() { const [selectAll, setSelectAll] = useState(false); const [selectedRows, setSelectedRows] = useState([]); - const [providers, setProviders] = useState(null); + const [providers, setProviders] = useState(null); // const [searchText, setSearchText] = useState(''); const [order, setOrder] = useState('desc'); const [orderBy, setOrderBy] = useState('created_at'); @@ -183,8 +183,6 @@ const dummyServices = [ function SearchInput(props: any) { // SEARCH const searchInput = useRef(null); - - const handleSearchChange = (event: any) => { const newSearchText = event.target.value ?? ''; @@ -506,7 +504,7 @@ const handleExportReportFiled = async () => { { id: 'code', align: 'left', - label: 'Code', + label: 'Code / Code LOG', isSort: true, }, { @@ -622,7 +620,7 @@ const handleExportReportFiled = async () => { ):''} - {row?.code} + {row?.code} / {row.code_log} {/* {row.code} */} {row?.name} {row?.member_id}