Exemple #1
0
 public function scopeAlldepartement($query, $kode, $status, $departement = 0, $deadline = 0, $surat = 0)
 {
     $akses = \Me::accessGudang();
     $spb = $query->join('data_departemen', 'data_departemen.id_departemen', '=', 'data_spb.id_departemen')->join('data_karyawan', 'data_karyawan.id_karyawan', '=', 'data_spb.id_pemohon');
     if (!empty($deadline)) {
         $spb->where('data_spb.deadline', $deadline);
     }
     if (!empty($departement)) {
         $spb->where('data_spb.id_departemen', $departement);
     }
     if (!empty($kode)) {
         $spb->where('data_spb.no_spb', $kode);
     }
     if (!empty($status) && !is_array($status)) {
         $spb->where('data_spb.status', $status);
     } else {
         if (is_array($status)) {
             $spb->whereIn('data_spb.status', $status);
         } else {
             $spb->whereIn('data_spb.status', [1, 2, 3]);
         }
     }
     if (!empty($surat)) {
         $spb->where('data_spb.tipe', $surat);
     } else {
         $spb->whereIn('data_spb.tipe', $akses);
     }
     $spb->orderby('data_spb.status', 'asc')->orderby('data_spb.id_spb', 'asc')->orderby('data_spb.id_acc', 'desc')->select('data_spb.*', 'data_departemen.nm_departemen', 'data_karyawan.nm_depan', 'data_karyawan.nm_belakang');
 }
Exemple #2
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         if ($this->req['id'] < 1) {
             $group = data_sph_grup::create(['id_pembuat' => \Me::data()->id_karyawan]);
         } else {
             $group = data_sph_grup::find($this->req['id']);
             \Loguser::create('Menambahkan Pengajuan pada SPH No. ' . $group->no_sph);
         }
         $sph = data_sph::create(['id_sph_grup' => $group->id_sph_grup, 'id_vendor' => $this->req['vendor'], 'deadline' => $this->req['deadline'], 'id_pembuat' => \Me::data()->id_karyawan, 'id_acc' => 0, 'diskon' => $this->req['gdiskon'], 'ppn' => $this->req['gppn'], 'adjustment' => $this->req['adjustment'], 'keterangan' => $this->req['ket']]);
         foreach ($this->req['id_prq_item'] as $i => $id_prq_item) {
             data_sph_item::create(['id_sph' => $sph->id_sph, 'id_prq' => $this->req['id_prq'][$i], 'id_item' => $this->req['id_barang'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskon'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i]]);
             data_prq::find($this->req['id_prq'][$i])->update(['status' => 2]);
         }
         if ($this->req['id'] < 1) {
             $format = 'G-SPH/';
             $group->no_sph = $format . \Format::code($group->id_sph_grup);
             $group->save();
             \Loguser::create('Membuat Surat Pengajuan Harga dengan No. ' . $group->no_sph);
         }
         $fo = 'SPH/';
         $sph->no_sph_item = $fo . \Format::code($sph->id_sph);
         $sph->save();
         \DB::commit();
         return ['status' => true, 'err' => $group];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['status' => false, 'err' => $e->getMessage()];
     }
 }
Exemple #3
0
 /**
  * Initialize Class with a new instance
  * 
  * Should be called to boot up the class, stores an instance of itself
  * Me::init()
  * 
  * @since 0.1.0
  * 
  * @global boolean $instance
  * 
  */
 public static function init()
 {
     if (!self::$instance) {
         self::$instance = new Me();
     }
     return self::$instance;
 }
 public function scopeSubgudang($query, $req = [])
 {
     $me = \Me::subgudang();
     $user = \Auth::user()->permission;
     $access = $me->access == false && $user > 2 ? 'admin' : 'user';
     $item = $query->join('data_karyawan', 'data_karyawan.id_karyawan', '=', 'data_penyesuaian_stok.id_karyawan')->where('status', 1);
     if ($access == 'admin') {
         $item->whereNotIn('data_penyesuaian_stok.id_gudang', [0]);
     } else {
         $item->where('data_penyesuaian_stok.id_gudang', $me->id_gudang);
     }
     if (count($req) > 0) {
         if (!empty($req['kode'])) {
             $item->where('data_penyesuaian_stok.no_penyesuaian_stok', $req['kode']);
         }
         if (!empty($req['tanggal'])) {
             $item->where('data_penyesuaian_stok.tanggal', $req['tanggal']);
         }
         if (!empty($req['id_gudang'])) {
             $item->where('data_penyesuaian_stok.id_gudang', $req['id_gudang']);
         }
     }
     $akses = \Me::statusGudang();
     if (in_array($akses, [1, 2])) {
         $item->where('tipe', $akses);
     }
     $item->orderby('data_penyesuaian_stok.id_penyesuaian_stok', 'desc')->select('data_penyesuaian_stok.*', 'data_karyawan.nm_depan', 'data_karyawan.nm_belakang');
 }
Exemple #5
0
 public static function user($uniID, $remember = false)
 {
     // Set the appropriate UniID
     $_SESSION['uni_id'] = $uniID;
     // Load Your Data
     Me::$getColumns = "*";
     // Retrieve all of your data during login
     Me::load($uniID);
     if (Me::$id == 0) {
         return false;
     }
     // Prepare User Session
     if (isset($_SESSION[SITE_HANDLE]['site_login'])) {
         // This retains the site login redirection for UniFaction (Auth)
         $_SESSION[SITE_HANDLE] = array("site_login" => $_SESSION[SITE_HANDLE]['site_login']);
     } else {
         $_SESSION[SITE_HANDLE] = array();
     }
     $_SESSION[SITE_HANDLE]['id'] = Me::$id;
     // Required to load user each page.
     // Update the last login time (to right now)
     Database::query("UPDATE users SET date_lastLogin=? WHERE uni_id=? LIMIT 1", array(time(), Me::$id));
     // Set "Remember Me" cookie if applicable
     if ($remember) {
         // Me::setCookie();
     }
     return true;
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     //dd($this->req);
     try {
         \DB::begintransaction();
         $parent_id = empty($this->req['parent_id']) ? 0 : $this->req['parent_id'];
         $file = '';
         if (!empty($_FILES['feed_file']['tmp_name'])) {
             $base_name = date('d_m_Y_') . md5($_FILES['feed_file']['name']) . rand(11111, 99999) . time();
             $fl_name = $base_name . '.png';
             $fl = file_get_contents($_FILES['feed_file']['tmp_name']);
             \Image::make($fl)->save($this->path . $fl_name);
             $file = $fl_name;
         }
         $feed = data_feedback::create(['title' => $this->req['feed_title'], 'ask' => $this->req['feed_ask'], 'link' => $this->req['feed_link'], 'parent_id' => $parent_id, 'file' => $file, 'id_karyawan' => \Me::data()->id_karyawan]);
         $kode = \Format::code($feed->id_feedback);
         $feed->kode = $kode;
         $feed->save();
         if ($parent_id > 0) {
             $up = data_feedback::find($parent_id);
             $up->notif = $up->notif + 1;
             $up->save();
         }
         \Loguser::create('Megisi form feedback Kode. #' . $kode);
         \DB::commit();
         return ['label' => 'success', 'err' => 'Feedback berhasil terkirim dengan Kode. ' . $feed->kode];
     } catch (\Exception $e) {
         \DB::rollback();
         if (file_exists($this->path . $file)) {
             @unlink($this->path . $file);
         }
         return ['label' => 'danger', 'err' => $e->getMessage()];
     }
 }
Exemple #7
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $sph = data_sph::find($this->id);
         $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
         if ($grup->status == 2) {
             throw new \Exception("Maaf SPH No. " . $sph->no_sph_item . " sudah kadaluarsa!", 1);
         }
         $nsph = data_sph::create(['id_sph_grup' => $sph->id_sph_grup, 'id_vendor' => $sph->id_vendor, 'deadline' => $sph->deadline, 'id_pembuat' => \Me::data()->id_karyawan, 'id_acc' => $sph->id_acc, 'diskon' => $sph->diskon, 'ppn' => $sph->ppn, 'pph' => $sph->pph, 'adjustment' => $sph->adjustment]);
         $items = data_sph_item::whereId_sph($this->id)->get();
         foreach ($items as $item) {
             data_sph_item::create(['id_sph' => $nsph->id_sph, 'id_prq' => $item->id_prq, 'id_item' => $item->id_item, 'qty' => $item->qty, 'harga' => $item->harga, 'diskon' => $item->diskon, 'ppn' => $item->ppn, 'pph' => $item->pph, 'id_satuan' => $item->id_satuan]);
         }
         $fo = 'ISPH/';
         $nsph->no_sph_item = $fo . \Format::code($nsph->id_sph);
         $nsph->save();
         \Loguser::create('Menduplikasi data SPH dari No. ' . $sph->no_sph_item);
         \DB::commit();
         return ['err' => 'SPH berhasil di duplikasi dengan No. ' . $nsph->no_sph_item];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['err' => $e->getMessage()];
     }
 }
 private function contact()
 {
     $isSent = Request::get(0, VAR_URI) == 'send';
     $options = array('name' => array(Validator::MESSAGE => 'Der Name muss mindestens 5 und darf maximal 150 Zeichen lang sein.', Validator::MIN_LENGTH => 5, Validator::MAX_LENGTH => 150), 'email' => array(Validator::MESSAGE => 'Die E-Mail-Adresse ist nicht korrekt.', Validator::CALLBACK => Validator::CB_MAIL), 'message' => array(Validator::MESSAGE => 'Die Nachricht entspricht nicht den Vorgaben (mindestens 10 Zeichen, maximal 1000 Zeichen).', Validator::MIN_LENGTH => 10, Validator::MAX_LENGTH => 1000), 'title' => array(Validator::MESSAGE => 'Der Titel entspricht nicht den Vorgaben (mindestens 5 Zeichen, maximal 100 Zeichen).', Validator::MIN_LENGTH => 5, Validator::MAX_LENGTH => 100));
     $this->enableClientFormValidation($options);
     // Don't validate the captcha via ajax as the session would end
     if (Config::get('captcha.enable')) {
         Core::loadClass('Core.Security.ReCaptcha');
         $options['recaptcha_response_field'] = array(Validator::MESSAGE => 'Der Sicherheitscode wurde nicht korrekt eingegeben.', Validator::CALLBACK => 'cb_captcha_check');
     }
     $data = array_fill_keys(array_keys($options), '');
     $data['name'] = iif(Me::get()->loggedIn(), Me::get()->getName());
     $data['email'] = iif(Me::get()->loggedIn(), Me::get()->getEmail());
     $this->breadcrumb->add('Kontakt');
     $this->header();
     if ($isSent) {
         extract(Validator::checkRequest($options));
         if (count($error) > 0) {
             CmsPage::error($error);
         } else {
             CmsTools::sendMail(Config::get('general.email'), $data['title'], $data['message'], $data['email'], $data['name']);
             CmsPage::ok('Die Anfrage wurde erfolgreich verschickt. Vielen Dank!');
             $data['title'] = '';
             $data['message'] = '';
         }
     }
     $tpl = Response::getObject()->appendTemplate('Cms/contact/contact');
     $tpl->assign('data', $data);
     if (Config::get('captcha.enable')) {
         $tpl->assign('captcha', recaptcha_get_html(Config::get('captcha.public_key')), false);
     }
     $tpl->output();
     $this->footer();
 }
Exemple #9
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         //dd($this->req);
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         // Create PO
         $po = data_po::create(['id_sph' => $this->req['id'], 'id_vendor' => $this->req['vendor'], 'deadline' => $this->req['deadline'], 'id_pembuat' => $me, 'id_acc' => 0, 'adjustment' => $this->req['adjustment'], 'diskon' => $this->req['gdiskon'], 'ppn' => $this->req['gppn'], 'keterangan' => $this->req['ket'], 'titipan' => $this->req['titipan']]);
         foreach ($this->req['id_barang'] as $i => $id_barang) {
             data_po_item::create(['id_po' => $po->id_po, 'id_item' => $id_barang, 'req_qty' => $this->req['qty'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskon'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i], 'id_prq' => $this->req['id_prq'][$i]]);
             data_prq::find($this->req['id_prq'][$i])->update(['status' => 2]);
             // update Harga
             data_barang::find($id_barang)->update(['harga_beli' => $this->req['harga'][$i]]);
             // Update Log harga
             data_harga::create(['id_barang' => $id_barang, 'harga' => $this->req['harga'][$i], 'keterangan' => 'Update berdasarkan PO', 'id_po' => $po->id_po, 'id_karyawan' => $me, 'tipe' => 1]);
             data_prq_item::find($this->req['id_prq_item'][$i])->update(['status' => 2]);
         }
         $format = 'PO-';
         $po->no_po = $format . \Format::code($po->id_po);
         $po->save();
         \Loguser::create('Membuat PO dengan No. PO ' . $po->no_po);
         \DB::commit();
         return ['result' => true, 'err' => 'PO berhasil dibuat dengan No. ' . $po->no_po];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['result' => false, 'err' => $e->getMessage()];
     }
 }
Exemple #10
0
 public function scopeListprq($query, $req = [], $status = 1)
 {
     $akses = \Me::accessGudang();
     $prq = $query->join('data_karyawan AS a', 'a.id_karyawan', '=', 'data_prq.id_pemohon')->whereIn('data_prq.tipe', $akses);
     if (count($req) > 0) {
         if (!empty($req['no_prq'])) {
             $prq->where('data_prq.no_prq', $req['no_prq']);
         }
         if (!empty($req['tanggal'])) {
             $prq->where(\DB::raw('DATE(`data_prq`.`created_at`)'), $req['tanggal']);
         }
         if (!empty($req['deadline'])) {
             $prq->where('data_prq.target', $req['deadline']);
         }
         if (!empty($req['titipan']) && $req['titipan'] == 'true') {
             $prq->where('data_prq.titipan', '>', 0);
         }
     }
     if (!empty($status)) {
         if (is_array($status)) {
             $prq->whereIn('data_prq.status', $status);
         } else {
             $prq->where('data_prq.status', $status);
         }
     }
     $prq->select('data_prq.*', 'a.nm_depan', 'a.nm_belakang');
     return $prq;
 }
 public function load_me_plugin()
 {
     global $wp_query;
     if (isset($wp_query->query_vars['me'])) {
         Me::init();
     }
 }
Exemple #12
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         //dd($this->req);
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         // Create PO
         $po = data_po::find($this->req['id']);
         $po->update(['id_vendor' => $this->req['vendor'], 'deadline' => $this->req['deadline'], 'adjustment' => $this->req['adjustment'], 'diskon' => $this->req['gdiskon'], 'ppn' => $this->req['gppn'], 'keterangan' => $this->req['ket']]);
         data_po_item::whereId_po($this->req['id'])->delete();
         foreach ($this->req['id_barang'] as $i => $id_barang) {
             data_po_item::create(['id_po' => $po->id_po, 'id_item' => $id_barang, 'req_qty' => $this->req['qty'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskon'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i]]);
             // update Harga
             data_barang::find($id_barang)->update(['harga_beli' => $this->req['harga'][$i]]);
             // Update Log harga
             data_harga::create(['id_barang' => $id_barang, 'harga_beli' => $this->req['harga'][$i], 'keterangan' => 'Update berdasarkan pembaharuan PO', 'id_po' => $po->id_po, 'id_karyawan' => $me]);
         }
         \Loguser::create('Melakukan perubahan data PO No. ' . $po->no_po);
         \DB::commit();
         return ['result' => true, 'err' => 'PO berhasil diperbaharui'];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['result' => false, 'err' => $e->getMessage()];
     }
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         $retur = data_retur::create(['tipe' => 2, 'id_po' => $this->req['id_po'], 'id_vendor' => $this->req['id_vendor'], 'id_karyawan' => $me]);
         data_po::find($this->req['id_po'])->update(['status' => 2]);
         foreach ($this->req['id_barang'] as $i => $id_barang) {
             if (!empty($this->req['qty'][$i])) {
                 data_retur_item::create(['id_retur' => $retur->id_retur, 'id_barang' => $id_barang, 'id_satuan' => $this->req['id_satuan'][$i], 'qty' => $this->req['qty'][$i], 'qty_lg' => $this->req['qty'][$i]]);
                 // Log Stok
                 data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => 0, 'kondisi' => 2, 'tipe' => 5, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]);
                 // Update stok
                 $barang = data_barang::find($id_barang);
                 $barang->out = $barang->out + $this->req['qty'][$i];
                 $barang->save();
                 // Update data PO items
                 $itm = data_po_item::where('id_po', $this->req['id_po'])->where('id_item', $id_barang)->first();
                 $qpo = $itm->qty + $this->req['qty'][$i];
                 data_po_item::where('id_po', $this->req['id_po'])->where('id_item', $id_barang)->update(['qty' => $qpo, 'status' => 1]);
             }
         }
         $format = 'EX-RTN-';
         $kode = $format . \Format::code($retur->id_retur);
         $retur->no_retur = $kode;
         $retur->save();
         \Loguser::create('Membuat Retur Pembelian dengan No. ' . $kode);
         \DB::commit();
         return ['result' => true, 'label' => 'success', 'err' => 'Return Pembelian berhasil dibuat dengan No. ' . $kode];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['result' => false, 'label' => 'danger', 'err' => $e->getMessage()];
     }
 }
Exemple #14
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     $v = data_vendor::create(['nm_vendor' => $this->req['nm_vendor'], 'pemilik' => $this->req['nama_pemilik'], 'alamat' => $this->req['alamat'], 'telpon' => $this->req['telpon'], 'fax' => $this->req['fax'], 'id_karyawan' => \Me::data()->id_karyawan, 'email' => $this->req['email'], 'website' => $this->req['website']]);
     $format = 'VDR-';
     $v->kode = $format . \Format::code($v->id_vendor);
     $v->save();
     \Loguser::create('Menambahkan data Penyedia dengan Kode. ' . $v->kode);
     return $v;
 }
Exemple #15
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     //dd($this->req);
     try {
         \DB::begintransaction();
         $gr = data_spbm::create(['no_surat_jalan' => $this->req['sj'], 'tgl_terima_barang' => $this->req['tgl_terima'], 'tgl_periksa_barang' => $this->req['tgl_periksa'], 'id_kirim' => $this->req['pengiriman'], 'keterangan' => $this->req['keterangan'], 'id_po' => $this->req['id_po'], 'pemeriksa1' => $this->req['pemeriksa1'], 'pemeriksa2' => $this->req['pemeriksa2'], 'nm_pengirim' => $this->req['nm_pengirim'], 'titipan' => $this->req['titipan'], 'id_karyawan' => \Me::data()->id_karyawan]);
         $statuspo = [];
         foreach ($this->req['id_po_item'] as $i => $id_po_item) {
             if (!empty($this->req['qty_lg'])) {
                 $qty = \Format::convertSatuan($this->req['id_barang'][$i], $this->req['id_satuan'][$i], $this->req['id_satuan_default'][$i]) * $this->req['qty_lg'][$i];
                 data_spbm_item::create(['id_spbm' => $gr->id_spbm, 'id_barang' => $this->req['id_barang'][$i], 'bonus' => $this->req['bonus'][$i], 'id_satuan' => $this->req['id_satuan'][$i], 'qty_lg' => $this->req['qty_lg'][$i], 'qty' => $qty, 'merek' => $this->req['merek'][$i], 'barang_sesuai' => $this->req['barang_sesuai'][$i], 'keterangan' => $this->req['kets'][$i], 'tgl_exp' => $this->req['tgl_exp'][$i], 'sisa' => $qty]);
                 // Perubahan Status Item PO
                 if ($this->req['bonus'][$i] == 0) {
                     $itempo = data_po_item::find($this->req['id_po_item'][$i]);
                     if ($this->req['qty_lg'][$i] >= $this->req['req_qty'][$i]) {
                         $itempo->status = 3;
                         $itempo->qty = $itempo->qty - $this->req['qty_lg'][$i];
                         $itempo->save();
                         // Perubahan status PRQ
                         $count = data_prq_item::where('id_prq', $itempo->id_prq)->where('status', 1)->count();
                         if ($count == 0) {
                             data_prq::find($itempo->id_prq)->update(['status' => 3]);
                         }
                     } else {
                         $statuspo[] = 1;
                         $itempo->status = 2;
                         $itempo->qty = $itempo->qty - $this->req['qty_lg'][$i];
                         $itempo->save();
                     }
                 }
                 // Log Stok
                 data_log_barang::create(['id_barang' => $this->req['id_barang'][$i], 'qty' => $qty, 'keterangan' => 'Good Receive', 'id_gudang' => 0, 'kondisi' => 1, 'tipe' => 2, 'id_parent' => $gr->id_spbm, 'id_karyawan' => \Me::data()->id_karyawan]);
                 // Udate Stok ke data barang
                 $b = data_barang::find($this->req['id_barang'][$i]);
                 $b->in = $b->in + $qty;
                 $b->save();
             }
         }
         // Merubah Status PO
         $po = data_po::find($this->req['id_po']);
         if (count($statuspo) > 0) {
             $po->update(['status' => 2]);
         } else {
             $po->update(['status' => 3]);
         }
         $format = 'GR-';
         $gr->no_spbm = $format . \Format::code($gr->id_spbm);
         $gr->save();
         \Loguser::create('Membuat Permohonan Barang Masuk dengan No. ' . $gr->no_spbm);
         \DB::commit();
         return ['label' => 'seccess', 'err' => 'PO berhasil diproses! dengan No. ' . $gr->no_spbm];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['label' => 'danger', 'err' => $e->getMessage()];
     }
 }
 public function route()
 {
     if (Me::get()->isAllowed('admin')) {
         parent::route();
     } else {
         parent::header();
         CmsPage::error("Sie sind nicht berechtigt den Administrationsbereich zu betreten.");
         parent::footer();
     }
 }
Exemple #17
0
 public function scopeNotif($query)
 {
     $item = $query->where('status', 1)->where('parent_id', 0);
     if (!in_array(1, \Me::level())) {
         $item->where('data_feedback.id_karyawan', \Me::data()->id_karyawan);
         $item->select(\DB::raw('SUM(notif) AS total'))->groupby('status');
     } else {
         $item->select(\DB::raw('COUNT(notif) AS total'));
     }
 }
Exemple #18
0
 public function __construct()
 {
     self::authorizeFromEnv();
     $this->data = array("email" => null, "company" => null, "description" => null, "primary_address" => null, "primary_phone" => null, "meta" => null);
     // CRUD ___________________________________
     // Create
     // Retrieve
     $this->retrieved = Me::retrieve();
     // Update
     $this->retrieved->last_name = "Doe-2";
     $this->saved = $this->retrieved->save();
     // Delete
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $id_karyawan = \Me::data()->id_karyawan;
         $barang = data_barang::find($this->req['id']);
         $barang->update(['nm_barang' => $this->req['nm_barang'], 'id_kategori' => $this->req['id_kategori'], 'id_satuan' => $this->req['id_satuan'], 'stok_minimal' => $this->req['stok_minimal'], 'keterangan' => $this->req['keterangan'], 'tipe' => $this->req['tipe'], 'ppn' => $this->req['ppn'], 'harga_beli' => $this->req['harga_beli'], 'harga_jual' => $this->req['harga_jual'], 'id_klasifikasi' => $this->req['id_klasifikasi']]);
         data_barang_detail::where('id_barang', $this->req['id'])->delete();
         if (isset($this->req['labels']) && count($this->req['labels']) > 0) {
             foreach ($this->req['labels'] as $i => $val) {
                 if (strlen($val) > 0 && strlen($this->req['values'][$i]) > 0) {
                     data_barang_detail::create(['id_barang' => $this->req['id'], 'label' => ucwords($val), 'nm_detail' => $this->req['values'][$i]]);
                 }
             }
         }
         ref_konversi_satuan::where('id_barang', $this->req['id'])->delete();
         ref_konversi_satuan::create(['id_barang' => $barang->id_barang, 'id_satuan_max' => $this->req['id_satuan'], 'id_satuan_min' => $this->req['id_satuan'], 'qty' => 1]);
         if (isset($this->req['koversi_satuan']) && count($this->req['koversi_satuan']) > 0) {
             foreach ($this->req['koversi_satuan'] as $i => $id_satuan) {
                 if ($id_satuan > 0) {
                     ref_konversi_satuan::create(['id_barang' => $barang->id_barang, 'id_satuan_max' => $id_satuan, 'id_satuan_min' => $this->req['id_satuan'], 'qty' => $this->req['koversi_qty'][$i]]);
                 }
             }
         }
         if ($this->req['harga_beli'] != $this->req['last_harga']) {
             data_harga::create(['id_barang' => $barang->id_barang, 'harga' => $this->req['harga_beli'], 'keterangan' => 'Update harga dari ' . number_format($this->req['last_harga'], 0, ',', '.'), 'id_karyawan' => $id_karyawan, 'tipe' => 1]);
         }
         if ($this->req['harga_jual'] != $this->req['last_harga_jual']) {
             data_harga::create(['id_barang' => $barang->id_barang, 'harga' => $this->req['harga_jual'], 'keterangan' => 'Update harga dari ' . number_format($this->req['last_harga_jual'], 0, ',', '.'), 'id_karyawan' => $id_karyawan, 'tipe' => 2]);
         }
         // Pengkodean
         $tipe = $this->req['tipe'] == 1 ? 'O-' : 'B-';
         $kat = ref_kategori::find($this->req['id_kategori']);
         $kats = $kat->alias . '-';
         $urut = \Format::code($barang->id_barang);
         $jj = '';
         if ($this->req['tipe'] == 1) {
             $kls = ref_klasifikasi::find($this->req['id_klasifikasi']);
             $jj = '-' . $kls->kode;
         }
         $kode = $tipe . $kats . $urut . $jj;
         $barang->kode = $kode;
         $barang->save();
         \Loguser::create('Melakukan perubahan terhada data master gudang Kode. ' . $barang->kode);
         \DB::commit();
         return ['label' => 'success', 'err' => $this->req['nm_barang'] . ' Berhasil diperbaharui'];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['label' => 'danger', 'err' => $e->getMessage()];
     }
 }
Exemple #20
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     $titipan = !empty($this->req['titipan']) ? $this->req['vendor'] : 0;
     $prq = data_prq::create(['target' => date('Y-m-d', strtotime($this->req['deadline'])), 'id_pemohon' => \Me::data()->id_karyawan, 'keterangan' => $this->req['ket'], 'tipe' => $this->req['tipe'], 'id_acc' => 0, 'titipan' => $titipan]);
     foreach ($this->req['id_barang'] as $i => $id_barang) {
         if (!empty($this->req['qty'][$i])) {
             data_prq_item::create(['id_prq' => $prq->id_prq, 'id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'keterangan' => $this->req['kets'][$i], 'id_satuan' => $this->req['satuan'][$i]]);
         }
     }
     $kode = 'PRQ-';
     $prq->no_prq = $kode . \Format::code($prq->id_prq);
     $prq->save();
     \Loguser::create('Membuat PRQ No. ' . $prq->no_prq);
     return $prq;
 }
Exemple #21
0
 public static function load()
 {
     // Make sure the database is loaded
     if (!Database::$database) {
         return false;
     }
     // If you are logged in, run a "remember me" check
     if (!isset($_SESSION['uni_id'])) {
         return false;
     }
     // Set your session ID, which corresponds to your database user ID
     self::$id = $_SESSION['uni_id'];
     // Prepare the columns to receive
     if (!self::$getColumns) {
         self::$getColumns = "uni_id, role, clearance, handle, display_name, date_joined";
     }
     // Retrieve the active user from the database - the user doesn't exist in the database, register them
     if (!(self::$vals = Database::selectOne("SELECT " . self::$getColumns . " FROM users WHERE uni_id=? LIMIT 1", array(self::$id)))) {
         // Make sure appropriate registration values are sent
         if (!isset($_SESSION['uni_id']) or !isset($_SESSION['user']['handle']) or !isset($_SESSION['user']['display_name'])) {
             return false;
         }
         // Set timezone to empty if not sent
         if (!isset($_SESSION['user']['timezone'])) {
             $_SESSION['user']['timezone'] = "";
         }
         // Register User (if necessary)
         if (!Register::user($_SESSION['user']['uni_id'], $_SESSION['user']['handle'], $_SESSION['user']['display_name'], $_SESSION['user']['timezone'])) {
             return false;
         }
         // Try to load the user again (after registration)
         if (!(self::$vals = Database::selectOne("SELECT " . self::$getColumns . " FROM users WHERE uni_id=? LIMIT 1", array(self::$id)))) {
             return false;
         }
     }
     // Save your Clearance Level
     self::$clearance = (int) self::$vals['clearance'];
     // Handle Banned Accounts
     if (self::$clearance <= -3) {
         header("Location: /banned");
         exit;
     }
     // Occasionally log activity (handles auro allotment)
     if (mt_rand(0, 25) == 22) {
         self::logActivity();
     }
     return true;
 }
 public function getJawab($id = 0)
 {
     if (empty($id)) {
         return abort(404);
     }
     $feed = data_feedback::byid($id)->first();
     if ($feed == null) {
         return abort(404);
     }
     if ($feed->id_karyawan == \Me::data()->id_karyawan) {
         data_feedback::find($id)->update(['notif' => 0]);
     }
     $id_karyawan = \Me::data()->id_karyawan;
     $items = data_feedback::comment($feed->id_feedback)->get();
     return view('Feedback.Jawab', ['feed' => $feed, 'items' => $items, 'id_karyawan' => $id_karyawan]);
 }
Exemple #23
0
 public function scopeGudang($query, $req = [])
 {
     $me = \Me::subgudang();
     $item = $query->where('data_retur.tipe', 1);
     if (count($req) > 0) {
         if (!empty($req['no_retur'])) {
             $item->where('data_retur.no_retur', $req['no_retur']);
         }
         if (!empty($req['tanggal'])) {
             $item->where(\DB::raw('DATE(data_retur.created_at)'), $req['tanggal']);
         }
     }
     if ($me->id_gudang > 0) {
         $item->where('data_retur.id_gudang_asal', $me->id_gudang);
     }
     $item->select('data_retur.*');
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         $stok = data_penyesuaian_stok::create(['tipe' => $this->req['tipe'], 'id_karyawan' => $me, 'keterangan' => $this->req['ket'], 'tanggal' => $this->req['tanggal'], 'id_gudang' => $this->req['id_gudang']]);
         if (count($this->req['id_barang']) == 0) {
             throw new \Exception("Barang/Obat tidak ditemukan!", 1);
         }
         $notempty = [];
         foreach ($this->req['id_barang'] as $i => $id_barang) {
             if (!empty($this->req['qty'][$i])) {
                 $notempty[] = 1;
                 $qty = \Format::convertSatuan($id_barang, $this->req['satuan'][$i], $this->req['satuan_default'][$i]) * $this->req['qty'][$i];
                 data_penyesuaian_stok_item::create(['id_penyesuaian_stok' => $stok->id_penyesuaian_stok, 'id_barang' => $id_barang, 'id_satuan' => $this->req['satuan'][$i], 'qty_lg' => $this->req['qty'][$i], 'current_qty' => $this->req['current_qty'][$i], 'new_qty' => $qty, 'keterangan' => $this->req['kets'][$i]]);
             }
             if (count($notempty) == 0) {
                 throw new \Exception("Barang/Obat tidak ditemukan!", 1);
             }
             // Log Stok
             $kondisi = $qty >= $this->req['current_qty'][$i] ? 1 : 2;
             $stok_qty = $this->req['current_qty'][$i] - $qty;
             data_log_barang::create(['id_barang' => $id_barang, 'qty' => abs($stok_qty), 'keterangan' => 'Penyesuaian Stok', 'id_gudang' => $this->req['id_gudang'], 'kondisi' => $kondisi, 'tipe' => 3, 'id_parent' => $stok->id_penyesuaian_stok, 'id_karyawan' => $me]);
             // Stok gudang
             $barang = data_item_gudang::where('id_barang', $id_barang)->where('id_gudang', $this->req['id_gudang'])->first();
             $brg = data_item_gudang::find($barang->id_item_gudang);
             if ($kondisi == 1) {
                 $brg->in = $barang->in + abs($stok_qty);
             } else {
                 $brg->out = $barang->out + abs($stok_qty);
             }
             $brg->save();
         }
         // Code
         $tipe = 'O-';
         $format = $tipe . 'ADJ-SG-' . \Format::code($stok->id_penyesuaian_stok);
         $stok->no_penyesuaian_stok = $format;
         $stok->save();
         \Loguser::create('Melakukan penyesuaian Stok dengan No. ' . $stok->no_penyesuaian_stok);
         \DB::commit();
         return ['result' => true, 'label' => 'success', 'err' => 'Penyesuaian berhasil di buat dengan No. ' . $stok->no_penyesuaian_stok];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['result' => false, 'label' => 'danger', 'err' => $e->getMessage()];
     }
 }
Exemple #25
0
 public function scopeRetur($query, $req = [])
 {
     $skb = $query->join('data_spb', 'data_spb.id_spb', '=', 'data_skb.id_spb')->join('data_departemen', 'data_departemen.id_departemen', '=', 'data_skb.id_departemen')->join('data_karyawan', 'data_karyawan.id_karyawan', '=', 'data_skb.id_petugas')->where('data_skb.tipe', 1)->where('data_spb.id_departemen', \Me::data()->id_departemen);
     if (count($req) > 0) {
         if (!empty($req['no_spb'])) {
             $skb->where('data_spb.no_spb', $req['no_spb']);
         }
         if (!empty($req['no_skb'])) {
             $skb->where('data_skb.no_skb', $req['no_skb']);
         }
         if (!empty($req['dep'])) {
             $skb->where('data_skb.id_departemen', $req['dep']);
         }
         if (!empty($req['tanggal'])) {
             $skb->where(\DB::raw('DATE(data_skb.created_at)'), $req['tanggal']);
         }
     }
     $skb->where('data_skb.status', 1)->select('data_skb.*', 'data_spb.id_spb', 'data_spb.no_spb', 'data_departemen.nm_departemen', 'data_karyawan.nm_depan', 'data_karyawan.nm_belakang');
 }
Exemple #26
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     //dd($this->req);
     $me = \Me::data()->id_karyawan;
     try {
         \DB::begintransaction();
         $faktur = data_faktur::find($this->req['id']);
         $faktur->update(['Nomor_type' => $this->req['no_po'], 'prefix' => $this->req['prefix'], 'type' => 1, 'id_vendor' => $this->req['supplier'], 'id_po' => $this->req['id_po'], 'tgl_faktur' => date('Y-m-d', strtotime($this->req['tanggal'])), 'duodate' => date('Y-m-d', strtotime($this->req['duodate'])), 'id_payment_terms' => $this->req['terms'], 'ppn' => $this->req['ppn'], 'diskon' => $this->req['diskon'], 'adjustment' => $this->req['adjustment'], 'subtotal' => $this->req['subtotal'], 'total' => $this->req['grandtotal'], 'keterangan' => $this->req['keterangan'], 'status' => 0]);
         data_faktur_item::whereId_faktur($faktur->id_faktur)->delete();
         foreach ($this->req['id_barang'] as $i => $id) {
             data_faktur_item::create(['id_faktur' => $faktur->id_faktur, 'id_item' => $id, 'deskripsi' => $this->req['deskripsi'][$i], 'qty' => $this->req['qty'][$i], 'harga' => $this->req['harga'][$i], 'diskon' => $this->req['diskons'][$i], 'total' => $this->req['total'][$i], 'id_po' => $this->req['id_po'], 'id_satuan' => $this->req['id_satuan'][$i]]);
         }
         \DB::commit();
         return ['res' => true, 'label' => 'success', 'err' => '<center>Faktur No. #' . $faktur->nomor_faktur . ' berhasil diperbaharui</center>'];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['res' => false, 'label' => 'danger', 'err' => $e->getMessage()];
     }
 }
 public function scopeAdj($query, $req = [], $ids)
 {
     $me = \Me::subgudang();
     $items = $query->join('data_barang', 'data_barang.id_barang', '=', 'data_item_gudang.id_barang')->where('data_item_gudang.id_gudang', $me->id_gudang);
     if (count($req) > 0) {
         if (!empty($req['kode'])) {
             $items->where('data_barang.kode', $req['kode']);
         }
         if (!empty($req['item'])) {
             $items->where('data_barang.nm_barang', 'LIKE', '%' . $req['item'] . '%');
         }
         if (!empty($req['kat'])) {
             $items->where('data_barang.id_kategori', $req['kat']);
         }
     }
     if (count($ids) > 0) {
         $items->whereNotIn('data_barang.id_barang', $ids);
     }
     $items->select('data_barang.*');
 }
Exemple #28
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $spb = data_spb::create(['id_departemen' => \Me::data()->id_departemen, 'id_pemohon' => \Me::data()->id_karyawan, 'keterangan' => $this->req['ket'], 'id_acc' => 0, 'deadline' => date('Y-m-d', strtotime($this->req['deadline'])), 'tipe' => $this->req['tipe']]);
         $gudang = empty($this->req['id_gudang']) ? 0 : $this->req['id_gudang'];
         foreach ($this->req['id_barang'] as $i => $id) {
             if (!empty($this->req['qty'][$i])) {
                 $qty = \Format::convertSatuan($id, $this->req['satuan'][$i], $this->req['id_satuan'][$i]) * $this->req['qty'][$i];
                 data_spb_item::create(['id_spb' => $spb->id_spb, 'id_item' => $id, 'qty_awal' => $qty, 'qty' => $qty, 'qty_lg' => $this->req['qty'][$i], 'keterangan' => $this->req['kets'][$i], 'status' => 1, 'id_gudang' => $gudang, 'id_satuan' => $this->req['satuan'][$i]]);
             }
         }
         $kode = $this->req['tipe'] == 1 ? 'PMO-' : 'PMB-';
         $spb->no_spb = $kode . \Format::code($spb->id_spb);
         $spb->save();
         \Loguser::create('Membuat Pengajuan barang No. ' . $spb->no_spb);
         \DB::commit();
         return ['res' => true, 'label' => 'success', 'err' => 'Permohonan Barang berhasil terkirim dengan Nomor ' . $spb->no_spb];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['res' => false, 'label' => 'danger', 'err' => $e->getMessage()];
     }
 }
Exemple #29
0
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         $sph = data_sph::find($this->req['id_sph']);
         $grup = data_sph_grup::whereId_sph_grup($sph->id_sph_grup)->select('status')->first();
         if ($grup->status == 2) {
             throw new \Exception("Maaf SPH No. " . $sph->no_sph_item . " sudah kadaluarsa!", 1);
         }
         // Create PO
         $po = data_po::create(['id_sph' => $this->req['id_sph'], 'id_vendor' => $sph->id_vendor, 'deadline' => $sph->deadline, 'id_pembuat' => $me, 'id_acc' => 0, 'adjustment' => $sph->adjustment, 'diskon' => $sph->diskon, 'ppn' => $sph->ppn, 'keterangan' => $sph->keterangan]);
         $items = data_sph_item::whereId_sph($this->req['id_sph'])->get();
         foreach ($items as $item) {
             data_po_item::create(['id_po' => $po->id_po, 'id_item' => $item->id_item, 'req_qty' => $item->qty, 'qty' => $item->qty, 'harga' => $item->harga, 'diskon' => $item->diskon, 'ppn' => $item->ppn, 'pph' => $item->pph, 'keterangan' => $item->keterangan, 'id_satuan' => $item->id_satuan, 'id_prq' => $item->id_prq]);
             // update Harga
             data_barang::find($item->id_item)->update(['harga_beli' => $item->harga]);
             // Update Log harga
             data_harga::create(['id_barang' => $item->id_item, 'harga' => $item->harga, 'keterangan' => 'Update berdasarkan PO', 'id_po' => $po->id_po, 'id_karyawan' => $me, 'tipe' => 1]);
             data_prq_item::whereId_prq($item->id_prq)->whereId_barang($item->id_item)->update(['status' => 2]);
         }
         $format = 'PO-';
         $po->no_po = $format . \Format::code($po->id_po);
         $po->save();
         // Update data SPH Grup
         data_sph_grup::find($this->req['id_sph_grup'])->update(['status' => 2]);
         // Update data sph
         $sph->status = 2;
         $sph->save();
         \Loguser::create('Menjadikan SPH denga No. ' . $sph->no_sph . ' menjadi PO dengan No. ' . $po->no_po);
         \DB::commit();
         return ['err' => 'Po Berhail di buat dengan No. ' . $po->no_po];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['err' => $e->getMessage()];
     }
 }
 /**
  * Execute the job.
  *
  * @return void
  */
 public function handle()
 {
     try {
         \DB::begintransaction();
         $me = \Me::data()->id_karyawan;
         $retur = data_retur::create(['tipe' => 1, 'id_gudang_asal' => $this->req['id_gudang'], 'id_karyawan' => $me]);
         foreach ($this->req['id_barang'] as $i => $id_barang) {
             if (!empty($this->req['qty'][$i])) {
                 data_retur_item::create(['id_retur' => $retur->id_retur, 'id_barang' => $id_barang, 'id_satuan' => $this->req['id_satuan'][$i], 'qty' => $this->req['qty'][$i], 'qty_lg' => $this->req['qty'][$i]]);
                 // Log Stok
                 data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => 0, 'kondisi' => 1, 'tipe' => 4, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]);
                 // Log Stok
                 data_log_barang::create(['id_barang' => $id_barang, 'qty' => $this->req['qty'][$i], 'id_gudang' => $this->req['id_gudang'], 'kondisi' => 2, 'tipe' => 4, 'id_parent' => $retur->id_retur, 'id_karyawan' => $me]);
                 // Update stok Gudang besat
                 $barang = data_barang::find($id_barang);
                 $barang->in = $barang->in + $this->req['qty'][$i];
                 $barang->save();
                 // Update Stok sub gudang
                 $gudang = data_item_gudang::where('id_barang', $id_barang)->where('id_gudang', $this->req['id_gudang'])->first();
                 $gd = data_item_gudang::find($gudang->id_item_gudang);
                 $gd->out = $gudang->out + $this->req['qty'][$i];
                 $gd->save();
             }
         }
         $format = 'IN-RTN-';
         $kode = $format . \Format::code($retur->id_retur);
         $retur->no_retur = $kode;
         $retur->save();
         \Loguser::create('Membuat Retur Gudang dengan No. ' . $kode);
         \DB::commit();
         return ['result' => true, 'label' => 'success', 'err' => 'Return Gudang berhasil dibuat dengan No. ' . $kode];
     } catch (\Exception $e) {
         \DB::rollback();
         return ['result' => false, 'label' => 'danger', 'err' => $e->getMessage()];
     }
 }