Постановка задачи
Инструмент
Параметр поиска
<bean id="attorneyConfidant" class="ru.intertrust.cmj.af.search.dp.CmParameter" c:id="confidant" c:name="Доверенное лицо:" c:messageSource-ref="cmj_af_search_messageSource" c:type-ref="tvcard"> <constructor-arg name="classifier"> <list value-type="ru.intertrust.cmj.af.search.Classifier"> <ref bean="fvCurrHumanHH"/> <ref bean="clCurSysEmps"/> <ref bean="clNosys"/> </list> </constructor-arg> </bean>
Конфигурация поиска
<bean id="dominoRequestConfigAttorney" class="ru.intertrust.cmj.af.search.dp.request.DominoRequestConfig"> <!-- Отображение ID параметров запроса на поля notes документа --> <property name="nsFieldsByParamByBundleID"> <map merge="true"> <entry key="rkk#reqType" value="ReqType"/> <entry key="rkk#subject" value="Subject"/> <entry key="rkk#regFullNumber" value="RNumber_Full"/> <entry key="rkk#dateAttorney" value="dateAttorney"/> <entry key="rkk#Srok" value="Srok"/> <entry key="rkk#confidant" value="confidant"/> <entry key="rkk#authorizedPerson" value="Superior"/> <entry key="rkk#executor" value="From"/> <entry key="rkk#ReasonDeliv" value="ReasonDeliv"/> <entry key="rkk#ReasonCanc" value="ReasonCanc"/> <entry key="rkk#ReestrNum" value="ReestrNum"/> </map> </property> <property name="formulasByParamByBundleID"> <map> <entry key="rkk#searchInContent" value="[Body]="%par%" OR [Appendix]="%par%" OR [$File]="%par%""/> </map> </property> <!-- Отображение ID бандла на имя формы notes документа --> <property name="formsByBundleID"> <map merge="true"> <entry key="rkk" value="Output"/> </map> </property> </bean>
Подключение поиска
<bean id="rootScopeBuilder" class="ru.intertrust.cmj.af.search.ScopeTreeBuilder"> <property name="childs"> <list> <bean class="ru.intertrust.cmj.af.search.dp.CmDocTypesScopeBuilder"> <constructor-arg index="0" value="attorney"/> <constructor-arg index="1" value="Attorney"/> <constructor-arg index="2"> <list> <ref bean="subject"/> </list> </constructor-arg> <constructor-arg index="3"> <set> <ref bean="AdvancedAttorneyBundle"/> <ref bean="mainDocBundleForCustom"/> </set> </constructor-arg> <constructor-arg index="4"> <list> <ref bean="attorneySearcher"/> </list> </constructor-arg> <constructor-arg index="5"> <ref bean="cmSearchScopeCompositExBuilder"/> </constructor-arg> </bean> </list> </property> </bean>
Подключение поиска
<bean id="attorneySearcher" class="ru.intertrust.cm_sochi.srv.connector.sochi.search.SochiSolrSearcher"> <constructor-arg name="cmAppSystemId" value="Attorney"/> <constructor-arg name="isNamed" value="true"/> <constructor-arg name="searchArea" value="Attorney"/> <constructor-arg name="targetCollectionName" value="(search)"/> <constructor-arg> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.search.OutputDocsSearchFilterCreator"/> </constructor-arg> <constructor-arg> <bean class="ru.intertrust.cmj.af.search.dp.docinfo.CustomModuleInfoExtractor" c:messageSource-ref="cmj_af_search_messageSource" c:ident="Attorney"/> </constructor-arg> </bean>
Пример. Область поиска
<search-area name="Attorney"> <target-domain-object type="F_DP_OutputRkk"> <linked-domain-object type="F_DP_Rkk_SigningInfo"> <indexed-field name="Superior" search-by="substring" language=""> <doel>signer.orig_shortname</doel> </indexed-field> <parent-link> <doel>Owner</doel> </parent-link> </linked-domain-object> </target-domain-object> </search-area>
Реализация
Если есть какие-то нюансы по реализации, указать. Если нет, то удалить данный пункт