Как написать предложение OSLC-запроса where в Maximo Anywhere для оценки некоторого значения ‹ now()

Я настраиваю выполнение работы. Запрос журнала рабочих заданий, который вызывается при получении прошлых рабочих заданий для активов или местоположений, является открытым. Следовательно, каждый раз извлекается несколько тысяч строк, и время ожидания приложения истекает. Я могу добавить предложение where (см. ниже), чтобы ограничить его записями с окончанием действия после определенной даты. Однако то, что я хочу сделать, это что-то вроде этого...

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... без игры в кости. Любая помощь будет оценена по достоинству!


person Drew Hohnstein    schedule 31.01.2017    source источник
comment
Какую версию Maximo Anywhere вы используете?   -  person scott dickerson    schedule 01.02.2017
comment
Скотт, мы используем 7.6.1 на MobileFirst 7.1.   -  person Drew Hohnstein    schedule 02.02.2017
comment
Вы пытались изменить базу запросов и установить предложение where в Maximo?   -  person Jeroen    schedule 03.02.2017


Ответы (1)


Похоже, вы пытаетесь установить предложение where в app.xml. Хотя я думаю, что это могло бы сработать, вероятно, было бы в миллион раз проще сделать следующее.

  1. продублируйте ресурс, затем закомментируйте оригинал
  2. Создайте сохраненный запрос в Maximo с предложением where, которое вам нужно a. spi:status в ['COMP','CLOSE'] и spi_wm:actfinish>'2016-10-10T09:50:00-04:00'
  3. Назовите сохраненный запрос «ANYWHERE_WOHIST» или что-то в этом роде.
  4. Измените повторяющийся ресурс, чтобы он указывал на ваш новый сохраненный запрос.

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

Кроме того, это позволяет управлять запросом where в бэкенде, поэтому, когда ваши пользователи решат, что они хотят увидеть здесь что-то еще, вы можете управлять запросом в Maximo. Мы приближаемся к завершению нашего проекта с Anywhere, поэтому не стесняйтесь обращаться к нам, если вы хотите обменяться военными историями.

person Kasey    schedule 09.02.2017