累積時間計算(in:時刻型A/時刻型B、out:数値型C/数値型D)

指定した二つの日時から経過時間を計算し、累積時間としてデータ項目に加算します

    A. 計測開始時刻が格納されている時刻型データを選択してくださいデータ項目選択日時型必須
    B. 計測完了時刻が格納されている時刻型データを選択してくださいデータ項目選択日時型必須
    C. 経過時間(h)が格納されている数値型データを選択してください(更新)データ項目選択数値型必須
    D. 到達回数が格納されている数値型データを選択してください(更新)データ項目選択数値型必須
    -設定変数名設定ラベル
    Aconf_DataIdA計測開始時刻が格納されている時刻型データを選択してください
    Bconf_DataIdB計測完了時刻が格納されている時刻型データを選択してください
    Cconf_DataIdC経過時間(h)が格納されている数値型データを選択してください(更新)
    Dconf_DataIdD到達回数が格納されている数値型データを選択してください(更新)
    // Lost Time Calculator (ver. 20170523)
    // (c) 2017, Questetra, Inc. (the MIT License)
    
    //// == 自動工程コンフィグの参照 / Config Retrieving ==
    var dataIdA = configs.get( "conf_DataIdA" );
    var dataIdB = configs.get( "conf_DataIdB" );
    var dataIdC = configs.get( "conf_DataIdC" );
    var dataIdD = configs.get( "conf_DataIdD" );
    
    //// == ワークフローデータの参照 / Data Retrieving ==
    var loopCount = data.get( dataIdD ) - 0; // Java to JavaScript Number
    var lostTime  = data.get( dataIdC ) - 0; // Java to JavaScript Number
    
    var startTime = data.get( dataIdA ); 
    var endTime   = data.get( dataIdB ); 
    // com.questetra.bpms.util.AddableTimestamp
    
    //// == 演算 / Calculating ==
    loopCount = loopCount + 1;
    var intervalMilliSec = endTime.getTime() - startTime.getTime();
    var intervalHour = Math.ceil( intervalMilliSec / 10 / 3600 ) / 100;
    lostTime = lostTime + intervalHour;
    
    //// == ワークフローデータへの代入 / Data Updating ==
    retVal.put( dataIdD, java.math.BigDecimal( loopCount ) );
    retVal.put( dataIdC, java.math.BigDecimal( lostTime ) );
    

    • A’: Aで選択したデータ項目に格納されている時刻
    • B’: Bで選択したデータ項目に格納されている時刻
    • A’からB’までの経過時間(小数第2位)が、Cで選択したデータ項目に加算されます
      累積された回数がDで選択したデータ項目に格納されます