master^2
Bhaskar 4 weeks ago
parent 307e5c7d4e
commit a055663b98

@ -2718,13 +2718,18 @@ exports.getOrdersByInstallationId = async (req, reply) => {
// Step 2: Process each order
for (const order of orders) {
// Filter master_connections to keep active ones
const activeMasters = (order.master_connections || []).filter(mc =>
mc.work_status === 'active' || mc.work_status === '' || mc.work_status == null
const activeMasters = (order.master_connections || []).filter(
(mc) =>
mc.work_status === "active" ||
mc.work_status === "" ||
mc.work_status == null
);
if (activeMasters.length) {
// Fetch customer details
const customer = await User.findOne({ customerId: order.customerId }).lean();
const customer = await User.findOne({
customerId: order.customerId,
}).lean();
// Find assigned team members from installation.team_member.team_member
let assignedTeamMembersDetails = [];
@ -2735,15 +2740,21 @@ exports.getOrdersByInstallationId = async (req, reply) => {
order.assignedTeamMembers &&
order.assignedTeamMembers.length > 0
) {
assignedTeamMembersDetails = installationDoc.team_member.team_member.filter(tm =>
order.assignedTeamMembers.includes(tm.teamMemberId)
);
assignedTeamMembersDetails =
installationDoc.team_member.team_member.filter((tm) =>
order.assignedTeamMembers.includes(tm.teamMemberId)
);
}
// Extract work_status from first active master
const work_status =
activeMasters.length > 0 ? activeMasters[0].work_status : null;
// Build response
ordersWithDetails.push({
...order.toObject(),
master_connections: activeMasters,
work_status, // 👈 placed above customer
customer: customer || null,
assignedTeamMembersDetails,
});
@ -2755,7 +2766,6 @@ exports.getOrdersByInstallationId = async (req, reply) => {
message: "Orders with active master connections fetched successfully",
data: ordersWithDetails,
});
} catch (err) {
console.error("Error fetching orders:", err);
return reply.status(500).send({ error: "Internal server error" });
@ -2766,6 +2776,7 @@ exports.getOrdersByInstallationId = async (req, reply) => {
exports.getPendingOrdersByInstallationAndTeamMember = async (req, reply) => {
try {
const { installationId, teamMemberId } = req.params;

Loading…
Cancel
Save