Merge remote-tracking branch 'origin/staging' into origin/production

This commit is contained in:
Server D3 Linksehat
2025-02-12 10:10:02 +07:00
7 changed files with 52 additions and 44 deletions

View File

@@ -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('
@@ -343,6 +345,7 @@ class ClaimController extends Controller
$header = [
'No',
'Code',
'Code LOG',
'Name',
'Member ID',
'Date Submission',
@@ -372,6 +375,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 . "%");
});
})
@@ -401,6 +405,7 @@ class ClaimController extends Controller
'claim_requests.id',
'request_logs.id AS id_log',
'claim_requests.code as code',
'request_logs.code as code_log',
'members.name',
DB::raw('
(SELECT members.member_id FROM members WHERE members.id = claim_requests.member_id LIMIT 1) AS member_id
@@ -444,6 +449,7 @@ class ClaimController extends Controller
$rowData = [
$no,
$item->code,
$item->code_log,
$item->name,
$item->member_id,
$item->created_at,
@@ -474,6 +480,7 @@ class ClaimController extends Controller
'',
'',
'',
'',
$gr_total,
];
$style = (new StyleBuilder())

View File

@@ -41,42 +41,40 @@ 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));
}

View File

@@ -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',

View File

@@ -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,

View File

@@ -143,6 +143,10 @@ export default function Detail() {
</Typography>
</Grid>
</Grid>
<Stack direction='row' spacing={2} sx={marginBottom1}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Code LOG</Typography>
<Typography variant='subtitle2' sx={style2} gutterBottom>{claimRequests?.code_log}</Typography>
</Stack>
<Stack direction='row' spacing={2} sx={marginBottom1}>
<Typography variant='subtitle2' sx={style1} gutterBottom>Provider Name</Typography>
<Typography variant='subtitle2' sx={style2} gutterBottom>{claimRequests?.provider}</Typography>

View File

@@ -483,7 +483,7 @@ export default function List() {
// handleShowClaim(row);
// }}
>
{row.code}
{row.code} / {row.code_log}
</Typography>
</TableCell>
<TableCell align="left">{row.member?.full_name}</TableCell>
@@ -610,7 +610,7 @@ export default function List() {
<TableRow>
{/* <TableCell style={headStyle} align="left" /> */}
<TableCell style={headStyle} align="left">
Code
Code Claim / Code LOG
</TableCell>
<TableCell style={headStyle} align="left">
Name

View File

@@ -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<Order>('desc');
const [orderBy, setOrderBy] = useState('created_at');
@@ -183,8 +183,6 @@ const dummyServices = [
function SearchInput(props: any) {
// SEARCH
const searchInput = useRef<HTMLInputElement>(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 () => {
<Checkbox checked={isSelected} onChange={handleRowCheckboxChange} />
):''}
</TableCell>
<TableCell align="left">{row?.code}</TableCell>
<TableCell align="left">{row?.code} / {row.code_log}</TableCell>
{/* <TableCell align="left">{row.code}</TableCell> */}
<TableCell align="left">{row?.name}</TableCell>
<TableCell align="left">{row?.member_id}</TableCell>