Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function updaterollingextuder(Request $request)
- {
- // dd($request->all());
- if ($request->pilih == 'grup') {
- $group_first = Group::with('jadwal')->find($request->group_id);
- // dd($group_first);
- $jadwal_first = JadwalExtuder::with('group')->where('group_id', '=', $group_first->id)->first();
- // dd($jadwal_first);
- $jadwal_second = JadwalExtuder::with('group')->find($request->jadwal_baru_group);
- // dd($jadwal_second);
- $group_second = Group::with('jadwal')->where('jadwal_id', '=', $jadwal_second->id)->first();
- // dd($group_second);
- $jadwalKerja_first = JadwalHariKerjaExtuder::where('source_id', '=', $jadwal_first->id)->get();
- $karyawan_first = Karyawan::where('group_id', '=', $group_first->id)->get();
- $group_first_jadwal_id = $group_first->jadwal_id;
- $jadwal_first_group_id = $jadwal_first->group_id;
- if ($group_second != null) {
- $karyawan_second = Karyawan::where('group_id', '=', $group_second->id)->get();
- $group_second_jadwal_id = $group_second->jadwal_id;
- $jadwal_second_group_id = $jadwal_second->group_id;
- $jadwalKerja_second = JadwalHariKerjaExtuder::where('source_id', '=', $jadwal_second->id)->get();
- $jadwal_first->group_id = $group_second->id;
- $jadwal_second->group_id = $group_first->id;
- $jadwal_first->save();
- $jadwal_second->save();
- for ($i = 0; $i < count($jadwalKerja_first); $i++) {
- $jadwalKerja_first[$i]->destroy($jadwalKerja_first[$i]->id);
- }
- for ($i = 0; $i < count($jadwalKerja_second); $i++) {
- $jadwalKerja_second[$i]->destroy($jadwalKerja_second[$i]->id);
- }
- for ($i = 0; $i < count($karyawan_first); $i++) {
- $jadwalHariKerja = new JadwalHariKerjaExtuder();
- $jadwalHariKerja->checkbox_harikerja_senin = $jadwal_second->checkbox_harikerja_senin;
- $jadwalHariKerja->checkbox_harikerja_selasa = $jadwal_second->checkbox_harikerja_selasa;
- $jadwalHariKerja->checkbox_harikerja_rabu = $jadwal_second->checkbox_harikerja_rabu;
- $jadwalHariKerja->checkbox_harikerja_kamis = $jadwal_second->checkbox_harikerja_kamis;
- $jadwalHariKerja->checkbox_harikerja_jumat = $jadwal_second->checkbox_harikerja_jumat;
- $jadwalHariKerja->checkbox_harikerja_sabtu = $jadwal_second->checkbox_harikerja_sabtu;
- $jadwalHariKerja->checkbox_harikerja_minggu = $jadwal_second->checkbox_harikerja_minggu;
- $jadwalHariKerja->jam_masuk = $jadwal_second->jam_masuk;
- $jadwalHariKerja->jam_istirahat_mulai = $jadwal_second->jam_istirahat_mulai;
- $jadwalHariKerja->jam_istirahat_selesai = $jadwal_second->jam_istirahat_selesai;
- $jadwalHariKerja->jam_pulang = $jadwal_second->jam_pulang;
- $jadwalHariKerja->group_id = $group_first->id;
- $jadwalHariKerja->karyawan_id = $karyawan_first[$i]->id;
- // $jadwalHariKerja->status = 'rutin-group';
- $jadwalHariKerja->approval = 0;
- $jadwalHariKerja->nama_jadwal = $jadwal_second->nama_jadwal;
- $jadwalHariKerja->warna = $jadwal_second->warna;
- $jadwalHariKerja->status_hadir = null;
- $jadwalHariKerja->keterangan = $jadwal_second->keterangan;
- $jadwalHariKerja->source_id = $jadwal_second->id;
- // $jadwalHariKerja->source = 'jadwal_group_rutin';
- $jadwalHariKerja->save();
- }
- for ($i = 0; $i < count($karyawan_second); $i++) {
- $jadwalHariKerja = new JadwalHariKerjaExtuder();
- $jadwalHariKerja->checkbox_harikerja_senin = $jadwal_first->checkbox_harikerja_senin;
- $jadwalHariKerja->checkbox_harikerja_selasa = $jadwal_first->checkbox_harikerja_selasa;
- $jadwalHariKerja->checkbox_harikerja_rabu = $jadwal_first->checkbox_harikerja_rabu;
- $jadwalHariKerja->checkbox_harikerja_kamis = $jadwal_first->checkbox_harikerja_kamis;
- $jadwalHariKerja->checkbox_harikerja_jumat = $jadwal_first->checkbox_harikerja_jumat;
- $jadwalHariKerja->checkbox_harikerja_sabtu = $jadwal_first->checkbox_harikerja_sabtu;
- $jadwalHariKerja->checkbox_harikerja_minggu = $jadwal_first->checkbox_harikerja_minggu;
- $jadwalHariKerja->jam_masuk = $jadwal_first->jam_masuk;
- $jadwalHariKerja->jam_istirahat_mulai = $jadwal_first->jam_istirahat_mulai;
- $jadwalHariKerja->jam_istirahat_selesai = $jadwal_first->jam_istirahat_selesai;
- $jadwalHariKerja->jam_pulang = $jadwal_first->jam_pulang;
- $jadwalHariKerja->group_id = $group_second->id;
- $jadwalHariKerja->karyawan_id = $karyawan_second[$i]->id;
- // $jadwalHariKerja->status = 'rutin-group';
- $jadwalHariKerja->approval = 0;
- $jadwalHariKerja->nama_jadwal = $jadwal_first->nama_jadwal;
- $jadwalHariKerja->warna = $jadwal_first->warna;
- $jadwalHariKerja->status_hadir = null;
- $jadwalHariKerja->keterangan = $jadwal_first->keterangan;
- $jadwalHariKerja->source_id = $jadwal_first->id;
- // $jadwalHariKerja->source = 'jadwal_group_rutin';
- $jadwalHariKerja->save();
- }
- for ($i = 0; $i < count($karyawan_first); $i++) {
- $karyawan_first[$i]->jadwal_group_id = $jadwal_second->id;
- $karyawan_first[$i]->save();
- }
- for ($i = 0; $i < count($karyawan_second); $i++) {
- $karyawan_second[$i]->jadwal_group_id = $jadwal_first->id;
- $karyawan_second[$i]->save();
- }
- $group_first->jadwal_id = $jadwal_second->id;
- $group_second->jadwal_id = $jadwal_first->id;
- $group_first->save();
- $group_second->save();
- } else {
- $jadwal_first->group_id = null;
- $jadwal_second->group_id = $group_first->id;
- $jadwal_first->save();
- $jadwal_second->save();
- for ($i = 0; $i < count($jadwalKerja_first); $i++) {
- $jadwalKerja_first[$i]->destroy($jadwalKerja_first[$i]->id);
- }
- for ($i = 0; $i < count($karyawan_first); $i++) {
- $jadwalHariKerja = new JadwalHariKerjaExtuder();
- $jadwalHariKerja->checkbox_harikerja_senin = $jadwal_second->checkbox_harikerja_senin;
- $jadwalHariKerja->checkbox_harikerja_selasa = $jadwal_second->checkbox_harikerja_selasa;
- $jadwalHariKerja->checkbox_harikerja_rabu = $jadwal_second->checkbox_harikerja_rabu;
- $jadwalHariKerja->checkbox_harikerja_kamis = $jadwal_second->checkbox_harikerja_kamis;
- $jadwalHariKerja->checkbox_harikerja_jumat = $jadwal_second->checkbox_harikerja_jumat;
- $jadwalHariKerja->checkbox_harikerja_sabtu = $jadwal_second->checkbox_harikerja_sabtu;
- $jadwalHariKerja->checkbox_harikerja_minggu = $jadwal_second->checkbox_harikerja_minggu;
- $jadwalHariKerja->jam_masuk = $jadwal_second->jam_masuk;
- $jadwalHariKerja->jam_istirahat_mulai = $jadwal_second->jam_istirahat_mulai;
- $jadwalHariKerja->jam_istirahat_selesai = $jadwal_second->jam_istirahat_selesai;
- $jadwalHariKerja->jam_pulang = $jadwal_second->jam_pulang;
- $jadwalHariKerja->group_id = $group_first->id;
- $jadwalHariKerja->karyawan_id = $karyawan_first[$i]->id;
- // $jadwalHariKerja->status = 'rutin-group';
- $jadwalHariKerja->approval = 0;
- $jadwalHariKerja->nama_jadwal = $jadwal_second->nama_jadwal;
- $jadwalHariKerja->warna = $jadwal_second->warna;
- $jadwalHariKerja->status_hadir = null;
- $jadwalHariKerja->keterangan = $jadwal_second->keterangan;
- $jadwalHariKerja->source_id = $jadwal_second->id;
- // $jadwalHariKerja->source = 'jadwal_group_rutin';
- $jadwalHariKerja->save();
- }
- for ($i = 0; $i < count($karyawan_first); $i++) {
- $karyawan_first[$i]->jadwal_group_id = $jadwal_second->id;
- $karyawan_first[$i]->save();
- }
- $group_first->jadwal_id = $jadwal_second->id;
- $group_first->save();
- }
- }
- if ($request->pilih == 'karyawan') {
- $jadwal_existing = JadwalExtuder::with('group')->find($request->jadwal_baru_karyawan);
- // dd($jadwal_existing->status);
- if ($jadwal_existing->group_id == null) {
- foreach ($request->karyawan as $k) {
- $karyawan_existing = Karyawan::find($k);
- $jadwal_master = self::getJadwalKaryawan($k);
- // dd($jadwal_master);
- if ($karyawan_existing->jadwal_id == null) {
- // dd('masuk null');
- $karyawan_existing->jadwal_id = $jadwal_existing->id;
- $karyawan_existing->save();
- } else {
- // dd('masuk tidak null');
- $jadwalKerja_existing = JadwalHariKerjaExtuder::where('karyawan_id', '=', $karyawan_existing->id)->where('source_id', '=', $karyawan_existing->jadwal_id)->get();
- for ($i = 0; $i < count($jadwalKerja_existing); $i++) {
- $jadwalKerja_existing[0]->destroy($jadwalKerja_existing[0]->id);
- }
- }
- $jadwalHariKerja = new JadwalHariKerjaExtuder();
- $jadwalHariKerja->checkbox_harikerja_senin = $jadwal_existing->checkbox_harikerja_senin;
- $jadwalHariKerja->checkbox_harikerja_selasa = $jadwal_existing->checkbox_harikerja_selasa;
- $jadwalHariKerja->checkbox_harikerja_rabu = $jadwal_existing->checkbox_harikerja_rabu;
- $jadwalHariKerja->checkbox_harikerja_kamis = $jadwal_existing->checkbox_harikerja_kamis;
- $jadwalHariKerja->checkbox_harikerja_jumat = $jadwal_existing->checkbox_harikerja_jumat;
- $jadwalHariKerja->checkbox_harikerja_sabtu = $jadwal_existing->checkbox_harikerja_sabtu;
- $jadwalHariKerja->checkbox_harikerja_minggu = $jadwal_existing->checkbox_harikerja_minggu;
- $jadwalHariKerja->jam_masuk = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_istirahat_mulai = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_istirahat_selesai = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_pulang = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->karyawan_id = $k;
- // $jadwalHariKerja->status = 'rutin';
- $jadwalHariKerja->approval = 0;
- $jadwalHariKerja->nama_jadwal = $jadwal_existing->nama_jadwal;
- $jadwalHariKerja->warna = $jadwal_existing->warna;
- $jadwalHariKerja->status_hadir = null;
- $jadwalHariKerja->keterangan = $jadwal_existing->keterangan;
- $jadwalHariKerja->source_id = $jadwal_existing->id;
- // $jadwalHariKerja->source = 'jadwal_rutin';
- $jadwalHariKerja->save();
- }
- }
- if ($jadwal_existing->status != null) {
- foreach ($request->karyawan as $k) {
- $karyawan_existing = Karyawan::find($k);
- $jadwal_master = self::getJadwalKaryawan($k);
- // dd($jadwal_master);
- $group_lookup = Group::find($jadwal_existing->group_id);
- if ($karyawan_existing->group_id == null) {
- // dd('masuk null');
- $karyawan_existing->group_id = $jadwal_existing->group_id;
- $karyawan_existing->nik = $group_lookup->nama . $karyawan_existing->groupno;
- $karyawan_existing->jadwal_group_id = $jadwal_existing->id;
- $karyawan_existing->save();
- } else {
- // dd('masuk tidak null');
- $jadwalKerja_existing = JadwalHariKerja::where('karyawan_id', '=', $karyawan_existing->id)->where('group_id', '=', $request->group_id)->where('source_id', '=', $karyawan_existing->jadwal_group_id)->where('source', '=', 'jadwal_group_rutin')->get();
- // dd($jadwalKerja_existing);
- for ($i = 0; $i < count($jadwalKerja_existing); $i++) {
- $jadwalKerja_existing[0]->destroy($jadwalKerja_existing[0]->id);
- }
- $karyawan_existing->group_id = $jadwal_existing->group_id;
- $karyawan_existing->nik = $group_lookup->nama . $karyawan_existing->groupno;
- $karyawan_existing->jadwal_group_id = $jadwal_existing->id;
- $karyawan_existing->save();
- }
- $jadwalHariKerja = new JadwalHariKerja();
- $jadwalHariKerja->checkbox_harikerja_senin = $jadwal_existing->checkbox_harikerja_senin;
- $jadwalHariKerja->checkbox_harikerja_selasa = $jadwal_existing->checkbox_harikerja_selasa;
- $jadwalHariKerja->checkbox_harikerja_rabu = $jadwal_existing->checkbox_harikerja_rabu;
- $jadwalHariKerja->checkbox_harikerja_kamis = $jadwal_existing->checkbox_harikerja_kamis;
- $jadwalHariKerja->checkbox_harikerja_jumat = $jadwal_existing->checkbox_harikerja_jumat;
- $jadwalHariKerja->checkbox_harikerja_sabtu = $jadwal_existing->checkbox_harikerja_sabtu;
- $jadwalHariKerja->checkbox_harikerja_minggu = $jadwal_existing->checkbox_harikerja_minggu;
- $jadwalHariKerja->jam_masuk = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_istirahat_mulai = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_istirahat_selesai = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->jam_pulang = $jadwal_existing->jam_masuk;
- $jadwalHariKerja->karyawan_id = $k;
- $jadwalHariKerja->group_id = $karyawan_existing->group_id;
- $jadwalHariKerja->status = 'rutin-group';
- $jadwalHariKerja->approval = 0;
- $jadwalHariKerja->nama_jadwal = $jadwal_existing->nama_jadwal;
- $jadwalHariKerja->warna = $jadwal_existing->warna;
- $jadwalHariKerja->status_hadir = null;
- $jadwalHariKerja->keterangan = $jadwal_existing->keterangan;
- $jadwalHariKerja->source_id = $jadwal_existing->id;
- $jadwalHariKerja->source = 'jadwal_group_rutin';
- $jadwalHariKerja->save();
- // kph kpm disini
- $get_storage = KalkulasiPoinHarian::where('karyawan_id', $karyawan_existing->id)->where('tanggal_hari_ini', Carbon::now()->toDateString())->first();
- if($get_storage != null) {
- $get_storage->source_group_rutin = 'jadwal_group_rutin';
- $get_storage->source_id_group_rutin = $jadwal_existing->id;
- $get_storage->save();
- }
- // minguan jam
- // input mingguan jam rutin
- $awal_minggu = Carbon::now()->startOfWeek()->format('Y-m-d 00:00:00');
- $akhir_minggu = Carbon::now()->endOfWeek()->format('Y-m-d 00:00:00');
- $minggu_ke = idate('W', strtotime(Carbon::now()->format("Y-m-d")));
- $get_storage_rutin = MingguanJamRutin::where('karyawan_id', $karyawan_existing->id)->where('tanggal_awal', $awal_minggu)->where('tanggal_akhir', $akhir_minggu)->where('minggu_ke', $minggu_ke)->first();
- if($get_storage_rutin != null) {
- $get_storage_rutin->source_group = 'jadwal_group_rutin';
- $get_storage_rutin->source_id_group = $jadwal_existing->id;
- $get_storage_rutin->nama_jadwal_group = $jadwal_existing->nama_jadwal;
- $get_storage_rutin->save();
- }
- // mingguan poin lupa kemasukin
- $generate_storage = KalkulasiPoinMingguan::where('karyawan_id', $karyawan_existing[$i]->id)
- ->where('tanggal_awal_minggu', $awal_minggu)
- ->where('tanggal_akhir_minggu', $akhir_minggu)
- ->where('minggu_ke', $minggu_ke)->first();
- if($generate_storage != null) {
- $generate_storage->source_rutin_group = 'jadwal_group_rutin';
- $generate_storage->source_id_rutin_group = $jadwal_existing->id;
- $generate_storage->save();
- }
- }
- }
- }
- alert()->success('Sukses', 'Rolling Jadwal Extuder berhasil.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
- return redirect()->route('group.index');
- }
Add Comment
Please, Sign In to add comment