This commit is contained in:
meusinfirmary
2025-05-29 13:21:59 +07:00
parent 3b9d94620a
commit 77bc5f10a6
29 changed files with 2206 additions and 2247 deletions

View File

@ -248,7 +248,7 @@ class TransactionController extends Controller
$pdfPath = "",
$pdfTitle = "",
$imgName = "",
$outputPdfFile = "",
$outputPdfFile = ""
) {
if (empty($imgPathFile)) {
return false;
@ -317,7 +317,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Seal",
"ord_pck_seal_img",
"ord_pck_seal_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -328,7 +328,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Seal",
"ord_pck_seal_img",
"ord_pck_seal_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -340,7 +340,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Pengemudi + Armada",
"ord_pck_drv_armd_img",
"ord_pck_drv_armd_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -351,7 +351,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Pengemudi + Armada",
"ord_pck_drv_armd_img",
"ord_pck_drv_armd_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -363,7 +363,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Nomor Polisi Kendaraan",
"ord_pck_nopol_img",
"ord_pck_nopol_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -374,7 +374,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Nomor Polisi Kendaraan",
"ord_pck_nopol_img",
"ord_pck_nopol_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -389,7 +389,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Dokumen Kelengkapan dari Client",
"ord_pck_doc_client_img_" . $i,
"ord_pck_doc_client_img_" . $i
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -400,7 +400,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Dokumen Kelengkapan dari Client",
"ord_pck_doc_client_img_" . $i,
"ord_pck_doc_client_img_" . $i
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -413,7 +413,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Pemasangan Seal",
"ord_pck_seal_install_img",
"ord_pck_seal_install_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -424,7 +424,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Pemasangan Seal",
"ord_pck_seal_install_img",
"ord_pck_seal_install_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -436,7 +436,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Barang",
"ord_pck_goods_img",
"ord_pck_goods_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -447,7 +447,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Penjemputan",
"Foto Barang",
"ord_pck_goods_img",
"ord_pck_goods_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -461,7 +461,7 @@ class TransactionController extends Controller
if (count($availToMergers) > 0) {
$pdfMerge->merge(
"file",
storage_path("app/public/" . $pdfPath . "download_report_pickup.pdf"),
storage_path("app/public/" . $pdfPath . "download_report_pickup.pdf")
);
}
@ -579,7 +579,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto mobil tiba di tujuan",
"ord_drop_arrived_img",
"ord_drop_arrived_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -590,7 +590,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto mobil tiba di tujuan",
"ord_drop_arrived_img",
"ord_drop_arrived_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -602,7 +602,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto serah terima",
"ord_drop_handover_img",
"ord_drop_handover_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -613,7 +613,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto serah terima",
"ord_drop_handover_img",
"ord_drop_handover_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -625,7 +625,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto DO yg sudah di TTD",
"ord_drop_do_ttd_img",
"ord_drop_do_ttd_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -636,7 +636,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto DO yg sudah di TTD",
"ord_drop_do_ttd_img",
"ord_drop_do_ttd_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -648,7 +648,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto surat jalan di TTD",
"ord_drop_spk_img",
"ord_drop_spk_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -659,7 +659,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Pengantaran",
"Foto surat jalan di TTD",
"ord_drop_spk_img",
"ord_drop_spk_img"
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -768,7 +768,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Kecelakaan",
"Foto Pendukung",
"ord_acdnt_img_" . $i,
"ord_acdnt_img_" . $i
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -779,7 +779,7 @@ class TransactionController extends Controller
$pdfPath,
"Data Kecelakaan",
"Foto Pendukung",
"ord_acdnt_img_" . $i,
"ord_acdnt_img_" . $i
);
if ($onePagePdf) {
$availToMergers[] = $onePagePdf;
@ -794,7 +794,7 @@ class TransactionController extends Controller
if (count($availToMergers) > 0) {
$pdfMerge->merge(
"file",
storage_path("app/public/" . $pdfPath . "download_report_acdnt.pdf"),
storage_path("app/public/" . $pdfPath . "download_report_acdnt.pdf")
);
}
@ -1021,7 +1021,7 @@ class TransactionController extends Controller
tod.drop_name,
tod.drop_addr,
tod.pic_name as drp_pic_name,
tod.pic_phone_val as drp_pic_phone",
tod.pic_phone_val as drp_pic_phone"
);
if (isset($req->point_id)) {
$rawData->where("topd.id", $req->point_id);
@ -1035,7 +1035,7 @@ class TransactionController extends Controller
"checklist_name",
"checklist_desc",
"img",
"updt",
"updt"
)
->where("ord_pck_drop_id", $_data->id)
->get();
@ -1185,7 +1185,7 @@ class TransactionController extends Controller
foreach ($req->packing_list as $k => $v) {
if (count(OrdersItems::getOrderItemByCode($v["Item Code"])) > 0) {
$apiResp = Responses::bad_request(
"Item Code: " . $v["Item Code"] . " not uniq, please reupload your packing list",
"Item Code: " . $v["Item Code"] . " not uniq, please reupload your packing list"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -1255,7 +1255,7 @@ class TransactionController extends Controller
// }
if ($calc_weight === 0 && $calc_cbm === 0) {
$apiResp = Responses::bad_request(
"You must fill in at least 1 of weight / dimension / volume on packing list.",
"You must fill in at least 1 of weight / dimension / volume on packing list."
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -1330,7 +1330,7 @@ class TransactionController extends Controller
}
if ($pck[0]->prid == 0) {
$apiResp = Responses::bad_request(
"Pickup zone province not filled, please recheck input province zone",
"Pickup zone province not filled, please recheck input province zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -1342,13 +1342,13 @@ class TransactionController extends Controller
}
if ($drop[0]->ktid == 0) {
$apiResp = Responses::bad_request(
"Drop zone city not filled, please recheck input city zone",
"Drop zone city not filled, please recheck input city zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
if ($drop[0]->kcid == 0) {
$apiResp = Responses::bad_request(
"Drop zone district not filled, please recheck input district zone",
"Drop zone district not filled, please recheck input district zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -1380,7 +1380,7 @@ class TransactionController extends Controller
} else {
$truck_types = ConfTruckTypes::listTruckTypesRates(
ConfTruckTypes::IS_ACTIVE,
ConfRates::LANE_EARTH,
ConfRates::LANE_EARTH
);
if (count($truck_types) < 1) {
$apiResp = Responses::bad_request("No vehicle available");
@ -1481,15 +1481,15 @@ class TransactionController extends Controller
"pickup_at" => $req->pickup_at,
"pickup_zone_id" => $req->pickup_zone_id,
"drop_zone_id" => $req->drop_zone_id,
"truck_type_id" => $req->truck_type_id,
"truck_type_name" => $req->truck_type_name,
// "truck_type_id" => $req->truck_type_id,
// "truck_type_name" => $req->truck_type_name,
];
$rulesInput = [
"pickup_at" => "required|integer",
"pickup_zone_id" => "required|integer",
"drop_zone_id" => "required|integer",
"truck_type_id" => "required|numeric",
"truck_type_name" => "nullable|string",
// "truck_type_id" => "required|numeric",
// "truck_type_name" => "nullable|string",
];
// validasi input
@ -1530,7 +1530,7 @@ class TransactionController extends Controller
}
if ($pck[0]->prid == 0) {
$apiResp = Responses::bad_request(
"Pickup zone province not filled, please recheck input province zone",
"Pickup zone province not filled, please recheck input province zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -1542,27 +1542,28 @@ class TransactionController extends Controller
}
if ($drop[0]->ktid == 0) {
$apiResp = Responses::bad_request(
"Drop zone city not filled, please recheck input city zone",
"Drop zone city not filled, please recheck input city zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
if ($drop[0]->kcid == 0) {
$apiResp = Responses::bad_request(
"Drop zone district not filled, please recheck input district zone",
"Drop zone district not filled, please recheck input district zone"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
$rates = ConfRates::getRateByDestDistrict($pck[0]->prid, $drop[0]->kcid);
// dd($rates);
if (count($rates) < 1) {
$rates = ConfRates::getRateByDestCity($pck[0]->prid, $drop[0]->ktid);
}
// $rates = ConfRates::getRateByDestDistrict($pck[0]->prid, $drop[0]->kcid);
// // dd($rates);
// if (count($rates) < 1) {
// $rates = ConfRates::getRateByDestCity($pck[0]->prid, $drop[0]->ktid);
// }
if (count($rates) < 1) {
$apiResp = Responses::bad_request("No service available going to drop zone");
return new Response($apiResp, $apiResp["meta"]["code"]);
}
// if (count($rates) < 1) {
// $apiResp = Responses::bad_request("No service available going to drop zone");
// return new Response($apiResp, $apiResp["meta"]["code"]);
// }
$rates = 0;
$client = Clients::getClientById($req->auth->client_group_id);
@ -1574,59 +1575,59 @@ class TransactionController extends Controller
}
$opts = [];
foreach ($rates as $k => $v) {
if ($check_truck_type) {
if ($v->vhc_type !== $ttid) {
continue;
}
}
// foreach ($rates as $k => $v) {
// if ($check_truck_type) {
// if ($v->vhc_type !== $ttid) {
// continue;
// }
// }
$opt = [
"is_best" => 0,
];
if ($k === 0) {
$opt["is_best"] = 1;
}
$opt["lead_time_id"] = $v->id;
// $center_time = $v->long_time - $v->fast_time;
$opt["lead_time"] = $v->long_time;
$price = $v->sell_ftl ?? 0;
// $opt = [
// "is_best" => 0,
// ];
// if ($k === 0) {
// $opt["is_best"] = 1;
// }
// $opt["lead_time_id"] = $v->id;
// // $center_time = $v->long_time - $v->fast_time;
// $opt["lead_time"] = $v->long_time;
// $price = $v->sell_ftl ?? 0;
// TRIGER JIKA HARGA 0
// if ($price < 1) {
// $apiResp = Responses::bad_request("No service provided");
// return new Response($apiResp, $apiResp["meta"]["code"]);
// }
$opt["price"] = $price;
$opt["real_price"] = $price;
$opt["disc_price"] = 0;
$opt["disc_type"] = $client[0]->disc_type;
$opt["disc_percent"] = 0;
if ($client[0]->disc_type === Clients::DISC_TYPE_FIX) {
$opt["disc_price"] = $client[0]->disc_amount;
$opt["price"] = $opt["price"] - $opt["disc_price"];
} elseif ($client[0]->disc_type === Clients::DISC_TYPE_PERCENT) {
$opt["disc_percent"] = $client[0]->disc_amount;
$opt["disc_price"] = ($opt["price"] * $client[0]->disc_amount) / 100;
$opt["price"] = $opt["price"] - $opt["disc_price"];
}
// group by lead_time and sell_price
$isSame = 0;
foreach ($opts as $key => $val) {
if ($val["price"] == $opt["price"] && $val["lead_time"] == $opt["lead_time"]) {
$isSame = 1;
}
}
if ($isSame === 1) {
continue;
}
array_push($opts, $opt);
}
// // TRIGER JIKA HARGA 0
// // if ($price < 1) {
// // $apiResp = Responses::bad_request("No service provided");
// // return new Response($apiResp, $apiResp["meta"]["code"]);
// // }
// $opt["price"] = $price;
// $opt["real_price"] = $price;
// $opt["disc_price"] = 0;
// $opt["disc_type"] = $client[0]->disc_type;
// $opt["disc_percent"] = 0;
// if ($client[0]->disc_type === Clients::DISC_TYPE_FIX) {
// $opt["disc_price"] = $client[0]->disc_amount;
// $opt["price"] = $opt["price"] - $opt["disc_price"];
// } elseif ($client[0]->disc_type === Clients::DISC_TYPE_PERCENT) {
// $opt["disc_percent"] = $client[0]->disc_amount;
// $opt["disc_price"] = ($opt["price"] * $client[0]->disc_amount) / 100;
// $opt["price"] = $opt["price"] - $opt["disc_price"];
// }
// // group by lead_time and sell_price
// $isSame = 0;
// foreach ($opts as $key => $val) {
// if ($val["price"] == $opt["price"] && $val["lead_time"] == $opt["lead_time"]) {
// $isSame = 1;
// }
// }
// if ($isSame === 1) {
// continue;
// }
// array_push($opts, $opt);
// }
// dd(count($opts));
if (count($opts) < 1 && $check_truck_type) {
$apiResp = Responses::bad_request("No truck type available going to drop zone");
return new Response($apiResp, $apiResp["meta"]["code"]);
}
// if (count($opts) < 1 && $check_truck_type) {
// $apiResp = Responses::bad_request("No truck type available going to drop zone");
// return new Response($apiResp, $apiResp["meta"]["code"]);
// }
$apiResp = Responses::success("checkout success");
$apiResp["data"] = $opts;
@ -2028,6 +2029,7 @@ class TransactionController extends Controller
public function api_create_order_v2(Request $req)
{
// dd($req->all());
try {
// $apiResp = Responses::bad_request("Service on maintenance");
// return new Response($apiResp, $apiResp["meta"]["code"]);
@ -2037,25 +2039,29 @@ class TransactionController extends Controller
"pickup_at" => $req->pickup_at,
"pickup_zone_id" => $req->pickup_zone_id,
"drop_zone_id" => $req->drop_zone_id,
"lead_time" => $req->lead_time,
"price" => $req->price,
"real_price" => $req->real_price,
"disc_price" => $req->disc_price,
"lead_time_id" => $req->lead_time_id,
"truck_type_id" => $req->truck_type_id,
"truck_type_name" => $req->truck_type_name,
// "lead_time" => $req->lead_time,
// "price" => $req->price,
// "real_price" => $req->real_price,
// "disc_price" => $req->disc_price,
// "lead_time_id" => $req->lead_time_id,
"vehicle_id" => $req->vehicle_id,
"vehicle_name" => $req->vehicle_name,
"driver_id" => $req->driver_id,
"driver_name" => $req->driver_name,
];
$rulesInput = [
"pickup_at" => "required|integer",
"pickup_zone_id" => "required|integer",
"drop_zone_id" => "required|integer",
"lead_time" => "required|numeric",
"price" => "required|numeric",
"real_price" => "required|numeric",
"disc_price" => "required|numeric",
"lead_time_id" => "required|integer|not_in:0",
"truck_type_id" => "nullable|numeric",
"truck_type_name" => "nullable|string",
// "lead_time" => "required|numeric",
// "price" => "required|numeric",
// "real_price" => "required|numeric",
// "disc_price" => "required|numeric",
// "lead_time_id" => "required|integer|not_in:0",
"vehicle_id" => "nullable|numeric",
"vehicle_name" => "nullable|string",
"driver_id" => "nullable|numeric",
"driver_name" => "nullable|string",
];
// validasi input
@ -2089,11 +2095,11 @@ class TransactionController extends Controller
$crt_type_order = Orders::CRT_TYPE_ORDER_ADMIN;
}
$type_truck_name = $req->truck_type_name;
if ($req->truck_type_id && $req->truck_type_id != 0) {
$type_truck_name = $req->truck_type_name;
$vehicle_name = $req->vehicle_name;
if ($req->vehicle_id && $req->vehicle_id != 0) {
$vehicle_name = $req->vehicle_name;
} else {
$type_truck_name = "";
$vehicle_name = "";
$req->truck_type_id = 0;
}
@ -2110,7 +2116,7 @@ class TransactionController extends Controller
} while ($doWhile);
$client = Clients::getClientById($req->auth->client_group_id);
$rate = ConfRates::getRateById($req->lead_time_id);
// $rate = ConfRates::getRateById(0);
$pck = Zone::getZoneById($req->pickup_zone_id);
// $pck_pic = Clients::getClientById($pck[0]->client_group_id);
$drop = Zone::getZoneById($req->drop_zone_id);
@ -2142,16 +2148,16 @@ class TransactionController extends Controller
"type" => Orders::TYPE_FCL,
"pck_total" => 1,
"drop_total" => 1,
"est_lead_time" => $req->lead_time,
"lead_time" => $req->lead_time,
"est_price" => $req->price,
"price" => $req->price,
"est_real_price" => $req->real_price,
"real_price" => $req->real_price,
"est_disc_price" => $req->disc_price,
"disc_price" => $req->disc_price,
"est_rate_id" => $req->lead_time_id,
"rate_id" => $req->lead_time_id,
"est_lead_time" => 0,
"lead_time" => 0,
"est_price" => 0,
"price" => 0,
"est_real_price" => 0,
"real_price" => 0,
"est_disc_price" => 0,
"disc_price" => 0,
"est_rate_id" => 0,
"rate_id" => 0,
"crt_type_order" => $crt_type_order,
"crt" => $now,
"crt_by" => $req->auth->uid,
@ -2161,13 +2167,6 @@ class TransactionController extends Controller
];
$ord_id = Orders::addOrder($insOrd);
// if ($pck[0]->boundary_bounds) {
// // $pck[0]->boundary_bounds = json_encode($pck[0]->boundary_bounds);
// }
// if ($pck[0]->boundary_latlngs) {
// // $pck[0]->boundary_latlngs = json_encode($pck[0]->boundary_latlngs);
// }
$insPck = [
"ord_id" => $ord_id,
"ord_code" => $code,
@ -2205,13 +2204,6 @@ class TransactionController extends Controller
$pck_id = OrdersPickups::add($insPck);
// if ($drop[0]->boundary_bounds) {
// // $drop[0]->boundary_bounds = json_encode($drop[0]->boundary_bounds);
// }
// if ($drop[0]->boundary_latlngs) {
// // $drop[0]->boundary_latlngs = json_encode($drop[0]->boundary_latlngs);
// }
$insDrop = [
"ord_id" => $ord_id,
"ord_code" => $code,
@ -2271,44 +2263,10 @@ class TransactionController extends Controller
"c_pt_pic_phone_val" => $client[0]->pic_phone,
"c_pt_pic_mail" => $client[0]->pic_mail,
"c_pt_pic_addr" => null,
"prefer_truck_type" => $req->truck_type_id,
"prefer_truck_type" => 1,
];
$ord_client_id = OrdersClients::add($insClient);
$insRate = [
"ord_id" => $ord_id,
"ord_code" => $code,
"rate_id" => $rate[0]->id,
"rate_code" => $rate[0]->code,
"origin_prov" => $rate[0]->origin_prov,
"origin_city" => $rate[0]->origin_city,
"origin_district" => $rate[0]->origin_district,
"origin_village" => $rate[0]->origin_village,
"lane" => $rate[0]->lane,
"dest_prov" => $rate[0]->dest_prov,
"dest_city" => $rate[0]->dest_city,
"dest_district" => $rate[0]->dest_district,
"dest_village" => $rate[0]->dest_village,
"fast_time" => $rate[0]->fast_time,
"long_time" => $rate[0]->long_time,
"unit_time" => $rate[0]->unit_time,
"sell_kg" => $rate[0]->sell_kg,
"buy_kg" => $rate[0]->buy_kg,
"margin_kg" => $rate[0]->margin_kg,
"percent_kg" => $rate[0]->percent_kg,
"sell_cbm" => $rate[0]->sell_cbm,
"buy_cbm" => $rate[0]->buy_cbm,
"margin_cbm" => $rate[0]->margin_cbm,
"percent_cbm" => $rate[0]->percent_cbm,
"sell_ftl" => $rate[0]->sell_ftl,
"buy_ftl" => $rate[0]->buy_ftl,
"margin_ftl" => $rate[0]->margin_ftl,
"percent_ftl" => $rate[0]->percent_ftl,
"vdr_id" => $rate[0]->vdr_id,
"vhc_type" => $rate[0]->vhc_type,
];
OrdersRates::add($insRate);
if (count($insurance) > 0) {
$insInsurance = [
"ord_id" => $ord_id,
@ -2322,45 +2280,106 @@ class TransactionController extends Controller
];
OrdersInsurances::add($insInsurance);
}
Orders::updateOrder($ord_id, [
"status" => Orders::STTS_HAVE_GET_VHC,
]);
Vehicles::updateVehicle($req->vehicle_id, [
"is_in_ord" => Vehicles::IN_ORD_YES,
"ord_id" => $ord_id,
"ord_code" => $code,
"c_did" => $req->driver_id,
"a_did" => $req->driver_id,
]);
Drivers::updateDriver($req->driver_id, [
"is_in_ord" => Drivers::IN_ORD_YES,
"ord_id" => $ord_id,
"ord_code" => $code,
]);
$order = Orders::showOrder([
"id" => $ord_id,
"get_exp_vendor" => 1,
// "vdr_id" => $req->auth->uid,
]);
$driver = Drivers::getDriverByIdAllData($req->driver_id);
$vehicle = Vehicles::getVehicleByIdAllData($req->vehicle_id);
OrdersDrivers::add([
"ord_id" => $order[0]->ord_id,
"ord_code" => $order[0]->ord_code,
"vdr_id" => $driver[0]->vendor_id,
"drv_id" => $driver[0]->drv_id,
"drv_name" => $driver[0]->fullname,
"drv_mail" => $driver[0]->email,
"drv_name2" => $driver[0]->fullname2,
"drv_phone_code" => $driver[0]->phone_code,
"drv_phone_val" => $driver[0]->phone,
"drv_phone2_code" => $driver[0]->phone2_code,
"drv_phone2_val" => $driver[0]->phone2,
"drv_addr" => $driver[0]->fulladdress,
"drv_cgroup_id" => $driver[0]->client_group_id,
"drv_nik" => $driver[0]->nik,
"drv_dob" => $driver[0]->dob,
"drv_age" => Helper::countAge($driver[0]->dob),
"drv_gender" => $driver[0]->gender,
"drv_blood" => $driver[0]->blood,
"em_fullname" => $driver[0]->em_fullname,
"em_phone_code" => $driver[0]->em_phone_code,
"em_phone_val" => $driver[0]->em_phone,
"em_relationship" => $driver[0]->em_relationship,
"drv_ktp_img" => $driver[0]->ktp_img,
"drv_npwp_img" => $driver[0]->npwp_img,
"drv_npwp_number" => $driver[0]->npwp_number,
"drv_npwp_string" => $driver[0]->npwp_string,
"drv_license_img" => $driver[0]->license_img,
"drv_license_number" => $driver[0]->license_number,
"drv_license_exp" => $driver[0]->license_exp,
]);
OrdersVehicles::add([
"ord_id" => $order[0]->ord_id,
"ord_code" => $order[0]->ord_code,
"vhc_id" => $vehicle[0]->vhc_id,
"vhc_name" => $vehicle[0]->name,
"vhc_device_id" => $vehicle[0]->device_id,
"vhc_cat_id" => $vehicle[0]->cat_id,
"vhc_brand_id" => $vehicle[0]->brand_id,
"vhc_type_id" => $vehicle[0]->type_id,
"vhc_model_id" => $vehicle[0]->model_id,
"vhc_c_did" => $vehicle[0]->c_did,
"vhc_a_did" => $vehicle[0]->a_did,
"vhc_nopol1" => $vehicle[0]->nopol1,
"vhc_nopol2" => $vehicle[0]->nopol2,
"vhc_nopol3" => $vehicle[0]->nopol3,
"vhc_is_track_holiday" => $vehicle[0]->is_track_holiday,
"vhc_track_sch_d" => $vehicle[0]->track_sch_d,
"vhc_track_sch_h" => $vehicle[0]->track_sch_h,
"vhc_cgroup_id" => $vehicle[0]->client_group_id,
"vhc_vdr_id" => $vehicle[0]->vendor_id,
"vhc_speed_limit" => $vehicle[0]->speed_limit,
"vhc_fuel_capacity" => $vehicle[0]->fuel_capacity,
"vhc_fuel_drop_treshold" => $vehicle[0]->fuel_drop_treshold,
"vhc_max_pressure" => $vehicle[0]->max_pressure,
"vhc_fvhc_img" => $vehicle[0]->fvhc_img,
"vhc_stnk_img" => $vehicle[0]->stnk_img,
"vhc_stnk_exp" => $vehicle[0]->stnk_exp,
"vhc_vyear" => $vehicle[0]->vyear,
"vhc_cc" => $vehicle[0]->cc,
"vhc_vin" => $vehicle[0]->vin,
"vhc_en" => $vehicle[0]->en,
"vhc_vcolor" => $vehicle[0]->vcolor,
"vhc_fuel_type" => $vehicle[0]->fuel_type,
"vhc_tnkb_color" => $vehicle[0]->tnkb_color,
"vhc_regis_year" => $vehicle[0]->regis_year,
"vhc_tax_exp" => $vehicle[0]->tax_exp,
]);
// JIKA PAKAI DANA
// $url = env("API_URL_NODE") . "/order/create";
// $guzReq = new GuzzleClient();
// $respNode = $guzReq->request("POST", $url, [
// "headers" => [
// "Host" => $_SERVER["SERVER_ADDR"],
// "User-Agent" => "curl/7.65.3",
// "Accept" => "*/*",
// "Accept-Encoding" => "gzip, deflate, br",
// // 'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8',
// // 'Connection' => 'keep-alive',
// ],
// "json" => [
// "trx_code" => $code,
// "trx_at" => $now,
// "client_id" => $req->auth->uid,
// "client_name" => $req->auth->first_name,
// "client_phone" =>
// $req->auth->phone_code .
// " " .
// implode(" ", str_split($req->auth->phone, 4)),
// "client_mail" => $req->auth->email,
// "client_addr" => "",
// "client_prefer_type_truck" => $type_truck_name,
// "pickup_zone_title" => $pck[0]->name,
// "pickup_zone_addr" => $pck[0]->fulladdress,
// "pickup_at" => $req->pickup_at,
// "drop_zone_title" => $drop[0]->name,
// "drop_zone_addr" => $drop[0]->fulladdress,
// "admins" => $admins_data,
// ],
// ]);
// if ($respNode->getStatusCode() != 200) {
// DB::rollBack();
// $apiResp = Responses::bad_request("fail create order 0");
// return new Response($apiResp, $apiResp["meta"]["code"]);
// }
// $body = json_decode($respNode->getBody()->getContents());
$dt_inst_pck_drop = [
"ord_id" => $order[0]->ord_id,
"ord_code" => $order[0]->ord_code,
"pck_id" => $pck_id,
"drop_id" => $drop_id,
"is_active" => 1,
"stts" => 1,
];
DB::table("t_orders_pck_drop")->insert($dt_inst_pck_drop);
$apiResp = Responses::created("success create order");
@ -2666,7 +2685,7 @@ class TransactionController extends Controller
if ($found_prefer === 0) {
// $tt = ConfTruckTypes::getTypeById($order[0]->prefer_truck_type);
$apiResp = Responses::not_found(
"no vehicle available with prefered type truck " . $order[0]->prefer_truck_type_name,
"no vehicle available with prefered type truck " . $order[0]->prefer_truck_type_name
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -2893,7 +2912,7 @@ class TransactionController extends Controller
$vhcs = Vehicles::getVehiclesInVendorIdsActiveNoInOrder(
"" . $vendor[0]->id,
$order[0]->prefer_truck_type,
$order[0]->prefer_truck_type
);
foreach ($vhcs as $vhc) {
if ($vhc->type_id === $order[0]->prefer_truck_type) {
@ -2906,7 +2925,7 @@ class TransactionController extends Controller
if ($found_prefer === 0) {
// $tt = ConfTruckTypes::getTypeById($order[0]->prefer_truck_type);
$apiResp = Responses::not_found(
"no vehicle available with prefered type truck " . $order[0]->prefer_truck_type_name,
"no vehicle available with prefered type truck " . $order[0]->prefer_truck_type_name
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -3108,11 +3127,11 @@ class TransactionController extends Controller
// validate if another vendor want this order
$otherVendorsWantThisOrder = OrdersVendors::getOtherVendorsWantThisOrder(
$order[0]->ord_id,
$req->auth->uid,
$req->auth->uid
);
if (count($otherVendorsWantThisOrder) > 0) {
$apiResp = Responses::bad_request(
"There other vendor want this order, if next 10 minutes the vendor not take the order, we will send email again to you",
"There other vendor want this order, if next 10 minutes the vendor not take the order, we will send email again to you"
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -3338,7 +3357,6 @@ class TransactionController extends Controller
"vhc_regis_year" => $vehicle[0]->regis_year,
"vhc_tax_exp" => $vehicle[0]->tax_exp,
]);
// $url = env("API_URL_NODE") . "/order/email_vendor_acc_order";
// $guzReq = new GuzzleClient();
// $respNode = $guzReq->request("POST", $url, [
@ -3795,7 +3813,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->seal_img_base64,
$req->seal_img_base64
);
$type = "jpeg";
if (strpos($req->seal_img_base64, "application/pdf") !== false) {
@ -3818,7 +3836,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->drv_armd_img_base64,
$req->drv_armd_img_base64
);
$type = "jpeg";
if (strpos($req->drv_armd_img_base64, "application/pdf") !== false) {
@ -3842,7 +3860,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->nopol_img_base64,
$req->nopol_img_base64
);
$type = "jpeg";
if (strpos($req->nopol_img_base64, "application/pdf") !== false) {
@ -3872,7 +3890,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$img,
$img
);
$type = "jpeg";
if (strpos($img, "application/pdf") !== false) {
@ -3903,7 +3921,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->install_seal_img_base64,
$req->install_seal_img_base64
);
$type = "jpeg";
if (strpos($req->install_seal_img_base64, "application/pdf") !== false) {
@ -3932,7 +3950,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->goods_img_base64,
$req->goods_img_base64
);
$type = "jpeg";
if (strpos($req->goods_img_base64, "application/pdf") !== false) {
@ -4079,7 +4097,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->arrived_img_base64,
$req->arrived_img_base64
);
$type = "jpeg";
if (strpos($req->arrived_img_base64, "application/pdf") !== false) {
@ -4102,7 +4120,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->handover_img_base64,
$req->handover_img_base64
);
$type = "jpeg";
if (strpos($req->handover_img_base64, "application/pdf") !== false) {
@ -4127,7 +4145,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->do_ttd_img_base64,
$req->do_ttd_img_base64
);
$type = "jpeg";
if (strpos($req->do_ttd_img_base64, "application/pdf") !== false) {
@ -4170,7 +4188,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$req->spk_img_base64,
$req->spk_img_base64
);
$type = "jpeg";
if (strpos($req->spk_img_base64, "application/pdf") !== false) {
@ -4388,7 +4406,7 @@ class TransactionController extends Controller
$clearBase64 = preg_replace(
"/^data:(image|application)\/(png|jpg|jpeg|pdf);base64,/",
"",
$img,
$img
);
$type = "jpeg";
if (strpos($img, "application/pdf") !== false) {
@ -4582,12 +4600,12 @@ class TransactionController extends Controller
$drvAppInsideCircle = Zone::insideOrdZoneCircle(
$lastLocDriverAps[0]->latitude,
$lastLocDriverAps[0]->longitude,
["zid" => $order[0]->ord_pck_zone_id],
["zid" => $order[0]->ord_pck_zone_id]
);
$drvAppInsideShape = Zone::insideOrdZoneShape(
$lastLocDriverAps[0]->latitude,
$lastLocDriverAps[0]->longitude,
["zid" => $order[0]->ord_pck_zone_id],
["zid" => $order[0]->ord_pck_zone_id]
);
if (count($drvAppInsideCircle) < 1 && count($drvAppInsideShape) < 1) {
$apiResp = Responses::bad_request("Lokasi GPS App Tracker tidak didalam zona pickup");
@ -5159,7 +5177,7 @@ class TransactionController extends Controller
return new Response($apiResp, $apiResp["meta"]["code"]);
} elseif ($order[0]->pck_chk_stts != OrdersPickups::CHK_STTS_SUBMIT) {
$apiResp = Responses::bad_input(
'can\'t confirm price, checker pickup has not submitted data',
'can\'t confirm price, checker pickup has not submitted data'
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -5229,7 +5247,7 @@ class TransactionController extends Controller
return new Response($apiResp, $apiResp["meta"]["code"]);
} elseif ($order[0]->pck_chk_stts != OrdersPickups::CHK_STTS_SUBMIT) {
$apiResp = Responses::bad_input(
'can\'t generate invoice, checker pickup has not submitted data',
'can\'t generate invoice, checker pickup has not submitted data'
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -5306,7 +5324,7 @@ class TransactionController extends Controller
return new Response($apiResp, $apiResp["meta"]["code"]);
} elseif ($order[0]->pck_chk_stts != OrdersPickups::CHK_STTS_SUBMIT) {
$apiResp = Responses::bad_input(
'can\'t confirm payment, checker pickup has not submitted data',
'can\'t confirm payment, checker pickup has not submitted data'
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}
@ -5389,7 +5407,7 @@ class TransactionController extends Controller
return new Response($apiResp, $apiResp["meta"]["code"]);
} elseif ($order[0]->drop_chk_stts != OrdersDrops::CHK_STTS_SUBMIT) {
$apiResp = Responses::bad_input(
'can\'t generate instruction payment, checker drop has not submitted data',
'can\'t generate instruction payment, checker drop has not submitted data'
);
return new Response($apiResp, $apiResp["meta"]["code"]);
}