67 lines
4.0 KiB
Plaintext
67 lines
4.0 KiB
Plaintext
<!--- смешная реализация полиморфизма--->
|
||
<cfparam name="ATTRIBUTES.entity"/>
|
||
|
||
<cfset spec=structNew()/>
|
||
<!---*** Удивительно: основная таблица должна иметь алиас d --->
|
||
<cfswitch expression=#ATTRIBUTES.entity#>
|
||
<cfcase value="abstract_service">
|
||
<cfset spec.selectHead="select abstract_service, code from abstract_service d "/>
|
||
<cfset spec.format="Абстрактная услуга ##code## ##abstract_service## "/>
|
||
</cfcase>
|
||
<!---
|
||
<cfcase value="equipment_model">
|
||
<cfset spec.selectHead="select type_short, vendor_short, equipment_model, model_number from v_model d"/>
|
||
<cfset spec.format="модель ##type_short## ##vendor_short## ##equipment_model## ##model_number##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="service_contract">
|
||
<cfset spec.selectHead="select d.service_contract, d.subject, d.dt_contract, v.shortname as vendor_short from service_contract d left outer join vendor v on d.vendor_id=v.vendor_id "/>
|
||
<cfset spec.format="сервисный договор ##vendor_short## ##service_contract## от ##dateFormat(dt_contract,'DD.MM.YYYY')## ##subject##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="supply_contract">
|
||
<cfset spec.selectHead="select supply_contract, d.subject, d.dt_contract, v.shortname as vendor_short from supply_contract d left outer join vendor v on d.vendor_id=v.vendor_id "/>
|
||
<cfset spec.format="договор поставки ##vendor_short## ##supply_contract## от ##dateFormat(dt_contract,'DD.MM.YYYY')## ##subject##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="maint">
|
||
<cfset spec.selectHead="select maint_id, maint, dt_maint, type_short, vendor_short, equipment_model, equipment, place from v_maint d "/>
|
||
<cfset spec.format="заявка/протокол ТО N##maint_id## ##maint## от ##dateFormat(dt_maint,'DD.MM.YYYY')## ##type_short## ##vendor_short## ##equipment_model## ##equipment## ##place##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="maint_op">
|
||
<cfset spec.selectHead="select maint_op_id, op_spec, dt_maint_op, type_short, vendor_short, equipment_model, equipment, place from v_maint_op d "/>
|
||
<cfset spec.format="сервисная операция ##op_spec## от ##dateFormat(dt_maint_op,'DD.MM.YYYY')## ##type_short## ##vendor_short## ##equipment_model## ##equipment## ##place##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="contact">
|
||
<cfset spec.selectHead="select d.contact_id, d.contact, v.vendor from contact d left outer join vendor v on d.vendor_id=v.vendor_id "/>
|
||
<cfset spec.format="Сотрудник ##contact## подрядчика ##vendor##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="delivery">
|
||
<cfset spec.selectHead="select d.delivery_id, d.delivery, d.dt_delivery, v.vendor, s.site from delivery d left outer join v_site s on (d.site_id=s.site_id) left outer join vendor v on (d.vendor_id=v.vendor_id) "/>
|
||
<cfset spec.format="Поставка/списание ЗИП ##delivery## - ##site## от ##dateFormat(dt_delivery,'DD.MM.YYYY')## ##vendor##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="work_order">
|
||
<cfset spec.selectHead="select d.work_order_id, d.work_order, d.dt_work_order, v.vendor, b.building, s.site from work_order d
|
||
left outer join v_building b on (d.building_id=b.building_id)
|
||
left outer join v_site s on (b.site_id=s.site_id)
|
||
left outer join vendor v on (d.contractor_id=v.vendor_id) "/>
|
||
<cfset spec.format="Наряд ##vendor## № ##work_order_id## от ##dateFormat(dt_work_order,'DD.MM.YYYY')## - ##site## ##building##"/>
|
||
</cfcase>
|
||
|
||
<cfcase value="maint_program">
|
||
<cfset spec.selectHead="select d.maint_program_id, d.maint_program, t.shortname as type_short from maint_program d left outer join equipment_type t on (d.equipment_type_id=t.equipment_type_id)"/>
|
||
<cfset spec.format="Программа ТО ##maint_program## ##type_short## "/>
|
||
</cfcase>--->
|
||
|
||
<cfdefaultcase>
|
||
<cfthrow message="Specified entity is not supported" detail="Entity specified does not exist or does not support attachments"/>
|
||
</cfdefaultcase>
|
||
</cfswitch>
|
||
|
||
<cfif StructKeyExists(ATTRIBUTES, "output")>
|
||
<cfset SetVariable("CALLER.#ATTRIBUTES.output#", spec)/>
|
||
</cfif> |