SELECT productid as product_id, productsno, productname, P.muid, po.plan_value, pe."value", pe.energy_value, pe.water_value, pe.water_energy_value, pe.coal_value, pe.coal_energy_value, pe.steam_value, pe.steam_energy_value, pe.actual_value FROM sys_product P LEFT JOIN planned_output po ON po.product_id = P.productid LEFT JOIN plan_energy pe ON pe.product_id=p.productid insert into plan_energy (product_id, time_code, time_type, value, actual_value, energy_value, coal_value, coal_energy_value, steam_value, steam_energy_value, water_value, water_energy_value, data_time, create_time) select #{planEnergy.productId}, #{planEnergy.timeCode}, #{planEnergy.timeType}, #{planEnergy.value,jdbcType = DOUBLE}, #{planEnergy.actualValue,jdbcType = DOUBLE}, #{planEnergy.energyValue,jdbcType = DOUBLE}, #{planEnergy.coalValue,jdbcType = DOUBLE}, #{planEnergy.coalEnergyValue,jdbcType = DOUBLE}, #{planEnergy.steamValue,jdbcType = DOUBLE}, #{planEnergy.steamEnereyValue,jdbcType = DOUBLE}, #{planEnergy.waterValue,jdbcType = DOUBLE}, #{planEnergy.waterEnergyValue,jdbcType = DOUBLE}, #{planEnergy.dataTime}, now() on conflict (product_id,time_code) do update set value = #{planEnergy.value, jdbcType = DOUBLE}, actual_value = #{planEnergy.actualValue, jdbcType = DOUBLE}, energy_value = #{planEnergy.energyValue, jdbcType = DOUBLE}, coal_value = #{planEnergy.coalValue, jdbcType = DOUBLE}, coal_energy_value = #{planEnergy.coalEnergyValue, jdbcType = DOUBLE}, steam_value = #{planEnergy.steamValue, jdbcType = DOUBLE}, steam_energy_value = #{planEnergy.steamEnereyValue, jdbcType = DOUBLE}, water_value = #{planEnergy.waterValue, jdbcType = DOUBLE}, water_energy_value = #{planEnergy.waterEnergyValue, jdbcType = DOUBLE}, update_time = now();