INSERT IGNORE INTO gen_floating_population(
floating_population_id,
base_id,
card_expire_date,
residence_type,
register_date,
registration_type,
key_of_follow,
card_number,
inflow_reason,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
) SELECT
#{floatingPopulationId},
#{baseId},
#{cardExpireDate},
#{residenceType},
#{registerDate},
#{registrationType},
#{keyOfFollow},
#{cardNumber},
#{inflowReason},
#{creator},
#{gmtCreate},
#{modifier},
#{gmtModified},
#{isDelete}
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
*
FROM
gen_floating_population
WHERE
base_id = #{baseId}
AND is_delete = 0
)
INSERT IGNORE INTO gen_floating_population(
floating_population_id,
base_id,
card_expire_date,
residence_type,
register_date,
registration_type,
key_of_follow,
card_number,
inflow_reason,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
)
SELECT
#{item.floatingPopulationId},
#{item.baseId},
#{item.cardExpireDate},
#{item.residenceType},
#{item.registerDate},
#{item.registrationType},
#{item.keyOfFollow},
#{item.cardNumber},
#{item.inflowReason},
#{item.creator},
#{item.gmtCreate},
#{item.modifier},
#{item.gmtModified},
#{item.isDelete}
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
*
FROM
gen_floating_population
WHERE
base_id = #{item.baseId}
AND is_delete = 0
)
UPDATE
gen_floating_population
SET
is_delete = 1,
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
floating_population_id IN
#{floatingPopulationIds[${index}]}
DELETE FROM
gen_floating_population
WHERE
floating_population_id IN
#{floatingPopulationIds[${index}]}
UPDATE
gen_floating_population
SET
base_id = #{baseId},
card_expire_date = #{cardExpireDate},
residence_type = #{residenceType},
register_date = #{registerDate},
registration_type = #{registrationType},
key_of_follow = #{keyOfFollow},
card_number = #{cardNumber},
inflow_reason = #{inflowReason},
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
floating_population_id = #{floatingPopulationId}