, Guest>> || || |
/ Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M
 [ensemble]   [new]
Galefrei
Member

:
: 1
.

Production.Utils.AG.Event
Class Production.Utils.AG.Event Extends %SerialObject
{

Property Start As %TimeStamp;

Property End As %TimeStamp;

Property Caption As %String;

Property FuelDelta As %Integer;

Property MotoHours As %Integer;

<Storage name="Default">
<
Data name="EventState">
<
Value name="1">
<
Value>Start</Value>
</
Value>
<
Value name="2">
<
Value>End</Value>
</
Value>
<
Value name="3">
<
Value>Caption</Value>
</
Value>
<
Value name="4">
<
Value>FuelDelta</Value>
</
Value>
<
Value name="5">
<
Value>MotoHours</Value>
</
Value>
</
Data>
<
State>EventState</State>
<
StreamLocation>^Production.Utils.AG.EventS</StreamLocation>
<
Type>%Library.CacheSerialState</Type>
</
Storage>

}
Ensemble, Event
Class Production.Messages.AG.GetStageResponse Extends Ens.Response
{

Property Events As list Of Production.Utils.AG.Event;

<Storage name="Default">
<
Data name="GetStageResponseDefaultData">
<
Subscript>"GetStageResponse"</Subscript>
<
Value name="1">
<
Value>Events</Value>
</
Value>
</
Data>
<
DefaultData>GetStageResponseDefaultData</DefaultData>
<
Type>%Library.CacheStorage</Type>
</
Storage>
}
- AG.GetStage
+
Class Production.Operations.AG.GetStage Extends Production.Operations.AG.BaseOperation
{

Method GetStage(
  
pRequest As Production.Messages.AG.GetStageRequest,
  
pResponse As Production.Messages.AG.GetStageResponseAs %String
{
    
set st $$$OK
    
    try
    
{
        
set agUrl = ^AG.Settings("AutographServiceUrl")
        
set agScheme = ^AG.Settings("AutographSchemeName")
    
        
set url agUrl_"/GetStage/"_agScheme_"/"_pRequest.Id_"/"_..TimeStampToAutograph(pRequest.Start)_"/"_..TimeStampToAutograph(pRequest.End)_"/"_pRequest.Parameter
        set 
jsonObj = ..GetJson(url).GetAt(1).Value
    
        set 
pResponse ##class(Production.Messages.AG.GetStageResponse).%New()
    
        
set mhIdx = 0
        
set fdIdx = 0
        
set parameters jsonObj.Params
        for 
= 1:1:parameters.Count()
        
{
            
set parameter parameters.GetAt(i)
            
if (parameter "Engine1Motohours"set mhIdx i
            
if (parameter pRequest.Parameter_"UpDnVol"set fdIdx i
        
}
    
        
set items jsonObj.Items
        for 
= 1:1:items.Count()
        
{
            
set item items.GetAt(i)
        
            
set event ##class(Production.Utils.AG.Event).%New()
            
set event.Start = ..TimeStampFromAutograph(item.SD)
            
set event.End = ..TimeStampFromAutograph(item.ED)
            
set event.Caption item.Caption
        
            if 
(mhIdxset event.MotoHours = ..TimeFromAutograph(item.Values.GetAt(mhIdx))
            
if (fdIdxset event.FuelDelta = ..TimeFromAutograph(item.Values.GetAt(fdIdx))
        
            
do pResponse.Events.Insert(item)   
        
}
    }
    
catch e
    
{
        
set st e.AsStatus()    
    
}
    
    
return st
}

XData MessageMap
{
<
MapItems>
    <
MapItem MessageType="Production.Messages.AG.GetStageRequest">
        <
Method>GetStage</Method>
    </
MapItem>
 </
MapItems>
}

}
:
 #5002: : <LIST>%SerializeObject+5^Production.Messages.AG.GetStageResponse.1
Ensemble: 2014.1.0.591.0. .

?
20 16, 08:52[19802660]      |
 Re: [ensemble]   [new]
servit
Member

: . ,
: 3117

Galefrei,
PropertyEventsAslistOfProduction.Utils.AG.Event;
ClassProduction.Utils.AG.EventListExtends%ListOfObjects
{

ParameterELEMENTTYPE="Production.Utils.AG.Event";

}


ClassProduction.Messages.AG.GetStageResponseExtendsEns.Response
{

PropertyEventsAsProduction.Utils.AG.EventList;

...
}


?
PS:
20 16, 09:14[19802729]      |
 Re: [ensemble]   [new]
servit
Member

: . ,
: 3117

- :
Galefrei
fori=1:1:items.Count()
{
setitem=items.GetAt(i)

setevent=##class(Production.Utils.AG.Event).%New()
setevent.Start=..TimeStampFromAutograph(item.SD)
setevent.End=..TimeStampFromAutograph(item.ED)
setevent.Caption=item.Caption

if
(mhIdx)setevent.MotoHours=..TimeFromAutograph(item.Values.GetAt(mhIdx))
if(fdIdx)setevent.FuelDelta=..TimeFromAutograph(item.Values.GetAt(fdIdx))

dopResponse.Events.Insert(item event)
}
20 16, 09:55[19802966]      |
/ Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M