P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="UTF-8" ?>
<?DOCTYPE sqls SYSTEM "../config/sql.dtd" ?>
 
<sqls>
    <dataSpace name="demoRebate">
    
        <sql name = "getRebateAmtDetailSet">
           <![CDATA[
           select detail.*, concat(DATE_FORMAT(CURRENT_DATE, 'ZKD%y%m%d'), SUBSTR(code_next_sequence('Code-RebateD-zk') + 100000, 2, 6))  code from (
                select `rebate_code`, `doc_code`, `year`, `season`, valid_from `doc_date`, valid_to `expire_date`, 
                    `org_id`, `account_id`, `account_code`, `account_name`, rebate_name `item_name`, 
                    `company_id`, `bu_id`, sum(ifnull(num_return,0)) `amt_book`, sum(ifnull(num_used,0)) `amt_used`, 
                    sum(ifnull(num_freeze,0))  `amt_freeze` from rebate_amt_flow
                where batch_mark = '@{batchMark}'
                group by year, season, company_id, bu_id, rebate_code, doc_code, account_id, valid_from, valid_to ) detail
           ]]>
        </sql>
           
        <sql name = "updateFlowRebateCode">
           <![CDATA[
                update rebate_amt_flow
                inner join rebate_amt_detail on rebate_amt_detail.year = rebate_amt_flow.year 
                                    and rebate_amt_detail.season = rebate_amt_flow.season
                                    and rebate_amt_detail.company_id = rebate_amt_flow.company_id
                                    and rebate_amt_detail.bu_id = rebate_amt_flow.bu_id
                                    and rebate_amt_detail.account_id = rebate_amt_flow.account_id
                                    and rebate_amt_detail.doc_date = rebate_amt_flow.valid_from
                                    and rebate_amt_detail.expire_date = rebate_amt_flow.valid_to
                set rebate_amt_flow.rebate_code = rebate_amt_detail.code, rebate_amt_flow.rebate_id = rebate_amt_detail.id
                where rebate_amt_flow.batch_mark = '@{batchMark}'
           ]]>
        </sql>
    </dataSpace>    
    
</sqls>