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 = #{doneStatus}
and (process_status is null or process_status = '' or process_status <> #{doneStatus})
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} = #{doneStatus} 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),
review_note = coalesce(#{reviewNote}, review_note),
processed_at = case when #{processStatus} = #{doneStatus} 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}