Perbaikan Conflict SPK, Perubahan penyimpanan SPK PDF (awalnya di tabel permohonan.dokumen, menjadi penawaran.spk_dokumen_path)

This commit is contained in:
Andy Chaerudin
2024-11-25 16:10:52 +07:00
8 changed files with 152 additions and 90 deletions

View File

@@ -1,16 +1,16 @@
<?php
use Carbon\Carbon;
use Illuminate\Support\Facades\DB;
use Modules\Lpj\Models\HolidayCalendar;
use Illuminate\Support\Facades\DB;
use Modules\Lpj\Models\HolidayCalendar;
use Modules\Lpj\Models\PenawaranDetailTender;
use Modules\Lpj\Models\PenawaranTender;
function formatTanggalIndonesia($date,$time=false)
function formatTanggalIndonesia($date, $time = false)
{
Carbon::setLocale('id');
$waktu = Carbon::parse($date);
if(!$time){
if (!$time) {
return $waktu->translatedFormat('d F Y');
}
return $waktu->translatedFormat('d F Y') . ' pukul ' . $waktu->format('H.i') . ' WIB';
@@ -19,7 +19,7 @@ use Modules\Lpj\Models\HolidayCalendar;
function formatRupiah($number)
{
$number = (float)$number;
$number = (float) $number;
return 'Rp ' . number_format($number, 2, ',', '.');
}
@@ -34,8 +34,8 @@ use Modules\Lpj\Models\HolidayCalendar;
{
$penawaran = PenawaranTender::find($id);
$start_date = strtotime($penawaran->start_date);
$end_date = strtotime($penawaran->end_date);
$start_date = strtotime($penawaran->start_date);
$end_date = strtotime($penawaran->end_date);
// $todays_date = strtotime(now());
$todays_date = strtotime("+1 day", strtotime(now()));
@@ -62,25 +62,25 @@ use Modules\Lpj\Models\HolidayCalendar;
// DB::enableQueryLog();
// detail_penawaran apakah isian biaya_penawaran, attachment, dokumen_persetujuan sudah lengkap?
$query = PenawaranDetailTender::select('id')->where('penawaran_id', '=', $id)->where('status', '=', 1)->where(
function ($query) {
// no_proposal
$query->orWhere('no_proposal', '', "");
$query->orWhereNull('no_proposal');
function ($query) {
// no_proposal
$query->orWhere('no_proposal', '', "");
$query->orWhereNull('no_proposal');
// tgl_proposal
$query->orWhere('tgl_proposal', '', "");
$query->orWhereNull('tgl_proposal');
// tgl_proposal
$query->orWhere('tgl_proposal', '', "");
$query->orWhereNull('tgl_proposal');
$query->orWhere('biaya_penawaran', '', "");
$query->orWhereNull('biaya_penawaran');
$query->orWhere('biaya_penawaran', '', "");
$query->orWhereNull('biaya_penawaran');
$query->orWhere('attachment', '', "");
$query->orWhereNull('attachment');
$query->orWhere('attachment', '', "");
$query->orWhereNull('attachment');
$query->orWhere('dokumen_persetujuan', '', "");
$query->orWhereNull('dokumen_persetujuan');
},
)->get();
$query->orWhere('dokumen_persetujuan', '', "");
$query->orWhereNull('dokumen_persetujuan');
},
)->get();
// $sql = DB::getQueryLog();
@@ -103,8 +103,9 @@ use Modules\Lpj\Models\HolidayCalendar;
return implode(' ', $words);
}
// generate last penawaran.code
function onLastnumberCodePenawaran(): string
// generate last penawaran.code
function onLastnumberCodePenawaran()
: string
{
// ambil code terakhir
$maxCode = PenawaranTender::max('code');
@@ -119,15 +120,14 @@ use Modules\Lpj\Models\HolidayCalendar;
{
$code_penawaran_last = substr ($maxCode, -4);
$year_penawaran_last = Carbon::parse($penawaran->created_at)->year;
$year_now = Carbon::now()->year;
if($year_now == $year_penawaran_last)
{
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
$year_now = Carbon::now()->year;
if ($year_now == $year_penawaran_last) {
$noUrutAkhirString = sprintf("%04s", abs($code_penawaran_last + 1));
}
// jika ternyata tahun tdk sama (kurang dari tahun sekarang), maka nomor di set 0001
}
return 'NP'.Carbon::now()->format('y').$noUrutAkhirString;
return 'NP' . Carbon::now()->format('y') . $noUrutAkhirString;
}
// generate last penawaran.no_spk
@@ -253,16 +253,9 @@ use Modules\Lpj\Models\HolidayCalendar;
$hariKerja = 0;
$tanggalSekarang = $tanggalMulai->copy();
// Ambil semua tanggal libur dari tabel holiday calendar
$tanggalLibur = HolidayCalendar::whereBetween('date', [$tanggalMulai, $tanggalSelesai])->pluck('date')->map(
function ($item) {
return Carbon::parse($item)->format('Y-m-d');
},
)->toArray();
while ($tanggalSekarang <= $tanggalSelesai) {
// Cek apakah hari ini bukan Sabtu atau Minggu dan bukan hari libur
if (!$tanggalSekarang->isWeekend() && !in_array($tanggalSekarang->format('Y-m-d'), $tanggalLibur)) {
if (!$tanggalSekarang->isWeekend() && !in_array($tanggalSekarang->format('Y-m-d'), holidays())) {
$hariKerja++;
}
$tanggalSekarang->addDay();
@@ -270,3 +263,12 @@ use Modules\Lpj\Models\HolidayCalendar;
return $hariKerja;
}
function holidays()
{
return HolidayCalendar::pluck('date')->map(
function ($item) {
return Carbon::parse($item)->format('Y-m-d');
},
)->toArray();
}