public function HapusPekerjaan($id) { $getIdPembayaran = Pembayaran::where('id_pekerjaan', $id)->get(); if (count($getIdPembayaran)) { $idPembayaran = array(); foreach ($getIdPembayaran as $i => $item) { $idPembayaran[$i] = $item->id_pembayaran; } // Fakturpajak::whereIn('id_pembayaran', $idPembayaran)->delete(); Pembayaran::where('id_pekerjaan', $id)->delete(); Pekerjaan::where('id_pekerjaan', $id)->delete(); return Redirect::back()->with('success', 'Data Pekerjaan Berhasil dihapus dan menghapus ' . count($getIdPembayaran) . ' data Pembayaran.'); } else { Pekerjaan::where('id_pekerjaan', $id)->delete(); return Redirect::back()->with('success', 'Data Pekerjaan Berhasil dihapus.'); } }
public function TambahPembayaran() { //date_default_timezone_set('Asia/Jakarta'); $tanggalPekerjaan = Input::get('tanggalKontrak'); $PersentasePekerjaanAwal = Input::get('PersentasePekerjaanAwal'); $PersentasePekerjaanAwalplus = Input::get('PersentasePekerjaanAwal') + 1; $selisihTanggal = BaseController::selisihTanggal($tanggalPekerjaan, Input::get('TanggalPembayaran')); $sisaPembayaran = Input::get('sisaPembayaran') - Input::get('NilaiPembayaran'); $validasiProgress = 1; $validasiProgress2 = 1; $progress = Input::get('PersentasePekerjaan'); if ($progress < 100 & $sisaPembayaran == 0) { $validasiProgress = 0; } if ($progress == 100 && ($sisaPembayaran < 0 || $sisaPembayaran > 0)) { $validasiProgress2 = 0; } $input = array('sisaPembayaran' => $sisaPembayaran, 'selisihTanggal' => $selisihTanggal, 'validasiProgress' => $validasiProgress, 'validasiProgress2' => $validasiProgress2, 'NomorPemotongan' => Input::get('NomorPemotongan'), 'noFaktur' => Input::get('noFaktur'), 'PersentasePekerjaan' => Input::get('PersentasePekerjaan'), 'NilaiPembayaran' => Input::get('NilaiPembayaran'), 'NilaiPPh' => Input::get('NilaiPPh'), 'NilaiPPN' => Input::get('NilaiPPN'), 'NilaiDasarPengenaan' => Input::get('NilaiDasarPengenaan'), 'KetPembayaran' => Input::get('KetPembayaran')); $rules = array('sisaPembayaran' => 'numeric|min:0', 'selisihTanggal' => 'numeric|min:0', 'validasiProgress' => 'numeric|min:1', 'validasiProgress2' => 'numeric|min:1', 'NomorPemotongan' => 'required', 'noFaktur' => 'required', 'PersentasePekerjaan' => 'required|numeric|min:' . $PersentasePekerjaanAwalplus, 'NilaiPembayaran' => 'required|numeric', 'NilaiPPh' => 'required|numeric', 'NilaiPPN' => 'required|numeric', 'NilaiDasarPengenaan' => 'required|numeric', 'KetPembayaran' => 'required'); $messages = array('sisaPembayaran.min' => '<b>Nilai Pembayaran</b> tidak boleh melebihi <b>Sisa Pembayaran</b>', 'validasiProgress.min' => 'Baris <b>Untuk Progess</b> Harus 100%,Sisa Pembayaran telah habis', 'validasiProgress2.min' => 'Baris <b>Untuk Progess</b> tidak boleh 100%, masih terdapat Sisa Pembayaran', 'TanggalPembayaran.required' => 'Baris <b>Tanggal Pembayaran</b> tidak boleh kosong.', 'TanggalPembayaran.date_format' => 'Baris <b>Tanggal Pembayaran</b> harus sesuai format tgl-bln-thn (xx-xx-xxxx).', 'selisihTanggal.min' => '<b>Tanggal Pembayaran</b> tidak boleh dibawah Tanggal Pekerjaan ' . $tanggalPekerjaan . '.', 'NomorPemotongan.required' => 'Baris <b>No. Pemotongan</b> tidak boleh kosong.', 'noFaktur.required' => 'Baris <b>No. Faktur</b> tidak boleh kosong.', 'PersentasePekerjaan.required' => 'Baris <b>Untuk Progress</b> harus diisi.', 'PersentasePekerjaan.min' => 'Baris <b>Untuk Progress</b> tidak boleh seperti persentase pekerjaan sebelumnya (' . $PersentasePekerjaanAwal . '%).', 'NilaiPembayaran.required' => 'Baris <b>Nilai Pembayaran</b> tidak boleh kosong.', 'NilaiPembayaran.numeric' => 'Baris <b>Nilai Pembayaran</b> tidak boleh kosong.', 'NilaiPPh.required' => 'Baris <b>PPh</b> tidak boleh kosong.', 'NilaiPPh.numeric' => 'Baris <b>PPh</b> tidak boleh kosong.', 'NilaiPPN.required' => 'Baris <b>PPN</b> tidak boleh kosong.', 'NilaiPPN.numeric' => 'Baris <b>PPN</b> tidak boleh kosong.', 'NilaiDasarPengenaan.required' => 'Baris <b>Nilai Dasar Pengenaan Pajak</b> tidak boleh kosong.', 'NilaiDasarPengenaan.numeric' => 'Baris <b>Nilai Dasar Pengenaan Pajak</b> tidak boleh kosong.', 'KetPembayaran.required' => 'Baris <b>Ket Pembayaran</b> tidak boleh kosong.'); $validasi = BaseController::validasi($input, $rules, $messages); if ($validasi->validator->fails()) { $result['error'] = $validasi->PesanError; } else { $tanggalPembayaran = new \DateTime(Input::get('TanggalPembayaran')); $inputPembayaran = array('id_pekerjaan' => Input::get('id_pekerjaan'), 'id_pegawai' => 1, 'PersentasePembayaran' => Input::get('PersentasePekerjaan'), 'NilaiPembayaran' => Input::get('NilaiPembayaran'), 'NilaiPPh' => Input::get('NilaiPPh'), 'NilaiPPN' => Input::get('NilaiPPN'), 'NilaiDasarPengenaan' => Input::get('NilaiDasarPengenaan'), 'NomorPemotongan' => Input::get('NomorPemotongan'), 'noFaktur' => Input::get('noFaktur'), 'KetPembayaran' => Input::get('KetPembayaran'), 'TanggalPembayaran' => $tanggalPembayaran); DB::table('Pembayaran')->insert($inputPembayaran); $persentase = Input::get('PersentasePekerjaan'); Pekerjaan::where('id_pekerjaan', Input::get('id_pekerjaan'))->update(array('PersentasePekerjaan' => $persentase)); $result['success'] = Redirect::back()->with('success', 'Data Pembayaran berhasil disimpan.'); } return $result; }