diff --git a/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php b/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php index 615f2cc2..5f8f7812 100644 --- a/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php +++ b/Modules/Internal/Http/Controllers/Api/ClaimRequestController.php @@ -146,17 +146,19 @@ class ClaimRequestController extends Controller { $request->validate([ 'id' => 'required', - 'member_id' => 'required' + 'memberid' => 'required' ]); if ($request->hasFile('result_files')) { $pathFile = File::storeFile('claim-result', $request->id, $request->result_files); $data = [ - 'member_id' => $request->id, + 'memberid' => $request->id, + 'original_name' => $request->result_files->getClientOriginalName(), 'path' => $pathFile, - 'created_by' => auth()->user()->id + 'created_by' => auth()->user()->id, + 'updated_by' => auth()->user()->id ]; FilesMcu::create($data); - return Helper::responseJson(data: $request->toArray(), message: 'Berhasil tambah file member '.$request->member_id.', silahkan lihat dilaporan'); + return Helper::responseJson(data: $request->toArray(), message: 'Berhasil tambah file MemberID '.$request->memberid.', silahkan lihat dilaporan'); } else { diff --git a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php index 4da01d8c..2efc7cc2 100644 --- a/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php +++ b/Modules/Internal/Http/Controllers/Api/CorporateMemberController.php @@ -18,6 +18,7 @@ use Illuminate\Routing\Controller; use Illuminate\Support\Facades\Storage; use Modules\Internal\Services\MemberEnrollmentService; use PDF; +use Illuminate\Support\Facades\DB; class CorporateMemberController extends Controller { @@ -34,6 +35,11 @@ class CorporateMemberController extends Controller $members = Member::query() ->filter($request->all()) // ->where('corporate_id', $corporate_id) + ->leftJoin('files_mcu', 'members.id', '=', 'files_mcu.memberid') + ->select( + 'members.*', // Select all columns from the members table + DB::raw('GROUP_CONCAT(files_mcu.original_name) AS file_mcu_names') + ) ->whereHas('employeds', function ($employeds) use ($corporate_id) { $employeds->where('corporate_id', $corporate_id); }) @@ -54,6 +60,7 @@ class CorporateMemberController extends Controller ]); } ]) + ->groupBy('members.id') ->paginate() ->appends($request->all()); return Helper::paginateResources(MemberDataTableResource::collection($members)); diff --git a/app/Models/FilesMcu.php b/app/Models/FilesMcu.php index 94de6c75..f5fab757 100644 --- a/app/Models/FilesMcu.php +++ b/app/Models/FilesMcu.php @@ -8,7 +8,7 @@ use Illuminate\Database\Eloquent\Model; class FilesMcu extends Model { use HasFactory; - protected $table = 'filesmcu'; + protected $table = 'files_mcu'; protected $primaryKey = 'id'; - protected $fillable = ['member_id', 'path', 'created_by', 'created_at']; + protected $fillable = ['memberid', 'original_name', 'path', 'created_by','updated_by', 'created_at', 'updated_at']; } diff --git a/database/migrations/2023_07_18_104511_create_filesmcu_table.php b/database/migrations/2023_07_18_104511_create_filesmcu_table.php index 9b452e93..f34e0eac 100644 --- a/database/migrations/2023_07_18_104511_create_filesmcu_table.php +++ b/database/migrations/2023_07_18_104511_create_filesmcu_table.php @@ -13,12 +13,13 @@ return new class extends Migration */ public function up() { - Schema::create('filesmcu', function (Blueprint $table) { + Schema::create('files_mcu', function (Blueprint $table) { $table->increments('id'); - $table->integer('member_id'); - $table->string('path'); - $table->integer('created_by'); - $table->integer('updated_by')->default(0); + $table->bigInteger('memberid'); + $table->string('original_name', 255); + $table->string('path', 255); + $table->bigInteger('created_by'); + $table->bigInteger('updated_by'); $table->timestamps(); }); } @@ -30,6 +31,6 @@ return new class extends Migration */ public function down() { - Schema::dropIfExists('filesmcu'); + Schema::dropIfExists('files_mcu'); } }; diff --git a/frontend/dashboard/src/pages/Corporates/Member/List.tsx b/frontend/dashboard/src/pages/Corporates/Member/List.tsx index 9d0f5199..da62e0ef 100644 --- a/frontend/dashboard/src/pages/Corporates/Member/List.tsx +++ b/frontend/dashboard/src/pages/Corporates/Member/List.tsx @@ -184,7 +184,7 @@ export default function CorporatePlanList({handleSubmitSuccess}) { if (fileWithId) { const formData = makeFormData({ id: id, - member_id: member_id, + memberid: member_id, result_files: fileWithId.file, }); axios @@ -193,7 +193,10 @@ export default function CorporatePlanList({handleSubmitSuccess}) { const responseData = response?.data; if(responseData) { - enqueueSnackbar(responseData.message ?? 'Berhasil tambah file member '+member_id+', silahkan lihat dilaporan', { variant: 'success' }); + setTimeout(() => { + loadDataTableData(); + }, 2000); + enqueueSnackbar(responseData.message ?? 'Berhasil tambah file MemberID '+member_id+', silahkan lihat dilaporan', { variant: 'success' }); handleSubmitSuccess(); } @@ -641,6 +644,20 @@ export default function CorporatePlanList({handleSubmitSuccess}) { + File History + + + + + {row.file_mcu_names + ? row.file_mcu_names.split(',').map((fileName, index) => ( +
{fileName}
+ )) + : '-'} +
+
+
+
diff --git a/frontend/hospital-portal/.env.staging b/frontend/hospital-portal/.env.staging index 57f67287..d7548840 100644 --- a/frontend/hospital-portal/.env.staging +++ b/frontend/hospital-portal/.env.staging @@ -1 +1 @@ -VITE_API_URL="https://aso-api.linksehat.dev/api/hospitalportal" \ No newline at end of file +VITE_API_URL="https://aso-api.linksehat.dev/api/v1/hospitalportal" \ No newline at end of file