<insert id="insertForBatch">
INSERT INTO REPORT_ORIGINALINFO(USERID,
CHECKTIMEPOINT,
USERNAME,
ISCORRECTION,
CREATETIME,
COORDINATES,
COORDINATESID,
NOTE,
MAC,
OTHERSID,
LBJID,
EHR_TENANT_ID,
COPYFLAG)
SELECT USERID,
CHECKTIMEPOINT,
USERNAME,
ISCORRECTION,
CREATETIME,
COORDINATES,
COORDINATESID,
NOTE,
MAC,
OTHERSID,
LBJID,
#{toEhrTenantId} AS EHR_TENANT_ID,
#{originCompanyId} AS COPYFLAG
FROM REPORT_ORIGINALINFO ro
WHERE ro.EHR_TENANT_ID = #{originEhrTenantId}
AND EXISTS(
SELECT 1
FROM sys_userinfo u
WHERE u.USERID = ro.userid
AND u.COMPANYID = #{originCompanyId}
AND u.EHR_TENANT_ID = #{originEhrTenantId}
<if test="userId != null and userId != ''">
and u.USERID = #{userId}
</if>
)
and not EXISTS(
SELECT USERID,
CHECKTIMEPOINT
FROM REPORT_ORIGINALINFO le
WHERE ro.USERID = le.userid
AND ro.USERID = le.USERID
AND ro.CHECKTIMEPOINT = le.CHECKTIMEPOINT
AND le.EHR_TENANT_ID = #{toEhrTenantId}
)
AND ro.CHECKTIMEPOINT >= to_date(#{beginDateStr}, 'yyyy-mm-dd')
AND <![CDATA[ ro.CHECKTIMEPOINT < to_date(#{endDateStr}, 'yyyy-mm-dd') + 1
]]>
</insert>
not EXISTS: 去重功能
EXISTS:关联条件