INSERT IGNORE INTO gen_rental_housing( rental_housing_id, lessee_name, longitude, latitude, houser_name, hidden_danger_type, architecture_purpose, house_address, lessee_card_number, house_number, lease_purpose, houser_address, lessee_phone, architecture_area, houser_phone, card_number, card_code, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{rentalHousingId}, #{lesseeName}, #{longitude}, #{latitude}, #{houserName}, #{hiddenDangerType}, #{architecturePurpose}, #{houseAddress}, #{lesseeCardNumber}, #{houseNumber}, #{leasePurpose}, #{houserAddress}, #{lesseePhone}, #{architectureArea}, #{houserPhone}, #{cardNumber}, #{cardCode}, #{creator}, #{gmtCreate}, #{modifier}, #{gmtModified}, #{isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_rental_housing WHERE house_number = #{houseNumber} AND is_delete = 0 ) INSERT IGNORE INTO gen_rental_housing( rental_housing_id, lessee_name, longitude, latitude, houser_name, hidden_danger_type, architecture_purpose, house_address, lessee_card_number, house_number, lease_purpose, houser_address, lessee_phone, architecture_area, houser_phone, card_number, card_code, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{item.rentalHousingId}, #{item.lesseeName}, #{item.longitude}, #{item.latitude}, #{item.houserName}, #{item.hiddenDangerType}, #{item.architecturePurpose}, #{item.houseAddress}, #{item.lesseeCardNumber}, #{item.houseNumber}, #{item.leasePurpose}, #{item.houserAddress}, #{item.lesseePhone}, #{item.architectureArea}, #{item.houserPhone}, #{item.cardNumber}, #{item.cardCode}, #{item.creator}, #{item.gmtCreate}, #{item.modifier}, #{item.gmtModified}, #{item.isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_rental_housing WHERE house_number = #{item.houseNumber} AND is_delete = 0 ) UPDATE gen_rental_housing SET is_delete = 1, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE rental_housing_id IN #{rentalHousingIds[${index}]} DELETE FROM gen_rental_housing WHERE rental_housing_id IN #{rentalHousingIds[${index}]} UPDATE gen_rental_housing SET lessee_name = #{lesseeName}, longitude = #{longitude}, latitude = #{latitude}, houser_name = #{houserName}, hidden_danger_type = #{hiddenDangerType}, architecture_purpose = #{architecturePurpose}, house_address = #{houseAddress}, lessee_card_number = #{lesseeCardNumber}, house_number = #{houseNumber}, lease_purpose = #{leasePurpose}, houser_address = #{houserAddress}, lessee_phone = #{lesseePhone}, architecture_area = #{architectureArea}, houser_phone = #{houserPhone}, card_number = #{cardNumber}, card_code = #{cardCode}, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE rental_housing_id = #{rentalHousingId}