select main.id,
main.task_type,
main.start_date,
main.task_status,
main.contract_code,
main.invoice,
con.is_proxy con_is_proxy,
con.contract_amount con_contract_amount,
con.custom_scene con_custom_scene,
con.custom_manager con_custom_manager,
usr.nick_name con_custom_manager_name,
con.sign_desc con_sign_desc,
com.id com_id,
com.company_adress com_company_adress,
com.company_name com_company_name,
com.legal_person_name com_legal_person_name,
com.legal_person_idcard com_legal_person_idcard,
com.legal_person_phone com_legal_person_phone,
com.customer_num com_customer_num,
com.customer_cert com_customer_cert,
cus.id cus_id,
cus.custom_name cus_custom_name ,
cus.custom_mobile cus_custom_mobile,
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=1 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as inAppo,
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=2 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as outAppo,
(select pta.id from ps_task_appoint pta where pta.task_id=main.id and pta.appoint_type=3 and pta.appoint_status != '50' and pta.del_flag = '0' order by id desc limit 0,1) as secAppo,
(CASE WHEN (con.contract_amount -
(select IFNULL(sum(money),0) from ps_contract_pay pay where pay.business_type =1 and pay.contract_code = main.contract_code and pay.pay_status = '1' ) +
(select IFNULL(sum(money),0) from ps_contract_pay cpay where cpay.business_type =2 and cpay.contract_code = main.contract_code )
) > 0 THEN '半款' ELSE '全款' END) as pay_stauts_desc,
(select GROUP_CONCAT(appoint.executor SEPARATOR ',')
from ps_task_appoint appoint where appoint.task_id = main.id and appoint.appoint_status != '50' and appoint.del_flag = '0') as executors,
(select GROUP_CONCAT(business.business_type SEPARATOR ',')
from ps_contract_business business where business.contract_code = con.contract_code and business.del_flag = '0') as business_type_name
from ps_task_main main
left join ps_contract_info con on main.contract_code = con.contract_code
left join ps_company_info com on con.company_id = com.id
left join ps_custom_info cus on con.custom_id = cus.id
left join sys_user usr on con.custom_manager = usr.user_id