164 lines
8.0 KiB
Plaintext
164 lines
8.0 KiB
Plaintext
<cfsilent>
|
||
<cfimport prefix="m" taglib="lib"/>
|
||
<cfimport prefix="c" taglib="lib/controls"/>
|
||
<cfimport prefix="d" taglib="lib/data"/>
|
||
<cfimport prefix="layout" taglib="layout"/>
|
||
</cfsilent><m:silent silent="No">
|
||
|
||
<m:prepare_ls entity="abstract_service" pageInfoOut="pageInfo" trackOut="tr"/>
|
||
|
||
<m:filter_settings target="#pageInfo.entity#_ls">
|
||
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.abstract_service_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||
</m:filter_settings>
|
||
<cfset pageInfo.settings.filter=#filter#/>
|
||
|
||
<cftry>
|
||
<cfquery name="qRead" datasource="#request.DS#">
|
||
select
|
||
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
|
||
<d:field title="ID" cfSqlType="CF_SQL_INTEGER">a.abstract_service_id</d:field>
|
||
<d:field title="Код группы">g.area_code</d:field>
|
||
<d:field title="Группа">g.analytic_code</d:field>
|
||
<d:field title="Группа">g.area</d:field>
|
||
<d:field>a.area_id</d:field>
|
||
<d:field title="Номенклатура (RUS)">a.abstract_service</d:field>
|
||
<d:field title="Номенклатура (ENG)">a.abstract_service_en</d:field>
|
||
<d:field title="Код">a.code</d:field>/***use case: составное поле. А как сортировать*/
|
||
<d:field title="Статус">a.status_id</d:field>
|
||
<d:field title="Статус">s.status</d:field>
|
||
<d:field title="Ед. изм.">m.measure</d:field>
|
||
<d:field title="Ед. изм.">m.measure_short</d:field>
|
||
|
||
<d:field title="Ответственный">a.manager_id</d:field>
|
||
<d:field title="">u.login</d:field>
|
||
<d:field title="">u.firstname</d:field>
|
||
<d:field title="">u.middlename</d:field>
|
||
<d:field title="Ответственный">u.lastname</d:field>
|
||
<d:field title="Email ответственного">u.email</d:field>
|
||
<d:field title="">a.descr</d:field>
|
||
<d:field title="Коммерческие примечания">a.commercial_note</d:field>
|
||
<!--- <d:field title="Провайдер" cfSqlType="CF_SQL_INTEGER">(select count(*) from abstract_service_provider sp where sp.abstract_service_id=a.abstract_service_id) as provider_count</d:field> --->
|
||
<!---https://habr.com/ru/post/200120/--->
|
||
<!---<d:field title="Провайдеры">
|
||
/*MSSQL*/STUFF(CAST((
|
||
select [text()] = ', ' || "provider"
|
||
from abstract_service_provider sp
|
||
join provider p on (sp.provider_id=p.provider_id)
|
||
where sp.abstract_service_id=a.abstract_service_id
|
||
FOR XML PATH(''), TYPE) AS VARCHAR(MAX)), 1, 2, '')
|
||
as providers
|
||
</d:field>--->
|
||
<!--- <d:field title="Провайдеры">
|
||
/*PostgreSQL*/(select STRING_AGG(p.provider,', ')
|
||
from abstract_service_provider sp
|
||
join provider p on (sp.provider_id=p.provider_id)
|
||
where sp.abstract_service_id=a.abstract_service_id
|
||
)as providers
|
||
</d:field> --->
|
||
<!---<d:field title="Периодичность">p.payment_periodicity</d:field>--->
|
||
<d:field title="Компон.">(select count(*) from abstract_service_param_class ac where ac.abstract_service_id=a.abstract_service_id) as param_count</d:field>
|
||
<d:field title="Класс характеристики">c.modifier_class</d:field>
|
||
<d:field>a.modifier_class_id</d:field>
|
||
<d:field title="Вариан." cfSqlType="CF_SQL_INTEGER">(select count(*) from service s where s.abstract_service_id=a.abstract_service_id) as service_count</d:field>
|
||
<d:field title="Доп.усл.">(select count(*) from abstract_service_complementary ac where ac.abstract_service_id=a.abstract_service_id) as complementary_count</d:field>
|
||
<d:field title="Документов" cfSqlType="CF_SQL_INTEGER">(select count(*) from abstract_service_doc d where d.abstract_service_id=a.abstract_service_id) as doc_count</d:field>
|
||
</d:field_set>
|
||
from abstract_service a
|
||
left outer join modifier_class c on (a.modifier_class_id=c.modifier_class_id)
|
||
left outer join area g on (a.area_id=g.area_id)
|
||
left outer join measure m on (a.measure_id=m.measure_id)
|
||
left outer join status s on (a.status_id=s.status_id)
|
||
left outer join usr u on (a.manager_id=u.usr_id)
|
||
<!---left outer join payment_periodicity p on (b.payment_periodicity_id=p.payment_periodicity_id)--->
|
||
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
||
</cfquery>
|
||
|
||
<cfcatch type="database">
|
||
<cfrethrow/>
|
||
<m:ls_catch catch=#cfcatch# status=#pageInfo.status#/>
|
||
</cfcatch>
|
||
</cftry>
|
||
|
||
<cfquery name="qCountTotal" datasource="#request.DS#">
|
||
select count(*) as cnt from abstract_service where 1=1
|
||
</cfquery>
|
||
|
||
</m:silent><!---
|
||
-----------------------------------------------------------------------------------------
|
||
-----------------------------------------------------------------------------------------
|
||
-----------------------------------------------------------------------------------------
|
||
---><cfif isDefined("output_xls")>
|
||
<layout:xml qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
||
<cfabort/>
|
||
</cfif><cfif isDefined("output_json")>
|
||
<layout:json qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
||
<cfabort/>
|
||
</cfif><!---
|
||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||
|
||
|
||
<layout:attribute name="title">
|
||
<cfoutput><b>Абстрактные услуги</b> </cfoutput>
|
||
</layout:attribute>
|
||
</layout:page>
|
||
|
||
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
|
||
|
||
<layout:grid_summary
|
||
recordCount=#qRead.recordCount#
|
||
totalCount=#qCountTotal.cnt#
|
||
footerOut="gridFooter"
|
||
excelLink="Yes"
|
||
jsonLink="Yes"
|
||
/>
|
||
|
||
<table class="worktable">
|
||
<thead>
|
||
<layout:grid_head titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray#>
|
||
<th width="1%">
|
||
<c:link_add canWrite=#pageInfo.writePermitted()# entity=#pageInfo.entity# fwx=#tr.fwx#/>
|
||
</th>
|
||
<th width="1%"></th>
|
||
<th width="7%"><layout:column_head name="analytic_code"/></th>
|
||
<th width="2%"><layout:column_head name="code"/></th>
|
||
<th width="15%"><layout:column_head name="abstract_service"/></th>
|
||
<th width="3%"><layout:column_head name="measure_short"/></th>
|
||
<th width="2%"><layout:column_head name="param_count"/></th>
|
||
<th width="15%"><layout:column_head name="modifier_class"/></th>
|
||
<th width="2%"><layout:column_head name="service_count"/></th>
|
||
<th width="2%"><layout:column_head name="complementary_count"/></th>
|
||
<th width="2%"><layout:column_head name="lastname"/></th>
|
||
<th width="3%"><layout:column_head name="status"/></th>
|
||
<th width="1%"></th>
|
||
</layout:grid_head>
|
||
</thead>
|
||
|
||
<cfoutput query="qRead" maxrows=#pageInfo.recordsPerPage# startrow=#pageInfo.nStart#>
|
||
<tr>
|
||
<td class="c">
|
||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity=#pageInfo.entity# id=#qRead[pageInfo.entity&'_id'][currentRow]# fwx=#tr.fwx#/>
|
||
</td>
|
||
<td class="c"><cfif doc_count GT 0><img src="img/paperclip.gif" title="#doc_count# док."/></cfif></td>
|
||
<td><a href="area.cfm?area_id=#area_id#&#tr.fwx#">#analytic_code# #area#</a></td>
|
||
<td>#request.skuCode(area_code,code)#</td>
|
||
<td><a href="abstract_service.cfm?abstract_service_id=#abstract_service_id#&#tr.fwx#">#abstract_service#</a></td>
|
||
<td class="c">#measure_short#</td>
|
||
<td class="c"><cfif param_count GT 0>#param_count#</cfif></td>
|
||
<td><a href="modifier_class.cfm?modifier_class_id=#modifier_class_id#&#tr.fwx#">#modifier_class#</a></td>
|
||
<td class="c"><cfif service_count GT 0>#service_count#</cfif></td>
|
||
<td class="c"><cfif complementary_count GT 0>#complementary_count#</cfif></td>
|
||
<td class="c"><cfif manager_id GT 0><a href="mailto:#email#">#lastname# #firstname# #middlename#</a></cfif></td>
|
||
<td>#status#</td>
|
||
<td class="c">
|
||
<c:link_del canWrite=#pageInfo.writePermitted()# entity=#pageInfo.entity# id=#qRead[pageInfo.entity&'_id'][currentRow]# fwx=#tr.fwx#/>
|
||
</td>
|
||
</tr>
|
||
</cfoutput>
|
||
|
||
</table>
|
||
|
||
<cfoutput>#gridFooter#</cfoutput>
|
||
|
||
</cfif>
|
||
<layout:page section="footer"/> |