<?xml version="1.0" encoding="UTF-8"?>
<bm:model xmlns:bm="http://www.leaf-framework.org/schema/bm">
    <bm:fields>
        <bm:field name="attachment_id"/>
        <bm:field name="file_name"/>
        <bm:field name="file_path"/>
    </bm:fields>
    <bm:operations>
        <bm:operation name="query">
            <bm:query-sql><![CDATA[
select fa.file_name,fa.file_path,fa.attachment_id
                   from prj_cdd_item pi,PRJ_CDD_ITEM_CHECK pc,fnd_atm_attachment_multi fm,fnd_atm_attachment fa
                  where pc.cdd_item_id = pi.cdd_item_id
                   and fm.table_pk_value = pc.check_id
                   and fm.attachment_id = fa.attachment_id
                   and fm.table_name = 'CON_CONTRACT'
                   and pi.cdd_item in
                        (select decode(cf.templet_code,
                                'LEASE_CONTRACT_MASTER_OEC','CONTRACT',
                                'LEASE_REQUEST_OEC','LEASE_ITEM_REQ',
                                'LEASE_INFO_OEC','TN_GU_INFO',
                                'LEASE_SURE_PER_OEC','GUARANTEE_LETTER_OEC',
                                'LEASE_SURE_SEL_OEC','S_GUARANTEE_LETTER_OEC',
                                'LEASE_CHECK_OEC','CHECK_INFO',
                                'LEASE_SURE_PAR_OEC','SPOUSE_COMMITMENT',
                                'LEASE_SALE_RL_OEC','PUR_CONTRACT',
                                'LEASE_SALE_YL_OEC','PUR_CONTRACT',
                                'LEASE_SURE_BUS_OEC','GUARANTEE_LETTER_OEC',
                                'R_LEASE_CONTRACT_MASTER_OEC','CONTRACT',
                                'R_LEASE_REQUEST_OEC','LEASE_ITEM_REQ',
                                'R_LEASE_INFO_OEC','TN_GU_INFO',
                                'R_LEASE_SURE_PER_OEC','GUARANTEE_LETTER_OEC',
                                'R_LEASE_SURE_SEL_OEC','S_GUARANTEE_LETTER_OEC',
                                'R_LEASE_SURE_BUS_OEC','GUARANTEE_LETTER_OEC',
                                'R_LEASE_CHECK_OEC','CHECK_INFO',
                                'R_LEASE_SURE_PAR_OEC','SPOUSE_COMMITMENT',
                                'R_LEASE_SALE_OEC','PUR_CONTRACT',
                                'S_LEASE_CONTRACT_MASTER_B_OEC','CONTRACT',
                                'S_LEASE_PAY_OEC','CASHFLOW_INFO',
                                'S_LEASE_CHECK_OEC','CHECK_INFO',
                                'S_LEASE_SURE_PER_OEC','GUARANTEE_LETTER_OEC',
                                'S_LEASE_SURE_PAR_OEC','SPOUSE_COMMITMENT',
                                'S_LEASE_SURE_F_OEC','S_GUARANTEE_LETTER_OEC',
                                'S_LEASE_SURE_BUS_OEC','GUARANTEE_LETTER_OEC',
                                'S_LEASE_ORDER_OEC','ITEM_TRAN_NOTICE',
                                'S_LEASE_PAY_REQ_OEC','PAYMENT_REQ',
                                'S_LEASE_MOR_OEC','MORT_CONTRACT')
                    from con_ele_signer_file cf, con_contract_ele_signer cs
                   where cf.con_ele_signer_id = cs.con_ele_signer_id
                     and cs.contract_id = ${@contract_id}
                     and ((('AGENT' not in (select cb.bp_category
                     from con_contract_bp cb, hls_bp_master hm
                    where cb.bp_id = hm.bp_id
                      and hm.social_code = ${@id_no}
                      and cb.contract_id = cs.contract_id) or
                    not exists (select 1
                           from con_contract_bp cb, hls_bp_master hm
                          where cb.bp_id = hm.bp_id
                            and hm.social_code = ${@id_no}
                            and cb.contract_id = cs.contract_id))
                     and exists (select 1 from hls_doc_file_templet_signer hs,con_clause_templet ct,hls_doc_file_templet ht
                                        where hs.templet_id = ht.templet_id
                                         and ht.templet_code = ct.templet_code
                                         and ct.templet_id = cf.templet_id
                                         and hs.enable_flag = 'Y'
                                         and hs.signer_category not in ('AGENCY_STORE_SEAL','AGENCY_STORE_SIGN','HONGLING_SEAL','HONGLING_SIGN')))
                     or 'AGENT' in (select cb.bp_category
                   from con_contract_bp cb, hls_bp_master hm
                  where cb.bp_id = hm.bp_id
                    and hm.social_code = ${@id_no}
                    and cb.contract_id = cs.contract_id)))
                    and pi.cdd_list_id =
                        (select cc.cdd_list_id
                           from con_contract cc
                          where cc.contract_id = ${@contract_id}
                            and cc.data_class = 'NORMAL')
                    order by pi.order_seq
            ]]></bm:query-sql>
        </bm:operation>
    </bm:operations>
</bm:model>