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}