reports persist | polling freq ||

Query:


SOLUTION

create a target and config as report or any name
add schema
refer TargetSystems / ViewDetails:TransportLinkReports / Edit:reports in prayagraj

remind: metricProperties and identifier


set frequency as
{
  "frequency": 1800000
}



end 


code:


return new Promise((resolve, reject) => {
    Promise.all([Me.getConfigData({
        "groupType": "source",
        "groupName": "ATCS",
        "configName": "TransportStatic",
        "tenantId": "prayagraj.com"
    }),Me.getConfigData({
        "groupType": "source",
        "groupName": "ATCS",
        "configName": "TransportDynamic",
        "tenantId": "prayagraj.com"
    })]).then(gresponse => {
        var output = [];
var trns = gresponse[0].result.data[0].TransportLink[0].configurations;
var trns1 = gresponse[0].result.data[0].TransportLink[0].definitions;
var dyn = gresponse[1].result.data[0].TransportLink[0].dynamics;
      trns1.forEach(function(item, index) {
        var d = item.TransportLinkDefinition;
        var lat = d[15].Point[6].Latitude,
         lon = (d[15].Point[5].Longitude),
         lat1= (d[16].EndPoint[6].Latitude),
         lon1 = (d[16].EndPoint[5].Longitude);
        if(lon!=null){
      var abc = dyn.find(kItem => {
                var f = kItem.TransportLinkOtherDynamic;
                return (d[1].SystemCodeNumber) === (f[1].SystemCodeNumber);
            });
output.push({
        "geometry":{
         "coordinates": [[[
         parseFloat(lon),
         parseFloat(lat)
         ],
         [
           parseFloat(lon1),
           parseFloat(lat1)
      ]]],
         "type": "LineString"
        },
        "type":"Feature",
        "metricProperties":{
          "SystemCodeNumber":{
            "val": d[1].SystemCodeNumber,
            "type": "string",
            "required": "true"
          },
          "location":{
            "val": d[9].ShortDescription,
            "type": "string",
            "required": "true"
          },
         "LinkDistance":{
            "val": parseFloat(d[13].LinkDistance),
          
            "type": "number",
            "required": "true"
          },  
          "congestion":{
            "val":abc ? parseInt(abc.TransportLinkOtherDynamic[11].CongestionPercent * 100)  + " %" : "NA",
   
            "type": "number",
            "required": "true"
          }, 
              "Vendor":{
            "val": "ITSPE",
         
            "type": "string",
            "required": "true"
          },
           
                },"identifier": d[9].ShortDescription,
                "timestamp":new Date().toISOString(),
                "tenant": "prayagraj",
                "tenantId": "prayagraj.com",
                "dbOperation": "IGNORE",
                "granularity": "rawData",
                "configName": "reports",
                "entityProperties": {
                    "location":{
            "val": d[9].ShortDescription,
            "type": "string",
            "required": "true"
          },
    
        }
         });

        }
        });
        resolve({
            "result": {
                "data": output,
                "metaInfo": Me.props.metaInfo
            }
        });
    }).catch(error => {
        resolve({
            "result": {
                "data": [],
                "metaInfo": Me.props.metaInfo
            }
        });
});
});

Comments

Popular posts from this blog

config aggregate and map

convert to ISO format