id, created, modified, deleted, order_id, location, evaluate_aim, purpose, clientele_type, clientele_id, clientele_sub_id, clientele_contact_id, agent, loan_nature, loan_aim, loan_limit, loan_period, loan_expire, bailorA, bailorB, bailorA_tel, bailorB_tel, terminal_clientele_type, terminal_clientele_contact_id, terminal_clientele_id, credentials, is_online, client_manager_id, outward_staff, inward_staff, pricing_staff, remark SELECT wf.id AS currentNodeId, wf.node_id, wf.business_id, wf.business_sub_id, wf.modified AS nodeTime, wn.NAME as currentNodeName, wn.CODE currentNodeCode, p.id, p.order_id, p.location, p.agent, p.bailorA, p.bailorB, p.bailorA_tel, p.bailorB_tel, p.client_manager_id, p.remark, pt.acreage, pt.price, pt.amount, cc1.NAME AS clientName, cc2.NAME AS clientSubName, cl1.NAME AS contactName, cl1.mobile AS contactTel, u.NAME AS clientManager, u1.NAME AS outwardStaffName, u2.NAME AS inwardStaffName, u3.NAME AS pricingStaffName, u4.name as handlerName, u4.id as handlerId, p.created, c.comments FROM work_flow_node_instance wf LEFT JOIN work_node wn ON wn.id = wf.node_id LEFT JOIN work_task_record wtr ON wtr.instance_id = wf.id LEFT JOIN user u4 ON u4.id = wtr.handler_id LEFT JOIN personal p ON p.id = wf.business_id LEFT JOIN personal_target pt ON pt.personal_id = wf.business_id LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id LEFT JOIN customer_linkman cl1 ON cl1.id = p.clientele_contact_id LEFT JOIN user u ON u.id = p.client_manager_id LEFT JOIN user u1 ON u1.id = p.outward_staff LEFT JOIN user u2 ON u2.id = p.inward_staff LEFT JOIN user u3 ON u3.id = p.pricing_staff left join ( select business_id,comments from work_flow_log where concat(business_id,modified) in ( select concat(business_id,max(modified)) from work_flow_log where business_type = 'PERSONAL_BUSINESS' and comments is not null group BY business_id ) ) c on p.id = c.business_id WHERE wf.business_type = "PERSONAL_BUSINESS" AND wf.state = 'PENDING' AND wf.deleted = 0 AND wn.deleted = 0 AND p.deleted = 0 update personal set if_save_file = 1 ,save_file_date= now() where id in ( #{item} ) select p.id, p.order_id, p.location, p.location as orderName, pt.acreage, pt.price, pt.amount, cc1.NAME AS clientName, cc2.NAME AS clientSubName, p.agent, cl.name as contactName, p.bailorA, p.bailorB, cl.mobile as contactTel, u1.NAME AS outwardStaffName, u2.NAME AS inwardStaffName, u3.NAME AS pricingStaffName, p.created, o.real_amount, o.should_amount, p.save_file_date, o.id as orderFundId, fi.invoiceAmount, pp.productions from personal p LEFT JOIN personal_target pt ON pt.personal_id = p.id LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id left join customer_linkman cl on cl.id = p.clientele_contact_id LEFT JOIN user u1 ON u1.id = p.outward_staff LEFT JOIN user u2 ON u2.id = p.inward_staff LEFT JOIN user u3 ON u3.id = p.pricing_staff left join (select id,business_id,real_amount,should_amount from order_fund where business_type='PERSONAL_BUSINESS' and deleted = 0) o on o.business_id = p.id left join (select sum(real_amount) as invoiceAmount,order_fund_id from finance_invoice where state ='已开票' and deleted = 0 GROUP BY order_fund_id) fi on fi.order_fund_id = o.id LEFT JOIN ( SELECT target_id, GROUP_CONCAT( case production when 'STATEMENT' then '意见书' when 'FINAL' then '结果报告' when 'TECHNIC' then '技术报告' when 'LETTER' then '复评函' end )as productions FROM personal_production WHERE deleted = 0 AND production_time IS NOT NULL GROUP BY target_id ) pp on pp.target_id = pt.id where p.deleted = 0 and p.client_manager_id = #{personal.clientManagerId} and ( p.location like concat ('%',#{keyword},'%') or p.order_id like concat('%',#{keyword},'%') or p.agent like concat('%',#{keyword},'%') or p.bailorA like concat('%',#{keyword},'%') or p.bailorB like concat('%',#{keyword},'%') or cc1.name like concat('%',#{keyword},'%') or cc2.name like concat('%',#{keyword},'%') or p.bailorA_tel like concat('%',#{keyword},'%') or p.bailorB_tel like concat('%',#{keyword},'%') ) AND p.order_id like concat('%',#{personal.orderId},'%') AND ( p.bailorA like concat('%',#{personal.bailor},'%') or p.bailorB like concat('%',#{personal.bailor},'%') ) AND cc1.name like concat('%',#{personal.clientName},'%') AND cc2.name like concat('%',#{personal.clientSubName},'%') AND o.should_amount = #{personal.shouldAmount} AND fi.invoiceAmount = #{personal.invoiceAmountCondition} and p.created >= #{personal.startDate} and p.created <= #{personal.endDate} and wn.code = #{personal.nodeCode} and cc1.NAME like concat('%',#{personal.clientName},'%') and cc2.NAME like concat('%',#{personal.clientSubName},'%') and pp.productions like concat('%',#{personal.productions},'%') ORDER BY fi.invoiceAmount=${personal.invoiceAmount} desc, p.created DESC update personal set outward_staff = #{userId} ,pricing_staff = #{priceStaffId} where id in ( #{item} )