Merge remote-tracking branch 'origin/staging' into origin/production
This commit is contained in:
@@ -135,7 +135,7 @@ class DrugController extends Controller
|
||||
]);
|
||||
}
|
||||
}
|
||||
public function downloadTemplate()
|
||||
public function downloadTemplate()
|
||||
{
|
||||
return Helper::responseJson([
|
||||
'file_name' => "Template - Drugs.xlsx",
|
||||
@@ -149,7 +149,6 @@ class DrugController extends Controller
|
||||
$data = Excel::toArray([], $file);
|
||||
|
||||
$processedData = $this->processCategoryNames($data);
|
||||
|
||||
$importedRows = 0;
|
||||
$failedRows = [];
|
||||
|
||||
@@ -170,6 +169,7 @@ class DrugController extends Controller
|
||||
'type' => $row['type'],
|
||||
'dosage' => $row['dosage'],
|
||||
'remark' => $row['remark'],
|
||||
'price' => $row['price'],
|
||||
]
|
||||
);
|
||||
$importedRows++;
|
||||
@@ -201,7 +201,7 @@ class DrugController extends Controller
|
||||
$row[] = $data[0][$i];
|
||||
$header[] = $data[0][0];
|
||||
}
|
||||
|
||||
|
||||
$filed = [];
|
||||
foreach ($header[0] as $value)
|
||||
{
|
||||
@@ -212,16 +212,16 @@ class DrugController extends Controller
|
||||
$filed[] = $modelColumn;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$result = [];
|
||||
foreach ($row as $subarray) {
|
||||
$trimmedSubarray = [];
|
||||
for ($i = 0; $i < count($filed); $i++) {
|
||||
$trimmedSubarray[$filed[$i]] = $subarray[$i] ? $subarray[$i] : null;
|
||||
}
|
||||
|
||||
|
||||
$result[] = $trimmedSubarray;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
125
Modules/Internal/Http/Controllers/Api/NavigationController.php
Normal file
125
Modules/Internal/Http/Controllers/Api/NavigationController.php
Normal file
@@ -0,0 +1,125 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Internal\Http\Controllers\Api;
|
||||
|
||||
use App\Models\Navigations;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
|
||||
class NavigationController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
// Ambil semua navigasi dari tabel dan ubah menjadi array
|
||||
$navigations = Navigations::all()->toArray();
|
||||
$navigationMaster = [];
|
||||
|
||||
if ($navigations) {
|
||||
// Buat array untuk menyimpan menu utama
|
||||
foreach ($navigations as $navigation) {
|
||||
if ($navigation['parent_id'] == 0) {
|
||||
// Tambahkan menu utama ke $navigationMaster
|
||||
$navigation['children'] = []; // Siapkan array untuk children
|
||||
$navigationMaster[$navigation['id']] = $navigation;
|
||||
}
|
||||
}
|
||||
|
||||
// Tambahkan submenu ke menu utama yang sesuai
|
||||
foreach ($navigations as $navigation) {
|
||||
if ($navigation['parent_id'] != 0 && isset($navigationMaster[$navigation['parent_id']])) {
|
||||
$navigationMaster[$navigation['parent_id']]['children'][] = $navigation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Ubah array menjadi list tanpa indeks id
|
||||
$navigationMaster = array_values($navigationMaster);
|
||||
|
||||
// Transformasi data untuk sesuai dengan format yang diinginkan
|
||||
$formattedNavigation = [
|
||||
'items' => array_map(function ($navItem) {
|
||||
return [
|
||||
'title' => $navItem['title'],
|
||||
'path' => $navItem['path'],
|
||||
'children' => array_map(function ($child) {
|
||||
return [
|
||||
'title' => $child['title'],
|
||||
'path' => $child['path'],
|
||||
'icon' => $child['icon'], // Asumsikan Anda memiliki field 'icon' di tabel navigasi
|
||||
'permission' => $child['permission'],
|
||||
];
|
||||
}, $navItem['children']),
|
||||
'permission' => $navItem['permission'],
|
||||
];
|
||||
}, $navigationMaster)
|
||||
];
|
||||
|
||||
return response()->json($formattedNavigation);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
* @return Renderable
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view('internal::create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
* @param Request $request
|
||||
* @return Renderable
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
return view('internal::show');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
return view('internal::edit');
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
* @param Request $request
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
* @param int $id
|
||||
* @return Renderable
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
||||
@@ -135,6 +135,7 @@ class PrescriptionController extends Controller
|
||||
'sKodeResep' => $kodeResep,
|
||||
'sDiagnose' => $sDiagnosis,
|
||||
'sKodeRS' => $hospital,
|
||||
'sStatus' => 1, // bayar'
|
||||
];
|
||||
|
||||
$prescription = Prescription::updateOrCreate([
|
||||
@@ -164,9 +165,11 @@ class PrescriptionController extends Controller
|
||||
$drugData = Drug::where('id', $value['drug_id'])->first();
|
||||
$drug = '';
|
||||
$drugCode = '';
|
||||
$drugPrice = 0;
|
||||
if ($drugData){
|
||||
$drug = $drugData->name;
|
||||
$drugCode = $drugData->code;
|
||||
$drugPrice = $drugData->price;
|
||||
}
|
||||
$unitData = Unit::where('id', $value['unit_id'])->first();
|
||||
$unit = '';
|
||||
@@ -192,6 +195,7 @@ class PrescriptionController extends Controller
|
||||
'sSatuan' => $unit,
|
||||
'sSigna' => $value['signa'],
|
||||
'sNote' => $value['note'],
|
||||
'nHarga' => $drugPrice
|
||||
];
|
||||
try {
|
||||
// Insert to ASO
|
||||
|
||||
@@ -6,12 +6,159 @@ use App\Helpers\Helper;
|
||||
use Illuminate\Contracts\Support\Renderable;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Spatie\Permission\Models\Role;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Spatie\Permission\Models\Permission;
|
||||
use App\Models\User;
|
||||
use App\Models\Person;
|
||||
use Crypt;
|
||||
|
||||
class UserManagemet extends Controller
|
||||
class UserManagementController extends Controller
|
||||
{
|
||||
public function index(Request $request){
|
||||
$user = User::all();
|
||||
return Helper::responseJson(data: $user);
|
||||
public function index(Request $request)
|
||||
{
|
||||
$query = Role::query();
|
||||
if ($request->has('search')) {
|
||||
$search = $request->get('search');
|
||||
$query->where('name', 'like', "%{$search}%");
|
||||
}
|
||||
$userRole = $query->paginate(10);
|
||||
return Helper::paginateResources($userRole);
|
||||
}
|
||||
}
|
||||
|
||||
public function permission_list(Request $request)
|
||||
{
|
||||
$permissions = Permission::all();
|
||||
return response()->json($permissions);
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$validated = $request->validate([
|
||||
'name' => 'required|string|max:255',
|
||||
'guard_name' => 'required|string|max:255', // Pastikan setiap permission ada di tabel permissions
|
||||
]);
|
||||
|
||||
$newRole = Role::create([
|
||||
'name' => $validated['name'],
|
||||
'guard_name' => $validated['guard_name'],
|
||||
]);
|
||||
|
||||
if (isset($request->permission_check)) {
|
||||
$newRole->syncPermissions($request->permission_check);
|
||||
}
|
||||
|
||||
return response()->json($newRole, 201);
|
||||
}
|
||||
|
||||
public function edit($id)
|
||||
{
|
||||
$role = Role::with('permissions')->findOrFail($id);
|
||||
return response()->json($role);
|
||||
}
|
||||
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$role = Role::with('permissions')->findOrFail($id);
|
||||
$validated = $request->validate([
|
||||
'name' => 'required|string|max:255',
|
||||
'guard_name' => 'required|string|max:255',
|
||||
'permission_check' => 'nullable|array',
|
||||
'permission_check.*' => 'exists:permissions,id', // Pastikan setiap permission ada di tabel permissions
|
||||
]);
|
||||
|
||||
$role->update([
|
||||
'name' => $validated['name'],
|
||||
'guard_name' => $validated['guard_name'],
|
||||
]);
|
||||
|
||||
if (isset($validated['permission_check'])) {
|
||||
|
||||
$permissions = Permission::whereIn('id', $validated['permission_check'])
|
||||
->where('guard_name', $validated['guard_name'])
|
||||
->get();
|
||||
if ($permissions->count() !== count($validated['permission_check'])) {
|
||||
return response()->json(['error' => 'One or more permissions are invalid for the specified guard.'], 422);
|
||||
}
|
||||
$role->syncPermissions($permissions);
|
||||
}
|
||||
|
||||
return response()->json($role);
|
||||
}
|
||||
|
||||
public function list_role(Request $request)
|
||||
{
|
||||
$query = Role::all();
|
||||
$data = [
|
||||
'data' => $query
|
||||
];
|
||||
return response()->json($data);
|
||||
}
|
||||
|
||||
public function store_access(Request $request){
|
||||
$user = User::create([
|
||||
'email' => $request->email,
|
||||
'username' => $request->username,
|
||||
'role_id' => $request->roles,
|
||||
'password' => Hash::make($request->password),
|
||||
]);
|
||||
|
||||
$person = Person::updateOrCreate(
|
||||
[
|
||||
'id' => $user->person_id
|
||||
],
|
||||
[
|
||||
'name' => $request->name ?? null
|
||||
]
|
||||
);
|
||||
$user->person_id = $person->id;
|
||||
$user->save();
|
||||
return response()->json($user);
|
||||
}
|
||||
|
||||
// List Access
|
||||
public function list_access(Request $request){
|
||||
$userAccess = User::query();
|
||||
if ($request->has('search')) {
|
||||
$search = $request->get('search');
|
||||
$userAccess->where('name', 'like', "%{$search}%");
|
||||
}
|
||||
$userAccess = $userAccess->paginate(10);
|
||||
return Helper::paginateResources($userAccess);
|
||||
}
|
||||
|
||||
public function edit_access($id){
|
||||
$userAccess = User::findOrFail($id);
|
||||
return response()->json($userAccess);
|
||||
}
|
||||
|
||||
public function update_access(Request $request, $id){
|
||||
$userAccess = User::findOrFail($id);
|
||||
|
||||
if (!$userAccess) {
|
||||
return response()->json(['error' => 'User Not found.'], 404);
|
||||
}
|
||||
|
||||
$userAccess->email = $request->email;
|
||||
$userAccess->username = $request->username;
|
||||
$userAccess->role_id = $request->roles;
|
||||
|
||||
if ($request->password){
|
||||
$userAccess->password = Hash::make($request->password);
|
||||
}
|
||||
|
||||
$person = Person::updateOrCreate(
|
||||
[
|
||||
'id' => $userAccess->person_id
|
||||
],
|
||||
[
|
||||
'name' => $request->name ?? null
|
||||
]
|
||||
);
|
||||
|
||||
$userAccess->person_id = $person->id;
|
||||
$userAccess->save();
|
||||
|
||||
return response()->json($userAccess);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user