id, org_id, seq, site_name, category, board_name, post_title, url, description, has_attachment, prior_kogl_type, contract_docs, produced_date, published_date, review_major, review_minor, review_result, review_kogl_type, review_ai_type, review_opinion, review_note, prior_evidence, judged_kogl_type, judged_ai_type, final_opinion, judgment_basis, process_status, (extract(epoch from processed_at) * 1000)::bigint as processed_at, (extract(epoch from web_edited_at) * 1000)::bigint as web_edited_at, (extract(epoch from created_at) * 1000)::bigint as created_at, (extract(epoch from updated_at) * 1000)::bigint as updated_at and (site_name ilike concat('%', #{keyword}, '%') or post_title ilike concat('%', #{keyword}, '%')) and site_name ilike concat('%', #{site}, '%') and board_name ilike concat('%', #{board}, '%') and post_title ilike concat('%', #{title}, '%') and process_status = '처리완료' and (process_status is null or process_status = '' or process_status <> '처리완료') insert into process_item ( org_id, seq, site_name, category, board_name, post_title, url, description, has_attachment, prior_kogl_type, contract_docs, produced_date, published_date, review_major, review_minor, review_result, review_kogl_type, review_ai_type, review_opinion, review_note, prior_evidence, judged_kogl_type, judged_ai_type, final_opinion, judgment_basis, process_status ) values ( #{orgId}, #{seq}, #{siteName}, #{category}, #{boardName}, #{postTitle}, #{url}, #{description}, #{hasAttachment}, #{priorKoglType}, #{contractDocs}, #{producedDate}, #{publishedDate}, #{reviewMajor}, #{reviewMinor}, #{reviewResult}, #{reviewKoglType}, #{reviewAiType}, #{reviewOpinion}, #{reviewNote}, #{priorEvidence}, #{judgedKoglType}, #{judgedAiType}, #{finalOpinion}, #{judgmentBasis}, #{processStatus} ) on conflict (org_id, seq) do update set site_name = excluded.site_name, category = excluded.category, board_name = excluded.board_name, post_title = excluded.post_title, url = excluded.url, description = excluded.description, has_attachment = excluded.has_attachment, prior_kogl_type = excluded.prior_kogl_type, produced_date = excluded.produced_date, published_date = excluded.published_date, review_major = excluded.review_major, review_minor = excluded.review_minor, review_result = excluded.review_result, review_kogl_type = excluded.review_kogl_type, review_ai_type = excluded.review_ai_type, review_opinion = excluded.review_opinion, review_note = excluded.review_note, prior_evidence = excluded.prior_evidence, contract_docs = case when process_item.web_edited_at is null then excluded.contract_docs else process_item.contract_docs end, judged_kogl_type = case when process_item.web_edited_at is null then excluded.judged_kogl_type else process_item.judged_kogl_type end, judged_ai_type = case when process_item.web_edited_at is null then excluded.judged_ai_type else process_item.judged_ai_type end, final_opinion = case when process_item.web_edited_at is null then excluded.final_opinion else process_item.final_opinion end, judgment_basis = case when process_item.web_edited_at is null then excluded.judgment_basis else process_item.judgment_basis end, process_status = case when process_item.web_edited_at is null then excluded.process_status else process_item.process_status end, updated_at = now() update process_item set contract_docs = #{contractDocs}, judged_kogl_type = #{judgedKoglType}, judged_ai_type = #{judgedAiType}, final_opinion = #{finalOpinion}, judgment_basis = #{judgmentBasis}, process_status = #{processStatus}, web_edited_at = now(), processed_at = case when #{processStatus} = '처리완료' and process_item.processed_at is null then now() else process_item.processed_at end, updated_at = now() where org_id = #{orgId} and id = #{id} delete from process_item where org_id = #{orgId} and id = #{id} delete from process_item where org_id = #{orgId} update process_item set process_status = coalesce(#{processStatus}, process_status), judged_kogl_type = coalesce(#{judgedKoglType}, judged_kogl_type), final_opinion = coalesce(#{finalOpinion}, final_opinion), processed_at = case when #{processStatus} = '처리완료' then now() else processed_at end, web_edited_at = now(), updated_at = now() where org_id = #{orgId} and id in #{id} delete from process_item where org_id = #{orgId} and id in #{id}