|
|
|
@ -1486,9 +1486,16 @@ exports.masterConnectedSlaveList = async (req, reply) => {
|
|
|
|
|
// Step 4: Get latest IotData for master
|
|
|
|
|
const latestIotData = await IotData.findOne({ hardwareId: connectedTo }).sort({ date: -1 }).lean();
|
|
|
|
|
|
|
|
|
|
// Step 5: Fetch order to get masterName and location
|
|
|
|
|
// Step 5: Fetch order to get masterName, location, googleLocation, coordinates + summary counts
|
|
|
|
|
const order = await Order.findOne({ "master_connections.hardwareId": connectedTo }).lean();
|
|
|
|
|
|
|
|
|
|
let masterOrderInfo = {};
|
|
|
|
|
let mastersCount = null;
|
|
|
|
|
let slavesCount = null;
|
|
|
|
|
let sensorsCount = null;
|
|
|
|
|
let motorSwitches = [];
|
|
|
|
|
let electricals = [];
|
|
|
|
|
|
|
|
|
|
if (order) {
|
|
|
|
|
const match = order.master_connections.find(mc => mc.hardwareId === connectedTo);
|
|
|
|
|
if (match) {
|
|
|
|
@ -1496,10 +1503,16 @@ exports.masterConnectedSlaveList = async (req, reply) => {
|
|
|
|
|
masterName: match.master_name || "",
|
|
|
|
|
location: match.location || "",
|
|
|
|
|
googleLocation: match.googleLocation || "",
|
|
|
|
|
longitude : match.longitude || "",
|
|
|
|
|
longitude: match.longitude || "",
|
|
|
|
|
latitude: match.latitude || ""
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mastersCount = order.masters || null;
|
|
|
|
|
slavesCount = order.slaves || null;
|
|
|
|
|
sensorsCount = order.sensors || null;
|
|
|
|
|
motorSwitches = order.master_connections?.flatMap(mc => mc.motor_switches || []) || [];
|
|
|
|
|
electricals = order.electricals || [];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Step 6: Prepare master object for response
|
|
|
|
@ -1556,6 +1569,11 @@ exports.masterConnectedSlaveList = async (req, reply) => {
|
|
|
|
|
tankLocation: tankDetails?.tankLocation || null,
|
|
|
|
|
typeOfWater: masterTypeOfWater,
|
|
|
|
|
connectedSlaveCount: slaveCount,
|
|
|
|
|
masters: mastersCount,
|
|
|
|
|
slaves: slavesCount,
|
|
|
|
|
sensors: sensorsCount,
|
|
|
|
|
motor_switches: motorSwitches,
|
|
|
|
|
electricals: electricals,
|
|
|
|
|
data: combinedData
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@ -1569,6 +1587,7 @@ exports.masterConnectedSlaveList = async (req, reply) => {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exports.mastrerList = async (req, reply) => {
|
|
|
|
|
try {
|
|
|
|
|
const { customerId, installationId } = req.params;
|
|
|
|
|