<?php
namespace App\Helpers;
use Illuminate\Support\Facades\DB;
use App\Profil;
use App\HargaBarang;
use App\Barang;
use App\Level;
use App\Jenis;
use App\PettyCash;
use App\MetodeBayar;
use App\Merek;
use App\Kategori;
use App\Member;
use App\Bank;
use App\Supplier;
use App\Satuan;
use App\User;
use App\Pelanggan;
use App\Penjualan;
use App\DetailPenjualan;
use App\Hutang;
use App\Pembelian;
use App\Realisasi;
use App\PermohonanDana;
use App\PermintaanBarang;
use App\PembayaranSupplier;
use App\DetailPembelian;
use App\Piutang;
use App\BayarPenjualan;
use App\BayarPembelian;
use App\ReturPenjualan;
use App\DetailReturPenjualan;
use App\ReturPembelian;
use App\DetailReturPembelian;
use App\UserLog;
use Carbon\Carbon;
use Auth;
use App\Bonus;
use App\Setting;
use Illuminate\Http\Request;
use Alert;
use Artisan;
use Log;
use Storage;
use Backup;
class Helper {
/**
* @param int $user_id User-id
*
* @return string
*/
public static function get_profil() {
$profil = Profil::where('dipilih',1)->first();
return $profil;
}
public static function get_kota() {
$profil = Profil::where('dipilih',1)->first();
return $profil;
}
public static function logo()
{
$logo = 'teteslogo.png';
if(Helper::get_profil()->logo != '' || Helper::get_profil()->logo != null){
$logo = Helper::get_profil()->logo;
}
return $logo;
}
public static function logo2()
{
$logo = 'tinylite.png';
if(Helper::get_profil()->logo2 != '' || Helper::get_profil()->logo2 != null){
$logo = Helper::get_profil()->logo2;
}
return $logo;
}
public static function getNotif($limit = 10)
{
$notifs = [];
$pembelian = Pembelian::whereNull('rejected_id')->orderBy('created_at','DESC')->whereNull('received_id')->limit($limit)->get();
$realisasi = Realisasi::whereNull('rejected_id')->orderBy('created_at','DESC')->whereNull('received_id')->limit($limit)->get();
$permohonan_dana = PermohonanDana::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('reviewed_id')->limit($limit)->get();
$permintaan_barang = PermintaanBarang::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('approved_id')->limit($limit)->get();
$pembayaran_supplier = PembayaranSupplier::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('reviewed_id')->limit($limit)->get();
foreach ($pembelian as $d) {
if ($d->status == 'Prepared' && \Auth::user()->check_menu("Pembelian Barang", "Review")) {
$notifs[] = [
'notif' => 'Purchase Order dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_pembelian/'.$d->no_pembelian)
];
}
if ($d->status == 'Reviewed' && \Auth::user()->check_menu("Pembelian Barang", "Receive")) {
$notifs[] = [
'notif' => 'Purchase Order dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_pembelian/'.$d->no_pembelian)
];
}
}
foreach ($realisasi as $d) {
if ($d->status == 'Proses Input' && \Auth::user()->check_menu("Realisasi", "View")) {
$notifs[] = [
'notif' => 'Realisasi dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('realisasi/')
];
}
if ($d->status == 'Prepared' && \Auth::user()->check_menu("Realisasi", "Review")) {
$notifs[] = [
'notif' => 'Realisasi dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_realisasi/'.$d->id)
];
}
if ($d->status == 'Reviewed' && \Auth::user()->check_menu("Realisasi", "Approve")) {
$notifs[] = [
'notif' => 'Realisasi dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_realisasi/'.$d->id)
];
}
if ($d->status == 'Approved' && \Auth::user()->check_menu("Realisasi", "Receive")) {
$notifs[] = [
'notif' => 'Realisasi dengan nomor Pembelian : ' . $d->no_pembelian . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_realisasi/'.$d->id)
];
}
}
foreach ($permohonan_dana as $d) {
if ($d->status == 'Prepared' && \Auth::user()->check_menu("Permohonan Dana", "Approve")) {
$notifs[] = [
'notif' => 'Permohonan Dana dengan nomor : ' . $d->nomor . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_permohonan_dana/'.$d->id)
];
}
if ($d->status == 'Approved' && \Auth::user()->check_menu("Permohonan Dana", "Review")) {
$notifs[] = [
'notif' => 'Permohonan Dana dengan nomor : ' . $d->nomor . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_permohonan_dana/'.$d->id)
];
}
}
foreach ($permintaan_barang as $d) {
if ($d->status == 'Prepared' && \Auth::user()->check_menu("Permintaan Barang", "Approve")) {
$notifs[] = [
'notif' => 'Permintaan Barang dengan nomor : ' . $d->nomor . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_permintaan_barang/'.$d->id)
];
}
}
foreach ($pembayaran_supplier as $d) {
if ($d->status == 'Prepared' && \Auth::user()->check_menu("Pembayaran Supplier", "Approve")) {
$notifs[] = [
'notif' => 'Permohonan Pembayaran Supplier dengan nomor pembayaran : ' . $d->no_pembayaran . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_pembayaran_supplier/'.$d->no_pembayaran)
];
}
if ($d->status == 'Approved' && \Auth::user()->check_menu("Pembayaran Supplier", "Review")) {
$notifs[] = [
'notif' => 'Permohonan Pembayaran Supplier dengan nomor pembayaran : ' . $d->no_pembayaran . ' sedang menunggu di-'.$d->next_status,
'link' => url('approve_pembayaran_supplier/'.$d->no_pembayaran)
];
}
}
return $notifs;
}
public static function jumlah_notif()
{
$pembelian = Pembelian::whereNull('rejected_id')->orderBy('created_at','DESC')->whereNull('received_id')->count();
$realisasi = Realisasi::whereNull('rejected_id')->orderBy('created_at','DESC')->whereNull('received_id')->count();
$permohonan_dana = PermohonanDana::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('reviewed_id')->count();
$permintaan_barang = PermintaanBarang::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('approved_id')->count();
$pembayaran_supplier = PembayaranSupplier::orderBy('created_at','DESC')->whereNull('rejected_id')->whereNull('reviewed_id')->count();
return $pembelian+$realisasi+$permohonan_dana+$permintaan_barang+$pembayaran_supplier;
}
public static function notifikasi_stok_barang()
{
$notifs = Helper::getNotif(10);
?>
<?php if(count($notifs) <= 0)echo "<h4>Tidak Ada Notifikasi</h4>"; ?>
<ul>
<?php
foreach ($notifs as $notif) {
?>
<li><a href="<?php echo $notif['link'] ?>" class="clearfix"><span class="ni w-green"><i class="fa fa-bell"></i></span><span class="notification-message"><?php echo $notif['notif'] ?></span></a>
</li>
<?php
}
?>
</ul>
<a href="<?=url('pembelian.index');?>" class="btn btn-primary btn-block waves-effect">Pembelian</a>
<a href="<?=url('realisasi.index');?>" class="btn btn-primary btn-block waves-effect">Realisasi</a>
<a href="<?=url('permohonan-dana.index');?>" class="btn btn-primary btn-block waves-effect">Permohonan Dana</a>
<a href="<?=url('pembayaran-supplier.index');?>" class="btn btn-primary btn-block waves-effect">Pembayaran Supplier</a>
<?php
}
public static function notifikasi_user_log_rightbar()
{
$users = UserLog::limit(10)->orderBy('created_at','DESC')->get();
?>
<?php if(Helper::jumlah_notif() <= 0)echo "<h4>Tidak Ada Notifikasi</h4>"; ?>
<ul>
<?php
foreach ($users as $user) {
?>
<li><a href="<?= url('user/'.$user->kd_barang.'/edit') ?>" class="clearfix"><span class="ni w-green"><i class="fa fa-clock-o"></i></span><span class="notification-message"><?php echo $user->user->name." ".$user->keterangan; ?><span class="notification-time clearfix"><?php echo Carbon::parse($user->updated_at)->diffForHumans(); ?></span></span></a>
</li>
<?php
}
?>
</ul>
<a href="<?=url('user-log');?>" class="btn btn-primary btn-block notification-btn clearfix waves-effect">Selengkepanya</a>
<?php
}
public static function add_user_log($kegiatan)
{
UserLog::create(['id_user'=>Auth::user()->id,'keterangan'=>$kegiatan]);
}
public static function cek_akses($nama_menu,$aksi){
$cek = Level::whereHas('Menu',function ($q) use($nama_menu,$aksi)
{
$q->where('nm_menu', $nama_menu)
->where('aksi_menu', $aksi);
})->where('id',Auth::user()->level->id)->count();
if ( $cek > 0 ) {
return true;
} else {
return false;
}
}
public static function list_backup($limit = null)
{
$disk = Storage::disk('backup');
$files = $disk->files(config('backup.backup.name'));
$backups = [];
// make an array of backup files, with their filesize and creation date
$number = 0;
foreach ($files as $k => $f) {
// only take the zip files into account
if($limit != null && $number < $limit || $limit == null):
if (substr($f, -4) == '.zip' && $disk->exists($f)) {
$time = \DateTime::createFromFormat("U",$disk->lastModified($f));
$time->setTimeZone(new \DateTimeZone('Asia/Kuala_Lumpur'));
$backups[] = [
'file_path' => $f,
'file_name' => str_replace(config('backup.backup.name').'/', '', $f),
'file_size' => $disk->size($f),
'last_modified' => $disk->lastModified($f),
'time'=>$time
];
}
endif;
}
// reverse the backups, so the newest one would be on top
$backups = array_reverse($backups);
return $backups;
}
public static function createNoInvoice($type)
{
$result = '';
if ($type == "Pembelian") {
$l = Pembelian::withTrashed()->count();
$kd = "PO-0000000000";
for ($i=0; $i <= $l; $i++) {
++$kd;
}
$kd = $kd . "/" . date("d") . "/" . \Helper::toRoman(date('m')) . "/" . date("Y");
}elseif($type == "Pembayaran Supplier") {
// $l = PembayaranSupplier::withTrashed()->count();
// $kd = "PS-0000000000";
// for ($i=0; $i <= $l; $i++) {
// ++$kd;
// }
$l = PembayaranSupplier::withTrashed()->orderBy('created_at','DESC')->first();
$kd = "PS-0000000001";
if($l){
$kd = $l->no_pembayaran;
$kd = "PS-".sprintf("%010d", (int)str_replace("PS-","",$kd)+1);
}
$kd = $kd . "/" . date("d") . "/" . \Helper::toRoman(date('m')) . "/" . date("Y");
}
return $kd;
}
public static function toNumber($angka) {
return str_replace('.', '', $angka);
}
public static function checkPettyCash() {
$petty_cash = PettyCash::where('tanggal', date('Y-m-d'))->first();
return $petty_cash ? True: False;
}
public static function getKode() {
return Setting::first();
}
public static function getJenis() {
return Jenis::all();
}
public static function getMetode() {
return MetodeBayar::all();
}
public static function getMerek() {
return Merek::all();
}
public static function getKategori() {
return Kategori::all();
}
public static function sinkronButton($url){
// Jika Local, Tampilkan Tombol Sinkron
// if ( url('') != \Helper::getUrlServer() ) {
// $url = 'sinkron/request/'.$url;
// echo "<a href='".$url."' class='btn btn-success '> <i class='fa fa-refresh'></i> Sinkron Server</a>";
// }
}
public static function notifikasi_status_jasa()
{
$jasas = DB::select('select * from jasas where status = 0 limit 10');
?>
<?php if(count(DB::select('select * from jasas where status = 0')) <= 0)echo "<h4>Tidak Ada Notifikasi</h4>"; ?>
<ul>
<?php
foreach ($jasas as $jasa) {
?>
<li><a href="<?= url('jasa/'.$jasa->no_jasa.'/edit') ?>" class="clearfix"><span class="ni w-green"><i class="fa fa-bullhorn"></i></span><span class="notification-message"><?php echo "Transaksi Jasa ".$jasa->no_jasa." Sedang dikerjakan"; ?><span class="notification-time clearfix"><?php echo Carbon::parse($jasa->updated_at)->diffForHumans(); ?></span></span></a>
</li>
<?php
}
?>
</ul>
<?php
}
public static function getBonus(){
$bonus = Bonus::where('id', 1)->first();
return $bonus;
}
public static function http_get($url)
{
try {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
// Set Here Your Requesred Headers
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return $response;
} catch (\Throwable $th) {
return response()->json([
'error' => $th->getMessage(),
]);
}
}
public static function http_post($url, $data)
{
try {
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => array(
// Set here requred headers
"accept: */*",
"accept-language: en-US,en;q=0.8",
"content-type: application/json",
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return $response;
} catch (\Throwable $th) {
return response()->json([
'error' => $th->getMessage(),
]);
}
}
public static function strtotime() {
return strtotime(date('Y-m-d H:i:s'));
}
public static function getUrlServer() {
return Profil::first()->url_server;
}
public static function getApiKey() {
return 'q17v3gAX3KIsDX9e';
}
// SEND REQUEST SINKRON SERVER
// MEMBER
public static function reqMember(){
$member = Member::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $member,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/member', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Member::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Member::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'nm_member'=>$data['nm_member'],
'keterangan'=>$data['keterangan'],
'limit_hutang'=>$data['limit_hutang'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//BANK
public static function reqBank(){
$bank = Bank::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $bank,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/bank', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Bank::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Bank::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'nm_bank'=>$data['nm_bank'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//SUPPIER
public static function reqSupplier(){
$supplier = Supplier::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $supplier,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/supplier', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Supplier::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Supplier::withTrashed()->updateOrCreate(
[
'kd_supplier' => $data['kd_supplier']
],
[
'sinkron' => '1',
'nm_supplier'=>$data['nm_supplier'],
'alamat'=>$data['alamat'],
'no_telepon'=>$data['no_telepon'],
'no_wa'=>$data['no_wa'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//SATUAN
public static function reqSatuan(){
$satuan = Satuan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $satuan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/satuan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Satuan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Satuan::withTrashed()->updateOrCreate(
[
'kd_satuan' => $data['kd_satuan']
],
[
'sinkron' => '1',
'nm_satuan'=>$data['nm_satuan'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//Kategori
public static function reqKategori(){
$kategori = Kategori::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $kategori,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/kategori', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Kategori::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Kategori::withTrashed()->updateOrCreate(
[
'kd_kategori' => $data['kd_kategori']
],
[
'sinkron' => '1',
'nm_kategori'=>$data['nm_kategori'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//JENIS
public static function reqJenis(){
$jenis = Jenis::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $jenis,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/jenis', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Jenis::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Jenis::withTrashed()->updateOrCreate(
[
'kd_jenis' => $data['kd_jenis']
],
[
'sinkron' => '1',
'nm_jenis'=>$data['nm_jenis'],
'kd_kategori'=>$data['kd_kategori'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//LEVEL
public static function reqLevel(){
$level = Level::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $level,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/level', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Level::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Level::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'nm_level'=>$data['nm_level'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
public static function reqMetodeBayar(){
$metode_bayar = MetodeBayar::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $metode_bayar,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/metode_bayar', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
MetodeBayar::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
MetodeBayar::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'metode'=>$data['metode'],
'keterangan'=>$data['keterangan'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//User
public static function reqUser(){
$user = User::where('sinkron', '0')->withTrashed()->get()->makeVisible(['password']);
$data = [
'key' => \Helper::getApiKey(),
'data' => $user,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/user', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
User::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
User::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'name'=>$data['name'],
'username'=>$data['username'],
'password'=>$data['password'],
'level_id'=>$data['level_id'],
'image'=>$data['image'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
// PELANGGAN
public static function reqPelanggan(){
$pelanggan = Pelanggan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $pelanggan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/pelanggan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Pelanggan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Pelanggan::withTrashed()->updateOrCreate(
[
'kd_pelanggan' => $data['kd_pelanggan']
],
[
'sinkron' => '1',
'nm_pelanggan'=>$data['nm_pelanggan'],
'alamat'=>$data['alamat'],
'member_id'=>$data['member_id'],
'kota'=>$data['kota'],
'no_telepon'=>$data['no_telepon'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
// BARANG
public static function reqBarang(){
$barang = Barang::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $barang,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/barang', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Barang::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Barang::withTrashed()->updateOrCreate(
[
'kd_barang' => $data['kd_barang']
],
[
'sinkron' => '1',
'nm_barang'=>$data['nm_barang'],
'gambar_barang'=>$data['gambar_barang'],
'kd_jenis'=>$data['kd_jenis'],
'kd_kategori'=>$data['kd_kategori'],
'kd_merek'=>$data['kd_merek'],
'stok'=>$data['stok'],
'stok_opname'=>$data['stok_opname'],
'stok_minimal'=>$data['stok_minimal'],
'stok_maksimal'=>$data['stok_maksimal'],
'kd_satuan_stok'=>$data['kd_satuan_stok'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
// HARGA BARANG
public static function reqHargaBarang(){
$harga_barang = HargaBarang::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $harga_barang,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/harga_barang', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
HargaBarang::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
HargaBarang::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'kd_barang'=>$data['kd_barang'],
'kd_satuan_beli'=>$data['kd_satuan_beli'],
'beli_isi'=>$data['beli_isi'],
'kd_satuan_jual'=>$data['kd_satuan_jual'],
'harga_beli'=>$data['harga_beli'],
'harga_jual'=>$data['harga_jual'],
'diskon'=>$data['diskon'],
'jumlah_persatuan_beli'=>$data['jumlah_persatuan_beli'],
'jumlah_persatuan_jual'=>$data['jumlah_persatuan_jual'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
// PENJUALAN
public static function reqPenjualan(){
$penjualan = Penjualan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $penjualan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/penjualan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Penjualan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Penjualan::withTrashed()->updateOrCreate(
[
'no_penjualan' => $data['no_penjualan']
],
[
'sinkron' => '1',
'tgl_penjualan'=>$data['tgl_penjualan'],
'kd_pelanggan'=>$data['kd_pelanggan'],
'keterangan'=>$data['keterangan'],
'ket'=>$data['ket'],
'kode_bank'=>$data['kode_bank'],
'bank_id'=>$data['bank_id'],
'ongkos_kirim'=>$data['ongkos_kirim'],
'uang_bayar'=>$data['uang_bayar'],
'id_user'=>$data['id_user'],
'id_courier'=>$data['id_courier'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//DETAIL PENJUALAN
public static function reqDetailPenjualan(){
$detail_penjualan = DetailPenjualan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $detail_penjualan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/detail_penjualan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
DetailPenjualan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
DetailPenjualan::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'no_penjualan'=>$data['no_penjualan'],
'id_harga_barang'=>$data['id_harga_barang'],
'diskon'=>$data['diskon'],
'jumlah'=>$data['jumlah'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//PIUTANG
public static function reqPiutang(){
$piutang = Piutang::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $piutang,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/piutang', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Piutang::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Piutang::withTrashed()->updateOrCreate(
[
'no_piutang' => $data['no_piutang']
],
[
'sinkron' => '1',
'no_penjualan'=>$data['no_penjualan'],
'sisa_piutang'=>$data['sisa_piutang'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//BAYAR PENJUALAN
public static function reqBayarPenjualan(){
$bayar_penjualan = BayarPenjualan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $bayar_penjualan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/bayar_penjualan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
BayarPenjualan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
BayarPenjualan::withTrashed()->updateOrCreate(
[
'no_bayar_penjualan' => $data['no_bayar_penjualan']
],
[
'sinkron' => '1',
'no_piutang'=>$data['no_piutang'],
'tgl_bayar_penjualan'=>$data['tgl_bayar_penjualan'],
'uang_bayar'=>$data['uang_bayar'],
'id_user'=>$data['id_user'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
// PEMBELIAN
public static function reqPembelian(){
$pembelian = Pembelian::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $pembelian,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/pembelian', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Pembelian::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Pembelian::withTrashed()->updateOrCreate(
[
'no_pembelian' => $data['no_pembelian']
],
[
'sinkron' => '1',
'tgl_pembelian'=>$data['tgl_pembelian'],
'kd_supplier'=>$data['kd_supplier'],
'keterangan'=>$data['keterangan'],
'dp'=>$data['dp'],
'ppn'=>$data['ppn'],
'pemohon'=>$data['pemohon'],
'penyetuju'=>$data['penyetuju'],
'status'=>$data['status'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//DETAIL PEMBELIAN
public static function reqDetailPembelian(){
$detail_pembelian = DetailPembelian::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $detail_pembelian,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/detail_pembelian', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
DetailPembelian::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
DetailPembelian::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'no_pembelian'=>$data['no_pembelian'],
'id_harga_barang'=>$data['id_harga_barang'],
'diskon'=>$data['diskon'],
'jumlah'=>$data['jumlah'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//HUTANG
public static function reqHutang(){
$hutang = Hutang::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $hutang,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/hutang', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
Hutang::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
Hutang::withTrashed()->updateOrCreate(
[
'no_hutang' => $data['no_hutang']
],
[
'sinkron' => '1',
'no_pembelian'=>$data['no_pembelian'],
'sisa_hutang'=>$data['sisa_hutang'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//BAYAR PEMBELIAN
public static function reqBayarPembelian(){
$bayar_pembelian = BayarPembelian::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $bayar_pembelian,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/bayar_pembelian', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
BayarPembelian::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
BayarPembelian::withTrashed()->updateOrCreate(
[
'no_bayar_pembelian' => $data['no_bayar_pembelian']
],
[
'sinkron' => '1',
'no_hutang'=>$data['no_hutang'],
'tgl_bayar_pembelian'=>$data['tgl_bayar_pembelian'],
'uang_bayar'=>$data['uang_bayar'],
'id_user'=>$data['id_user'],
'status'=>$data['status'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//PETTY CASH
public static function reqPettyCash(){
$petty_cash = PettyCash::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $petty_cash,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/petty_cash', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
PettyCash::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
PettyCash::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'tanggal'=>$data['tanggal'],
'cash_awal'=>$data['cash_awal'],
'cash_akhir'=>$data['cash_akhir'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//RETUR PENJUALAN
public static function reqReturPenjualan(){
$retur_penjualan = ReturPenjualan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $retur_penjualan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/retur_penjualan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
ReturPenjualan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
ReturPenjualan::withTrashed()->updateOrCreate(
[
'no_retur_penjualan' => $data['no_retur_penjualan']
],
[
'sinkron' => '1',
'tgl_retur_penjualan'=>$data['tgl_retur_penjualan'],
'keterangan'=>$data['keterangan'],
'kd_penjualan'=>$data['kd_penjualan'],
'id_user'=>$data['id_user'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//RETUR DETAIL PENJUALAN
public static function reqDetailReturPenjualan(){
$detail_retur_penjualan = DetailReturPenjualan::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $detail_retur_penjualan,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/detail_retur_penjualan', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
DetailReturPenjualan::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
DetailReturPenjualan::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'no_retur_penjualan'=>$data['no_retur_penjualan'],
'id_harga_barang'=>$data['id_harga_barang'],
'jumlah'=>$data['jumlah'],
'keterangan'=>$data['keterangan'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//RETUR PEMBELIAN
public static function reqReturPembelian(){
$retur_pembelian = ReturPembelian::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $retur_pembelian,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/retur_pembelian', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
ReturPembelian::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
ReturPembelian::withTrashed()->updateOrCreate(
[
'no_retur_pembelian' => $data['no_retur_pembelian']
],
[
'sinkron' => '1',
'tgl_retur_pembelian'=>$data['tgl_retur_pembelian'],
'keterangan'=>$data['keterangan'],
'kd_pembelian'=>$data['kd_pembelian'],
'id_user'=>$data['id_user'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
//RETUR DETAIL PEMBELIAN
public static function reqDetailReturPembelian(){
$detail_retur_pembelian = DetailReturPembelian::where('sinkron', '0')->withTrashed()->get();
$data = [
'key' => \Helper::getApiKey(),
'data' => $detail_retur_pembelian,
];
$urlServer = \Helper::getUrlServer();
$request = \Helper::http_post($urlServer.'/api/sinkron/response/detail_retur_pembelian', $data);
$result = json_decode($request, TRUE);
if ($result['status_code'] == 200) {
DetailReturPembelian::where('sinkron', '0')->withTrashed()->update(['sinkron' => '1']);
foreach ($result['data'] as $data) {
DetailReturPembelian::withTrashed()->updateOrCreate(
[
'kd_sinkron' => $data['kd_sinkron']
],
[
'sinkron' => '1',
'no_retur_pembelian'=>$data['no_retur_pembelian'],
'id_harga_barang'=>$data['id_harga_barang'],
'jumlah'=>$data['jumlah'],
'keterangan'=>$data['keterangan'],
'deleted_at'=>$data['deleted_at'],
]
);
}
}
return $result;
}
static function toRoman($number) {
$map = array('M' => 1000, 'CM' => 900, 'D' => 500, 'CD' => 400, 'C' => 100, 'XC' => 90, 'L' => 50, 'XL' => 40, 'X' => 10, 'IX' => 9, 'V' => 5, 'IV' => 4, 'I' => 1);
$returnValue = '';
while ($number > 0) {
foreach ($map as $roman => $int) {
if($number >= $int) {
$number -= $int;
$returnValue .= $roman;
break;
}
}
}
return $returnValue;
}
public static function money($price)
{
$new_price = preg_replace("/[^0-9]/", "", $price);
if ($price == NULL) {
$new_price =0;
}
return round($new_price, 2);
}
public static function clearRupiah()
{
$harga = HargaBarang::all();
foreach ($harga as $h) {
$a = $h->harga_jual;
$h->update([
'harga_jual' => \Helper::money($a)
]);
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]