Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
vendors:cisco:uc:webconnect:js [2024/11/18 09:41] – [Format what we want the above to be in] gerardorourkevendors:cisco:uc:webconnect:js [2025/08/23 11:29] (current) – [Positions] gerardorourke
Line 82: Line 82:
     2;     2;
 } }
 +</code>
 +
 +
 +===== Positions =====
 +
 +JDS -> Data Parse
 +<code JavaScript>
 +//var jsonString = '{"meta":{"organizationId":"5818cf70-ae2c-4baa-8f1f-48887c8a806a","workspaceId":"67d924cb4f3fdd73d498afd8","resultCount":3,"identity":null},"data":[{"id":"70d22c95-769f-4b4c-8b69-2860cdaa1b07","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T09:31:30.93Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700808,"longitude":-6.1172522}}},{"id":"b70e35db-4090-4799-8fb7-6bd9708bf824","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T09:11:15.834Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700706,"longitude":-6.1172585}}},{"id":"2cb9a904-d0f9-4f95-879f-fe7dd6dea410","specversion":"1.0","type":"ie.eirevo.wxcc.customer.openeir.dp.fault","source":"2025-08-22","time":"2025-08-22T08:57:37.009Z","identity":"353858769707","identitytype":"socialId","previousidentity":null,"datacontenttype":"application/json","data":{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700762,"longitude":-6.117223}}}]}'
 +
 +var jsonString = jdsResponseBody;
 +var inputJson = JSON.parse(jsonString); // convert string → object
 +
 +var outputJson = [];
 +for (var i = 0; i < inputJson.data.length; i++) {
 +    outputJson.push(inputJson.data[i].data);
 +}
 +var jsonJdsDataObjectsString = JSON.stringify(outputJson);
 +1;
 +</code>
 +
 +=== min distance ===
 +<code JavaScript>
 +//var jsonString ='[{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700808,"longitude":-6.1172522}},{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700706,"longitude":-6.1172585}},{"eircode":"unknown","item":"Pole","position":{"latitude":53.2700762,"longitude":-6.117223}}]'
 +var jsonString = jsonJdsDataObjectsString;
 +
 +//var lat_ref = 53.2700681;
 +//var lon_ref = -6.1172521;
 +//var min_dist = 200;
 +
 +var lat_ref = locationLatitude;
 +var lon_ref = locationLongitude;
 +var min_dist = min_dist;
 +
 +var inputJson = JSON.parse(jsonString); // convert string → object
 +var distMeter = Math.sqrt(Math.pow(lat_ref, 2) + Math.pow(lon_ref, 2));
 +function computeDistance(lat, lon, lat_ref, lon_ref) {
 +    var latDiffMeter = 111320 * (lat - lat_ref);
 +    var lonDiffMeter = 67700 * (lon - lon_ref);
 +    var distMeter = Math.sqrt(Math.pow(latDiffMeter, 2) + Math.pow(lonDiffMeter, 2));
 +    //return {latDiffMeter, lonDiffMeter, distMeter};
 +    return {
 +        latDiffMeter: latDiffMeter, lonDiffMeter: lonDiffMeter, distMeter: distMeter
 +    };
 +}
 +
 +// Process each entry
 +var output = [];
 +for (var i = 0; i < inputJson.length; i++) {
 +    var entry = inputJson[i];
 +    var latitude = entry.position.latitude;
 +    var longitude = entry.position.longitude;
 +    var dist = computeDistance(latitude, longitude, lat_ref, lon_ref);
 +
 +    if (dist.distMeter <= min_dist) {
 +        output.push({
 +            eircode: entry.eircode,
 +            item: entry.item,
 +            latitude: latitude,
 +            longitude: longitude,
 +            //LatitudeDiffMeter: dist.latDiffMeter,
 +            //LongitudeDiffMeter: dist.lonDiffMeter,
 +            DistMeter: dist.distMeter
 +        });
 +    }
 +}
 +
 +jsonMinDistanceString = JSON.stringify(output);
 +
 +if (output === []) {
 +    1;
 +} else {
 +    2;
 +}
 +</code>
 +
 +<code JavaScript>
 +//var jsonString = '[{"eircode":"ABC1001","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1002","item":"banana","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1003","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258},{"eircode":"ABC1004","item":"pole","latitude":53.12345,"longitude":-6.123456,"DistMeter":16324.886386556258}]';
 +var jsonString = jsonMinDistanceString;
 +var inputJson = JSON.parse(jsonString);
 +
 +// Count occurrences
 +var counts = {};
 +for (var i = 0; i < inputJson.length; i++) {
 +    var itemName = inputJson[i].item;
 +    // Normalize first letter uppercase, rest lowercase (like "Pole", "Banana")
 +    var formattedName = itemName.charAt(0).toUpperCase() + itemName.slice(1).toLowerCase();
 +
 +    if (counts[formattedName]) {
 +        counts[formattedName]++;
 +    } else {
 +        counts[formattedName] = 1;
 +    }
 +}
 +
 +// Convert counts object into array of {Item, Count}
 +var output = [];
 +for (var key in counts) {
 +    if (counts.hasOwnProperty(key)) {
 +        output.push({
 +            Item: key,
 +            Count: counts[key]
 +        });
 +    }
 +}
 +
 +jsonDuplicateString = JSON.stringify(output);
 +1;
 +</code>
 +
 +<code JavaScript>
 +//var jsonString =  = '[{"Item":"Pole and cables","Count":1},{"Item":"Pole","Count":3}]';
 +var jsonString = jsonDuplicateString;
 +var inputJson = JSON.parse(jsonString);
 +
 +duplicateListString = "";
 +
 +for (var i = 0; i < inputJson.length; i++) {
 +    var item = inputJson[i];
 +    duplicateListString += "ItemName: " + item.Item + ", Report Count: " + item.Count + "\n";
 +}
 +
 +1;
 </code> </code>
  • vendors/cisco/uc/webconnect/js.1731922895.txt.gz
  • Last modified: 2024/11/18 09:41
  • by gerardorourke