Skip to content

Commit c0c18de

Browse files
committed
reva
1 parent 7ec6743 commit c0c18de

File tree

9 files changed

+77
-56
lines changed

9 files changed

+77
-56
lines changed

app/Http/Controllers/UserController.php

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -251,19 +251,7 @@ public function searchUserSK(Request $request)
251251
{
252252
$respon = Helper::$responses;
253253
$user = request()->user();
254-
$permission = '';
255-
if($user->tokenCan('suratKeluar_approve')){
256-
$permission = 'suratKeluar_approve';
257-
} else if ($user->tokenCan('suratKeluar_agenda')){
258-
$permission = 'suratKeluar_agenda';
259-
} else if ($user->tokenCan('suratKeluar_verify')){
260-
$permission = 'suratKeluar_verify';
261-
} else if ($user->tokenCan('suratKeluar_save')){
262-
$permission = 'suratKeluar_save';
263-
} else {
264-
//
265-
}
266-
$result = UserRepository::searchUserSuratKeluar($respon, $permission, Auth::user()->getAuthIdentifier());
254+
$result = UserRepository::searchUserSuratKeluar($respon, Auth::user()->getAuthIdentifier());
267255

268256
return response()->json($result, $result['state_code']);
269257
}

app/Http/Repositories/DisSuratKeluarRepository.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ public static function saveDisSuratKeluar($inputs, $loginid)
8585
'file_id' => $inputs['file_id'] ?? null,
8686
'keterangan' => $inputs['keterangan'],
8787
'log' => $inputs['log'],
88+
'logpos' => self::getLogPos($loginid),
8889
'is_read' => '0',
8990
'active' => '1',
9091
'created_at' => DB::raw('now()'),
@@ -128,4 +129,13 @@ private static function getCreatedSurat($id)
128129

129130
return $q->created_by;
130131
}
132+
133+
private static function getLogPos($loginid)
134+
{
135+
$q = DB::table('gen_user as gu')->join('gen_position as gp', 'gp.id', 'position_id')
136+
->where('gu.id', $loginid)
137+
->select('position_name')
138+
->first();
139+
return $q->position_name;
140+
}
131141
}

app/Http/Repositories/DisSuratMasukRepository.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public static function generateLembarDisposisi($inputs, $loginid)
8181
DB::raw("sekredsm.arahan as arahan_sekre")
8282
)->first();
8383
if($getSM != null){
84-
//$path = base_path();
84+
// $path = base_path();
8585
$path = '/home/admin/web/apisurat.disdikkerinci.id/public_html';
8686
$newFile = time()."_LembarDisposisi_". $getSM->asal_surat;
8787
$newFilePath = '/upload/suratmasuk/' . $newFile.'.docx';
@@ -181,6 +181,7 @@ public static function saveDisSuratMasuk($inputs, $loginid, $positionid)
181181
'is_tembusan' => $inputs['is_tembusan'] ?? null,
182182
'is_private' => $inputs['is_private'] ?? null,
183183
'log' => $inputs['log'],
184+
'logpos' => self::getLogPos($loginid),
184185
'is_read' => '0',
185186
'active' => '1',
186187
'created_at' => DB::raw('now()'),
@@ -218,4 +219,12 @@ public static function readDis($id)
218219
}
219220
return $surat;
220221
}
222+
private static function getLogPos($loginid)
223+
{
224+
$q = DB::table('gen_user as gu')->join('gen_position as gp', 'gp.id', 'position_id')
225+
->where('gu.id', $loginid)
226+
->select('position_name')
227+
->first();
228+
return $q->position_name;
229+
}
221230
}

app/Http/Repositories/SuratKeluarRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ public static function getById($respon, $id, $perms)
201201
else '' end as label"),
202202
'surat_keluar_id',
203203
'cr.full_name as created_by',
204-
'gp.position_name',
204+
'logpos as position_name',
205205
'file_id',
206206
DB::raw("case when is_read = '1' then 'Dibaca' else 'Belum Dibaca' end as status_read "),
207207
'last_read',

app/Http/Repositories/SuratMasukRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public static function getById($respon, $id, $perms, $loginid)
155155
when log = 'CLOSED' then 'Surat diselesaikan oleh: ' || cr.full_name || ' - ' || pcr.position_name
156156
else '' end as label_history"),
157157
DB::raw("case when is_read = '1' then 'Dibaca' else 'Belum Dibaca' end as status_read "),
158-
'pcr.position_name',
158+
'log_pos as position_name',
159159
'arahan',
160160
'last_read'
161161
)->get();

app/Http/Repositories/UserRepository.php

Lines changed: 47 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,7 @@ public static function save($id, $result, $inputs, $userLogin)
8989
$user = null;
9090
$mode = "";
9191
if ($id){
92-
$user = User::where('active', '1')->where('nip', $id)->firstOrFail();
93-
92+
$user = User::where('active', '1')->where('id', $id)->firstOrFail();
9493
$user->update([
9594
'full_name' => $inputs['full_name'],
9695
'position_id' => $inputs['position_id'] ?? null,
@@ -226,29 +225,38 @@ public static function searchUser($respon)
226225
return $respon;
227226
}
228227

229-
public static function searchUserSuratKeluar($respon, $permission, $loginid)
228+
public static function searchUserSuratKeluar($respon, $loginid)
230229
{
231230
$qCek = User::join('gen_position as gp', 'gp.id', 'position_id')
232-
->where('gen_user.active', '1')->where('gen_user.id', $loginid)
233-
->where('gp.active', '1')
234-
->select('gen_user.id as id', DB::raw("coalesce(gp.parent_id, 0) as parent_id") , 'gp.position_name')->first();
235-
236-
$query = User::leftJoin('gen_position as gp', 'gp.id', 'position_id')->where('gen_user.active','1');
237-
switch ($permission) {
238-
case 'suratKeluar_approve':
239-
$query = $query->where('gp.id', 3);
240-
break;
241-
case 'suratKeluar_verify':
242-
$query = $query->where('gp.id', 4);
243-
break;
244-
case 'suratKeluar_agenda':
245-
$query = $query->where('gp.id', 2);
246-
break;
247-
case 'suratKeluar_save':
248-
$query = $query->where('gp.id', $qCek->parent_id);
249-
break;
250-
default:
251-
$query = $query;
231+
->where('gen_user.active', '1')
232+
->where('gen_user.id', $loginid)
233+
->where('gp.active', '1')
234+
->select(
235+
'gen_user.id as id',
236+
DB::raw("coalesce(gp.parent_id, 0) as parent_id") ,
237+
'gp.position_name',
238+
'is_parent',
239+
'is_admin',
240+
'is_sekretaris',
241+
'is_subagumum',
242+
'is_officer')
243+
->first();
244+
245+
$query = User::leftJoin('gen_position as gp', 'gp.id', 'position_id')
246+
->where('gen_user.active','1');
247+
248+
if($qCek->is_admin){
249+
$query = $query;
250+
} else if($qCek->is_sekretaris){
251+
$query = $query->where('is_subagumum', '1');
252+
} else if($qCek->is_subagumum){
253+
$query = $query->where('is_kadin', '1');
254+
} else if($qCek->is_parent){
255+
$query = $query->where('is_sekretaris', '1');
256+
} else if($qCek->parent_id){
257+
$query = $query->where('gp.id', $qCek->parent_id);
258+
} else {
259+
$query = $query;
252260
}
253261

254262
$data = $query->select('gen_user.id', DB::raw("full_name || ' - ' || coalesce(position_name,'') as text"))
@@ -263,9 +271,11 @@ public static function searchUserSuratKeluar($respon, $permission, $loginid)
263271
public static function searchUserTtd($respon, $loginid)
264272
{
265273
$query = User::leftJoin('gen_position as gp', 'gp.id', 'position_id')
266-
->where('gen_user.active','1')->whereIn('gp.id', [2,3])
274+
->where('gen_user.active','1')
275+
->whereRaw("(is_kadin = '1' or is_sekretaris = '1')")
267276
->select('gen_user.id', DB::raw("full_name || ' - ' || coalesce(position_name,'') as text"))
268277
->get();
278+
269279
$respon['success'] = true;
270280
$respon['state_code'] = 200;
271281
$respon['data'] = $query;
@@ -276,25 +286,22 @@ public static function searchUserTtd($respon, $loginid)
276286
public static function searchUserSuratMasuk($respon, $loginid)
277287
{
278288
$qCek = User::join('gen_position as gp', 'gp.id', 'position_id')
279-
->where('gen_user.active', '1')->where('gen_user.id', $loginid)
280-
->where('gp.active', '1')
281-
->select('gen_user.id as id', 'gp.id as position_id', 'gp.position_name')->first();
289+
->where('gen_user.active', '1')
290+
->where('gen_user.id', $loginid)
291+
->where('gp.active', '1')
292+
->select('gen_user.id as id', 'gp.id as position_id', 'gp.position_name', 'is_sekretaris', 'is_kadin', 'is_admin', 'is_officer')
293+
->first();
282294

283295
if ($qCek != null){
284296
$query = User::leftJoin('gen_position as gp', 'gp.id', 'position_id')->where('gen_user.active','1');
285-
switch ($qCek->position_id) {
286-
case 1:
287-
$query = $query;
288-
break;
289-
case 4:
290-
$query = $query->whereIn('gp.id', [2,3]);
291-
break;
292-
case 2:
293-
case 3:
294-
$query = $query->where('gp.is_parent', '1');
295-
break;
296-
default:
297-
$query = $query->where('gp.parent_id', $qCek->position_id);
297+
if($qCek->is_admin){
298+
$query = $query;
299+
} else if($qCek->is_sekretaris || $qCek->is_kadin){
300+
$query = $query->where('gp.is_parent', '1');
301+
} else if($qCek->is_officer){
302+
$query = $query->whereRaw("(is_kadin = '1' or is_sekretaris = '1')");
303+
} else {
304+
$query = $query->where('gp.parent_id', $qCek->position_id);
298305
}
299306

300307
$data = $query->select('gen_user.id', DB::raw("full_name || ' - ' || coalesce(position_name,'') as text"))

app/Model/DisSuratKeluar.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class DisSuratKeluar extends Model
1818
'last_read',
1919
'keterangan',
2020
'log',
21+
'logpos',
2122
'active',
2223
'created_at',
2324
'created_by',

app/Model/DisSuratMasuk.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ class DisSuratMasuk extends Model
1616
'is_read',
1717
'last_read',
1818
'log',
19+
'logpos',
1920
'active',
2021
'created_at',
2122
'created_by',

app/Model/Position.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ class Position extends Model
1515
'active',
1616
'detail',
1717
'is_parent',
18+
'is_admin',
19+
'is_kadin',
20+
'is_sekretaris',
21+
'is_subagumum',
22+
'is_officer',
1823
'parent_id',
1924
'created_at',
2025
'created_by',

0 commit comments

Comments
 (0)