출처: '260716_AIO2O 수정 및 요청사항_v2_memo check.xlsx' > '협상카드 수정' 시트(D열).
- 스크립트 개정: NGC-003(장기 관계 강조)·NGC-004(명분 제공)·NGC-007(예산 상한 안내)·NGC-008(시장가 근거 제시)
- 미사용('IMK 거래 특성과 관련성 부족') 카드 삭제: NGC-006(총비용 가치 설명)·NGC-009(조건부 가격 조정)
- init-data.sql(신규/초기화 설치 정본)에서 006·009 INSERT 제거 + 4개 멘트 갱신
- 동일 최종본을 기존 DB 보정용 alter(postgres-init/alters/2026-07-24-nego-card-scripts.sql)로도 제공(멱등)
검증: 시드 nego_cards VALUES 를 temp 테이블에 강제 평가 → 9행·전부 유효 jsonb. seed=alter=로컬 DB 일치.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44 lines
5.6 KiB
SQL
44 lines
5.6 KiB
SQL
-- 2026-07-24 · 협상카드 스크립트 개정 + 미사용 카드 정리 (기존 DB 보정)
|
|
-- 출처: '260716_AIO2O 수정 및 요청사항_v2_memo check.xlsx' > '협상카드 수정' 시트(D열).
|
|
-- 내용 정본은 init-data.sql(신규/초기화 설치). 이 파일은 그와 동일한 최종본을 기존 DB 에 반영한다.
|
|
-- - 스크립트 개정: NGC-003(장기 관계 강조)·NGC-004(명분 제공)·NGC-007(예산 상한 안내)·NGC-008(시장가 근거 제시)
|
|
-- - 미사용 카드 soft-delete: NGC-006(총비용 가치 설명)·NGC-009(조건부 가격 조정)
|
|
-- 멱등: number 기준 UPDATE — 여러 번 실행해도 안전.
|
|
-- 적용: psql -h <host> -p <port> -U <user> -d <db> -f postgres-init/alters/2026-07-24-nego-card-scripts.sql
|
|
|
|
\connect negosium_db
|
|
|
|
UPDATE card.nego_cards SET script='귀사와의 협력을 진심으로 소중하게 생각하고 있습니다.
|
|
|
|
이번 거래가 단발성으로 끝나지 않고, 앞으로도 오랜 기간 협력하는 관계가 되기를 바랍니다. 그런 의미에서 양사가 모두 만족할 수 있는 합리적인 지점을 함께 찾고자 합니다.
|
|
|
|
귀사께서 조금만 더 협조해 주신다면, 당사 역시 장기적인 관점에서 최선을 다해 화답하겠습니다. 좋은 합의를 기대합니다.',
|
|
edit_script='[{"type": "paragraph", "children": [{"text": "귀사와의 협력을 진심으로 소중하게 생각하고 있습니다."}]}, {"type": "paragraph", "children": [{"text": "이번 거래가 단발성으로 끝나지 않고, "}, {"bold": true, "text": "앞으로도 오랜 기간 협력하는 관계"}, {"text": "가 되기를 바랍니다. 그런 의미에서 양사가 모두 만족할 수 있는 합리적인 지점을 함께 찾고자 합니다."}]}, {"type": "paragraph", "children": [{"text": "귀사께서 조금만 더 협조해 주신다면, 당사 역시 장기적인 관점에서 최선을 다해 화답하겠습니다. 좋은 합의를 기대합니다."}]}]'::jsonb, updated_at=now()
|
|
WHERE number='NGC-003' AND deleted=false;
|
|
|
|
UPDATE card.nego_cards SET script='그동안 귀사께서 제공해주신 전문성과 경쟁력에 감사드립니다.
|
|
|
|
이번 합의는 귀사가 일방적으로 양보하는 것이 아니라, 양사가 장기적 협력을 위해 함께 내린 전략적 결정으로 이해해 주시면 감사하겠습니다. 당사 역시 이번 합의를 귀사와의 신뢰를 보여주는 기회로 삼겠습니다.
|
|
|
|
서로의 입장을 존중하는 선에서 원만하게 마무리할 수 있기를 바랍니다.',
|
|
edit_script='[{"type": "paragraph", "children": [{"text": "그동안 귀사께서 제공해주신 전문성과 경쟁력에 감사드립니다."}]}, {"type": "paragraph", "children": [{"text": "이번 합의는 귀사가 일방적으로 양보하는 것이 아니라, "}, {"bold": true, "text": "양사가 장기적 협력을 위해 함께 내린 전략적 결정"}, {"text": "으로 이해해 주시면 감사하겠습니다. 당사 역시 이번 합의를 귀사와의 신뢰를 보여주는 기회로 삼겠습니다."}]}, {"type": "paragraph", "children": [{"text": "서로의 입장을 존중하는 선에서 원만하게 마무리할 수 있기를 바랍니다."}]}]'::jsonb, updated_at=now()
|
|
WHERE number='NGC-004' AND deleted=false;
|
|
|
|
UPDATE card.nego_cards SET script='귀사와의 합의를 진심으로 바라고 있습니다.
|
|
|
|
다만 당사 내부 사정상 본 건에 희망 가능한 금액은 {anchoring_price}원(VAT별도)이 한계입니다. 이는 담당자 개인의 재량을 넘어선것으로 너른 양해를 부탁드립니다.
|
|
|
|
해당 범위 내에서 귀사가 수용 가능한 지점을 함께 찾을 수 있기를 바랍니다.',
|
|
edit_script='[{"type": "paragraph", "children": [{"text": "귀사와의 합의를 진심으로 바라고 있습니다."}]}, {"type": "paragraph", "children": [{"text": "다만 당사 내부 사정상 본 건에 희망 가능한 금액은 "}, {"name": "anchoring_price", "type": "variable", "label": "앵커링가격(고객사 하한)", "style": {"bold": true, "color": "red"}, "suffix": "원(VAT별도)", "children": [{"text": ""}]}, {"bold": true, "text": "이 한계입니다."}, {"text": " 이는 담당자 개인의 재량을 넘어선것으로 너른 양해를 부탁드립니다."}]}, {"type": "paragraph", "children": [{"text": "해당 범위 내에서 귀사가 수용 가능한 지점을 함께 찾을 수 있기를 바랍니다."}]}]'::jsonb, updated_at=now()
|
|
WHERE number='NGC-007' AND deleted=false;
|
|
|
|
UPDATE card.nego_cards SET script='인터넷 시장 조사 결과, 동종 업계의 유사 거래에서도 본 건과 비슷한 사양은 {internet_lowest_price}원(VAT별도) 안팎에서 거래되고 있습니다.
|
|
|
|
특정 업체만의 기준이 아니라 업계 전반의 관행에 근거한 가격인 만큼, 합리적으로 검토해 주시기를 부탁드립니다.',
|
|
edit_script='[{"type": "paragraph", "children": [{"text": "인터넷 시장 조사 결과, 동종 업계의 유사 거래에서도 본 건과 비슷한 사양은 "}, {"name": "internet_lowest_price", "type": "variable", "label": "인터넷 최저가", "style": {"bold": true, "color": "red"}, "suffix": "원(VAT별도)", "children": [{"text": ""}]}, {"text": " 안팎에서 거래되고 있습니다."}]}, {"type": "paragraph", "children": [{"text": "특정 업체만의 기준이 아니라 업계 전반의 관행에 근거한 가격인 만큼, 합리적으로 검토해 주시기를 부탁드립니다."}]}]'::jsonb, updated_at=now()
|
|
WHERE number='NGC-008' AND deleted=false;
|
|
|
|
-- 미사용 카드 정리(soft-delete)
|
|
UPDATE card.nego_cards SET deleted=true, updated_at=now()
|
|
WHERE number IN ('NGC-006','NGC-009') AND deleted=false;
|