Advertisement
vitareinforce

update extuder

Feb 11th, 2022
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 337.68 KB | None | 0 0
  1. public function update(Request $request, $id)
  2. {
  3. $request->validate([
  4. 'nama_jadwal' => 'required',
  5. 'status_shift1' => 'required',
  6. 'jam_masuk_shift1' => 'required',
  7. 'jam_istirahat_mulai_shift1' => 'required',
  8. 'jam_istirahat_selesai_shift1' => 'required',
  9. 'jam_pulang_shift1' => 'required',
  10. ]);
  11.  
  12. $tanggal_boleh_tap_yang_baru = null;
  13. $tanggal_boleh_tap_selanjutnya_yang_baru = null;
  14.  
  15. /**
  16. * ini untuk set awal saja, nanti direplace kemudian
  17. */
  18. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  19. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  20. $jarak_hari = $jarak_hari + 1;
  21. if($jarak_hari % 2 == 0) {
  22. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  23. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  24. } else if($jarak_hari % 2 != 0) {
  25. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  26. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  27. }
  28.  
  29. $karyawan_lama = array();
  30. $group_lama = array();
  31. $karyawan_list_lama = Karyawan::where('jadwal_extuder_id', $id)->get();
  32. $group_list_lama = Group::where('jadwal_extuder_id', $id)->get();
  33. foreach($karyawan_list_lama as $kl) {
  34. array_push($karyawan_lama,$kl->id);
  35. }
  36. foreach($group_list_lama as $gm) {
  37. array_push($group_lama,$gm->id);
  38. }
  39.  
  40. if (isset($request->status_shift1) == false) {
  41. $request->status_shift1 = null;
  42. $request->jam_masuk_shift1 = null;
  43. $request->jam_istirahat_mulai_shift1 = null;
  44. $request->jam_istirahat_selesai_shift1 = null;
  45. $request->jam_pulang_shift1 = null;
  46. }
  47.  
  48. if (isset($request->status_shift2) == false) {
  49. $request->status_shift2 = null;
  50. $request->jam_masuk_shift2 = null;
  51. $request->jam_istirahat_mulai_shift2 = null;
  52. $request->jam_istirahat_selesai_shift2 = null;
  53. $request->jam_pulang_shift2 = null;
  54. }
  55.  
  56. if (isset($request->status_shift3) == false) {
  57. $request->status_shift3 = null;
  58. $request->jam_masuk_shift3 = null;
  59. $request->jam_istirahat_mulai_shift3 = null;
  60. $request->jam_istirahat_selesai_shift3 = null;
  61. $request->jam_pulang_shift3 = null;
  62. }
  63.  
  64. $jadwal_sebelum_edit = JadwalExtuder::find($id);
  65. $jadwal_master_lama_nama_jadwal = $jadwal_sebelum_edit->nama_jadwal;
  66. $jadwal_master_lama_warna = $jadwal_sebelum_edit->warna;
  67.  
  68. $jadwal_master_lama_jam_masuk_shift1 = $jadwal_sebelum_edit->jam_masuk_shift1;
  69. $jadwal_master_lama_jam_istirahat_mulai_shift1 = $jadwal_sebelum_edit->jam_istirahat_mulai_shift1;
  70. $jadwal_master_lama_jam_istirahat_selesai_shift1 = $jadwal_sebelum_edit->jam_istirahat_selesai_shift1;
  71. $jadwal_master_lama_jam_pulang_shift1 = $jadwal_sebelum_edit->jam_pulang_shift1;
  72. $jadwal_master_lama_status_shift1 = $jadwal_sebelum_edit->status_shift1;
  73. $jadwal_master_lama_jam_masuk_shift2 = $jadwal_sebelum_edit->jam_masuk_shift2;
  74. $jadwal_master_lama_jam_istirahat_mulai_shift2 = $jadwal_sebelum_edit->jam_istirahat_mulai_shift2;
  75. $jadwal_master_lama_jam_istirahat_selesai_shift2 = $jadwal_sebelum_edit->jam_istirahat_selesai_shift2;
  76. $jadwal_master_lama_jam_pulang_shift2 = $jadwal_sebelum_edit->jam_pulang_shift2;
  77. $jadwal_master_lama_status_shift2 = $jadwal_sebelum_edit->status_shift2;
  78. $jadwal_master_lama_jam_masuk_shift3 = $jadwal_sebelum_edit->jam_masuk_shift3;
  79. $jadwal_master_lama_jam_istirahat_mulai_shift3 = $jadwal_sebelum_edit->jam_istirahat_mulai_shift3;
  80. $jadwal_master_lama_jam_istirahat_selesai_shift3 = $jadwal_sebelum_edit->jam_istirahat_selesai_shift3;
  81. $jadwal_master_lama_jam_pulang_shift3 = $jadwal_sebelum_edit->jam_pulang_shift3;
  82. $jadwal_master_lama_status_shift3 = $jadwal_sebelum_edit->status_shift3;
  83.  
  84. $jadwal_master_lama_jam_masuk_shift1_baru = $jadwal_sebelum_edit->jam_masuk_shift1_baru;
  85. $jadwal_master_lama_jam_istirahat_mulai_shift1_baru = $jadwal_sebelum_edit->jam_istirahat_mulai_shift1_baru;
  86. $jadwal_master_lama_jam_istirahat_selesai_shift1_baru = $jadwal_sebelum_edit->jam_istirahat_selesai_shift1_baru;
  87. $jadwal_master_lama_jam_pulang_shift1_baru = $jadwal_sebelum_edit->jam_pulang_shift1_baru;
  88. $jadwal_master_lama_status_shift1_baru = $jadwal_sebelum_edit->status_shift1_baru;
  89. $jadwal_master_lama_jam_masuk_shift2_baru = $jadwal_sebelum_edit->jam_masuk_shift2_baru;
  90. $jadwal_master_lama_jam_istirahat_mulai_shift2_baru = $jadwal_sebelum_edit->jam_istirahat_mulai_shift2_baru;
  91. $jadwal_master_lama_jam_istirahat_selesai_shift2_baru = $jadwal_sebelum_edit->jam_istirahat_selesai_shift2_baru;
  92. $jadwal_master_lama_jam_pulang_shift2_baru = $jadwal_sebelum_edit->jam_pulang_shift2_baru;
  93. $jadwal_master_lama_status_shift2_baru = $jadwal_sebelum_edit->status_shift2_baru;
  94. $jadwal_master_lama_jam_masuk_shift3_baru = $jadwal_sebelum_edit->jam_masuk_shift3_baru;
  95. $jadwal_master_lama_jam_istirahat_mulai_shift3_baru = $jadwal_sebelum_edit->jam_istirahat_mulai_shift3_baru;
  96. $jadwal_master_lama_jam_istirahat_selesai_shift3_baru = $jadwal_sebelum_edit->jam_istirahat_selesai_shift3_baru;
  97. $jadwal_master_lama_jam_pulang_shift3_baru = $jadwal_sebelum_edit->jam_pulang_shift3_baru;
  98. $jadwal_master_lama_status_shift3_baru = $jadwal_sebelum_edit->status_shift3_baru;
  99.  
  100. $jadwal_master_lama_tanggal_boleh_tap = $jadwal_sebelum_edit->tanggal_boleh_tap;
  101. $jadwal_master_lama_tanggal_boleh_tap_selanjutnya = $jadwal_sebelum_edit->tanggal_boleh_tap_selanjutnya;
  102. $jadwal_master_lama_tanggal_boleh_tap_baru = $jadwal_sebelum_edit->tanggal_boleh_tap_baru;
  103. $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru = $jadwal_sebelum_edit->tanggal_boleh_tap_selanjutnya_baru;
  104.  
  105. $jadwal_master_lama_tanggal_jadwal_diedit = $jadwal_sebelum_edit->tanggal_jadwal_diedit;
  106. $jadwal_master_lama_tanggal_jadwal_diedit_baru = $jadwal_sebelum_edit->tanggal_jadwal_diedit_baru;
  107.  
  108. $cek_perubahan_jadwal_master = JadwalExtuder::find($id);
  109. $cek_perubahan_jadwal_master->nama_jadwal = $request->nama_jadwal;
  110. $cek_perubahan_jadwal_master->warna = $request->warna;
  111. $cek_perubahan_jadwal_master->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  112. $cek_perubahan_jadwal_master->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  113. $cek_perubahan_jadwal_master->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  114. $cek_perubahan_jadwal_master->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  115. $cek_perubahan_jadwal_master->status_shift1_baru = $request->status_shift1;
  116. $cek_perubahan_jadwal_master->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  117. $cek_perubahan_jadwal_master->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  118. $cek_perubahan_jadwal_master->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  119. $cek_perubahan_jadwal_master->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  120. $cek_perubahan_jadwal_master->status_shift2_baru = $request->status_shift2;
  121. $cek_perubahan_jadwal_master->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  122. $cek_perubahan_jadwal_master->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  123. $cek_perubahan_jadwal_master->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  124. $cek_perubahan_jadwal_master->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  125. $cek_perubahan_jadwal_master->status_shift3_baru = $request->status_shift3;
  126.  
  127. $perubahan_identitas = $cek_perubahan_jadwal_master->isDirty();
  128.  
  129. if(isset($request->karyawan)) {
  130. $jadwal_child_extuder_lama = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->get();
  131. $jadwal_child_lama = array();
  132. $checkbox_karyawan_lama = array();
  133. for($i = 0; $i < count($jadwal_child_extuder_lama); $i++) {
  134. array_push($jadwal_child_lama, $jadwal_child_extuder_lama[$i]->karyawan_id);
  135. }
  136. foreach($request->karyawan as $rk) {
  137. array_push($checkbox_karyawan_lama, (int) $rk);
  138. }
  139.  
  140. $perubahan_karyawan = false;
  141. foreach($request->karyawan as $rk) {
  142. if(in_array($rk, $jadwal_child_lama) == false) {
  143. $perubahan_karyawan = true;
  144. break;
  145. }
  146. }
  147.  
  148. if($perubahan_identitas == true && $perubahan_karyawan == false) {
  149.  
  150. /**
  151. * 1. Ubah jadwal lama dan jadwal baru Jadwal Extuder
  152. * 2. Ubah jadwal lama dan jadwal baru Jadwal Hari Kerja Extuder
  153. * 3. Ubah jadwal lama dan jadwal baru Karyawan
  154. *
  155. * Notes: Dari semua tabel yang disebutkan, harus memiliki jadwal lama dan jadwal baru
  156. */
  157.  
  158. /**
  159. * Masukin:
  160. * IF (ubah nama/warna)
  161. * ELSE IF (ubah data shift dan jam)
  162. */
  163. /**
  164. * if(ubah nama, waarna)
  165. * tbt dan tbts baru tidak berubah
  166. * else if(ubah jam, status shift)
  167. * tbt dan tbts baru ikut pattern
  168. */
  169.  
  170. // deteksi perubahan nama / warna
  171. $perubahan_nama_warna = false;
  172. if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') || $cek_perubahan_jadwal_master->isDirty('warna')) {
  173. $perubahan_nama_warna = true;
  174. } else if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') && $cek_perubahan_jadwal_master->isDirty('warna')) {
  175. $perubahan_nama_warna = true;
  176. }
  177.  
  178. $perubahan_jam_shift = false;
  179. if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') ||
  180. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') ||
  181. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') ||
  182. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') ||
  183. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') ||
  184. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') ||
  185. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') ||
  186. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') ||
  187. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') ||
  188. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') ||
  189. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') ||
  190. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') ||
  191. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') ||
  192. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') ||
  193. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  194. $perubahan_jam_shift = true;
  195. } else if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') &&
  196. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') &&
  197. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') &&
  198. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') &&
  199. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') &&
  200. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') &&
  201. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') &&
  202. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') &&
  203. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') &&
  204. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') &&
  205. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') &&
  206. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') &&
  207. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') &&
  208. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') &&
  209. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  210. $perubahan_jam_shift = true;
  211. }
  212.  
  213.  
  214. if($perubahan_nama_warna == true && $perubahan_jam_shift == false) {
  215. // tbt tidak berubah
  216. // update jadwal master
  217. $jadwal_master_baru = JadwalExtuder::find($id);
  218. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  219. $jadwal_master_baru->warna = $request->warna;
  220.  
  221. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  222. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  223. $jadwal_master_baru->tanggal_boleh_tap_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  224. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  225.  
  226. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  227. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  228. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  229. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  230. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  231. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  232. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  233. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  234. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  235. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  236. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  237. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  238. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  239. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  240. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  241.  
  242. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  243. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  244. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  245. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  246. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  247. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  248. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  249. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  250. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  251. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  252. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  253. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  254. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  255. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  256. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  257.  
  258. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  259. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  260. $jadwal_master_baru->save();
  261.  
  262. $jadwal_master_baru = JadwalExtuder::find($id);
  263.  
  264. // replace data yang ada di jadwal child (update)
  265. if(isset($request->karyawan)) {
  266. foreach($request->karyawan as $k) {
  267. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  268. // kurang if isset harikerja extuder
  269. if(isset($harikerjaextuder)) {
  270. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  271. $harikerjaextuder->warna = $request->warna;
  272. $harikerjaextuder->save();
  273. }
  274. }
  275. }
  276.  
  277.  
  278. } else if($perubahan_nama_warna == false && $perubahan_jam_shift == true) {
  279. // tbt ikut pattern
  280. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  281. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  282. $jarak_hari = $jarak_hari + 1;
  283.  
  284. if($jarak_hari % 2 == 0) {
  285. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  286. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  287. } else if($jarak_hari % 2 != 0) {
  288. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  289. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  290. }
  291.  
  292. // update jadwal master
  293. $jadwal_master_baru = JadwalExtuder::find($id);
  294. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  295. $jadwal_master_baru->warna = $request->warna;
  296.  
  297. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  298. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  299. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  300. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  301.  
  302. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  303. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  304. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  305. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  306. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  307. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  308. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  309. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  310. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  311. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  312. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  313. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  314. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  315. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  316. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  317.  
  318. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  319. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  320. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  321. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  322. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  323. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  324. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  325. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  326. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  327. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  328. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  329. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  330. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  331. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  332. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  333.  
  334. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  335. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  336. $jadwal_master_baru->save();
  337.  
  338. $jadwal_master_baru = JadwalExtuder::find($id);
  339.  
  340. // replace data yang ada di jadwal child (update)
  341. if(isset($request->karyawan)) {
  342. foreach($request->karyawan as $k) {
  343. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  344. // kurang if isset harikerja extuder
  345. if(isset($harikerjaextuder)) {
  346.  
  347. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  348. // $jarak_hari = null;
  349. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  350. // $jarak_hari = $jarak_hari + 1;
  351.  
  352. // if($jarak_hari % 2 == 0) {
  353. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  354. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  355. // } else if($jarak_hari % 2 != 0) {
  356. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  357. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  358. // }
  359.  
  360. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  361. $harikerjaextuder->warna = $request->warna;
  362. $harikerjaextuder->karyawan_id = $k;
  363. $harikerjaextuder->source_id = $id;
  364. $harikerjaextuder->source = 'extuder karyawan';
  365. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap_baru;
  366. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  367. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  368. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  369. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  370. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  371.  
  372. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  373. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  374. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  375. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  376. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  377.  
  378. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  379. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  380. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  381. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  382. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  383.  
  384. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  385. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  386. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  387. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  388. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  389.  
  390. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  391. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  392. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  393. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  394. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  395.  
  396. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  397. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  398. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  399. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  400. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  401.  
  402. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  403. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  404. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  405. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  406. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  407.  
  408. $harikerjaextuder->save();
  409. }
  410.  
  411. $karyawan_existing = Karyawan::find($k);
  412. if(isset($karyawan_existing)) {
  413. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  414. // $jarak_hari = null;
  415. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  416. // $jarak_hari = $jarak_hari + 1;
  417.  
  418. // if($jarak_hari % 2 == 0) {
  419. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  420. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  421. // } else if($jarak_hari % 2 != 0) {
  422. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  423. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  424. // }
  425.  
  426. $karyawan_existing->jadwal_extuder_id = $id;
  427. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  428. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  429. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  430. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  431. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  432.  
  433. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  434. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  435. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  436. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  437. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  438.  
  439. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  440. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  441. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  442. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  443. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  444.  
  445. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  446. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  447. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  448. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  449. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  450.  
  451. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  452. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  453. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  454. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  455. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  456.  
  457. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  458. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  459. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  460. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  461. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  462.  
  463. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_baru;
  464. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  465. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  466. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  467.  
  468. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  469. $karyawan_existing->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  470. $karyawan_existing->save();
  471. }
  472. }
  473. }
  474. } else if($perubahan_nama_warna == true && $perubahan_jam_shift == true) {
  475. // tbt ikut pattern
  476. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  477. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  478. $jarak_hari = $jarak_hari + 1;
  479.  
  480. if($jarak_hari % 2 == 0) {
  481. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  482. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  483. } else if($jarak_hari % 2 != 0) {
  484. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  485. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  486. }
  487.  
  488. // update jadwal master
  489. $jadwal_master_baru = JadwalExtuder::find($id);
  490. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  491. $jadwal_master_baru->warna = $request->warna;
  492.  
  493. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  494. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  495. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  496. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  497.  
  498. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  499. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  500. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  501. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  502. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  503. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  504. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  505. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  506. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  507. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  508. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  509. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  510. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  511. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  512. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  513.  
  514. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  515. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  516. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  517. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  518. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  519. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  520. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  521. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  522. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  523. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  524. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  525. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  526. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  527. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  528. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  529.  
  530. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  531. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  532. $jadwal_master_baru->save();
  533.  
  534. $jadwal_master_baru = JadwalExtuder::find($id);
  535.  
  536. // replace data yang ada di jadwal child (update)
  537. if(isset($request->karyawan)) {
  538. foreach($request->karyawan as $k) {
  539. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  540. // kurang if isset harikerja extuder
  541. if(isset($harikerjaextuder)) {
  542.  
  543. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  544. // $jarak_hari = null;
  545. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  546. // $jarak_hari = $jarak_hari + 1;
  547.  
  548. // if($jarak_hari % 2 == 0) {
  549. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  550. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  551. // } else if($jarak_hari % 2 != 0) {
  552. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  553. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  554. // }
  555.  
  556. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  557. $harikerjaextuder->warna = $request->warna;
  558. $harikerjaextuder->karyawan_id = $k;
  559. $harikerjaextuder->source_id = $id;
  560. $harikerjaextuder->source = 'extuder karyawan';
  561. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap_baru;
  562. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  563. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  564. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  565. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  566. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  567.  
  568. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  569. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  570. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  571. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  572. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  573.  
  574. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  575. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  576. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  577. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  578. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  579.  
  580. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  581. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  582. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  583. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  584. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  585.  
  586. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  587. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  588. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  589. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  590. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  591.  
  592. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  593. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  594. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  595. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  596. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  597.  
  598. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  599. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  600. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  601. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  602. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  603.  
  604. $harikerjaextuder->save();
  605. }
  606.  
  607. $karyawan_existing = Karyawan::find($k);
  608. if(isset($karyawan_existing)) {
  609. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder karyawan')->where('source_id', $id)->where('karyawan_id', $k)->first();
  610. // $jarak_hari = null;
  611. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  612. // $jarak_hari = $jarak_hari + 1;
  613.  
  614. // if($jarak_hari % 2 == 0) {
  615. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  616. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  617. // } else if($jarak_hari % 2 != 0) {
  618. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  619. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  620. // }
  621.  
  622. $karyawan_existing->jadwal_extuder_id = $id;
  623. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  624. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  625. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  626. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  627. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  628.  
  629. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  630. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  631. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  632. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  633. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  634.  
  635. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  636. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  637. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  638. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  639. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  640.  
  641. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  642. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  643. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  644. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  645. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  646.  
  647. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  648. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  649. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  650. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  651. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  652.  
  653. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  654. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  655. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  656. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  657. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  658.  
  659. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_baru;
  660. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  661. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  662. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  663.  
  664. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  665. $karyawan_existing->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  666. $karyawan_existing->save();
  667. }
  668. }
  669. }
  670. }
  671.  
  672.  
  673. } else if($perubahan_identitas == false && $perubahan_karyawan == true) {
  674.  
  675. /**
  676. * 1. Ubah jadwal lama dan jadwal baru Jadwal Extuder
  677. * 2. Ubah jadwal lama dan jadwal baru Jadwal Hari Kerja Extuder
  678. * 3. Ubah jadwal lama dan jadwal baru Karyawan
  679. * 4. Karyawan yang ditambahkan ke dalam jadwal, jadwal lama dan jadwal baru
  680. * karyawan tersebut harus sync dengan jadwal lama dan jadwal baru dari
  681. * Jadwal Extuder yang sudah di edit
  682. *
  683. * Notes: Dari semua tabel yang disebutkan, harus memiliki jadwal lama dan jadwal baru
  684. */
  685.  
  686. // tbt ikut pattern
  687. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source_id', $id)->first();
  688. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  689. $jarak_hari = $jarak_hari + 1;
  690.  
  691. if($jarak_hari % 2 == 0) {
  692. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  693. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  694. } else if($jarak_hari % 2 != 0) {
  695. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  696. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  697. }
  698.  
  699. // destroy child
  700. $jadwal_child = JadwalHariKerjaExtuder::where('source_id', $id)->get();
  701. for ($i = 0; $i < count($jadwal_child); $i++) {
  702. $karyawan_id = $jadwal_child[$i]->karyawan_id;
  703. $karyawan_existing = Karyawan::find($karyawan_id);
  704. $karyawan_existing->jadwal_extuder_id = null;
  705. $karyawan_existing->jam_masuk_shift1_extuder_lama = null;
  706. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = null;
  707. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = null;
  708. $karyawan_existing->jam_pulang_shift1_extuder_lama = null;
  709. $karyawan_existing->status_shift1_extuder_lama = null;
  710.  
  711. $karyawan_existing->jam_masuk_shift2_extuder_lama = null;
  712. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = null;
  713. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = null;
  714. $karyawan_existing->jam_pulang_shift2_extuder_lama = null;
  715. $karyawan_existing->status_shift2_extuder_lama = null;
  716.  
  717. $karyawan_existing->jam_masuk_shift3_extuder_lama = null;
  718. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = null;
  719. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = null;
  720. $karyawan_existing->jam_pulang_shift3_extuder_lama = null;
  721. $karyawan_existing->status_shift3_extuder_lama = null;
  722.  
  723. $karyawan_existing->jam_masuk_shift1_extuder_baru = null;
  724. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = null;
  725. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = null;
  726. $karyawan_existing->jam_pulang_shift1_extuder_baru = null;
  727. $karyawan_existing->status_shift1_extuder_baru = null;
  728.  
  729. $karyawan_existing->jam_masuk_shift2_extuder_baru = null;
  730. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = null;
  731. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = null;
  732. $karyawan_existing->jam_pulang_shift2_extuder_baru = null;
  733. $karyawan_existing->status_shift2_extuder_baru = null;
  734.  
  735. $karyawan_existing->jam_masuk_shift3_extuder_baru = null;
  736. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = null;
  737. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = null;
  738. $karyawan_existing->jam_pulang_shift3_extuder_baru = null;
  739. $karyawan_existing->status_shift3_extuder_baru = null;
  740.  
  741. $karyawan_existing->tanggal_boleh_tap_extuder_lama = null;
  742. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = null;
  743. $karyawan_existing->tanggal_boleh_tap_extuder_baru = null;
  744. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = null;
  745.  
  746. $karyawan_existing->tanggal_jadwal_extuder_diedit = null;
  747. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = null;
  748. $karyawan_existing->save();
  749.  
  750. $jadwal_child[$i]->destroy($jadwal_child[$i]->id);
  751. }
  752.  
  753. // dikarenakan tidak ada perubahan identitas maka jadwal master baru ambil dari yang sudah ada
  754. $jadwal_master_baru = JadwalExtuder::find($id);
  755.  
  756. // create child
  757. if(isset($request->karyawan)) {
  758. foreach($request->karyawan as $k) {
  759. $harikerjaextuder = new JadwalHariKerjaExtuder();
  760. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  761. $harikerjaextuder->warna = $request->warna;
  762. $harikerjaextuder->karyawan_id = $k;
  763. $harikerjaextuder->source_id = $id;
  764. $harikerjaextuder->source = 'extuder karyawan';
  765.  
  766. if(in_array($k, $jadwal_child_lama) == true) {
  767. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  768. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  769. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  770. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  771. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit;
  772. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  773.  
  774. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  775. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  776. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  777. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  778. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  779.  
  780. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  781. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  782. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  783. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  784. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  785.  
  786. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  787. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  788. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  789. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  790. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  791.  
  792.  
  793. /**
  794. * Kasus: orang yang masih merupakan member jadwal tsb.
  795. *
  796. * Master belum pernah di-edit
  797. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  798. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  799. *
  800. * Master sudah pernah di-edit
  801. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  802. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  803. */
  804. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  805. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  806. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  807. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  808. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  809.  
  810. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  811. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  812. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  813. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  814. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  815.  
  816. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  817. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  818. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  819. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  820. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  821.  
  822. $harikerjaextuder->save();
  823.  
  824. $karyawan_existing = Karyawan::find($k);
  825. if(isset($karyawan_existing)) {
  826. $karyawan_existing->is_changed_extuder = false;
  827. $karyawan_existing->jadwal_extuder_id = $id;
  828. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  829. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  830. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  831. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  832. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  833.  
  834. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  835. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  836. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  837. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  838. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  839.  
  840. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  841. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  842. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  843. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  844. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  845.  
  846. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  847. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  848. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  849. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  850. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  851.  
  852. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  853. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  854. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  855. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  856. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  857.  
  858. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  859. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  860. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  861. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  862. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  863.  
  864. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  865. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  866. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  867. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  868.  
  869. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit;
  870. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  871. $karyawan_existing->save();
  872. }
  873.  
  874. } else if(in_array($k, $jadwal_child_lama) == false) {
  875. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  876. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  877. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  878. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  879. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  880. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  881.  
  882. /**
  883. * Kasus: orang baru yang dimasukkan ke jadwal tsb.
  884. *
  885. * Master belun pernah di-edit
  886. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  887. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  888. *
  889. * Master sudah pernah di-edit
  890. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  891. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  892. */
  893. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  894. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  895. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  896. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  897. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  898.  
  899. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  900. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  901. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  902. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  903. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  904.  
  905. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  906. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  907. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  908. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  909. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  910.  
  911. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  912. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  913. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  914. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  915. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  916.  
  917. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  918. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  919. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  920. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  921. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  922.  
  923. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  924. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  925. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  926. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  927. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  928.  
  929. $harikerjaextuder->save();
  930.  
  931. $karyawan_existing = Karyawan::find($k);
  932. if(isset($karyawan_existing)) {
  933. $karyawan_existing->is_changed_extuder = true;
  934. $karyawan_existing->jadwal_extuder_id = $id;
  935. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_baru->jam_masuk_shift1;
  936. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  937. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  938. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_baru->jam_pulang_shift1;
  939. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_baru->status_shift1;
  940.  
  941. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_baru->jam_masuk_shift2;
  942. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  943. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  944. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_baru->jam_pulang_shift2;
  945. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_baru->status_shift2;
  946.  
  947. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_baru->jam_masuk_shift3;
  948. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  949. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  950. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_baru->jam_pulang_shift3;
  951. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_baru->status_shift3;
  952.  
  953. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  954. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  955. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  956. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  957. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  958.  
  959. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  960. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  961. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  962. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  963. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  964.  
  965. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  966. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  967. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  968. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  969. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  970.  
  971. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $tanggal_boleh_tap_yang_baru;
  972. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  973. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  974. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  975.  
  976. $karyawan_existing->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  977. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  978. $karyawan_existing->is_changed_extuder = false;
  979. $karyawan_existing->save();
  980. }
  981. }
  982. }
  983. }
  984.  
  985. } else if($perubahan_identitas == true && $perubahan_karyawan == true) {
  986. // deteksi perubahan nama / warna
  987. $perubahan_nama_warna = false;
  988. if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') || $cek_perubahan_jadwal_master->isDirty('warna')) {
  989. $perubahan_nama_warna = true;
  990. } else if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') && $cek_perubahan_jadwal_master->isDirty('warna')) {
  991. $perubahan_nama_warna = true;
  992. }
  993.  
  994. $perubahan_jam_shift = false;
  995. if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') ||
  996. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') ||
  997. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') ||
  998. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') ||
  999. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') ||
  1000. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') ||
  1001. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') ||
  1002. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') ||
  1003. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') ||
  1004. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') ||
  1005. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') ||
  1006. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') ||
  1007. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') ||
  1008. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') ||
  1009. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  1010. $perubahan_jam_shift = true;
  1011. } else if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') &&
  1012. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') &&
  1013. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') &&
  1014. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') &&
  1015. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') &&
  1016. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') &&
  1017. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') &&
  1018. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') &&
  1019. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') &&
  1020. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') &&
  1021. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') &&
  1022. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') &&
  1023. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') &&
  1024. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') &&
  1025. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  1026. $perubahan_jam_shift = true;
  1027. }
  1028.  
  1029. // tbt ikut pattern
  1030. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source_id', $id)->first();
  1031. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  1032. $jarak_hari = $jarak_hari + 1;
  1033.  
  1034. if($jarak_hari % 2 == 0) {
  1035. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  1036. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  1037. } else if($jarak_hari % 2 != 0) {
  1038. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  1039. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  1040. }
  1041.  
  1042. // destroy child
  1043. $jadwal_child = JadwalHariKerjaExtuder::where('source_id', $id)->get();
  1044. for ($i = 0; $i < count($jadwal_child); $i++) {
  1045. $karyawan_id = $jadwal_child[$i]->karyawan_id;
  1046. $karyawan_existing = Karyawan::find($karyawan_id);
  1047. $karyawan_existing->jadwal_extuder_id = null;
  1048. $karyawan_existing->jam_masuk_shift1_extuder_lama = null;
  1049. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = null;
  1050. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = null;
  1051. $karyawan_existing->jam_pulang_shift1_extuder_lama = null;
  1052. $karyawan_existing->status_shift1_extuder_lama = null;
  1053.  
  1054. $karyawan_existing->jam_masuk_shift2_extuder_lama = null;
  1055. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = null;
  1056. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = null;
  1057. $karyawan_existing->jam_pulang_shift2_extuder_lama = null;
  1058. $karyawan_existing->status_shift2_extuder_lama = null;
  1059.  
  1060. $karyawan_existing->jam_masuk_shift3_extuder_lama = null;
  1061. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = null;
  1062. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = null;
  1063. $karyawan_existing->jam_pulang_shift3_extuder_lama = null;
  1064. $karyawan_existing->status_shift3_extuder_lama = null;
  1065.  
  1066. $karyawan_existing->jam_masuk_shift1_extuder_baru = null;
  1067. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = null;
  1068. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = null;
  1069. $karyawan_existing->jam_pulang_shift1_extuder_baru = null;
  1070. $karyawan_existing->status_shift1_extuder_baru = null;
  1071.  
  1072. $karyawan_existing->jam_masuk_shift2_extuder_baru = null;
  1073. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = null;
  1074. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = null;
  1075. $karyawan_existing->jam_pulang_shift2_extuder_baru = null;
  1076. $karyawan_existing->status_shift2_extuder_baru = null;
  1077.  
  1078. $karyawan_existing->jam_masuk_shift3_extuder_baru = null;
  1079. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = null;
  1080. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = null;
  1081. $karyawan_existing->jam_pulang_shift3_extuder_baru = null;
  1082. $karyawan_existing->status_shift3_extuder_baru = null;
  1083.  
  1084. $karyawan_existing->tanggal_boleh_tap_extuder_lama = null;
  1085. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = null;
  1086. $karyawan_existing->tanggal_boleh_tap_extuder_baru = null;
  1087. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = null;
  1088.  
  1089. $karyawan_existing->tanggal_jadwal_extuder_diedit = null;
  1090. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = null;
  1091. $karyawan_existing->save();
  1092.  
  1093. $jadwal_child[$i]->destroy($jadwal_child[$i]->id);
  1094. }
  1095.  
  1096. /**
  1097. * 1. Masukin:
  1098. * IF (ubah nama/warna)
  1099. * FOREACH karyawan
  1100. * IF is_karyawan_lama == true
  1101. * tbt dan tbts baru tidak berubah
  1102. * ELSE IF (ubah data shift dan jam)
  1103. * FOREACH karyawan
  1104. * IF is_karyawan_lama == true
  1105. * tbt dan tbts baru ikut pattern
  1106. * (hanya untuk karyawan lama)
  1107. *
  1108. * 2. Urusan karyawn baru aja
  1109. * FOREACH karyawan
  1110. * IF is_karyawan_lama == false
  1111. * tbt dan tbts baru ikut pattern
  1112. */
  1113. if($perubahan_nama_warna == true && $perubahan_jam_shift == false) {
  1114.  
  1115. // update jadwal master
  1116. $jadwal_master_baru = JadwalExtuder::find($id);
  1117. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  1118. $jadwal_master_baru->warna = $request->warna;
  1119.  
  1120. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1121. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1122. $jadwal_master_baru->tanggal_boleh_tap_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  1123. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  1124.  
  1125. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  1126. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  1127. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  1128. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  1129. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  1130. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  1131. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  1132. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  1133. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  1134. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  1135. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  1136. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  1137. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  1138. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  1139. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  1140.  
  1141. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  1142. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  1143. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  1144. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  1145. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  1146. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  1147. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  1148. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  1149. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  1150. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  1151. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  1152. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  1153. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  1154. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  1155. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  1156.  
  1157. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1158. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  1159. $jadwal_master_baru->save();
  1160.  
  1161. $jadwal_master_baru = JadwalExtuder::find($id);
  1162.  
  1163. // create child
  1164. if(isset($request->karyawan)) {
  1165. foreach($request->karyawan as $k) {
  1166. $harikerjaextuder = new JadwalHariKerjaExtuder();
  1167. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  1168. $harikerjaextuder->warna = $request->warna;
  1169. $harikerjaextuder->karyawan_id = $k;
  1170. $harikerjaextuder->source_id = $id;
  1171. $harikerjaextuder->source = 'extuder karyawan';
  1172.  
  1173. if(in_array($k, $jadwal_child_lama) == true) {
  1174. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1175. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1176. $harikerjaextuder->tanggal_boleh_tap_baru = $jadwal_master_lama_tanggal_boleh_tap;
  1177. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1178. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1179. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1180.  
  1181. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  1182. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1183. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1184. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  1185. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  1186.  
  1187. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  1188. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1189. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1190. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  1191. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  1192.  
  1193. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  1194. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1195. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1196. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  1197. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  1198.  
  1199.  
  1200. /**
  1201. * Kasus: orang yang masih merupakan member jadwal tsb.
  1202. *
  1203. * Master belum pernah di-edit
  1204. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1205. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1206. *
  1207. * Master sudah pernah di-edit
  1208. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1209. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1210. */
  1211. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1212. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1213. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1214. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1215. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1216.  
  1217. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1218. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1219. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1220. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1221. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1222.  
  1223. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1224. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1225. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1226. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1227. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1228.  
  1229. $harikerjaextuder->save();
  1230.  
  1231. $karyawan_existing = Karyawan::find($k);
  1232. if(isset($karyawan_existing)) {
  1233. $karyawan_existing->is_changed_extuder = false;
  1234. $karyawan_existing->jadwal_extuder_id = $id;
  1235. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  1236. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1237. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1238. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  1239. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  1240.  
  1241. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  1242. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1243. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1244. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  1245. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  1246.  
  1247. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  1248. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1249. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1250. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  1251. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  1252.  
  1253. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1254. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1255. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1256. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1257. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1258.  
  1259. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1260. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1261. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1262. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1263. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1264.  
  1265. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1266. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1267. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1268. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1269. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1270.  
  1271. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  1272. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1273. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $jadwal_master_lama_tanggal_boleh_tap;
  1274. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1275.  
  1276. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1277. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1278. $karyawan_existing->save();
  1279. }
  1280. } else if(in_array($k, $jadwal_child_lama) == false) {
  1281. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  1282. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1283. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1284. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1285. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  1286. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1287.  
  1288. /**
  1289. * Kasus: orang baru yang dimasukkan ke jadwal tsb.
  1290. *
  1291. * Master belun pernah di-edit
  1292. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1293. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1294. *
  1295. * Master sudah pernah di-edit
  1296. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1297. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1298. */
  1299. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  1300. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1301. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1302. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  1303. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  1304.  
  1305. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  1306. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1307. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1308. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  1309. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  1310.  
  1311. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  1312. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1313. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1314. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  1315. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  1316.  
  1317. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1318. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1319. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1320. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1321. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1322.  
  1323. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1324. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1325. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1326. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1327. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1328.  
  1329. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1330. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1331. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1332. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1333. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1334.  
  1335. $harikerjaextuder->save();
  1336.  
  1337. $karyawan_existing = Karyawan::find($k);
  1338. if(isset($karyawan_existing)) {
  1339. $karyawan_existing->is_changed_extuder = true;
  1340. $karyawan_existing->jadwal_extuder_id = $id;
  1341. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_baru->jam_masuk_shift1;
  1342. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  1343. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  1344. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_baru->jam_pulang_shift1;
  1345. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_baru->status_shift1;
  1346.  
  1347. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_baru->jam_masuk_shift2;
  1348. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  1349. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  1350. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_baru->jam_pulang_shift2;
  1351. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_baru->status_shift2;
  1352.  
  1353. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_baru->jam_masuk_shift3;
  1354. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  1355. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  1356. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_baru->jam_pulang_shift3;
  1357. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_baru->status_shift3;
  1358.  
  1359. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1360. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1361. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1362. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1363. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1364.  
  1365. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1366. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1367. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1368. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1369. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1370.  
  1371. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1372. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1373. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1374. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1375. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1376.  
  1377. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $tanggal_boleh_tap_yang_baru;
  1378. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1379. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  1380. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1381.  
  1382. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1383. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1384. $karyawan_existing->is_changed_extuder = false;
  1385. $karyawan_existing->save();
  1386. }
  1387. }
  1388. }
  1389. }
  1390.  
  1391. } else if($perubahan_nama_warna == false && $perubahan_jam_shift == true) {
  1392.  
  1393. // update jadwal master
  1394. $jadwal_master_baru = JadwalExtuder::find($id);
  1395. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  1396. $jadwal_master_baru->warna = $request->warna;
  1397.  
  1398. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1399. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1400. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1401. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1402.  
  1403.  
  1404. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  1405. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  1406. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  1407. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  1408. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  1409. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  1410. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  1411. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  1412. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  1413. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  1414. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  1415. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  1416. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  1417. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  1418. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  1419.  
  1420. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  1421. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  1422. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  1423. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  1424. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  1425. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  1426. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  1427. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  1428. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  1429. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  1430. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  1431. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  1432. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  1433. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  1434. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  1435.  
  1436. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1437. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  1438. $jadwal_master_baru->save();
  1439.  
  1440. $jadwal_master_baru = JadwalExtuder::find($id);
  1441.  
  1442. // create child
  1443. if(isset($request->karyawan)) {
  1444. foreach($request->karyawan as $k) {
  1445. $harikerjaextuder = new JadwalHariKerjaExtuder();
  1446. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  1447. $harikerjaextuder->warna = $request->warna;
  1448. $harikerjaextuder->karyawan_id = $k;
  1449. $harikerjaextuder->source_id = $id;
  1450. $harikerjaextuder->source = 'extuder karyawan';
  1451.  
  1452. if(in_array($k, $jadwal_child_lama) == true) {
  1453. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1454. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1455. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1456. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1457. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1458. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1459.  
  1460. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  1461. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1462. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1463. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  1464. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  1465.  
  1466. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  1467. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1468. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1469. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  1470. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  1471.  
  1472. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  1473. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1474. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1475. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  1476. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  1477.  
  1478.  
  1479. /**
  1480. * Kasus: orang yang masih merupakan member jadwal tsb.
  1481. *
  1482. * Master belum pernah di-edit
  1483. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1484. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1485. *
  1486. * Master sudah pernah di-edit
  1487. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1488. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1489. */
  1490. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1491. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1492. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1493. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1494. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1495.  
  1496. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1497. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1498. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1499. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1500. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1501.  
  1502. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1503. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1504. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1505. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1506. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1507.  
  1508. $harikerjaextuder->save();
  1509.  
  1510. $karyawan_existing = Karyawan::find($k);
  1511. if(isset($karyawan_existing)) {
  1512. $karyawan_existing->is_changed_extuder = false;
  1513. $karyawan_existing->jadwal_extuder_id = $id;
  1514. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  1515. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1516. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1517. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  1518. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  1519.  
  1520. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  1521. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1522. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1523. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  1524. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  1525.  
  1526. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  1527. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1528. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1529. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  1530. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  1531.  
  1532. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1533. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1534. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1535. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1536. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1537.  
  1538. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1539. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1540. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1541. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1542. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1543.  
  1544. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1545. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1546. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1547. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1548. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1549.  
  1550. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  1551. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1552. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  1553. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1554.  
  1555. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1556. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1557. $karyawan_existing->is_changed_extuder = true;
  1558.  
  1559. $karyawan_existing->save();
  1560. }
  1561. } else if(in_array($k, $jadwal_child_lama) == false) {
  1562. // $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  1563. // $jarak_hari = null;
  1564. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  1565. // $jarak_hari = $jarak_hari + 1;
  1566.  
  1567. // if($jarak_hari % 2 == 0) {
  1568. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  1569. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  1570. // } else if($jarak_hari % 2 != 0) {
  1571. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  1572. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  1573. // }
  1574.  
  1575. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  1576. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1577. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1578. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1579. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  1580. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1581.  
  1582. /**
  1583. * Kasus: orang baru yang dimasukkan ke jadwal tsb.
  1584. *
  1585. * Master belun pernah di-edit
  1586. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1587. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1588. *
  1589. * Master sudah pernah di-edit
  1590. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1591. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1592. */
  1593. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  1594. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1595. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1596. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  1597. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  1598.  
  1599. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  1600. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1601. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1602. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  1603. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  1604.  
  1605. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  1606. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1607. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1608. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  1609. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  1610.  
  1611. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1612. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1613. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1614. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1615. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1616.  
  1617. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1618. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1619. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1620. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1621. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1622.  
  1623. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1624. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1625. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1626. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1627. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1628.  
  1629. $harikerjaextuder->save();
  1630.  
  1631. $karyawan_existing = Karyawan::find($k);
  1632. if(isset($karyawan_existing)) {
  1633. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  1634. $jarak_hari = null;
  1635. $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  1636.  
  1637. if($jarak_hari % 2 == 0) {
  1638. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  1639. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  1640. } else if($jarak_hari % 2 != 0) {
  1641. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  1642. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  1643. }
  1644.  
  1645. $karyawan_existing->is_changed_extuder = true;
  1646. $karyawan_existing->jadwal_extuder_id = $id;
  1647. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_baru->jam_masuk_shift1;
  1648. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  1649. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  1650. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_baru->jam_pulang_shift1;
  1651. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_baru->status_shift1;
  1652.  
  1653. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_baru->jam_masuk_shift2;
  1654. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  1655. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  1656. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_baru->jam_pulang_shift2;
  1657. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_baru->status_shift2;
  1658.  
  1659. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_baru->jam_masuk_shift3;
  1660. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  1661. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  1662. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_baru->jam_pulang_shift3;
  1663. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_baru->status_shift3;
  1664.  
  1665. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1666. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1667. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1668. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1669. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1670.  
  1671. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1672. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1673. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1674. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1675. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1676.  
  1677. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1678. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1679. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1680. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1681. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1682.  
  1683. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $tanggal_boleh_tap_yang_baru;
  1684. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1685. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  1686. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1687.  
  1688. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1689. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1690. $karyawan_existing->is_changed_extuder = false;
  1691. $karyawan_existing->save();
  1692. }
  1693. }
  1694. }
  1695. }
  1696.  
  1697. } else if($perubahan_nama_warna == true && $perubahan_jam_shift == true) {
  1698. // update jadwal master
  1699. $jadwal_master_baru = JadwalExtuder::find($id);
  1700. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  1701. $jadwal_master_baru->warna = $request->warna;
  1702.  
  1703. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1704. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1705. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1706. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1707.  
  1708.  
  1709. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  1710. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  1711. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  1712. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  1713. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  1714. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  1715. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  1716. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  1717. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  1718. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  1719. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  1720. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  1721. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  1722. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  1723. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  1724.  
  1725. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  1726. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  1727. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  1728. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  1729. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  1730. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  1731. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  1732. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  1733. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  1734. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  1735. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  1736. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  1737. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  1738. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  1739. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  1740.  
  1741. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1742. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  1743. $jadwal_master_baru->save();
  1744.  
  1745. $jadwal_master_baru = JadwalExtuder::find($id);
  1746.  
  1747. // create child
  1748. if(isset($request->karyawan)) {
  1749. foreach($request->karyawan as $k) {
  1750. $harikerjaextuder = new JadwalHariKerjaExtuder();
  1751. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  1752. $harikerjaextuder->warna = $request->warna;
  1753. $harikerjaextuder->karyawan_id = $k;
  1754. $harikerjaextuder->source_id = $id;
  1755. $harikerjaextuder->source = 'extuder karyawan';
  1756.  
  1757. if(in_array($k, $jadwal_child_lama) == true) {
  1758. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  1759. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1760. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1761. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1762. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1763. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1764.  
  1765. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  1766. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1767. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1768. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  1769. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  1770.  
  1771. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  1772. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1773. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1774. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  1775. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  1776.  
  1777. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  1778. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1779. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1780. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  1781. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  1782.  
  1783.  
  1784. /**
  1785. * Kasus: orang yang masih merupakan member jadwal tsb.
  1786. *
  1787. * Master belum pernah di-edit
  1788. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1789. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1790. *
  1791. * Master sudah pernah di-edit
  1792. * 1. Ambil jadwal lama dari temporary variable Jadwal Extuder
  1793. * 2. Ambil jadwal baru dari Jadwal Extuder -> jadwal baru
  1794. */
  1795. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1796. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1797. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1798. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1799. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1800.  
  1801. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1802. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1803. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1804. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1805. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1806.  
  1807. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1808. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1809. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1810. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1811. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1812.  
  1813. $harikerjaextuder->save();
  1814.  
  1815. $karyawan_existing = Karyawan::find($k);
  1816. if(isset($karyawan_existing)) {
  1817. $karyawan_existing->is_changed_extuder = false;
  1818. $karyawan_existing->jadwal_extuder_id = $id;
  1819. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_lama_jam_masuk_shift1;
  1820. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  1821. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  1822. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_lama_jam_pulang_shift1;
  1823. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_lama_status_shift1;
  1824.  
  1825. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_lama_jam_masuk_shift2;
  1826. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  1827. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  1828. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_lama_jam_pulang_shift2;
  1829. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_lama_status_shift2;
  1830.  
  1831. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_lama_jam_masuk_shift3;
  1832. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  1833. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  1834. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_lama_jam_pulang_shift3;
  1835. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_lama_status_shift3;
  1836.  
  1837. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1838. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1839. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1840. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1841. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1842.  
  1843. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1844. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1845. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1846. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1847. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1848.  
  1849. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1850. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1851. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1852. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1853. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1854.  
  1855. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  1856. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  1857. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  1858. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1859.  
  1860. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1861. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1862. $karyawan_existing->is_changed_extuder = true;
  1863. $karyawan_existing->save();
  1864. }
  1865. } else if(in_array($k, $jadwal_child_lama) == false) {
  1866. // $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  1867. // $jarak_hari = null;
  1868. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  1869. // $jarak_hari = $jarak_hari + 1;
  1870.  
  1871. // if($jarak_hari % 2 == 0) {
  1872. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  1873. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  1874. // } else if($jarak_hari % 2 != 0) {
  1875. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  1876. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  1877. // }
  1878.  
  1879. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  1880. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1881. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  1882. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1883. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  1884. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1885.  
  1886. /**
  1887. * Kasus: orang baru yang dimasukkan ke jadwal tsb.
  1888. *
  1889. * Master belun pernah di-edit
  1890. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1891. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1892. *
  1893. * Master sudah pernah di-edit
  1894. * 1. Jadwal lama ambil dari Jadwal Extuder -> jadwal baru
  1895. * 2. Jadwal baru ambil dari Jadwal Extuder -> jadwal baru
  1896. */
  1897. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  1898. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1899. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1900. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  1901. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  1902.  
  1903. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  1904. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1905. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1906. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  1907. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  1908.  
  1909. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  1910. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1911. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1912. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  1913. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  1914.  
  1915. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1916. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1917. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1918. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1919. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  1920.  
  1921. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1922. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1923. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1924. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1925. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  1926.  
  1927. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1928. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1929. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1930. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1931. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  1932.  
  1933. $harikerjaextuder->save();
  1934.  
  1935. $karyawan_existing = Karyawan::find($k);
  1936. if(isset($karyawan_existing)) {
  1937. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  1938. $jarak_hari = null;
  1939. $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  1940.  
  1941. if($jarak_hari % 2 == 0) {
  1942. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  1943. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  1944. } else if($jarak_hari % 2 != 0) {
  1945. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  1946. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  1947. }
  1948.  
  1949. $karyawan_existing->is_changed_extuder = true;
  1950. $karyawan_existing->jadwal_extuder_id = $id;
  1951. $karyawan_existing->jam_masuk_shift1_extuder_lama = $jadwal_master_baru->jam_masuk_shift1;
  1952. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  1953. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  1954. $karyawan_existing->jam_pulang_shift1_extuder_lama = $jadwal_master_baru->jam_pulang_shift1;
  1955. $karyawan_existing->status_shift1_extuder_lama = $jadwal_master_baru->status_shift1;
  1956.  
  1957. $karyawan_existing->jam_masuk_shift2_extuder_lama = $jadwal_master_baru->jam_masuk_shift2;
  1958. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  1959. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  1960. $karyawan_existing->jam_pulang_shift2_extuder_lama = $jadwal_master_baru->jam_pulang_shift2;
  1961. $karyawan_existing->status_shift2_extuder_lama = $jadwal_master_baru->status_shift2;
  1962.  
  1963. $karyawan_existing->jam_masuk_shift3_extuder_lama = $jadwal_master_baru->jam_masuk_shift3;
  1964. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  1965. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  1966. $karyawan_existing->jam_pulang_shift3_extuder_lama = $jadwal_master_baru->jam_pulang_shift3;
  1967. $karyawan_existing->status_shift3_extuder_lama = $jadwal_master_baru->status_shift3;
  1968.  
  1969. $karyawan_existing->jam_masuk_shift1_extuder_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  1970. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  1971. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  1972. $karyawan_existing->jam_pulang_shift1_extuder_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  1973. $karyawan_existing->status_shift1_extuder_baru = $jadwal_master_baru->status_shift1_baru;
  1974.  
  1975. $karyawan_existing->jam_masuk_shift2_extuder_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  1976. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  1977. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  1978. $karyawan_existing->jam_pulang_shift2_extuder_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  1979. $karyawan_existing->status_shift2_extuder_baru = $jadwal_master_baru->status_shift2_baru;
  1980.  
  1981. $karyawan_existing->jam_masuk_shift3_extuder_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  1982. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  1983. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  1984. $karyawan_existing->jam_pulang_shift3_extuder_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  1985. $karyawan_existing->status_shift3_extuder_baru = $jadwal_master_baru->status_shift3_baru;
  1986.  
  1987. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $tanggal_boleh_tap_yang_baru;
  1988. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1989. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  1990. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  1991.  
  1992. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  1993. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  1994. $karyawan_existing->is_changed_extuder = false;
  1995. $karyawan_existing->save();
  1996. }
  1997. }
  1998. }
  1999. }
  2000. }
  2001. }
  2002.  
  2003. } else if(isset($request->group)) {
  2004. $jadwal_child_extuder_lama = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->get();
  2005. $jadwal_child_lama = array();
  2006. for($i = 0; $i < count($jadwal_child_extuder_lama); $i++) {
  2007. // ngebandingin in array jadwal child extuder lama ambil per i nya
  2008. if(in_array($jadwal_child_extuder_lama[$i]->group_id, $jadwal_child_lama) == false) {
  2009. array_push($jadwal_child_lama, $jadwal_child_extuder_lama[$i]->group_id);
  2010. }
  2011. }
  2012.  
  2013. $perubahan_group = false;
  2014. foreach($request->group as $rg) {
  2015. if(in_array($rg, $jadwal_child_lama) == false) {
  2016. $perubahan_group = true;
  2017. break;
  2018. }
  2019. }
  2020.  
  2021. if($perubahan_identitas == true && $perubahan_group == false) {
  2022.  
  2023. /**
  2024. * Masukin:
  2025. * IF (ubah nama/warna)
  2026. * ELSE IF (ubah data shift dan jam)
  2027. */
  2028. // deteksi perubahan nama / warna
  2029. $perubahan_nama_warna = false;
  2030. if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') || $cek_perubahan_jadwal_master->isDirty('warna')) {
  2031. $perubahan_nama_warna = true;
  2032. } else if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') && $cek_perubahan_jadwal_master->isDirty('warna')) {
  2033. $perubahan_nama_warna = true;
  2034. }
  2035.  
  2036. $perubahan_jam_shift = false;
  2037. if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') ||
  2038. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') ||
  2039. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') ||
  2040. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') ||
  2041. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') ||
  2042. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') ||
  2043. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') ||
  2044. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') ||
  2045. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') ||
  2046. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') ||
  2047. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') ||
  2048. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') ||
  2049. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') ||
  2050. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') ||
  2051. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  2052. $perubahan_jam_shift = true;
  2053. } else if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') &&
  2054. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') &&
  2055. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') &&
  2056. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') &&
  2057. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') &&
  2058. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') &&
  2059. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') &&
  2060. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') &&
  2061. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') &&
  2062. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') &&
  2063. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') &&
  2064. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') &&
  2065. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') &&
  2066. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') &&
  2067. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  2068. $perubahan_jam_shift = true;
  2069. }
  2070.  
  2071.  
  2072. if($perubahan_nama_warna == true && $perubahan_jam_shift == false) {
  2073. // tbt tidak berubah
  2074. // update jadwal master
  2075. $jadwal_master_baru = JadwalExtuder::find($id);
  2076. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  2077. $jadwal_master_baru->warna = $request->warna;
  2078.  
  2079. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  2080. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2081. $jadwal_master_baru->tanggal_boleh_tap_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  2082. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  2083.  
  2084. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  2085. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  2086. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  2087. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  2088. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  2089. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  2090. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  2091. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  2092. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  2093. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  2094. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  2095. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  2096. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  2097. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  2098. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  2099.  
  2100. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  2101. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  2102. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  2103. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  2104. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  2105. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  2106. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  2107. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  2108. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  2109. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  2110. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  2111. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  2112. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  2113. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  2114. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  2115.  
  2116. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2117. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  2118. $jadwal_master_baru->save();
  2119.  
  2120. $jadwal_master_baru = JadwalExtuder::find($id);
  2121.  
  2122. // replace data yang ada di jadwal child (update)
  2123. if(isset($request->group)) {
  2124. foreach($request->group as $g) {
  2125.  
  2126. $karyawan = Karyawan::where('group_id', $g)->get();
  2127. $group = Group::find($g);
  2128. $group->jadwal_extuder_id = $id;
  2129. $group->save();
  2130.  
  2131. foreach($karyawan as $k) {
  2132. $id_child = null;
  2133.  
  2134. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2135. if(isset($harikerjaextuder)) {
  2136. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  2137. $harikerjaextuder->warna = $request->warna;
  2138. $harikerjaextuder->save();
  2139. }
  2140. }
  2141. }
  2142. }
  2143.  
  2144.  
  2145. } else if($perubahan_nama_warna == false && $perubahan_jam_shift == true) {
  2146. // tbt ikut pattern
  2147. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  2148. $jarak_hari = null;
  2149. $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2150. $jarak_hari = $jarak_hari + 1;
  2151.  
  2152. if($jarak_hari % 2 == 0) {
  2153. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2154. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2155. } else if($jarak_hari % 2 != 0) {
  2156. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2157. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2158. }
  2159.  
  2160. // update jadwal master
  2161. $jadwal_master_baru = JadwalExtuder::find($id);
  2162. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  2163. $jadwal_master_baru->warna = $request->warna;
  2164.  
  2165. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  2166. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2167. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2168. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2169.  
  2170. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  2171. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  2172. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  2173. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  2174. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  2175. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  2176. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  2177. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  2178. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  2179. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  2180. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  2181. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  2182. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  2183. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  2184. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  2185.  
  2186. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  2187. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  2188. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  2189. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  2190. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  2191. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  2192. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  2193. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  2194. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  2195. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  2196. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  2197. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  2198. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  2199. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  2200. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  2201.  
  2202. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2203. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  2204. $jadwal_master_baru->save();
  2205.  
  2206. $jadwal_master_baru = JadwalExtuder::find($id);
  2207.  
  2208. // replace data yang ada di jadwal child (update)
  2209. if(isset($request->group)) {
  2210. foreach($request->group as $g) {
  2211.  
  2212. $karyawan = Karyawan::where('group_id', $g)->get();
  2213. $group = Group::find($g);
  2214. $group->jadwal_extuder_id = $id;
  2215. $group->save();
  2216.  
  2217. foreach($karyawan as $k) {
  2218. $id_child = null;
  2219.  
  2220. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2221. if(isset($harikerjaextuder)) {
  2222. // tbt ikut pattern
  2223. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2224. // $jarak_hari = null;
  2225. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2226.  
  2227. // if($jarak_hari % 2 == 0) {
  2228. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2229. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2230. // } else if($jarak_hari % 2 != 0) {
  2231. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2232. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2233. // }
  2234.  
  2235. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  2236. $harikerjaextuder->warna = $request->warna;
  2237. $harikerjaextuder->karyawan_id = $k->id;
  2238. $harikerjaextuder->group_id = $g;
  2239. $harikerjaextuder->source_id = $id;
  2240. $harikerjaextuder->source = 'extuder group';
  2241. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap_baru;
  2242. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  2243. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2244. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2245. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2246. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2247.  
  2248. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  2249. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2250. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2251. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  2252. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  2253.  
  2254. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  2255. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2256. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2257. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  2258. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  2259.  
  2260. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  2261. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2262. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2263. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  2264. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  2265.  
  2266. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2267. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2268. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2269. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2270. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  2271.  
  2272. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2273. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2274. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2275. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2276. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  2277.  
  2278. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2279. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2280. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2281. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2282. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  2283. $harikerjaextuder->save();
  2284. }
  2285.  
  2286.  
  2287. $karyawan_existing = Karyawan::find($k->id);
  2288. if(isset($karyawan_existing)) {
  2289. // tbt ikut pattern
  2290. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2291. // $jarak_hari = null;
  2292. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2293.  
  2294. // if($jarak_hari % 2 == 0) {
  2295. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2296. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2297. // } else if($jarak_hari % 2 != 0) {
  2298. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2299. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2300. // }
  2301.  
  2302. $karyawan_existing->jadwal_extuder_group_id = $id;
  2303. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1;
  2304. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2305. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2306. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1;
  2307. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1;
  2308.  
  2309. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2;
  2310. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2311. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2312. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2;
  2313. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2;
  2314.  
  2315. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3;
  2316. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2317. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2318. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3;
  2319. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3;
  2320.  
  2321. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2322. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2323. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2324. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2325. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  2326.  
  2327. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2328. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2329. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2330. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2331. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  2332.  
  2333. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2334. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2335. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2336. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2337. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  2338.  
  2339. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  2340. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2341. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  2342. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2343.  
  2344. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2345. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2346. $karyawan_existing->save();
  2347. }
  2348.  
  2349. }
  2350. }
  2351. }
  2352. } else if($perubahan_nama_warna == true && $perubahan_jam_shift == true) {
  2353. // tbt ikut pattern
  2354. $jadwal_master_cek_jarak = JadwalExtuder::find($id);
  2355. $jarak_hari = null;
  2356. $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2357. $jarak_hari = $jarak_hari + 1;
  2358.  
  2359. if($jarak_hari % 2 == 0) {
  2360. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2361. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2362. } else if($jarak_hari % 2 != 0) {
  2363. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2364. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2365. }
  2366.  
  2367. // update jadwal master
  2368. $jadwal_master_baru = JadwalExtuder::find($id);
  2369. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  2370. $jadwal_master_baru->warna = $request->warna;
  2371.  
  2372. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  2373. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2374. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2375. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2376.  
  2377. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  2378. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  2379. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  2380. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  2381. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  2382. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  2383. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  2384. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  2385. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  2386. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  2387. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  2388. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  2389. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  2390. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  2391. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  2392.  
  2393. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  2394. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  2395. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  2396. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  2397. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  2398. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  2399. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  2400. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  2401. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  2402. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  2403. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  2404. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  2405. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  2406. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  2407. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  2408.  
  2409. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2410. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  2411. $jadwal_master_baru->save();
  2412.  
  2413. $jadwal_master_baru = JadwalExtuder::find($id);
  2414.  
  2415. // replace data yang ada di jadwal child (update)
  2416. if(isset($request->group)) {
  2417. foreach($request->group as $g) {
  2418.  
  2419. $karyawan = Karyawan::where('group_id', $g)->get();
  2420. $group = Group::find($g);
  2421. $group->jadwal_extuder_id = $id;
  2422. $group->save();
  2423.  
  2424. foreach($karyawan as $k) {
  2425. $id_child = null;
  2426.  
  2427. $harikerjaextuder = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2428. if(isset($harikerjaextuder)) {
  2429. // tbt ikut pattern
  2430. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2431. // $jarak_hari = null;
  2432. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2433.  
  2434. // if($jarak_hari % 2 == 0) {
  2435. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2436. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2437. // } else if($jarak_hari % 2 != 0) {
  2438. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2439. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2440. // }
  2441.  
  2442. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  2443. $harikerjaextuder->warna = $request->warna;
  2444. $harikerjaextuder->karyawan_id = $k->id;
  2445. $harikerjaextuder->group_id = $g;
  2446. $harikerjaextuder->source_id = $id;
  2447. $harikerjaextuder->source = 'extuder group';
  2448. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap_baru;
  2449. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  2450. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2451. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2452. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2453. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2454.  
  2455. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  2456. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2457. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2458. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  2459. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  2460.  
  2461. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  2462. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2463. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2464. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  2465. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  2466.  
  2467. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  2468. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2469. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2470. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  2471. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  2472.  
  2473. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2474. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2475. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2476. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2477. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  2478.  
  2479. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2480. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2481. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2482. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2483. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  2484.  
  2485. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2486. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2487. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2488. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2489. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  2490. $harikerjaextuder->save();
  2491. }
  2492.  
  2493.  
  2494. $karyawan_existing = Karyawan::find($k->id);
  2495. if(isset($karyawan_existing)) {
  2496. // tbt ikut pattern
  2497. // $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  2498. // $jarak_hari = null;
  2499. // $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  2500.  
  2501. // if($jarak_hari % 2 == 0) {
  2502. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2503. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2504. // } else if($jarak_hari % 2 != 0) {
  2505. // $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2506. // $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2507. // }
  2508.  
  2509. $karyawan_existing->jadwal_extuder_group_id = $id;
  2510. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1;
  2511. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2512. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2513. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1;
  2514. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1;
  2515.  
  2516. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2;
  2517. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2518. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2519. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2;
  2520. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2;
  2521.  
  2522. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3;
  2523. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2524. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2525. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3;
  2526. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3;
  2527.  
  2528. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2529. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2530. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2531. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2532. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  2533.  
  2534. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2535. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2536. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2537. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2538. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  2539.  
  2540. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2541. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2542. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2543. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2544. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  2545.  
  2546. $karyawan_existing->tanggal_boleh_tap_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap;
  2547. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2548. $karyawan_existing->tanggal_boleh_tap_extuder_baru = $tanggal_boleh_tap_yang_baru;
  2549. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2550.  
  2551. $karyawan_existing->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2552. $karyawan_existing->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2553. $karyawan_existing->save();
  2554. }
  2555.  
  2556. }
  2557. }
  2558. }
  2559. }
  2560.  
  2561.  
  2562.  
  2563. } else if($perubahan_identitas == false && $perubahan_group == true) {
  2564. // tbt ikut pattern
  2565. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source_id', $id)->first();
  2566. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  2567. $jarak_hari = $jarak_hari + 1;
  2568.  
  2569. if($jarak_hari % 2 == 0) {
  2570. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2571. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2572. } else if($jarak_hari % 2 != 0) {
  2573. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2574. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2575. }
  2576.  
  2577. // destroy child
  2578. $jadwal_child = JadwalHariKerjaExtuder::where('source_id', $id)->get();
  2579. for ($i = 0; $i < count($jadwal_child); $i++) {
  2580. $karyawan_id = $jadwal_child[$i]->karyawan_id;
  2581. $karyawan_existing = Karyawan::find($karyawan_id);
  2582. $karyawan_existing->jadwal_extuder_group_id = null;
  2583. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = null;
  2584. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = null;
  2585. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = null;
  2586. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = null;
  2587. $karyawan_existing->status_shift1_extuder_group_lama = null;
  2588.  
  2589. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = null;
  2590. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = null;
  2591. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = null;
  2592. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = null;
  2593. $karyawan_existing->status_shift2_extuder_group_lama = null;
  2594.  
  2595. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = null;
  2596. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = null;
  2597. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = null;
  2598. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = null;
  2599. $karyawan_existing->status_shift3_extuder_group_lama = null;
  2600.  
  2601. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = null;
  2602. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = null;
  2603. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = null;
  2604. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = null;
  2605. $karyawan_existing->status_shift1_extuder_group_baru = null;
  2606.  
  2607. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = null;
  2608. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = null;
  2609. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = null;
  2610. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = null;
  2611. $karyawan_existing->status_shift2_extuder_group_baru = null;
  2612.  
  2613. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = null;
  2614. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = null;
  2615. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = null;
  2616. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = null;
  2617. $karyawan_existing->status_shift3_extuder_group_baru = null;
  2618.  
  2619. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = null;
  2620. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = null;
  2621. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = null;
  2622. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = null;
  2623.  
  2624. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = null;
  2625. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = null;
  2626. $karyawan_existing->save();
  2627.  
  2628. $jadwal_child[$i]->destroy($jadwal_child[$i]->id);
  2629. }
  2630. $group_existing = Group::where('jadwal_extuder_id', $id)->first();
  2631. $group_existing->jadwal_extuder_id = null;
  2632. $group_existing->save();
  2633.  
  2634. // dikarenakan tidak ada perubahan identitas, jadwal master baru langsung ambil dari yang sudah ada
  2635. $jadwal_master_baru = JadwalExtuder::find($id);
  2636.  
  2637. // create child
  2638. if(isset($request->group)) {
  2639. foreach($request->group as $g) {
  2640.  
  2641. $karyawan = Karyawan::where('group_id', $g)->get();
  2642. $group = Group::find($g);
  2643. $group->jadwal_extuder_id = $id;
  2644. $group->save();
  2645.  
  2646. foreach($karyawan as $k) {
  2647. $id_child = null;
  2648. $harikerjaextuder = new JadwalHariKerjaExtuder();
  2649. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  2650. $harikerjaextuder->warna = $request->warna;
  2651. $harikerjaextuder->karyawan_id = $k->id;
  2652. $harikerjaextuder->group_id = $g;
  2653. $harikerjaextuder->source_id = $id;
  2654. $harikerjaextuder->source = 'extuder group';
  2655. if(in_array($g, $jadwal_child_lama) == true) {
  2656. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  2657. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2658. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2659. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2660. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2661. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2662.  
  2663. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  2664. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2665. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2666. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  2667. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  2668.  
  2669. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  2670. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2671. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2672. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  2673. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  2674.  
  2675. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  2676. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2677. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2678. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  2679. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  2680.  
  2681. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2682. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2683. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2684. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2685. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  2686.  
  2687. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2688. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2689. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2690. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2691. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  2692.  
  2693. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2694. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2695. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2696. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2697. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  2698.  
  2699. $harikerjaextuder->save();
  2700.  
  2701. $karyawan_existing = Karyawan::find($k->id);
  2702. if(isset($karyawan_existing)) {
  2703. $karyawan_existing->is_changed_extuder_group = false;
  2704. $karyawan_existing->jadwal_extuder_group_id = $id;
  2705. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1;
  2706. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  2707. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  2708. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1;
  2709. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1;
  2710.  
  2711. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2;
  2712. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  2713. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  2714. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2;
  2715. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2;
  2716.  
  2717. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3;
  2718. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  2719. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  2720. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3;
  2721. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3;
  2722.  
  2723. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2724. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2725. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2726. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2727. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  2728.  
  2729. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2730. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2731. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2732. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2733. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  2734.  
  2735. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2736. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2737. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2738. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2739. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  2740.  
  2741. /**
  2742. * Poin yang harus teliti
  2743. * no. 1
  2744. */
  2745. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $jadwal_master_lama_tanggal_boleh_tap;
  2746. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  2747. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  2748. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  2749.  
  2750. /**
  2751. * Poin yang harus teliti
  2752. * no. 2
  2753. */
  2754. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  2755. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  2756. $karyawan_existing->is_changed_extuder_group = true;
  2757. $karyawan_existing->save();
  2758. }
  2759.  
  2760. } else if(in_array($g, $jadwal_child_lama) == false) {
  2761. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  2762. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2763. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  2764. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2765. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  2766. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  2767.  
  2768. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  2769. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2770. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2771. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  2772. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  2773.  
  2774. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  2775. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2776. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2777. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  2778. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  2779.  
  2780. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  2781. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2782. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2783. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  2784. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  2785.  
  2786. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2787. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2788. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2789. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2790. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  2791.  
  2792. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2793. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2794. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2795. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2796. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  2797.  
  2798. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2799. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2800. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2801. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2802. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  2803.  
  2804. $harikerjaextuder->save();
  2805.  
  2806. $karyawan_existing = Karyawan::find($k->id);
  2807. if(isset($karyawan_existing)) {
  2808. $karyawan_existing->is_changed_extuder_group = true;
  2809. $karyawan_existing->jadwal_extuder_group_id = $id;
  2810. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift1;
  2811. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  2812. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  2813. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift1;
  2814. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_baru->status_shift1;
  2815.  
  2816. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift2;
  2817. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  2818. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  2819. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift2;
  2820. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_baru->status_shift2;
  2821.  
  2822. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift3;
  2823. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  2824. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  2825. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift3;
  2826. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_baru->status_shift3;
  2827.  
  2828. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  2829. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  2830. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  2831. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  2832. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  2833.  
  2834. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  2835. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  2836. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  2837. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  2838. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  2839.  
  2840. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  2841. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  2842. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  2843. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  2844. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  2845.  
  2846. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  2847. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2848. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  2849. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  2850.  
  2851. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = Carbon::now()->toDateString();
  2852. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  2853. $karyawan_existing->is_changed_extuder_group = false;
  2854. $karyawan_existing->save();
  2855. }
  2856. }
  2857. }
  2858. }
  2859. }
  2860.  
  2861. } else if($perubahan_identitas == true && $perubahan_group == true) {
  2862. // deteksi perubahan nama / warna
  2863. $perubahan_nama_warna = false;
  2864. if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') || $cek_perubahan_jadwal_master->isDirty('warna')) {
  2865. $perubahan_nama_warna = true;
  2866. } else if($cek_perubahan_jadwal_master->isDirty('nama_jadwal') && $cek_perubahan_jadwal_master->isDirty('warna')) {
  2867. $perubahan_nama_warna = true;
  2868. }
  2869.  
  2870. $perubahan_jam_shift = false;
  2871. if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') ||
  2872. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') ||
  2873. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') ||
  2874. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') ||
  2875. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') ||
  2876. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') ||
  2877. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') ||
  2878. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') ||
  2879. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') ||
  2880. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') ||
  2881. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') ||
  2882. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') ||
  2883. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') ||
  2884. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') ||
  2885. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  2886. $perubahan_jam_shift = true;
  2887. } else if($cek_perubahan_jadwal_master->isDirty('jam_masuk_shift1_baru') &&
  2888. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift1_baru') &&
  2889. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift1_baru') &&
  2890. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift1_baru') &&
  2891. $cek_perubahan_jadwal_master->isDirty('status_shift1_baru') &&
  2892. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift2_baru') &&
  2893. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift2_baru') &&
  2894. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift2_baru') &&
  2895. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift2_baru') &&
  2896. $cek_perubahan_jadwal_master->isDirty('status_shift2_baru') &&
  2897. $cek_perubahan_jadwal_master->isDirty('jam_masuk_shift3_baru') &&
  2898. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_mulai_shift3_baru') &&
  2899. $cek_perubahan_jadwal_master->isDirty('jam_istirahat_selesai_shift3_baru') &&
  2900. $cek_perubahan_jadwal_master->isDirty('jam_pulang_shift3_baru') &&
  2901. $cek_perubahan_jadwal_master->isDirty('status_shift3_baru')) {
  2902. $perubahan_jam_shift = true;
  2903. }
  2904.  
  2905. // tbt ikut pattern
  2906. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source_id', $id)->first();
  2907. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  2908. $jarak_hari = $jarak_hari + 1;
  2909.  
  2910. if($jarak_hari % 2 == 0) {
  2911. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  2912. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  2913. } else if($jarak_hari % 2 != 0) {
  2914. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  2915. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  2916. }
  2917.  
  2918. // destroy child
  2919. $jadwal_child = JadwalHariKerjaExtuder::where('source_id', $id)->get();
  2920. for ($i = 0; $i < count($jadwal_child); $i++) {
  2921. $karyawan_id = $jadwal_child[$i]->karyawan_id;
  2922. $karyawan_existing = Karyawan::find($karyawan_id);
  2923. $karyawan_existing->jadwal_extuder_group_id = null;
  2924. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = null;
  2925. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = null;
  2926. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = null;
  2927. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = null;
  2928. $karyawan_existing->status_shift1_extuder_group_lama = null;
  2929.  
  2930. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = null;
  2931. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = null;
  2932. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = null;
  2933. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = null;
  2934. $karyawan_existing->status_shift2_extuder_group_lama = null;
  2935.  
  2936. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = null;
  2937. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = null;
  2938. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = null;
  2939. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = null;
  2940. $karyawan_existing->status_shift3_extuder_group_lama = null;
  2941.  
  2942. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = null;
  2943. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = null;
  2944. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = null;
  2945. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = null;
  2946. $karyawan_existing->status_shift1_extuder_group_baru = null;
  2947.  
  2948. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = null;
  2949. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = null;
  2950. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = null;
  2951. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = null;
  2952. $karyawan_existing->status_shift2_extuder_group_baru = null;
  2953.  
  2954. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = null;
  2955. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = null;
  2956. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = null;
  2957. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = null;
  2958. $karyawan_existing->status_shift3_extuder_group_baru = null;
  2959.  
  2960. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = null;
  2961. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = null;
  2962. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = null;
  2963. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = null;
  2964.  
  2965. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = null;
  2966. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = null;
  2967. $karyawan_existing->save();
  2968.  
  2969. $jadwal_child[$i]->destroy($jadwal_child[$i]->id);
  2970. }
  2971. $group_existing = Group::where('jadwal_extuder_id', $id)->first();
  2972. $group_existing->jadwal_extuder_id = null;
  2973. $group_existing->save();
  2974.  
  2975. /**
  2976. * 1. Masukin:
  2977. * IF (ubah nama/warna)
  2978. * FOREACH grup
  2979. * FOREACH karyawan
  2980. * IF is_karyawan_lama == true
  2981. * tbt dan tbts baru tidak berubah
  2982. * ELSE IF (ubah data shift dan jam)
  2983. * FOREACH grup
  2984. * FOREACH karyawan
  2985. * IF is_karyawan_lama == true
  2986. * tbt dan tbts baru ikut pattern
  2987. * (hanya untuk karyawan lama)
  2988. *
  2989. * 2. Urusan karyawn baru aja
  2990. * FOREACH grup
  2991. * FOREACH karyawan
  2992. * IF is_karyawan_lama == false
  2993. * tbt dan tbts baru ikut pattern
  2994. */
  2995.  
  2996. if($perubahan_nama_warna == true && $perubahan_jam_shift == false) {
  2997. // tbt tidak berubah
  2998. // update jadwal master
  2999. $jadwal_master_baru = JadwalExtuder::find($id);
  3000. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  3001. $jadwal_master_baru->warna = $request->warna;
  3002.  
  3003. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3004. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3005. $jadwal_master_baru->tanggal_boleh_tap_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  3006. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  3007.  
  3008. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  3009. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3010. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3011. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  3012. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  3013. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  3014. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3015. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3016. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  3017. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  3018. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  3019. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3020. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3021. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  3022. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  3023.  
  3024. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  3025. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  3026. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  3027. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  3028. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  3029. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  3030. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  3031. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  3032. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  3033. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  3034. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  3035. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  3036. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  3037. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  3038. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  3039.  
  3040. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3041. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  3042. $jadwal_master_baru->save();
  3043.  
  3044. $jadwal_master_baru = JadwalExtuder::find($id);
  3045.  
  3046. // create child
  3047. if(isset($request->group)) {
  3048. foreach($request->group as $g) {
  3049.  
  3050. $karyawan = Karyawan::where('group_id', $g)->get();
  3051. $group = Group::find($g);
  3052. $group->jadwal_extuder_id = $id;
  3053. $group->save();
  3054.  
  3055. foreach($karyawan as $k) {
  3056. $id_child = null;
  3057. $harikerjaextuder = new JadwalHariKerjaExtuder();
  3058. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  3059. $harikerjaextuder->warna = $request->warna;
  3060. $harikerjaextuder->karyawan_id = $k->id;
  3061. $harikerjaextuder->group_id = $g;
  3062. $harikerjaextuder->source_id = $id;
  3063. $harikerjaextuder->source = 'extuder group';
  3064. if(in_array($g, $jadwal_child_lama) == true) {
  3065. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3066. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3067. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3068. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3069. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3070. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3071.  
  3072. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  3073. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  3074. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  3075. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  3076. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  3077.  
  3078. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  3079. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  3080. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  3081. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  3082. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  3083.  
  3084. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  3085. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  3086. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  3087. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  3088. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  3089.  
  3090. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3091. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3092. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3093. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3094. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3095.  
  3096. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3097. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3098. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3099. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3100. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3101.  
  3102. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3103. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3104. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3105. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3106. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3107.  
  3108. $harikerjaextuder->save();
  3109.  
  3110. $karyawan_existing = Karyawan::find($k->id);
  3111. if(isset($karyawan_existing)) {
  3112. $karyawan_existing->is_changed_extuder_group = false;
  3113. $karyawan_existing->jadwal_extuder_group_id = $id;
  3114. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1_baru;
  3115. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3116. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3117. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1_baru;
  3118. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1_baru;
  3119.  
  3120. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2_baru;
  3121. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3122. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3123. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2_baru;
  3124. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2_baru;
  3125.  
  3126. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3_baru;
  3127. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3128. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3129. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3_baru;
  3130. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3_baru;
  3131.  
  3132. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3133. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3134. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3135. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3136. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3137.  
  3138. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3139. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3140. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3141. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3142. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3143.  
  3144. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3145. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3146. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3147. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3148. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3149.  
  3150. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $jadwal_master_lama_tanggal_boleh_tap;
  3151. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3152. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $jadwal_master_lama_tanggal_boleh_tap_baru;
  3153. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya_baru;
  3154.  
  3155. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3156. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3157. $karyawan_existing->save();
  3158. }
  3159. } else if(in_array($g, $jadwal_child_lama) == false) {
  3160. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  3161. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3162. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3163. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3164. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  3165. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3166.  
  3167. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  3168. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3169. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3170. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  3171. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  3172.  
  3173. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  3174. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3175. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3176. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  3177. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  3178.  
  3179. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  3180. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3181. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3182. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  3183. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  3184.  
  3185. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3186. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3187. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3188. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3189. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3190.  
  3191. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3192. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3193. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3194. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3195. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3196.  
  3197. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3198. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3199. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3200. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3201. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3202.  
  3203. $harikerjaextuder->save();
  3204.  
  3205. $karyawan_existing = Karyawan::find($k->id);
  3206. if(isset($karyawan_existing)) {
  3207. $karyawan_existing->is_changed_extuder_group = true;
  3208. $karyawan_existing->jadwal_extuder_group_id = $id;
  3209. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift1;
  3210. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  3211. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  3212. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift1;
  3213. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_baru->status_shift1;
  3214.  
  3215. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift2;
  3216. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  3217. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  3218. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift2;
  3219. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_baru->status_shift2;
  3220.  
  3221. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift3;
  3222. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  3223. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  3224. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift3;
  3225. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_baru->status_shift3;
  3226.  
  3227. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3228. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3229. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3230. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3231. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3232.  
  3233. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3234. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3235. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3236. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3237. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3238.  
  3239. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3240. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3241. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3242. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3243. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3244.  
  3245. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  3246. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3247. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  3248. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3249.  
  3250. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = Carbon::now()->toDateString();
  3251. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3252. $karyawan_existing->save();
  3253. }
  3254. }
  3255. }
  3256. }
  3257. }
  3258. } else if($perubahan_nama_warna == false && $perubahan_jam_shift == true) {
  3259.  
  3260. // update jadwal master
  3261. $jadwal_master_baru = JadwalExtuder::find($id);
  3262. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  3263. $jadwal_master_baru->warna = $request->warna;
  3264.  
  3265. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3266. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3267. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3268. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3269.  
  3270. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  3271. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3272. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3273. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  3274. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  3275. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  3276. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3277. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3278. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  3279. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  3280. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  3281. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3282. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3283. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  3284. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  3285.  
  3286. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  3287. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  3288. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  3289. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  3290. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  3291. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  3292. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  3293. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  3294. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  3295. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  3296. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  3297. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  3298. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  3299. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  3300. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  3301.  
  3302. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3303. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  3304. $jadwal_master_baru->save();
  3305.  
  3306. $jadwal_master_baru = JadwalExtuder::find($id);
  3307.  
  3308. // create child
  3309. if(isset($request->group)) {
  3310. foreach($request->group as $g) {
  3311.  
  3312. $karyawan = Karyawan::where('group_id', $g)->get();
  3313. $group = Group::find($g);
  3314. $group->jadwal_extuder_id = $id;
  3315. $group->save();
  3316.  
  3317. foreach($karyawan as $k) {
  3318. $id_child = null;
  3319. $harikerjaextuder = new JadwalHariKerjaExtuder();
  3320. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  3321. $harikerjaextuder->warna = $request->warna;
  3322. $harikerjaextuder->karyawan_id = $k->id;
  3323. $harikerjaextuder->group_id = $g;
  3324. $harikerjaextuder->source_id = $id;
  3325. $harikerjaextuder->source = 'extuder group';
  3326. if(in_array($g, $jadwal_child_lama) == true) {
  3327. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3328. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3329. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3330. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3331. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3332. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3333.  
  3334. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  3335. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  3336. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  3337. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  3338. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  3339.  
  3340. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  3341. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  3342. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  3343. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  3344. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  3345.  
  3346. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  3347. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  3348. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  3349. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  3350. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  3351.  
  3352. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3353. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3354. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3355. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3356. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3357.  
  3358. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3359. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3360. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3361. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3362. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3363.  
  3364. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3365. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3366. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3367. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3368. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3369.  
  3370. $harikerjaextuder->save();
  3371.  
  3372. $karyawan_existing = Karyawan::find($k->id);
  3373. if(isset($karyawan_existing)) {
  3374. $karyawan_existing->is_changed_extuder_group = false;
  3375. $karyawan_existing->jadwal_extuder_group_id = $id;
  3376. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1_baru;
  3377. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3378. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3379. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1_baru;
  3380. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1_baru;
  3381.  
  3382. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2_baru;
  3383. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3384. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3385. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2_baru;
  3386. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2_baru;
  3387.  
  3388. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3_baru;
  3389. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3390. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3391. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3_baru;
  3392. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3_baru;
  3393.  
  3394. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3395. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3396. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3397. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3398. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3399.  
  3400. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3401. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3402. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3403. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3404. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3405.  
  3406. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3407. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3408. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3409. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3410. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3411.  
  3412. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  3413. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3414. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  3415. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3416.  
  3417. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3418. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3419. $karyawan_existing->is_changed_extuder_group = true;
  3420.  
  3421. $karyawan_existing->save();
  3422. }
  3423. } else if(in_array($g, $jadwal_child_lama) == false) {
  3424. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  3425. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3426. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3427. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3428. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  3429. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3430.  
  3431. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  3432. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3433. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3434. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  3435. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  3436.  
  3437. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  3438. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3439. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3440. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  3441. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  3442.  
  3443. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  3444. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3445. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3446. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  3447. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  3448.  
  3449. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3450. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3451. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3452. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3453. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3454.  
  3455. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3456. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3457. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3458. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3459. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3460.  
  3461. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3462. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3463. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3464. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3465. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3466.  
  3467. $harikerjaextuder->save();
  3468.  
  3469. $karyawan_existing = Karyawan::find($k->id);
  3470. if(isset($karyawan_existing)) {
  3471. // tbt ikut pattern
  3472. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  3473. $jarak_hari = date_diff(date_create(Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)), date_create(Carbon::now()))->days;
  3474. $jarak_hari = $jarak_hari + 1;
  3475.  
  3476. if($jarak_hari % 2 == 0) {
  3477. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  3478. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  3479. } else if($jarak_hari % 2 != 0) {
  3480. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  3481. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  3482. }
  3483.  
  3484. $karyawan_existing->is_changed_extuder_group = true;
  3485. $karyawan_existing->jadwal_extuder_group_id = $id;
  3486. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift1;
  3487. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  3488. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  3489. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift1;
  3490. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_baru->status_shift1;
  3491.  
  3492. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift2;
  3493. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  3494. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  3495. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift2;
  3496. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_baru->status_shift2;
  3497.  
  3498. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift3;
  3499. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  3500. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  3501. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift3;
  3502. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_baru->status_shift3;
  3503.  
  3504. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3505. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3506. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3507. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3508. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3509.  
  3510. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3511. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3512. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3513. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3514. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3515.  
  3516. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3517. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3518. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3519. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3520. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3521.  
  3522. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  3523. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3524. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  3525. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3526.  
  3527. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = Carbon::now()->toDateString();
  3528. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3529. $karyawan_existing->save();
  3530. }
  3531. }
  3532. }
  3533. }
  3534. }
  3535. } else if($perubahan_nama_warna == true && $perubahan_jam_shift == true) {
  3536. // update jadwal master
  3537. $jadwal_master_baru = JadwalExtuder::find($id);
  3538. $jadwal_master_baru->nama_jadwal = $request->nama_jadwal;
  3539. $jadwal_master_baru->warna = $request->warna;
  3540.  
  3541. $jadwal_master_baru->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3542. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3543. $jadwal_master_baru->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3544. $jadwal_master_baru->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3545.  
  3546. $jadwal_master_baru->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1_baru;
  3547. $jadwal_master_baru->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3548. $jadwal_master_baru->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3549. $jadwal_master_baru->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1_baru;
  3550. $jadwal_master_baru->status_shift1 = $jadwal_master_lama_status_shift1_baru;
  3551. $jadwal_master_baru->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2_baru;
  3552. $jadwal_master_baru->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3553. $jadwal_master_baru->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3554. $jadwal_master_baru->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2_baru;
  3555. $jadwal_master_baru->status_shift2 = $jadwal_master_lama_status_shift2_baru;
  3556. $jadwal_master_baru->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3_baru;
  3557. $jadwal_master_baru->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3558. $jadwal_master_baru->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3559. $jadwal_master_baru->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3_baru;
  3560. $jadwal_master_baru->status_shift3 = $jadwal_master_lama_status_shift3_baru;
  3561.  
  3562. $jadwal_master_baru->jam_masuk_shift1_baru = $request->jam_masuk_shift1;
  3563. $jadwal_master_baru->jam_istirahat_mulai_shift1_baru = $request->jam_istirahat_mulai_shift1;
  3564. $jadwal_master_baru->jam_istirahat_selesai_shift1_baru = $request->jam_istirahat_selesai_shift1;
  3565. $jadwal_master_baru->jam_pulang_shift1_baru = $request->jam_pulang_shift1;
  3566. $jadwal_master_baru->status_shift1_baru = $request->status_shift1;
  3567. $jadwal_master_baru->jam_masuk_shift2_baru = $request->jam_masuk_shift2;
  3568. $jadwal_master_baru->jam_istirahat_mulai_shift2_baru = $request->jam_istirahat_mulai_shift2;
  3569. $jadwal_master_baru->jam_istirahat_selesai_shift2_baru = $request->jam_istirahat_selesai_shift2;
  3570. $jadwal_master_baru->jam_pulang_shift2_baru = $request->jam_pulang_shift2;
  3571. $jadwal_master_baru->status_shift2_baru = $request->status_shift2;
  3572. $jadwal_master_baru->jam_masuk_shift3_baru = $request->jam_masuk_shift3;
  3573. $jadwal_master_baru->jam_istirahat_mulai_shift3_baru = $request->jam_istirahat_mulai_shift3;
  3574. $jadwal_master_baru->jam_istirahat_selesai_shift3_baru = $request->jam_istirahat_selesai_shift3;
  3575. $jadwal_master_baru->jam_pulang_shift3_baru = $request->jam_pulang_shift3;
  3576. $jadwal_master_baru->status_shift3_baru = $request->status_shift3;
  3577.  
  3578. $jadwal_master_baru->tanggal_jadwal_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3579. $jadwal_master_baru->tanggal_jadwal_diedit_baru = Carbon::now()->toDateString();
  3580. $jadwal_master_baru->save();
  3581.  
  3582. $jadwal_master_baru = JadwalExtuder::find($id);
  3583.  
  3584. // create child
  3585. if(isset($request->group)) {
  3586. foreach($request->group as $g) {
  3587.  
  3588. $karyawan = Karyawan::where('group_id', $g)->get();
  3589. $group = Group::find($g);
  3590. $group->jadwal_extuder_id = $id;
  3591. $group->save();
  3592.  
  3593. foreach($karyawan as $k) {
  3594. $id_child = null;
  3595. $harikerjaextuder = new JadwalHariKerjaExtuder();
  3596. $harikerjaextuder->nama_jadwal = $request->nama_jadwal;
  3597. $harikerjaextuder->warna = $request->warna;
  3598. $harikerjaextuder->karyawan_id = $k->id;
  3599. $harikerjaextuder->group_id = $g;
  3600. $harikerjaextuder->source_id = $id;
  3601. $harikerjaextuder->source = 'extuder group';
  3602. if(in_array($g, $jadwal_child_lama) == true) {
  3603. $harikerjaextuder->tanggal_boleh_tap = $jadwal_master_lama_tanggal_boleh_tap;
  3604. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $jadwal_master_lama_tanggal_boleh_tap_selanjutnya;
  3605. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3606. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3607. $harikerjaextuder->tanggal_jadwal_extuder_diedit = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3608. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3609.  
  3610. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_lama_jam_masuk_shift1;
  3611. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_lama_jam_istirahat_mulai_shift1;
  3612. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_lama_jam_istirahat_selesai_shift1;
  3613. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_lama_jam_pulang_shift1;
  3614. $harikerjaextuder->status_shift1 = $jadwal_master_lama_status_shift1;
  3615.  
  3616. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_lama_jam_masuk_shift2;
  3617. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_lama_jam_istirahat_mulai_shift2;
  3618. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_lama_jam_istirahat_selesai_shift2;
  3619. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_lama_jam_pulang_shift2;
  3620. $harikerjaextuder->status_shift2 = $jadwal_master_lama_status_shift2;
  3621.  
  3622. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_lama_jam_masuk_shift3;
  3623. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_lama_jam_istirahat_mulai_shift3;
  3624. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_lama_jam_istirahat_selesai_shift3;
  3625. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_lama_jam_pulang_shift3;
  3626. $harikerjaextuder->status_shift3 = $jadwal_master_lama_status_shift3;
  3627.  
  3628. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3629. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3630. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3631. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3632. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3633.  
  3634. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3635. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3636. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3637. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3638. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3639.  
  3640. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3641. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3642. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3643. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3644. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3645.  
  3646. $harikerjaextuder->save();
  3647.  
  3648. $karyawan_existing = Karyawan::find($k->id);
  3649. if(isset($karyawan_existing)) {
  3650. $karyawan_existing->is_changed_extuder_group = false;
  3651. $karyawan_existing->jadwal_extuder_group_id = $id;
  3652. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift1_baru;
  3653. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift1_baru;
  3654. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift1_baru;
  3655. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift1_baru;
  3656. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_lama_status_shift1_baru;
  3657.  
  3658. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift2_baru;
  3659. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift2_baru;
  3660. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift2_baru;
  3661. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift2_baru;
  3662. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_lama_status_shift2_baru;
  3663.  
  3664. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_lama_jam_masuk_shift3_baru;
  3665. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_mulai_shift3_baru;
  3666. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_lama_jam_istirahat_selesai_shift3_baru;
  3667. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_lama_jam_pulang_shift3_baru;
  3668. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_lama_status_shift3_baru;
  3669.  
  3670. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3671. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3672. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3673. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3674. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3675.  
  3676. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3677. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3678. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3679. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3680. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3681.  
  3682. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3683. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3684. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3685. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3686. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3687.  
  3688. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  3689. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3690. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  3691. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3692.  
  3693. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = $jadwal_master_lama_tanggal_jadwal_diedit_baru;
  3694. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3695. $karyawan_existing->is_changed_extuder_group = true;
  3696.  
  3697. $karyawan_existing->save();
  3698. }
  3699. } else if(in_array($g, $jadwal_child_lama) == false) {
  3700. $harikerjaextuder->tanggal_boleh_tap = $tanggal_boleh_tap_yang_baru;
  3701. $harikerjaextuder->tanggal_boleh_tap_selanjutnya = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3702. $harikerjaextuder->tanggal_boleh_tap_baru = $tanggal_boleh_tap_yang_baru;
  3703. $harikerjaextuder->tanggal_boleh_tap_selanjutnya_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3704. $harikerjaextuder->tanggal_jadwal_extuder_diedit = Carbon::now()->toDateString();
  3705. $harikerjaextuder->tanggal_jadwal_extuder_diedit_baru = Carbon::now()->toDateString();
  3706.  
  3707. $harikerjaextuder->jam_masuk_shift1 = $jadwal_master_baru->jam_masuk_shift1_baru;
  3708. $harikerjaextuder->jam_istirahat_mulai_shift1 = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3709. $harikerjaextuder->jam_istirahat_selesai_shift1 = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3710. $harikerjaextuder->jam_pulang_shift1 = $jadwal_master_baru->jam_pulang_shift1_baru;
  3711. $harikerjaextuder->status_shift1 = $jadwal_master_baru->status_shift1_baru;
  3712.  
  3713. $harikerjaextuder->jam_masuk_shift2 = $jadwal_master_baru->jam_masuk_shift2_baru;
  3714. $harikerjaextuder->jam_istirahat_mulai_shift2 = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3715. $harikerjaextuder->jam_istirahat_selesai_shift2 = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3716. $harikerjaextuder->jam_pulang_shift2 = $jadwal_master_baru->jam_pulang_shift2_baru;
  3717. $harikerjaextuder->status_shift2 = $jadwal_master_baru->status_shift2_baru;
  3718.  
  3719. $harikerjaextuder->jam_masuk_shift3 = $jadwal_master_baru->jam_masuk_shift3_baru;
  3720. $harikerjaextuder->jam_istirahat_mulai_shift3 = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3721. $harikerjaextuder->jam_istirahat_selesai_shift3 = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3722. $harikerjaextuder->jam_pulang_shift3 = $jadwal_master_baru->jam_pulang_shift3_baru;
  3723. $harikerjaextuder->status_shift3 = $jadwal_master_baru->status_shift3_baru;
  3724.  
  3725. $harikerjaextuder->jam_masuk_shift1_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3726. $harikerjaextuder->jam_istirahat_mulai_shift1_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3727. $harikerjaextuder->jam_istirahat_selesai_shift1_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3728. $harikerjaextuder->jam_pulang_shift1_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3729. $harikerjaextuder->status_shift1_baru = $jadwal_master_baru->status_shift1_baru;
  3730.  
  3731. $harikerjaextuder->jam_masuk_shift2_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3732. $harikerjaextuder->jam_istirahat_mulai_shift2_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3733. $harikerjaextuder->jam_istirahat_selesai_shift2_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3734. $harikerjaextuder->jam_pulang_shift2_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3735. $harikerjaextuder->status_shift2_baru = $jadwal_master_baru->status_shift2_baru;
  3736.  
  3737. $harikerjaextuder->jam_masuk_shift3_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3738. $harikerjaextuder->jam_istirahat_mulai_shift3_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3739. $harikerjaextuder->jam_istirahat_selesai_shift3_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3740. $harikerjaextuder->jam_pulang_shift3_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3741. $harikerjaextuder->status_shift3_baru = $jadwal_master_baru->status_shift3_baru;
  3742.  
  3743. $harikerjaextuder->save();
  3744.  
  3745. $karyawan_existing = Karyawan::find($k->id);
  3746. if(isset($karyawan_existing)) {
  3747. // tbt ikut pattern
  3748. $jadwal_master_cek_jarak = JadwalHariKerjaExtuder::where('source', 'extuder group')->where('source_id', $id)->where('karyawan_id', $k->id)->first();
  3749. $jarak_hari = null;
  3750. $jarak_hari = Carbon::parse($jadwal_master_cek_jarak->tanggal_boleh_tap_baru)->diffInDays(Carbon::now());
  3751.  
  3752. if($jarak_hari % 2 == 0) {
  3753. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(1)->toDateString();
  3754. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(3)->toDateString();
  3755. } else if($jarak_hari % 2 != 0) {
  3756. $tanggal_boleh_tap_yang_baru = Carbon::now()->addDays(2)->toDateString();
  3757. $tanggal_boleh_tap_selanjutnya_yang_baru = Carbon::now()->addDays(4)->toDateString();
  3758. }
  3759.  
  3760. $karyawan_existing->is_changed_extuder_group = true;
  3761. $karyawan_existing->jadwal_extuder_group_id = $id;
  3762. $karyawan_existing->jam_masuk_shift1_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift1;
  3763. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift1;
  3764. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift1;
  3765. $karyawan_existing->jam_pulang_shift1_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift1;
  3766. $karyawan_existing->status_shift1_extuder_group_lama = $jadwal_master_baru->status_shift1;
  3767.  
  3768. $karyawan_existing->jam_masuk_shift2_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift2;
  3769. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift2;
  3770. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift2;
  3771. $karyawan_existing->jam_pulang_shift2_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift2;
  3772. $karyawan_existing->status_shift2_extuder_group_lama = $jadwal_master_baru->status_shift2;
  3773.  
  3774. $karyawan_existing->jam_masuk_shift3_extuder_group_lama = $jadwal_master_baru->jam_masuk_shift3;
  3775. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_mulai_shift3;
  3776. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_lama = $jadwal_master_baru->jam_istirahat_selesai_shift3;
  3777. $karyawan_existing->jam_pulang_shift3_extuder_group_lama = $jadwal_master_baru->jam_pulang_shift3;
  3778. $karyawan_existing->status_shift3_extuder_group_lama = $jadwal_master_baru->status_shift3;
  3779.  
  3780. $karyawan_existing->jam_masuk_shift1_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift1_baru;
  3781. $karyawan_existing->jam_istirahat_mulai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift1_baru;
  3782. $karyawan_existing->jam_istirahat_selesai_shift1_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift1_baru;
  3783. $karyawan_existing->jam_pulang_shift1_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift1_baru;
  3784. $karyawan_existing->status_shift1_extuder_group_baru = $jadwal_master_baru->status_shift1_baru;
  3785.  
  3786. $karyawan_existing->jam_masuk_shift2_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift2_baru;
  3787. $karyawan_existing->jam_istirahat_mulai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift2_baru;
  3788. $karyawan_existing->jam_istirahat_selesai_shift2_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift2_baru;
  3789. $karyawan_existing->jam_pulang_shift2_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift2_baru;
  3790. $karyawan_existing->status_shift2_extuder_group_baru = $jadwal_master_baru->status_shift2_baru;
  3791.  
  3792. $karyawan_existing->jam_masuk_shift3_extuder_group_baru = $jadwal_master_baru->jam_masuk_shift3_baru;
  3793. $karyawan_existing->jam_istirahat_mulai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_mulai_shift3_baru;
  3794. $karyawan_existing->jam_istirahat_selesai_shift3_extuder_group_baru = $jadwal_master_baru->jam_istirahat_selesai_shift3_baru;
  3795. $karyawan_existing->jam_pulang_shift3_extuder_group_baru = $jadwal_master_baru->jam_pulang_shift3_baru;
  3796. $karyawan_existing->status_shift3_extuder_group_baru = $jadwal_master_baru->status_shift3_baru;
  3797.  
  3798. $karyawan_existing->tanggal_boleh_tap_extuder_group_lama = $tanggal_boleh_tap_yang_baru;
  3799. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_lama = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3800. $karyawan_existing->tanggal_boleh_tap_extuder_group_baru = $tanggal_boleh_tap_yang_baru;
  3801. $karyawan_existing->tanggal_boleh_tap_selanjutnya_extuder_group_baru = $tanggal_boleh_tap_selanjutnya_yang_baru;
  3802.  
  3803. $karyawan_existing->tanggal_jadwal_extuder_diedit_group = Carbon::now()->toDateString();
  3804. $karyawan_existing->tanggal_jadwal_extuder_diedit_group_baru = Carbon::now()->toDateString();
  3805. $karyawan_existing->is_changed_extuder = false;
  3806. $karyawan_existing->save();
  3807. }
  3808. }
  3809. }
  3810. }
  3811. }
  3812. }
  3813. }
  3814. }
  3815.  
  3816. alert()->success('Sukses', 'Data Jadwal Extuder berhasil diubah.')->persistent(true, false)->showConfirmButton('Okay', '#064a25');
  3817. return redirect()->route('jadwal.index');
  3818. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement