d.f_delete_mark IS NULL AND d.zhixing_shijian IS NULL
AND NULLIF(btrim(d.f_tenant_id), '') IS NOT NULL
AND NULLIF(btrim(d.biz_sign), '') IS NOT NULL
AND NULLIF(btrim(d.dengji_ren_id), '') IS NOT NULL
AND d.dengji_shijian IS NOT NULL
AND NULLIF(btrim(d.f_flow_id), '') IS NULL
AND NULLIF(btrim(d.f_flow_task_id), '') IS NULL
AND NOT EXISTS (SELECT 1 FROM dms_wenjian_bupingheng_dengji_zixiang reprint
WHERE reprint.f_tenant_id = d.f_tenant_id AND reprint.f_foreign_id = d.f_id
AND reprint.f_delete_mark IS NULL AND reprint.cuoshi = 'cuoshi3')
AND EXISTS (SELECT 1 FROM dms_wenjian_bupingheng_dengji_zixiang i
WHERE i.f_tenant_id = d.f_tenant_id AND i.f_foreign_id = d.f_id AND i.f_delete_mark IS NULL)
INSERT INTO dms_wenjian_bupingheng_buchang AS r
(f_tenant_id, dengji_id, yuandan_banben, changshi_cishu, xiaci_changshi_shijian,
tingzhi_zhongshi, zhanyong_biaoshi, zuihou_cuowu)
SELECT d.f_tenant_id, d.f_id, COALESCE(d.f_version, 0), 1,
CURRENT_TIMESTAMP + INTERVAL '15 minutes', FALSE, #{token}, NULL
FROM dms_wenjian_bupingheng_dengji d
WHERE d.f_tenant_id = #{task.tenantId} AND d.f_id = #{task.documentId}
AND COALESCE(d.f_version, 0) = #{task.version} AND
ON CONFLICT (f_tenant_id, dengji_id) DO UPDATE SET
yuandan_banben = EXCLUDED.yuandan_banben,
changshi_cishu = CASE WHEN r.yuandan_banben = EXCLUDED.yuandan_banben THEN r.changshi_cishu + 1 ELSE 1 END,
xiaci_changshi_shijian = EXCLUDED.xiaci_changshi_shijian,
tingzhi_zhongshi = FALSE, zhanyong_biaoshi = EXCLUDED.zhanyong_biaoshi, zuihou_cuowu = NULL
WHERE r.yuandan_banben <> EXCLUDED.yuandan_banben
OR (NOT r.tingzhi_zhongshi AND r.changshi_cishu < #{maxAttempts}
AND r.xiaci_changshi_shijian <= CURRENT_TIMESTAMP)
UPDATE dms_wenjian_bupingheng_buchang
SET tingzhi_zhongshi = #{stop}, zuihou_cuowu = #{error}, zhanyong_biaoshi = NULL,
xiaci_changshi_shijian = CURRENT_TIMESTAMP + (#{delaySeconds} * INTERVAL '1 second')
WHERE f_tenant_id = #{task.tenantId} AND dengji_id = #{task.documentId}
AND yuandan_banben = #{task.version} AND zhanyong_biaoshi = #{token}