INSERT IGNORE INTO gen_overseas_personnel( overseas_personnel_id, to_china_purpose, service_address, nationality, card_year, card_number, leave_date, sex, live_address, religious_belief, surname, occupation, key_of_follow, card_code, name, live_detail_address, phone, chinese_name, arrive_date, birthday, occupation_type, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{overseasPersonnelId}, #{toChinaPurpose}, #{serviceAddress}, #{nationality}, #{cardYear}, #{cardNumber}, #{leaveDate}, #{sex}, #{liveAddress}, #{religiousBelief}, #{surname}, #{occupation}, #{keyOfFollow}, #{cardCode}, #{name}, #{liveDetailAddress}, #{phone}, #{chineseName}, #{arriveDate}, #{birthday}, #{occupationType}, #{creator}, #{gmtCreate}, #{modifier}, #{gmtModified}, #{isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_overseas_personnel WHERE card_number = #{cardNumber} AND is_delete = 0 ) INSERT IGNORE INTO gen_overseas_personnel( overseas_personnel_id, to_china_purpose, service_address, nationality, card_year, card_number, leave_date, sex, live_address, religious_belief, surname, occupation, key_of_follow, card_code, name, live_detail_address, phone, chinese_name, arrive_date, birthday, occupation_type, creator, gmt_create, modifier, gmt_modified, is_delete ) SELECT #{item.overseasPersonnelId}, #{item.toChinaPurpose}, #{item.serviceAddress}, #{item.nationality}, #{item.cardYear}, #{item.cardNumber}, #{item.leaveDate}, #{item.sex}, #{item.liveAddress}, #{item.religiousBelief}, #{item.surname}, #{item.occupation}, #{item.keyOfFollow}, #{item.cardCode}, #{item.name}, #{item.liveDetailAddress}, #{item.phone}, #{item.chineseName}, #{item.arriveDate}, #{item.birthday}, #{item.occupationType}, #{item.creator}, #{item.gmtCreate}, #{item.modifier}, #{item.gmtModified}, #{item.isDelete} FROM DUAL WHERE NOT EXISTS ( SELECT * FROM gen_overseas_personnel WHERE card_number = #{item.cardNumber} AND is_delete = 0 ) UPDATE gen_overseas_personnel SET is_delete = 1, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE overseas_personnel_id IN #{overseasPersonnelIds[${index}]} DELETE FROM gen_overseas_personnel WHERE overseas_personnel_id IN #{overseasPersonnelIds[${index}]} UPDATE gen_overseas_personnel SET to_china_purpose = #{toChinaPurpose}, service_address = #{serviceAddress}, nationality = #{nationality}, card_year = #{cardYear}, card_number = #{cardNumber}, leave_date = #{leaveDate}, sex = #{sex}, live_address = #{liveAddress}, religious_belief = #{religiousBelief}, surname = #{surname}, occupation = #{occupation}, key_of_follow = #{keyOfFollow}, card_code = #{cardCode}, name = #{name}, live_detail_address = #{liveDetailAddress}, phone = #{phone}, chinese_name = #{chineseName}, arrive_date = #{arriveDate}, birthday = #{birthday}, occupation_type = #{occupationType}, modifier = #{modifier}, gmt_modified = #{gmtModified} WHERE overseas_personnel_id = #{overseasPersonnelId}