fix form create update postcheck and precheck

This commit is contained in:
2025-09-19 20:44:28 +07:00
parent cab0d2e9a8
commit db4c586535
22 changed files with 4977 additions and 224 deletions

View File

@@ -472,7 +472,6 @@ class ReportController extends Controller
$sa_names = json_encode($sa_names);
$trx_data = json_encode(array_values($trx_data));
// dd($trx_data);
$work_count = count($works);
$month = $request->month;
$dealer_id = $request->dealer;
@@ -703,11 +702,28 @@ class ReportController extends Controller
}
$data = Transaction::leftJoin('users', 'users.id', '=', 'transactions.user_id')
->leftJoin('users as sa', 'sa.id', '=', 'transactions.user_sa_id')
->leftJoin('works as w', 'w.id', '=', 'transactions.work_id')
->leftJoin('categories as cat', 'cat.id', '=', 'w.category_id')
->leftJoin('dealers as d', 'd.id', '=', 'transactions.dealer_id')
->select('transactions.id', 'transactions.status', 'transactions.user_id as user_id', 'transactions.user_sa_id as user_sa_id', 'users.name as username', 'sa.name as sa_name', 'cat.name as category_name', 'w.name as workname', 'transactions.qty as qty', 'transactions.date as date', 'transactions.police_number as police_number', 'transactions.warranty as warranty', 'transactions.spk as spk', 'transactions.dealer_id', 'd.name as dealer_name');
->leftJoin('users as sa', 'sa.id', '=', 'transactions.user_sa_id')
->leftJoin('works as w', 'w.id', '=', 'transactions.work_id')
->leftJoin('categories as cat', 'cat.id', '=', 'w.category_id')
->leftJoin('dealers as d', 'd.id', '=', 'transactions.dealer_id')
->leftJoin('prechecks as pre', 'pre.transaction_id', '=', 'transactions.id')
->leftJoin('postchecks as post', 'post.transaction_id', '=', 'transactions.id')
->select(
'transactions.id',
'transactions.status',
'users.name as username',
'sa.name as sa_name',
'cat.name as category_name',
'w.name as workname',
'transactions.qty as qty',
'transactions.date as date',
'transactions.police_number as police_number',
'transactions.warranty as warranty',
'transactions.spk as spk',
'd.name as dealer_name',
DB::raw('pre.id as precheck_id'),
DB::raw('post.id as postcheck_id')
);
// Filter by allowed dealers based on user role
if($allowedDealers->count() > 0) {
@@ -747,24 +763,70 @@ class ReportController extends Controller
$data->orderBy('date', 'DESC');
return DataTables::of($data)->addIndexColumn()
->addColumn('action', function($row) use ($menu) {
$btn = '<div class="d-flex justify-content-center">';
$btn = '<div class="d-flex justify-content-center align-items-center flex-wrap">';
if($row->status == 1) {
if(Gate::allows('delete', $menu)) {
$btn .= ' <button class="btn btn-danger btn-sm btn-bold mr-2" data-action="'. route('report.transaction.destroy', $row->id) .'" id="destroyTransaction'. $row->id .'" onclick="destroyTransaction('. $row->id .')"> Hapus </button>';
// Jika status closed
if ($row->status == 1) {
if (Gate::allows('delete', $menu)) {
$btn .= '<button class="btn btn-danger btn-sm font-weight-bold mr-2 mt-2"
data-action="'. route('report.transaction.destroy', $row->id) .'"
id="destroyTransaction'. $row->id .'"
onclick="destroyTransaction('. $row->id .')">
Hapus
</button>';
}
$btn .= '<span class="badge badge-success">Closed</span>';
}else{
if(Gate::allows('delete', $menu)) {
$btn .= '<button class="btn btn-danger btn-sm btn-bold mr-2" data-action="'. route('report.transaction.destroy', $row->id) .'" id="destroyTransaction'. $row->id .'" onclick="destroyTransaction('. $row->id .')"> Hapus </button>';
// Badge Closed rapi
$btn .= '<span class="btn btn-success btn-sm font-weight-bold px-3 py-2 mr-2 mt-2 disabled"
style="pointer-events: none; cursor: default;">
Closed
</span>';
} else {
if (Gate::allows('delete', $menu)) {
$btn .= '<button class="btn btn-danger btn-sm font-weight-bold mr-2 mt-2"
data-action="'. route('report.transaction.destroy', $row->id) .'"
id="destroyTransaction'. $row->id .'"
onclick="destroyTransaction('. $row->id .')">
Hapus
</button>';
}
if(Gate::allows('update', $menu)) {
$btn .= '<button class="btn btn-info btn-sm btn-bold mr-2" data-url="'. route('report.transaction.edit', $row->id) .'" data-action="'. route('report.transaction.update', $row->id) .'" onclick="editTransaction('. $row->id .')" id="editTransaction'. $row->id .'"> Edit </button>
<button class="btn btn-warning btn-sm btn-bold" id="closeTransaction'. $row->id .'" data-url="'. route('report.transaction.close', $row->id) .'" onclick="closeTransaction('. $row->id .')"> Close </button>';
if (Gate::allows('update', $menu)) {
$btn .= '<button class="btn btn-info btn-sm font-weight-bold mr-2 mt-2"
data-url="'. route('report.transaction.edit', $row->id) .'"
data-action="'. route('report.transaction.update', $row->id) .'"
onclick="editTransaction('. $row->id .')"
id="editTransaction'. $row->id .'">
Edit
</button>';
$btn .= '<button class="btn btn-warning btn-sm font-weight-bold mr-2 mt-2"
id="closeTransaction'. $row->id .'"
data-url="'. route('report.transaction.close', $row->id) .'"
onclick="closeTransaction('. $row->id .')">
Close
</button>';
}
}
if ($row->precheck_id) {
$btn .= '<button class="btn btn-primary btn-sm font-weight-bold action-print mr-2 mt-2"
data-type="precheck"
data-id="'. $row->id .'"
data-url="'. route('report.transaction.precheck.print', $row->id) .'">
Pre Check
</button>';
}
if ($row->postcheck_id) {
$btn .= '<button class="btn btn-success btn-sm font-weight-bold action-print mr-2 mt-2"
data-type="postcheck"
data-id="'. $row->id .'"
data-url="'. route('report.transaction.postcheck.print', $row->id) .'">
Post Check
</button>';
}
$btn .= '</div>';
return $btn;