2017-08-28 45 views
0

我想使用Java-API更改特定作業流中作業的最後期限。 更新jobstream本身的最後期限不會造成任何問題。在jobstream級別使用queryfilter,我得到jobstreamheader-id(jsh)並實例化一個JobStream對象。這可以修改並退回。無法通過tws更新特定作業流中的作業截止日期Java API

JobStream js = (JobStream) model.getTWSObject(JobStream.class, jsh.getId(), false, context); 
    TimeRestrictions t = js.getTimeRestrictions(); 
    t.setDeadlineOffset(Long.parseLong(newDlineOffset)); 
    js.setTimeRestrictions(t); 
    model.setTWSObject(js, false, false, context); 

但是我不明白我如何更新JobStream中作業的時間限制。我能得到的作業列表中作業流,並發現這些工作本身的timerestrictions:

List<Job> joblist = js.getJobs(); 
    for (Job j : joblist) { 
    j.getTimeRestrictions().getDeadlineOffset(); 
    } 

然而,編輯工作對象,我似乎無法再次更新作業流對象後; jobstream對象沒有setJobs函數。

有沒有人有一個想法,我怎麼能意識到這一點?

回答

0

原來,沒有必要再次明確設置JobStream的Job。編輯作業,然後設置JobStream對象時,編輯後的Job屬性也包含在JobStream對象中。

JobStream js = (JobStream) model.getTWSObject(JobStream.class, jsh.getId(), false, context); 
List<Job> joblist = js.getJobs(); 
    for (Job j : joblist) { 
    TimeRestrictions t = j.getTimeRestrictions(); 
    t.setDeadLineOffset(offset); 
    j.setTimeRestrictions(t); 
    } 
model.setTWSObject(js, false, false, context); 
0

,以更新的工作流內的工作,你應該改變對工作的價值,然後再

設定的工作流在您的例子:

 List<Job> joblist = js.getJobs(); 
      for (Job j : joblist) { 
      j.getTimeRestrictions().setDeadlineOffset(Long.parseLong(newDlineOffset));    
      } 

     model.setTWSObject(js, false, false, context); 

我希望這可以幫助。

洛倫佐

+0

,昨天我才意識到,以及(見文章),但感謝你的回答! – TinekeW

+0

不客氣,我很樂意協助進一步澄清tws api! –