2017-01-31 5 views
2

저는 작업 실행을 구성하고 있습니다. 자산 또는 위치에 대한 과거 작업 지시를 검색 할 때 호출되는 작업 지시 내역 쿼리는 제한이 없습니다. 따라서 매번 수천 개의 행이 검색되고 응용 프로그램이 시간 초과됩니다. 특정 날짜 이후에 where 절 (아래 참조)을 첨부하여 actfinish 레코드로 제한 할 수 있습니다. 그러나, 제가하고 싶은 것은이 같은 ...OSLC 질의를 작성하는 방법 Maximo Anywhere의 절을 사용하여 somevalue를 평가 <now()

spi_wm:actfinish>now()-30 


<!--WorkOrder History Asset Resource--> 
    <resource id="workOrderHistoryAssetLoc" class="application.business.WorkOrderObject" defaultOrderBy="wonum asc" describedBy="http://jazz.net/ns/ism/work/smarter_physical_infrastructure#WorkOrder" name="workOrderHistoryAssetLoc" pageSize="50" providedBy="/oslc/sp/WorkManagement"> 
     <attributes id="workOrderHistoryAsset_attributes1"> 
      <attribute describedByProperty="dcterms:identifier" id="workOrderHistoryAsset_identifier_dctermsidentifier1" index="true" name="identifier"/> 
      <attribute describedByProperty="oslc:shortTitle" id="workOrderHistoryAsset_wonum_oslcshortTitle1" index="true" name="wonum"/> 
      <attribute describedByProperty="dcterms:title" id="workOrderHistoryAsset_description_dctermstitle1" index="true" method="descriptionChanged" name="description"/> 
      <attribute describedByProperty="spi:status" id="workOrderHistoryAsset_status_spistatus" index="true" method="statusChanged" name="status"/> 
      <localAttribute dataType="string" id="workOrderHistoryAsset_statusdesc_string" name="statusdesc"/>    
     </attributes> 
     <queryBases id="workOrderHistoryAsset_queryBasesh"> 
      <queryBase defaultForSearch="true" id="workOrderHistoryAsset_queryBase_searchAllWorkOrdersh" name="searchAllWorkOrdersAsset" queryUri="/oslc/os/oslcwodetail?savedQuery=getWithComplexQuery"/> 
      <!-- TODO AWH 20170130 - add where clause to this query -->         
     </queryBases> 
     <whereClause clause="spi:status in ['COMP','CLOSE'] and spi_wm:actfinish>'2016-10-10T09:50:00-04:00'" id="workOrderHistoryAssetLoc_whereClause"/> 
    </resource> 

내가 다른 곳에서 볼 수있는 app.xml의 공식이 어디하지만 난 뭔가를 달성하는 데 사용할 수 있습니다 사업자 또는 언어의 유형을 모르는입니다 이렇게. whereClause 애트리뷰트가 resolverClass와 resolverFunction을 사용하여 javascript 함수에서 파생 된 값으로 명명 된 매개 변수를 바꿀 수 있기를 바랬다. 어떤 도움을 주시면 감사하겠습니다!

+0

어떤 Maximo Anywhere 버전을 사용하고 있습니까? –

+0

Scott, MobileFirst 7.1에서 7.6.1을 사용 중입니다. –

+0

쿼리베이스를 변경하고 Maximo에서 where 절을 설정해 보았습니까? – Jeroen

답변

1

app.xml에서 where 절을 설정하려는 것 같습니다. 이 일 수 있다고 생각하지만, 다음과 같이하는 것이 100 만 배 더 쉬울 것입니다.

  1. 은 다음 리소스를 복제 원래
  2. 당신이 을 필요로하는 곳에 절을 MAXIMO에 저장된 쿼리를 만듭니다 주석. spi : [COMP, CLOSE] 및 spi_wm : actfinish> '2016-10-10T09 : 50 : 00-04 : 00'상태가 표시됩니다.
  3. 새 저장된 쿼리를 가리 키도록 중복 리소스를 수정하십시오.

    <queryBase defaultForSearch="true" id="workOrderHistoryAsset_queryBase_searchAllWorkOrdersh" name="searchAllWorkOrdersAsset" queryUri="/oslc/os/oslcwodetail?savedQuery=ANYWHERE_WOHIST"/> 
    

또한,이 사용자가 그들이 당신이 MAXIMO 내에서 쿼리를 옴 수있는 다른 여기에 뭔가를보고 싶어 결정 그렇게 할 때, 절 백엔드에서 관리 할 수있는 쿼리를 할 수 있습니다. 우리는 어디서나 우리 프로젝트의 끝이 가까워지고 있으므로 전쟁 이야기를 교환하고 싶다면 언제든지 연락하십시오.