DELETE FROM data_item WHERE index_id = #{indexId} AND time_type = #{timeType} AND data_time >= #{beginTime} AND data_time <= #{endTime} SELECT di.index_id, di.time_code, di.time_type, di.begin_time, di.end_time, di.data_time, di.value, di.quality, di.create_time, di.update_time, ci.code AS "index_code", ci.name AS "index_name" FROM data_item di LEFT JOIN energy_index ci ON di.index_id = ci.index_id INSERT INTO data_item (index_id, time_code, time_type, begin_time, end_time, data_time, value, quality, create_time) VALUES (#{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.timeType}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.dataTime}, #{dataItem.value, jdbcType = DOUBLE}, #{dataItem.quality}, now()) insert into data_item (index_id, time_code, time_type, begin_time, end_time, data_time, value, quality, create_time) select #{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.timeType}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.dataTime}, #{dataItem.value, jdbcType = DOUBLE}, #{dataItem.quality}, now() on conflict (index_id,time_code) do update set value = #{dataItem.value, jdbcType = DOUBLE}, quality = #{dataItem.quality}, update_time = now(); insert into data_item (index_id, time_code, time_type, begin_time, end_time, data_time, value, quality, create_time) select #{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.timeType}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.dataTime}, #{dataItem.value, jdbcType = DOUBLE}, #{dataItem.quality}, now() on conflict(index_id,time_code) do update set value= #{dataItem.value, jdbcType = DOUBLE}, quality = #{dataItem.quality}, update_time = now(); insert into data_item (index_id, time_code, time_type, begin_time, end_time, data_time, value, quality, create_time) values (#{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.timeType}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.dataTime}, #{dataItem.value, jdbcType = DOUBLE}, #{dataItem.quality}, now()) insert into electricity_data_item (index_id, time_code, electricity_type, index_code, data_time, begin_time, end_time, electricity, cost, price, create_time, time_type) values (#{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.electricityType}, #{dataItem.indexCode}, #{dataItem.dataTime}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.electricity, jdbcType = DOUBLE}, #{dataItem.cost, jdbcType = DOUBLE}, #{dataItem.price, jdbcType = DOUBLE}, now(), #{dataItem.timeType}) ON CONFLICT (index_id, time_code,electricity_type) DO UPDATE SET electricity = EXCLUDED.electricity,cost = EXCLUDED.cost,price = EXCLUDED.price; insert into electricity_data_item (index_id, time_code, electricity_type, index_code, data_time, begin_time, end_time, electricity, cost, price, create_time, time_type) values values (#{dataItem.indexId}, #{dataItem.timeCode}, #{dataItem.electricityType}, #{dataItem.indexCode}, #{dataItem.dataTime}, #{dataItem.beginTime}, #{dataItem.endTime}, #{dataItem.electricity, jdbcType = DOUBLE}, #{dataItem.cost, jdbcType = DOUBLE}, #{dataItem.price, jdbcType = DOUBLE}, now(), #{dataItem.timeType}) ON CONFLICT (index_id, time_code,electricity_type) DO UPDATE SET electricity = EXCLUDED.electricity,cost = EXCLUDED.cost,price = EXCLUDED.price; UPDATE data_item SET value = #{dataItem.value, jdbcType = DOUBLE}, quality = #{dataItem.quality}, update_time = now() WHERE index_id = #{dataItem.indexId} AND time_code = #{dataItem.timeCode}