|
|
|
@ -1356,6 +1356,7 @@ exports.getuserRequestbookings = async (req, reply) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const mongoose = require('mongoose');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exports.acceptRequestedBooking = async (req, reply) => {
|
|
|
|
@ -1405,8 +1406,25 @@ exports.getuserRequestbookings = async (req, reply) => {
|
|
|
|
|
if (!matchedSupplier.quoted_amount) {
|
|
|
|
|
return reply.code(400).send({ message: "Quoted amount missing for this supplier" });
|
|
|
|
|
}
|
|
|
|
|
requestedBooking.requested_suppliers = requestedBooking.requested_suppliers.filter(
|
|
|
|
|
s => s.supplierId !== supplierId
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// ✅ Optional: Mark booking as fully processed if no more suppliers remain
|
|
|
|
|
if (requestedBooking.requested_suppliers.length === 0) {
|
|
|
|
|
requestedBooking.status = 'processed';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
await requestedBooking.save();
|
|
|
|
|
|
|
|
|
|
// Format: ARM + YYYYMMDD + random digit (0–9)
|
|
|
|
|
const today = new Date();
|
|
|
|
|
const datePart = today.toISOString().slice(0, 10).replace(/-/g, ''); // YYYYMMDD
|
|
|
|
|
const randomDigit = Math.floor(Math.random() * 10); // 0–9
|
|
|
|
|
const bookingId = `ARM${datePart}${randomDigit}`;
|
|
|
|
|
|
|
|
|
|
const newBooking = new Tankerbooking({
|
|
|
|
|
bookingid: bookingId,
|
|
|
|
|
customerId: customer.customerId,
|
|
|
|
|
customerName: customer.profile.firstName,
|
|
|
|
|
customerPhone: customer.phone,
|
|
|
|
|