SELECT iccb.`name`, iccb.`other_fee`, iccb.`refund_fee`, iccb.id, iccb.contract_id, iccb.name, iccb.sn, iccb.manage_sn, iccb.status, iccb.type, iccb.invoice_type, iccb.receive_rent, iccb.remark, iccb.end_date, iccb.bill_date, iccb.bill_start_date, iccb.bill_end_date, iccb.rent_increase_way, iccb.management_total_fee, iccb.receive_management_total_fee, iccb.power_fee, iccb.receive_power_fee, iccb.water_fee, iccb.receive_water_fee, iccb.rent, iccb.rent_overdue, iccb.receive_rent_date, iccb.deposit, iccb.deposit_overdue, iccb.create_by, iccb.update_by, iccb.create_time, iccb.update_time, iccb.receive_other_fee, icc.`name` AS `contract_name`, icc.`customer_name` AS `customer_name`, icc.`sn` AS `contract_sn`, icc.`pm_sn`, icc.`credit_no`, icc.`address`, icc.`phone`, icce.expense_name, icce.amount, icce.expense_type, icce.remark AS expense_remark FROM ics_customer_contract_bill iccb LEFT JOIN ics_customer_contract icc ON icc.`id` = iccb.`contract_id` LEFT JOIN ics_customer_contract_expenses icce ON icce.bill_id= iccb.id SELECT iccb.id AS bill_id, iccb.contract_id, iccb.name, iccb.sn, iccb.manage_sn, iccb.status, iccb.type, iccb.invoice_type, iccb.receive_rent, iccb.remark, iccb.end_date, iccb.bill_date, iccb.bill_start_date, iccb.bill_end_date, iccb.rent_increase_way, iccb.management_total_fee, iccb.receive_management_total_fee, iccb.receive_rent, iccb.rent, iccb.water_fee, iccb.power_fee, iccb.receive_water_fee, iccb.receive_power_fee, iccb.rent_overdue, iccb.receive_rent_date, iccb.deposit, iccb.deposit_overdue, iccb.create_by, iccb.update_by, iccb.create_time, iccb.update_time, iccr.room_id, icc.`start_date` AS icc_start_date, icc.`end_date` AS icc_end_date, icc.`name` AS `contract_name`, icc.`customer_name` AS `customer_name`, icc.`sn` AS `contract_sn`, IFNULL(icc.`pm_sn`,'-') AS pm_sn, icc.`credit_no`, icc.`address`, icc.`phone`, ib.`building_name`, ibd.`floor_name`, ir.`name` AS `room_name`, ir.`layout`, ir.`rent_area`, ir.`common_area`, ir.`area`, icce.expense_name, icce.amount, icce.expense_type, icce.remark FROM ics_customer_contract_bill iccb LEFT JOIN ics_customer_contract icc ON icc.`id` = iccb.`contract_id` LEFT JOIN ics_customer_contract_room iccr ON icc.id = iccr.contract_id LEFT JOIN ics_room ir ON ir.id = iccr.room_id LEFT JOIN `ics_building` ib ON ib.`id` = ir.`building_id` LEFT JOIN `ics_building_detail` ibd ON ibd.`id` = ir.`building_detail_id` LEFT JOIN ics_park AS ip ON ip.id = iccb.`park_id` LEFT JOIN ics_customer_contract_expenses icce ON icce.bill_id = iccb.id UPDATE ics_customer_contract_bill SET status = 1, receive_rent = rent, receive_management_total_fee = management_total_fee, receive_power_fee = power_fee, receive_water_fee = water_fee, receive_other_fee = other_fee WHERE status = 0 AND id IN #{billId} UPDATE ics_customer_contract_bill SET status = 0, receive_rent = 0, receive_management_total_fee = 0, receive_power_fee = 0, receive_water_fee = 0 WHERE status = 1 AND id IN #{billId} UPDATE ics_customer_contract_bill SET power_fee = #{powerFee}, water_fee = #{waterFee} WHERE sn = #{sn} UPDATE ics_customer_contract_bill SET receive_rent = #{rent}, receive_management_total_fee = #{managementTotalFee}, receive_water_fee = #{receiveWaterFee}, receive_power_fee = #{receivePowerFee}, status = #{status.value} WHERE sn = #{sn} UPDATE ics_customer_contract_bill SET status = 3 WHERE status = 0 AND contract_id IN #{contractId}