id,
deleted,
modified,
created,
payer, payer_bank, payer_account, amount, pay_datetime, remark, creator_id
SELECT
mp.id,
DATEDIFF(
CURDATE(),
DATE( mp.repertory_out_time )) AS overdueDay,
pf.production_should_amount,
m.allot_type,
m.order_id,
m.business_object_type,
u.NAME AS clientManager,
u1.NAME AS principal,
cc1.NAME AS clientName,
cc2.NAME AS clientSubName,
pf.production_should_amount,
mp.*
FROM
(
SELECT
id,
major_id,
report_no,
( CASE production WHEN 'STATEMENT' THEN '意见书' WHEN 'REPORT' THEN '报告' WHEN 'LETTER' THEN '复评函' ELSE '' END ) production,
NAME,
evaluate_amount,
repertory_out_time,
standard_amount
FROM
major_production mp
WHERE
deleted = 0
AND repertory_out_time IS NOT NULL
) mp
LEFT JOIN ( SELECT business_id, production_no, production_should_amount, real_amount FROM production_fund WHERE business_type = 'MAJOR_BUSINESS' AND deleted = 0 ) pf ON ( mp.major_id = pf.business_id AND mp.report_no = pf.production_no )
LEFT JOIN major m ON m.id = mp.major_id
LEFT JOIN user u ON u.id = m.client_manager_id
LEFT JOIN user u1 ON u1.id = m.principal_id
LEFT JOIN customer_company cc1 ON cc1.id = m.clientele_id
LEFT JOIN customer_company cc2 ON cc2.id = m.clientele_sub_id
WHERE
( pf.production_no IS NULL OR pf.real_amount IS NULL )
AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) >= #{overdueVO.overdueMin}
AND DATEDIFF(CURDATE(),DATE( mp.repertory_out_time )) <= #{overdueVO.overdueMax}
and m.order_id = #{overdueVO.orderId}
and mp.report_no like concat ('%',#{overdueVO.reportNo},'%')
and u1.NAME like concat ('%',#{overdueVO.principal},'%')
order by overdueDay desc