INSERT INTO operating_report_new (id_,principal_,organ_id_,organ_name_,sale_amount_,service_amount_,cloud_amount_,course_amount_,maintenance_amount_, business_refund_,total_income_,sale_cost_,fixed_costs_,variable_costs_,internal_settlement_, total_cost_,quasi_discretionary_profit_,prepaid_fee_,cloud_prepaid_fee_,course_prepaid_fee_,sale_prepaid_fee_,other_prepaid_fee_ ,prepayments_,receivables_,payable_,month_) VALUES(#{id},#{principal},#{organId},#{organName},#{saleAmount},#{serviceAmount},#{cloudAmount},#{courseAmount},#{maintenanceAmount}, #{businessRefund},#{totalIncome},#{saleCost},#{fixedCosts},#{variableCosts},#{internalSettlement}, #{totalCost},#{quasiDiscretionaryProfit},#{prepaidFee},#{cloudPrepaidFee},#{coursePrepaidFee},#{salePrepaidFee},#{otherPrepaidFee}, #{prepayments},#{receivables},#{payable},#{month}) INSERT INTO operating_report_new (principal_,organ_id_,organ_name_,sale_amount_,service_amount_,cloud_amount_,course_amount_,maintenance_amount_,business_refund_,total_income_,sale_cost_, fixed_costs_,variable_costs_,internal_settlement_,total_cost_,quasi_discretionary_profit_, prepaid_fee_,cloud_prepaid_fee_,course_prepaid_fee_,sale_prepaid_fee_,other_prepaid_fee_,prepayments_,receivables_,payable_,month_) VALUES (#{bean.principal},#{bean.organId},#{bean.organName},#{bean.saleAmount},#{bean.serviceAmount},#{bean.cloudAmount},#{bean.courseAmount},#{bean.maintenanceAmount},#{bean.businessRefund},#{bean.totalIncome}, #{bean.saleCost},#{bean.fixedCosts},#{bean.variableCosts},#{bean.internalSettlement},#{bean.totalCost},#{bean.quasiDiscretionaryProfit}, #{bean.prepaidFee},#{bean.cloudPrepaidFee},#{bean.coursePrepaidFee},#{bean.salePrepaidFee},#{bean.otherPrepaidFee}, #{bean.prepayments},#{bean.receivables},#{bean.payable},#{bean.month}) UPDATE operating_report_new sale_amount_ = #{saleAmount}, prepaid_fee_ = #{prepaidFee}, service_amount_ = #{serviceAmount}, payable_ = #{payable}, business_refund_ = #{businessRefund}, total_cost_ = #{totalCost}, total_income_ = #{totalIncome}, quasi_discretionary_profit_ = #{quasiDiscretionaryProfit}, fixed_costs_ = #{fixedCosts}, internal_settlement_ = #{internalSettlement}, prepayments_ = #{prepayments}, month_ = #{month}, variable_costs_ = #{variableCosts}, organ_name_ = #{organName}, sale_cost_ = #{saleCost}, receivables_ = #{receivables}, principal_ = #{principal}, WHERE id_ = #{id} update operating_report_cloud orc left join ( select orc.calender_id_,MIN(cs.class_date_) start_date_ from operating_report_cloud orc left join music_group_payment_calender mgpc ON mgpc.id_ = orc.calender_id_ left join course_schedule_student_payment cssp ON cssp.batch_no_ = mgpc.batch_no_ left join course_schedule cs ON cs.id_ = cssp.course_schedule_id_ where orc.month_flag_ = false AND orc.settlement_flag_ = false AND orc.start_date_ IS NULL AND cs.class_date_ <= #{lastDay} group by orc.calender_id_) mc ON orc.calender_id_ = mc.calender_id_ LEFT JOIN (select calender_id_,DATE_ADD( DATE_ADD(create_time_, interval CASE WHEN period_ = 'YEAR_HALF' THEN 6 WHEN period_ = 'YEAR' THEN 12 WHEN period_ = 'QUARTERLY' THEN 3 ELSE num_ END MONTH),interval 1 DAY) end_date_ from music_group_payment_calender_member order by id_ DESC) mgpcm ON mc.calender_id_ = mgpcm.calender_id_ set orc.start_date_ = mc.start_date_,orc.end_date_ = mgpcm.end_date_ where orc.calender_id_ = mc.calender_id_ AND orc.month_flag_ = 0 DELETE FROM operating_report_new WHERE id_ = #{id} DELETE FROM operating_report_new WHERE month_ = #{month} AND FIND_IN_SET(organ_id_,#{organId}) AND month_ = #{date}