P15GEN2\59518
2025-10-10 9f6890646993d16260d4201d613c092132856127
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
<?xml version="1.0" encoding="UTF-8" ?>
    
<sqls>
    <dataSpace name="export">
    
        <sql name="getSoImplantDetailList">
        <![CDATA[
            SELECT
                so_implant_detail.*,
                so_implant.id AS so_implant__id, so_implant.idx AS so_implant__idx,
                so_implant.company_id AS so_implant__company_id,    so_implant.company_name AS so_implant__company_name,
                so_implant.bu_id AS so_implant__bu_id,    so_implant.bu_name AS so_implant__bu_name,
                so_implant.state_code AS so_implant__state_code,    so_implant.state_name AS so_implant__state_name,
                so_implant.type_code AS so_implant__type_code,    so_implant.type_name AS so_implant__type_name,
                so_implant.CODE AS so_implant__code,    so_implant.doc_date AS so_implant__doc_date,so_implant.sale_date AS so_implant__sale_date,
                so_implant.implant_type AS so_implant__implant_type,
                so_implant.implant_evidence_code AS so_implant__implant_evidence_code,so_implant.implant_evidence_name AS so_implant__implant_evidence_name,
                so_implant.invoice_date AS so_implant__invoice_date,so_implant.invoice_month AS so_implant__invoice_month,
                so_implant.invoice_no AS so_implant__invoice_no,    so_implant.implant_date AS so_implant__implant_date,
                so_implant.org_id AS so_implant__org_id,    so_implant.customer_id AS so_implant__customer_id,
                so_implant.customer_code AS so_implant__customer_code,    so_implant.customer_name AS so_implant__customer_name,
                so_implant.sale_region so_implant__sale_region, so_implant.sale_region_employee_code so_implant__sale_region_employee_code,
                so_implant.sale_region_employee_name so_implant__sale_region_employee_name, so_implant.sale_area_employee_code so_implant__sale_area_employee_code, 
                so_implant.sale_area_employee_name so_implant__sale_area_employee_name, so_implant.sale_position_employee_code so_implant__sale_position_employee_code,
                so_implant.sale_position_employee_name so_implant__sale_position_employee_name, 
                so_implant_operation.department so_implant_operation__department,
                so_implant_operation.patient so_implant_operation__patient,
                so_implant_operation.patient_sex so_implant_operation__patient_sex,
                so_implant_operation.patient_age so_implant_operation__patient_age,
                so_implant_operation.patient_disease so_implant_operation__patient_disease,
                md_hospital.province md_hospital__province, 
                md_hospital.city md_hospital__city, md_hospital.county md_hospital__county, md_hospital.level_no md_hospital__level_no, 
                md_hospital.grade md_hospital__grade, so_implant.hospital_id AS so_implant__hospital_id,    so_implant.hospital_code AS so_implant__hospital_code,
                so_implant.hospital_name AS so_implant__hospital_name,    so_implant.qty_total AS so_implant__qty_total,
                so_implant.implant_attachment AS so_implant__implant_attachment,    so_implant.revoke_reason AS so_implant__revoke_reason,
                so_implant.period AS so_implant__period,    so_implant.remark AS so_implant__remark,
                so_implant.is_frozen AS so_implant__is_frozen,    so_implant.creator_id AS so_implant__creator_id,
                so_implant.creator_code AS so_implant__creator_code,    so_implant.creator_name AS so_implant__creator_name,
                so_implant.create_time AS so_implant__create_time,    so_implant.update_time AS so_implant__update_time 
            FROM so_implant_detail
            LEFT JOIN so_implant ON so_implant_detail.parent_id = so_implant.id 
             LEFT JOIN so_implant_operation ON so_implant_operation.parent_id = so_implant.id
            left join md_hospital on md_hospital.id = so_implant.hospital_id
            WHERE @{filter} @{orderby} @{limit}
        ]]>    
        </sql>
        
        <sql name="getSoImplantDetailCount">
        <![CDATA[
            SELECT count(1) 
            FROM so_implant_detail
            LEFT JOIN so_implant ON so_implant_detail.parent_id = so_implant.id 
             LEFT JOIN so_implant_operation ON so_implant_operation.parent_id = so_implant.id
            left join md_hospital on md_hospital.id = so_implant.hospital_id
            WHERE @{filter} @{orderby} @{limit}
        ]]>    
        </sql>
            
        <sql name="getSoImplantInvoiceDetailList">
        <![CDATA[
            SELECT
                so_implant_invoice_detail.*,
                so_implant.id AS so_implant__id,    so_implant.idx AS so_implant__idx,    so_implant.company_id AS so_implant__company_id,
                so_implant.company_name AS so_implant__company_name,    so_implant.bu_id AS so_implant__bu_id,
                so_implant.bu_name AS so_implant__bu_name,    so_implant.state_code AS so_implant__state_code,
                so_implant.state_name AS so_implant__state_name,    so_implant.type_code AS so_implant__type_code,
                so_implant.type_name AS so_implant__type_name,    so_implant.CODE AS so_implant__code,
                so_implant.invoice_date AS so_implant__invoice_date,so_implant.invoice_month AS so_implant__invoice_month,
                so_implant.doc_date AS so_implant__doc_date,    so_implant.sale_date AS so_implant__sale_date,
                so_implant.implant_type AS so_implant__implant_type, so_implant.invoice_no AS so_implant__invoice_no,
                so_implant.implant_date AS so_implant__implant_date,    so_implant.org_id AS so_implant__org_id,
                so_implant.customer_id AS so_implant__customer_id,    so_implant.customer_code AS so_implant__customer_code,
                so_implant.customer_name AS so_implant__customer_name, 
                so_implant.sale_region so_implant__sale_region, so_implant.sale_region_employee_code so_implant__sale_region_employee_code,
                so_implant.sale_region_employee_name so_implant__sale_region_employee_name, so_implant.sale_area_employee_code so_implant__sale_area_employee_code, 
                so_implant.sale_area_employee_name so_implant__sale_area_employee_name, so_implant.sale_position_employee_code so_implant__sale_position_employee_code,
                so_implant.sale_position_employee_name so_implant__sale_position_employee_name,
                so_implant_invoice.id AS so_implant_invoice__id,    so_implant_invoice.implant_id AS so_implant_invoice__implant_id,
                so_implant_invoice.CODE AS so_implant_invoice__code,    so_implant_invoice.invoice_number AS so_implant_invoice__invoice_number,
                so_implant_invoice.machine_no AS so_implant_invoice__machine_no,    so_implant_invoice.check_code AS so_implant_invoice__check_code,
                so_implant_invoice.invoice_date AS so_implant_invoice__invoice_date,
                so_implant.implant_evidence_code AS so_implant__implant_evidence_code,so_implant.implant_evidence_name AS so_implant__implant_evidence_name,
                so_implant_invoice.has_seller_list AS so_implant_invoice__has_seller_list,
                so_implant_invoice.traffic_free_flag AS so_implant_invoice__traffic_free_flag,    so_implant_invoice.type_code AS so_implant_invoice__type_code,
                so_implant_invoice.buyer_name AS so_implant_invoice__buyer_name,    so_implant_invoice.buyer_taxcode AS so_implant_invoice__buyer_taxcode,
                so_implant_invoice.buyer_address_phone AS so_implant_invoice__buyer_address_phone,    so_implant_invoice.buyer_bank_account AS so_implant_invoice__buyer_bank_account,    so_implant_invoice.seller_name AS so_implant_invoice__seller_name,
                so_implant_invoice.seller_taxcode AS so_implant_invoice__seller_taxcode,    so_implant_invoice.seller_address_phone AS so_implant_invoice__seller_address_phone,    so_implant_invoice.seller_bank_account AS so_implant_invoice__seller_bank_account,
                so_implant_invoice.seller_list_tax AS so_implant_invoice__seller_list_tax,    so_implant_invoice.amount_with_tax AS so_implant_invoice__amount_with_tax,
                so_implant_invoice.amount_without_tax AS so_implant_invoice__amount_without_tax,    so_implant_invoice.amount_tax AS so_implant_invoice__amount_tax,
                so_implant_invoice.bureau_tax AS so_implant_invoice__bureau_tax,
                so_implant_invoice.remark AS so_implant_invoice__remark,    so_implant_invoice.file_id AS so_implant_invoice__file_id,
                so_implant_invoice.create_time AS so_implant_invoice__create_time,
                md_hospital.province md_hospital__province ,
                md_hospital.city md_hospital__city, md_hospital.county md_hospital__county, md_hospital.level_no md_hospital__level_no, 
                md_hospital.grade md_hospital__grade,    so_implant.hospital_id AS so_implant__hospital_id,
                so_implant.hospital_code AS so_implant__hospital_code,    so_implant.hospital_name AS so_implant__hospital_name,
                so_implant.qty_total AS so_implant__qty_total,    so_implant.implant_attachment AS so_implant__implant_attachment,
                so_implant.revoke_reason AS so_implant__revoke_reason,    so_implant.period AS so_implant__period,
                so_implant.remark AS so_implant__remark,    so_implant.is_frozen AS so_implant__is_frozen,
                so_implant.creator_id AS so_implant__creator_id,    so_implant.creator_code AS so_implant__creator_code,
                so_implant.creator_name AS so_implant__creator_name, so_implant.create_time AS so_implant__create_time,
                so_implant.update_time AS so_implant__update_time 
             FROM so_implant_invoice_detail  
             LEFT JOIN so_implant ON so_implant_invoice_detail.implant_id = so_implant.id
             LEFT JOIN so_implant_invoice ON so_implant_invoice.implant_id = so_implant.id 
             left join md_hospital on md_hospital.id = so_implant.hospital_id 
            WHERE @{filter} @{orderby} @{limit}
        ]]>    
        </sql>
        
        <sql name="getSoImplantInvoiceDetailCount">
        <![CDATA[
            SELECT count(1)
             FROM so_implant_invoice_detail  
             LEFT JOIN so_implant ON so_implant_invoice_detail.implant_id = so_implant.id
             LEFT JOIN so_implant_invoice ON so_implant_invoice.implant_id = so_implant.id 
             left join md_hospital on md_hospital.id = so_implant.hospital_id 
            WHERE @{filter} @{orderby} @{limit}
        ]]>    
        </sql>
        
        <sql name="getPositionEmployeeCount">
          <![CDATA[
              select count(1)
            from md_position
            left join md_position parent_position on md_position.parent_id = parent_position.id 
            left join md_position_employee ON md_position.id = md_position_employee.position_id 
            LEFT JOIN md_employee  ON md_position_employee.employee_id =  md_employee.id  
            where @{filter} @{orderby} @{limit}
          ]]>
       </sql>    
            
           <sql name="getPositionEmployeeList">
          <![CDATA[
              select md_position.*,
                  md_position.idx md_position__idx , 
                  parent_position.id parent_position_id ,    parent_position.company_id parent_position_company_id,
                parent_position.division_id parent_position_division_id,    parent_position.parent_id parent_position_parent_id,
                parent_position.category_code parent_position_category_code,    parent_position.code parent_position_code,
                parent_position.name parent_position_name,    parent_position.type_code parent_position_type_code,
                parent_position.type_name parent_position_type_name,    parent_position.remark parent_position_remark,
                parent_position.region parent_position_region,                    
                md_employee.id  md_employee__id,
                md_employee.org_id  md_employee__org_id,     md_employee.org_name  md_employee__org_name,
                md_employee.account_type_code  md_employee__account_type_code,     md_employee.actor_code  md_employee__actor_code,
                md_employee.code  md_employee__code,     md_employee.name  md_employee__name,
                md_employee.job_title_code  md_employee__job_title_code,     md_employee.job_title  md_employee__job_title,
                md_employee.mail  md_employee__mail,     md_employee.account_type_code  md_employee__account_type_code,
                md_employee.actor_code  md_employee__actor_code,     md_employee.code  md_employee__code,
                md_employee.name  md_employee__name,     md_employee.phone  md_employee__phone,
                md_employee.nc_org_code  md_employee__nc_org_code,     md_employee.nc_region_id  md_employee__nc_region_id,
                md_employee.nc_region_code  md_employee__nc_region_code,     md_employee.nc_region_name  md_employee__nc_region_name,
                md_employee.nc_area_id  md_employee__nc_area_id,     md_employee.nc_area_code  md_employee__nc_area_code,
                md_employee.nc_area_name  md_employee__nc_area_name,     md_employee.nc_department_id  md_employee__nc_department_id,
                md_employee.nc_department_code  md_employee__nc_department_code,     md_employee.nc_employee_id  md_employee__nc_employee_id
            from md_position
            left join md_position parent_position on md_position.parent_id = parent_position.id 
            left join md_position_employee ON md_position.id = md_position_employee.position_id 
            LEFT JOIN md_employee  ON md_position_employee.employee_id =  md_employee.id  
            where @{filter} @{orderby} @{limit}
          ]]>
       </sql>    
       
        <sql name="getPrePositionEmployeeCount">
          <![CDATA[
              select count(1)
            from version_preparatory_md_position
            left join version_preparatory_md_position parent_position on version_preparatory_md_position.parent_id = parent_position.id 
            left join version_preparatory_md_position_employee ON version_preparatory_md_position.id = version_preparatory_md_position_employee.position_id 
            LEFT JOIN md_employee  ON version_preparatory_md_position_employee.employee_id =  md_employee.id  
            where @{filter} @{orderby} @{limit}
          ]]>
        </sql>    
       
        <sql name="getPrePositionEmployeeList">
          <![CDATA[
              select version_preparatory_md_position.*,
                  version_preparatory_md_position.idx version_preparatory_md_position__idx , 
                  parent_position.id parent_position_id ,    parent_position.company_id parent_position_company_id,
                parent_position.division_id parent_position_division_id,    parent_position.parent_id parent_position_parent_id,
                parent_position.category_code parent_position_category_code,    parent_position.code parent_position_code,
                parent_position.name parent_position_name,    parent_position.type_code parent_position_type_code,
                parent_position.type_name parent_position_type_name,    parent_position.remark parent_position_remark,
                parent_position.region parent_position_region,                    
                md_employee.id  md_employee__id,
                md_employee.org_id  md_employee__org_id,     md_employee.org_name  md_employee__org_name,
                md_employee.account_type_code  md_employee__account_type_code,     md_employee.actor_code  md_employee__actor_code,
                md_employee.code  md_employee__code,     md_employee.name  md_employee__name,
                md_employee.job_title_code  md_employee__job_title_code,     md_employee.job_title  md_employee__job_title,
                md_employee.mail  md_employee__mail,     md_employee.account_type_code  md_employee__account_type_code,
                md_employee.actor_code  md_employee__actor_code,     md_employee.code  md_employee__code,
                md_employee.name  md_employee__name,     md_employee.phone  md_employee__phone,
                md_employee.nc_org_code  md_employee__nc_org_code,     md_employee.nc_region_id  md_employee__nc_region_id,
                md_employee.nc_region_code  md_employee__nc_region_code,     md_employee.nc_region_name  md_employee__nc_region_name,
                md_employee.nc_area_id  md_employee__nc_area_id,     md_employee.nc_area_code  md_employee__nc_area_code,
                md_employee.nc_area_name  md_employee__nc_area_name,     md_employee.nc_department_id  md_employee__nc_department_id,
                md_employee.nc_department_code  md_employee__nc_department_code,     md_employee.nc_employee_id  md_employee__nc_employee_id
            from version_preparatory_md_position
            left join version_preparatory_md_position parent_position on version_preparatory_md_position.parent_id = parent_position.id 
            left join version_preparatory_md_position_employee ON version_preparatory_md_position.id = version_preparatory_md_position_employee.position_id 
            LEFT JOIN md_employee  ON version_preparatory_md_position_employee.employee_id =  md_employee.id  
            where @{filter} @{orderby} @{limit}
          ]]>
       </sql>    
       
        <sql name="getSoDeliveryDetailListCount">
        <![CDATA[
            SELECT count(1) FROM so_delivery_detail
            LEFT JOIN so_delivery ON so_delivery_detail.parent_id = so_delivery.id
            WHERE @{filter} @{orderby} @{limit}
        ]]>            
        </sql>
        
           <sql name="getSoDeliveryDetailList">
          <![CDATA[
              SELECT
                  so_delivery.position_employee_name so_delivery__position_employee_name,
                so_delivery.id AS so_delivery__id, so_delivery.idx AS so_delivery__idx, 
                so_delivery.supplier_id AS so_delivery__supplier_id, so_delivery.supplier_name AS so_delivery__supplier_name,
                so_delivery.state_code AS so_delivery__state_code, so_delivery.state_name AS so_delivery__state_name,
                so_delivery.CODE AS so_delivery__code, so_delivery.doc_date AS so_delivery__doc_date,  
                so_delivery.receiving_date AS so_delivery__receiving_date, so_delivery.supplier_address AS so_delivery__supplier_address,
                so_delivery.contact_name AS so_delivery__contact_name, so_delivery.contact_phone AS so_delivery__contact_phone,
                so_delivery.actual_recevied_time so_delivery__actual_recevied_time,so_delivery.description so_delivery__description,
                so_delivery.supplier_name AS so_delivery__supplier_name,
                so_delivery.transport_conditions AS so_delivery__transport_conditions,
                so_delivery.remark AS so_delivery__remark, 
                so_delivery.year AS so_delivery__year, so_delivery.quarter AS so_delivery__quarter, so_delivery.month AS so_delivery__month, 
                so_delivery_detail.*
                
            FROM so_delivery_detail
            LEFT JOIN so_delivery ON so_delivery_detail.parent_id = so_delivery.id 
            where @{filter} @{orderby} @{limit}
          ]]>
       </sql>    
       
        <sql name="getSoSalesReturnDetailCount">
        <![CDATA[
            SELECT count(1) FROM so_sales_return_detail
            LEFT JOIN so_sales_return ON so_sales_return_detail.parent_id = so_sales_return.id
            WHERE @{filter} @{orderby} @{limit}
        ]]>            
        </sql>
        
           <sql name="getSoSalesReturnDetailList">
          <![CDATA[
              SELECT
                  so_sales_return.position_employee_name so_sales_return__position_employee_name,
                so_sales_return.id AS so_sales_return__id, so_sales_return.idx AS so_sales_return__idx, 
                so_sales_return.supplier_id AS so_sales_return__supplier_id, so_sales_return.supplier_name AS so_sales_return__supplier_name,
                so_sales_return.state_code AS so_sales_return__state_code, so_sales_return.state_name AS so_sales_return__state_name,
                so_sales_return.CODE AS so_sales_return__code, so_sales_return.doc_date AS so_sales_return__doc_date,  so_sales_return.supplier_address AS so_sales_return__supplier_address,
                so_sales_return.actual_delivery_date so_sales_return__actual_delivery_date,so_sales_return.remark so_sales_return__remark,
                so_sales_return.supplier_name AS so_sales_return__supplier_name,
                so_sales_return.remark AS so_sales_return__remark,                 
                so_sales_return.year so_sales_return__year, so_sales_return.quarter so_sales_return__quarter, so_sales_return.quarter so_sales_return__month,
                so_sales_return_detail.*
            FROM so_sales_return_detail
            LEFT JOIN so_sales_return ON so_sales_return_detail.parent_id = so_sales_return.id 
            where @{filter} @{orderby} @{limit}
          ]]>
       </sql>    
        
           <sql name="getSoOrderDetailCount">
               SELECT count(1) 
            FROM
                so_order_detail
            inner JOIN so_order ON so_order.id = so_order_detail.parent_id
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getSoOrderDetailList">
               SELECT
                so_order.state_code so_order__state_code, so_order.state_name so_order__state_name,
                so_order.type_code so_order__type_code, so_order.type_name so_order__type_name,
                so_order.code so_order__code, so_order.doc_date so_order__doc_date,
                so_order.org_id so_order__org_id, so_order.customer_id so_order__customer_id,
                so_order.customer_code so_order__customer_code, so_order.customer_name so_order__customer_name,
                so_order.contact_name so_order__contact_name, so_order.contact_phone so_order__contact_phone,
                so_order.amt_total so_order__amt_total,
                so_order.remark so_order__remark, so_order.position_employee_name so_order__position_employee_name,
                so_order.position_region so_order__position_region,so_order.position_region_id so_order__position_region_id,
                so_order.position_area_id so_order__position_area_id,
                so_order.position_id so_order__position_id, so_order.position_name so_order__position_name,
                so_order.year so_order__year, so_order.quarter so_order__quarter, so_order.quarter so_order__month,
                so_order_detail.* 
            FROM
                so_order_detail
            LEFT JOIN so_order ON so_order.id = so_order_detail.parent_id
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getSoOrderReturnDetailCount">
               SELECT count(1) 
            FROM
                so_order_return_detail
            LEFT JOIN so_order_return ON so_order_return.id = so_order_return_detail.parent_id
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getSoOrderReturnDetailList">
               SELECT
                so_order_return.state_code so_order_return__state_code, so_order_return.state_name so_order_return__state_name,
                so_order_return.type_code so_order_return__type_code, so_order_return.type_name so_order_return__type_name,
                so_order_return.code so_order_return__code, so_order_return.doc_date so_order_return__doc_date,
                so_order_return.org_id so_order_return__org_id, so_order_return.customer_id so_order_return__customer_id,
                so_order_return.customer_code so_order_return__customer_code, so_order_return.customer_name so_order_return__customer_name,
                so_order_return.amt_total so_order_return__amt_total,so_order_return.actual_delivery_date so_order_return__actual_delivery_date,
                so_order_return.return_date so_order_return__return_date,
                so_order_return.remark so_order_return__remark, so_order_return.position_employee_name so_order_return__position_employee_name,
                so_order_return.position_region so_order_return__position_region,so_order_return.position_region_id so_order_return__position_region_id,
                so_order_return.position_area_id so_order_return__position_area_id,
                so_order_return.position_id so_order_return__position_id, so_order_return.position_name so_order_return__position_name,
                so_order_return.year so_order_return__year, so_order_return.quarter so_order_return__quarter, so_order_return.quarter so_order_return__month,
                so_order_return_detail.* 
            FROM
                so_order_return_detail
            LEFT JOIN so_order_return ON so_order_return.id = so_order_return_detail.parent_id
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
        <sql name="getSoOrderDetailRebateCount">
               select count(1) 
               from so_order_detail_rebate  left join so_order on so_order_detail_rebate.parent_id = so_order.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
           
           <sql name="getSoOrderDetailRebateList">
               select 
                   so_order_detail_rebate.* ,  
                   so_order.id as so_order__id, so_order.idx as so_order__idx, 
                   so_order.company_id as so_order__company_id, so_order.bu_id as so_order__bu_id, 
                   so_order.company_name as so_order__company_name, so_order.bu_name as so_order__bu_name, 
                   so_order.stage_code as so_order__stage_code, so_order.state_code as so_order__state_code, 
                   so_order.state_name as so_order__state_name, so_order.source_code as so_order__source_code, 
                   so_order.type_code as so_order__type_code, so_order.type_name as so_order__type_name, 
                   so_order.state_delivery_code as so_order__state_delivery_code, 
                   so_order.state_delivery_name as so_order__state_delivery_name, 
                   so_order.code as so_order__code, so_order.doc_date as so_order__doc_date, 
                   so_order.org_id as so_order__org_id, so_order.customer_id as so_order__customer_id, 
                   so_order.customer_code as so_order__customer_code, so_order.customer_name as so_order__customer_name, 
                   so_order.date_plan_ship_to as so_order__date_plan_ship_to, 
                   so_order.settlement as so_order__settlement, so_order.shipto_address_id as so_order__shipto_address_id, 
                   so_order.shipto_address as so_order__shipto_address, so_order.shipto_contact as so_order__shipto_contact, 
                   so_order.shipto_phone as so_order__shipto_phone, 
                   so_order.shipto_plan_method_code as so_order__shipto_plan_method_code, 
                   so_order.shipto_plan_method_name as so_order__shipto_plan_method_name, 
                   so_order.province as so_order__province, so_order.contract_no as so_order__contract_no, 
                   so_order.amt_list as so_order__amt_list, so_order.amt_after_onsite as so_order__amt_after_onsite, 
                   so_order.amt_onsite as so_order__amt_onsite, so_order.amt_rebate as so_order__amt_rebate, 
                   so_order.amt_net as so_order__amt_net, so_order.qty_total as so_order__qty_total, 
                   so_order.qty_list as so_order__qty_list, so_order.qty_discount as so_order__qty_discount, 
                   so_order.qty_price as so_order__qty_price, so_order.qty_onsite as so_order__qty_onsite, 
                   so_order.qty_rebate as so_order__qty_rebate, so_order.qty_delivery as so_order__qty_delivery, 
                   so_order.qty_received as so_order__qty_received, so_order.qty_close as so_order__qty_close, 
                   so_order.qty_return as so_order__qty_return, so_order.close_type_code as so_order__close_type_code, 
                   so_order.close_reason as so_order__close_reason, so_order.remark as so_order__remark, 
                   so_order.remark_approve as so_order__remark_approve, so_order.attachment_id as so_order__attachment_id, 
                   so_order.attachment_approve_id as so_order__attachment_approve_id, so_order.region_id as so_order__region_id, 
                   so_order.region_name as so_order__region_name, so_order.position_id as so_order__position_id, 
                   so_order.position_name as so_order__position_name, so_order.nc_code as so_order__nc_code, 
                   so_order.nc_company_id as so_order__nc_company_id, so_order.nc_company_code as so_order__nc_company_code, 
                   so_order.nc_region_id as so_order__nc_region_id, so_order.nc_region_code as so_order__nc_region_code, 
                   so_order.nc_region_name as so_order__nc_region_name, so_order.nc_area_id as so_order__nc_area_id, 
                   so_order.nc_area_code as so_order__nc_area_code, so_order.nc_area_name as so_order__nc_area_name, 
                   so_order.nc_customer_id as so_order__nc_customer_id, so_order.nc_customer_code as so_order__nc_customer_code, 
                   so_order.oa_code as so_order__oa_code, so_order.oa_department_id as so_order__oa_department_id, 
                   so_order.oa_department_name as so_order__oa_department_name, so_order.oa_employee_id as so_order__oa_employee_id, 
                   so_order.oa_employee_code as so_order__oa_employee_code, so_order.oa_employee_name as so_order__oa_employee_name, 
                   so_order.check_error as so_order__check_error, so_order.oa_sync_state as so_order__oa_sync_state, 
                   so_order.send_oa_count as so_order__send_oa_count, so_order.creator_id as so_order__creator_id, 
                   so_order.creator_code as so_order__creator_code, so_order.creator_name as so_order__creator_name, 
                   so_order.create_time as so_order__create_time, so_order.update_time as so_order__update_time 
               from so_order_detail_rebate  left join so_order on so_order_detail_rebate.parent_id = so_order.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
 
            <sql name="getSoOrderList">
            select 
                 ID, IDX, COMPANY_ID, BU_ID, COMPANY_NAME, BU_NAME, STAGE_CODE, STATE_CODE, STATE_NAME, STATE_STEP_CODE, 
                 STATE_STEP_NAME, SOURCE_CODE, TYPE_CODE, TYPE_NAME, STATE_DELIVERY_CODE, STATE_DELIVERY_NAME, CODE, DOC_DATE, 
                 ORG_ID, CUSTOMER_ID, CUSTOMER_CODE, CUSTOMER_NAME, DATE_PLAN_SHIP_TO, SETTLEMENT, SHIPTO_ADDRESS_ID, 
                 SHIPTO_ADDRESS, SHIPTO_CONTACT, SHIPTO_PHONE, SHIPTO_PLAN_METHOD_CODE, SHIPTO_PLAN_METHOD_NAME, PROVINCE, 
                 CONTRACT_NO, AMT_LIST, AMT_AFTER_ONSITE, AMT_ONSITE, AMT_REBATE, AMT_NET, QTY_TOTAL, QTY_LIST, QTY_DISCOUNT, 
                 QTY_PRICE, QTY_ONSITE, QTY_REBATE, QTY_DELIVERY, QTY_RECEIVED, QTY_CLOSE, QTY_RETURN, CLOSE_TYPE_CODE, CLOSE_REASON, 
                 REMARK, REMARK_APPROVE, ATTACHMENT_ID, ATTACHMENT_APPROVE_ID, REGION_ID, REGION_NAME, POSITION_ID, POSITION_NAME, 
                 NC_CODE, NC_COMPANY_ID, NC_COMPANY_CODE, NC_REGION_ID, NC_REGION_CODE, NC_REGION_NAME, NC_AREA_ID, NC_AREA_CODE, 
                NC_AREA_NAME, NC_CUSTOMER_ID, NC_CUSTOMER_CODE, OA_CODE, OA_DEPARTMENT_ID, OA_DEPARTMENT_NAME, OA_EMPLOYEE_ID, 
                OA_EMPLOYEE_CODE, OA_EMPLOYEE_NAME, IS_SPECIAL, CHECK_ERROR, OA_SYNC_STATE, SEND_OA_COUNT, CREATOR_ID, CREATOR_CODE, 
                CREATOR_NAME, CREATE_TIME, UPDATE_TIME, 
            (select sum(so_order_detail.amt_after_discount - @{IfEmpty}(so_order_detail.amt_list_close,0)) from  SO_ORDER_DETAIL where SO_ORDER_DETAIL.PARENT_ID = so_order.id) amt_after_close,
            (select sum(@{IfEmpty}(so_order_detail.amt_rebate,0) - @{IfEmpty}(so_order_detail.amt_rebate_close,0)) from  SO_ORDER_DETAIL where SO_ORDER_DETAIL.PARENT_ID = so_order.id) amt_discount_close
            from  so_order
            WHERE @{filter} @{orderby} @{limit}
        </sql>
 
            <sql name="getWmAlterDetailCount">
               select Count(1)
               from wm_alter_detail  
               left join wm_alter on wm_alter_detail.parent_id = wm_alter.id  
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getWmAlterDetailList">
               select 
                   wm_alter_detail.* ,  
                   wm_alter.id as wm_alter__id, wm_alter.doc_date as wm_alter__doc_date, wm_alter.code as wm_alter__code, 
                   wm_alter.state_code as wm_alter__state_code, wm_alter.state_name as wm_alter__state_name, 
                   wm_alter.state_detail_code as wm_alter__state_detail_code, wm_alter.bu_id as wm_alter__bu_id, 
                   wm_alter.bu_name as wm_alter__bu_name, wm_alter.company_id as wm_alter__company_id, 
                   wm_alter.company_name as wm_alter__company_name, wm_alter.org_id as wm_alter__org_id, 
                   wm_alter.org_code as wm_alter__org_code, wm_alter.org_name as wm_alter__org_name, 
                   wm_alter.account_id as wm_alter__account_id, wm_alter.warehouse_id as wm_alter__warehouse_id, 
                   wm_alter.warehouse_code as wm_alter__warehouse_code, wm_alter.warehouse_name as wm_alter__warehouse_name, 
                   wm_alter.warehouse_type_code as wm_alter__warehouse_type_code, wm_alter.warehouse_type_name as wm_alter__warehouse_type_name, 
                   wm_alter.reject_reason as wm_alter__reject_reason, wm_alter.remark as wm_alter__remark, 
                   wm_alter.creator_id as wm_alter__creator_id, wm_alter.creator_code as wm_alter__creator_code, wm_alter.creator_name as wm_alter__creator_name, 
                   wm_alter.create_time as wm_alter__create_time, wm_alter.update_time as wm_alter__update_time 
               from wm_alter_detail  
               left join wm_alter on wm_alter_detail.parent_id = wm_alter.id  
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getWmMovmentDetailCount">
               select count(1) 
               from wm_movement_detail  
               left join wm_movement on wm_movement_detail.parent_id = wm_movement.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
           
           <sql name="getWmMovmentDetailList">
               select 
                   wm_movement_detail.* ,  
                   wm_movement.id as wm_movement__id, wm_movement.bu_id as wm_movement__bu_id, wm_movement.bu_name as wm_movement__bu_name, 
                   wm_movement.org_id as wm_movement__org_id, wm_movement.org_code as wm_movement__org_code, 
                   wm_movement.org_name as wm_movement__org_name, wm_movement.company_id as wm_movement__company_id, 
                   wm_movement.company_name as wm_movement__company_name, wm_movement.account_id as wm_movement__account_id, 
                   wm_movement.to_account_id as wm_movement__to_account_id, wm_movement.code as wm_movement__code, 
                   wm_movement.doc_date as wm_movement__doc_date, wm_movement.state_code as wm_movement__state_code, 
                   wm_movement.state_name as wm_movement__state_name, wm_movement.from_warehouse_id as wm_movement__from_warehouse_id, 
                   wm_movement.from_warehouse_code as wm_movement__from_warehouse_code, 
                   wm_movement.from_warehouse_name as wm_movement__from_warehouse_name, 
                   wm_movement.to_warehouse_id as wm_movement__to_warehouse_id, 
                   wm_movement.to_warehouse_code as wm_movement__to_warehouse_code, 
                   wm_movement.to_warehouse_name as wm_movement__to_warehouse_name, 
                   wm_movement.remark as wm_movement__remark, wm_movement.creator_id as wm_movement__creator_id, 
                   wm_movement.creator_name as wm_movement__creator_name, wm_movement.create_time as wm_movement__create_time, 
                   wm_movement.update_time as wm_movement__update_time 
               from wm_movement_detail  
               left join wm_movement on wm_movement_detail.parent_id = wm_movement.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
        
           <sql name="getWmTransferDetailCount">
               select Count(1)
               from wm_transfer_detail  
               left join wm_transfer on wm_transfer_detail.parent_id = wm_transfer.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
           
           <sql name="getWmTransferDetailList">
               select 
                   wm_transfer_detail.* ,  
                   wm_transfer.id as wm_transfer__id, wm_transfer.org_id as wm_transfer__org_id, wm_transfer.org_code as wm_transfer__org_code, 
                   wm_transfer.org_name as wm_transfer__org_name, wm_transfer.to_org_id as wm_transfer__to_org_id, 
                   wm_transfer.to_org_code as wm_transfer__to_org_code, wm_transfer.to_org_name as wm_transfer__to_org_name, 
                   wm_transfer.to_account_id as wm_transfer__to_account_id, wm_transfer.to_company_id as wm_transfer__to_company_id, 
                   wm_transfer.to_bu_id as wm_transfer__to_bu_id, wm_transfer.to_bu_name as wm_transfer__to_bu_name, 
                   wm_transfer.account_id as wm_transfer__account_id, wm_transfer.company_id as wm_transfer__company_id, 
                   wm_transfer.bu_id as wm_transfer__bu_id, wm_transfer.bu_name as wm_transfer__bu_name, 
                   wm_transfer.code as wm_transfer__code, wm_transfer.doc_date as wm_transfer__doc_date, 
                   wm_transfer.state_code as wm_transfer__state_code, wm_transfer.state_name as wm_transfer__state_name, 
                   wm_transfer.state_detail_code as wm_transfer__state_detail_code, 
                   wm_transfer.salesgroup_code as wm_transfer__salesgroup_code, wm_transfer.salesgroup_name as wm_transfer__salesgroup_name, 
                   wm_transfer.reject_reason as wm_transfer__reject_reason, wm_transfer.remark as wm_transfer__remark, 
                   wm_transfer.creator_id as wm_transfer__creator_id, wm_transfer.creator_code as wm_transfer__creator_code, wm_transfer.creator_name as wm_transfer__creator_name, 
                   wm_transfer.create_time as wm_transfer__create_time, wm_transfer.update_time as wm_transfer__update_time 
               from wm_transfer_detail  
               left join wm_transfer on wm_transfer_detail.parent_id = wm_transfer.id 
            WHERE @{filter} @{orderby} @{limit}
           </sql>
    </dataSpace>
    
</sqls>