INSERT IGNORE INTO gen_census_msg(
census_msg_id,
base_id,
name_of_householder,
contact,
census_number,
id_card_of_householder,
relationship_with_householder,
people_same_census,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
) SELECT
#{censusMsgId},
#{baseId},
#{nameOfHouseholder},
#{contact},
#{censusNumber},
#{idCardOfHouseholder},
#{relationshipWithHouseholder},
#{peopleSameCensus},
#{creator},
#{gmtCreate},
#{modifier},
#{gmtModified},
#{isDelete}
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
*
FROM
gen_census_msg
WHERE
base_id = #{baseId}
AND is_delete = 0
)
INSERT IGNORE INTO gen_census_msg(
census_msg_id,
base_id,
name_of_householder,
contact,
census_number,
id_card_of_householder,
relationship_with_householder,
people_same_census,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
)
SELECT
#{item.censusMsgId},
#{item.baseId},
#{item.nameOfHouseholder},
#{item.contact},
#{item.censusNumber},
#{item.idCardOfHouseholder},
#{item.relationshipWithHouseholder},
#{item.peopleSameCensus},
#{item.creator},
#{item.gmtCreate},
#{item.modifier},
#{item.gmtModified},
#{item.isDelete}
FROM
DUAL
WHERE
NOT EXISTS (
SELECT
*
FROM
gen_census_msg
WHERE
base_id = #{item.baseId}
AND is_delete = 0
)
UPDATE
gen_census_msg
SET
is_delete = 1,
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
census_msg_id IN
#{censusMsgIds[${index}]}
DELETE FROM
gen_census_msg
WHERE
census_msg_id IN
#{censusMsgIds[${index}]}
UPDATE
gen_census_msg
SET
base_id = #{baseId},
name_of_householder = #{nameOfHouseholder},
contact = #{contact},
census_number = #{censusNumber},
id_card_of_householder = #{idCardOfHouseholder},
relationship_with_householder = #{relationshipWithHouseholder},
people_same_census = #{peopleSameCensus},
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
census_msg_id = #{censusMsgId}