feat(procurements): 작성중 삭제 + 입금완료전 수정 + 035 plain SQL reload
Deploy momo-erp / deploy (push) Failing after 58s
Deploy momo-erp / deploy (push) Failing after 58s
- 매입 발주서: OPEN 일 때 삭제 버튼 노출, 라인 포함 hard delete · 신규 API /api/m/procurements/delete (status='OPEN' 만 허용) - 매입 발주 editable: STATUS === 'OPEN' → STATUS not in (PAID, CANCELLED) · lines/save API 가드도 동일 (PAID/CANCELLED 만 차단) - 035_supply_mng_plain_reload.sql: 직전 DO block 마이그레이션이 어디서 fail 하는지 추적 불가 → 가장 단순한 plain SQL 로 supply_mng 다 비우고 엑셀 기준 80개 INSERT ON CONFLICT(supply_code) UPSERT · momo_items/momo_procurements 의 vendor_objid 모두 NULL 처리 · UNIQUE INDEX 보장 후 INSERT — 매 deploy 안전
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
-- 035_supply_mng_plain_reload.sql — DO block 없이 순수 SQL 만 (2026-05-13)
|
||||
-- 직전 마이그레이션의 DO block 이 어디서 fail 했는지 추적 불가 → 가장 단순한 plain SQL 로 재시도.
|
||||
-- 매 deploy 마다 실행되어도 안전. supply_mng 매번 80개로 정리.
|
||||
|
||||
ALTER TABLE supply_mng ADD COLUMN IF NOT EXISTS product_lines TEXT;
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_supply_mng_code_uniq ON supply_mng(supply_code);
|
||||
|
||||
-- FK 끊기 (vendor_objid 참조 정리)
|
||||
UPDATE momo_items SET vendor_objid = NULL WHERE vendor_objid IS NOT NULL;
|
||||
UPDATE momo_procurements SET vendor_objid = NULL WHERE vendor_objid IS NOT NULL;
|
||||
|
||||
-- supply_mng 통째 비우기 → 80개 INSERT
|
||||
DELETE FROM supply_mng;
|
||||
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000001', 'SUP001', '주식회사 헤이필드 크리머리', '이지수 대표', '010-7244-4404', '유정란,유제품,치즈', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000002', 'SUP002', '버터럼', '이지수 대표', '010-7244-4404', '노슈거, 뚜띠푸르티 과일즙/올리브유 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000003', 'SUP003', '맛깔나는 모모수산', '김창완 대표', '010-7171-0070', '산지직송 수산', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000004', 'SUP004', '신통방통푸드', '조용준 대표', '010-2222-3465', '보리쌈장', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000005', 'SUP005', '플랜비', '김영헌 대표', '010-2965-9106', '듀라텍스외 화장품/식품', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000006', 'SUP006', '비프스토리', '정찬/함휘령 대표', '010-3935-0076', '축산 /육가공', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000007', 'SUP007', '에이슬링코리아', '김민재 대표', '010-5415-8753', '앙투어솔레 치즈/파스타외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000008', 'SUP008', '농업회사법인 그린라인 유한회사', '김남헌 수석 컨설턴트', '010-8704-4554', '유러피안 샐러드', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000009', 'SUP009', '농업회사법인㈜대덕유통', '최광진 대표', '010-2774-6361', '1번 방사유정란', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000010', 'SUP010', '오수연푸드', '신예진 과장', '010-3457-7080', '반찬류 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000011', 'SUP011', '한울', '배우리 대리', '010-6855-1654', '한울김치 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000012', 'SUP012', '한울팜스', '배우리 대리', '010-6855-1654', '비빔나물/ 한울 반찬 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000013', 'SUP013', '자운두부', '대표', '010-4095-4149', '', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000014', 'SUP014', '썬스토리', '김명준 상무', '010-9466-7098', '빛채울김치 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000015', 'SUP015', '주식회사 상선에프앤비', '박선규 대표', '010-9938-7601', '간장게장/양념게장 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000016', 'SUP016', '다온다코리아', '고요한 대표', '010-2995-1534', '덤핑/임박', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000017', 'SUP017', '와이파이상사', '정종민 대표', '010-6648-9006', '화장품/식품/덤핑', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000018', 'SUP018', '바른맛 자연', '대표', '010-8633-5816', '꽃징어 외 건어물', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000019', 'SUP019', '그레잇 코리아', '정현경 팀장', '010-9100-4505', '김치/장아찌', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000020', 'SUP020', '주식회사 야식창고', '도주형 대표', '010-8834-8874', '쿵딘쌀국수 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000021', 'SUP021', '팔덕팩토리', '김경민 대표', '010-2927-7054', '팔덕식당 등갈비찜', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000022', 'SUP022', '㈜성우트레이딩', '홍순석 대표', '010-6571-1440', '생선까스/밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000023', 'SUP023', '오름 에프엔비', '정현주', '010-5115-0440', '대장쪽갈비', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000024', 'SUP024', '㈜ 삼부에프씨', '조은실 대표', '010-9282-1150', '로움갈비', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000025', 'SUP025', '벨라마켓', '김수진 대표', '010-4199-7321', '여수해적 밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000026', 'SUP026', '르구르망', '차장님', '010-2442-6279', '치즈 외 유제품', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000027', 'SUP027', '민속떡집', '정미화 대표', '010-8221-3846', '쑥개떡 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000028', 'SUP028', '경기떡집', '마충렬 팀장', '010-4123-0626', '이티떡/미숫가루 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000029', 'SUP029', '이랜드 팜앤푸드', '김승만 파트장', '010-6501-8768', '에슐리 밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000030', 'SUP030', '퐈퐈마켓', '정수민 대리', '010-8495-0026', '초례청 약과 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000031', 'SUP031', '덕스에프앤비', '이세환 대표', '010-5663-4764', '국물닭발 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000032', 'SUP032', '오웬푸드 셰프애찬', '김영미 이사', '010-8818-2243', '셰프애찬 김치 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000033', 'SUP033', '대명수산', '서태명 대표', '010-4992-5424', '과메기/ 수산밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000034', 'SUP034', '정만수산', '대표', '010-7352-8882', '알탕 수산밀키트', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000035', 'SUP035', '순진식품 영농회사법인', '이도규 부장', '010-5757-3954', '순진콩물', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000036', 'SUP036', '한국해양수산', '이도경 대표', '010-3075-5598', '통영 수산물', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000037', 'SUP037', '에스티식품', '허주원 대표', '010-6330-8032', '화명동 떡볶이', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000038', 'SUP038', '㈜솔푸드', '대표', '', '뚱이만두', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000039', 'SUP039', '진도 삼촌네', '대표', '010-5161-7603', '초당옥수수', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000040', 'SUP040', '성부유통', '국수호 대표', '010-4233-9257', '가락청과 과일', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000041', 'SUP041', '연동치미', '실장님', '010-4792-0023', '', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000042', 'SUP042', '달을성농장', '윤성규 대표', '010-7585-0988', '샐러드팩', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000043', 'SUP043', '아이캔두잇', '대표', '010-5276-5680', '스낵류', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000044', 'SUP044', '피와이푸드', '박정수 대표', '010-7417-5800', '월남쌈 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000045', 'SUP045', '간식어장', '이재선 대표', '010-2987-0444', '떡볶이/분식밀키트', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000046', 'SUP046', '통큰수산', '조성우 전무', '010-9852-2734', '홍게/수산밀키트', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000047', 'SUP047', '조선물산', '추희수 대리', '010-9791-8515', '', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000048', 'SUP048', '오로라 에프앤비', '김리나 대표', '010-8445-2269', '양송이스프/치즈스틱 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000049', 'SUP049', '초이스엠 코리아', '강정회 대표', '010-3200-6722', '양갈비 숄더랙', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000050', 'SUP050', '글로비스 얼라이언스', '이승관 본부장', '010-3198-1742', '나탈리스 주스/밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000051', 'SUP051', '덕컴퍼니', '강나래 대표', '010-9793-1117', '덤핑 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000052', 'SUP052', '예령산업', '최우영 대표', '010-3350-3184', '철호국밥 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000053', 'SUP053', '보라티알', '백민기 차장', '010-3722-1951', '데체코 올리브유 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000054', 'SUP054', '에스디지 코퍼레이션', '양정규 대표', '010-6242-5098', '순대국 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000055', 'SUP055', '더존푸드', '김준열 담당', '010-8507-9972', '국물닭발 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000056', 'SUP056', '약단밤 이야기', '김영미 대표', '010-5671-6679', '생율, 약단밤', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000057', 'SUP057', '남동공단 떡볶이', '대표', '010-9441-7901', '떡볶이/분식밀키트', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000058', 'SUP058', '주식회사 온다미', '지현진 과장', '010-6564-4767', '반건오징어,수산', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000059', 'SUP059', '차림에프엔비', '차주영 대표', '010-2582-4294', '삼일카레', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000060', 'SUP060', '청담푸드', '박성태 대표', '010-7236-4988', '직화 알곱창', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000061', 'SUP061', '촌드레 푸드', '전준동 대표', '010-8450-9944', '코다리 조림', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000062', 'SUP062', '농업회사법인 ㈜ 애담', '대표', '010-3734-6595', '강화 약숙찹쌀떡', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000063', 'SUP063', '주안고기백화점', '원기연 대표', '010-5431-3020', '쫙갈비(다원미트)', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000064', 'SUP064', '㈜엘에푸푸드', '조성국 팀장', '010-8-4084-2097', 'LF푸드', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000065', 'SUP065', '㈜대일본초', '전종호 대표', '010-3320-1848', '고구마칩', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000066', 'SUP066', '이레축산', '박지헌 대표', '010-5612-4079', '정육(엠마오미트)', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000067', 'SUP067', '영성', '김금영 대표', '010-2981-3427', '생강청 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000068', 'SUP068', '이천쌀 김부각', '오경선 대표', '010-7194-3256', '이천 김부각', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000069', 'SUP069', '㈜해늘', '최연준 이사', '010-9887-6256', '순대국', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000070', 'SUP070', '유통몬스터', '최원철 대표', '010-5370-6123', '명인카스테라', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000071', 'SUP071', '진보 건어물', '이주송 대표', '010-3167-4210', '쥐포', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000072', 'SUP072', '서락비', '대표', '010-9070-2227', '닭갈비', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000073', 'SUP073', '화앤닭', '대표', '010-6353-2223', '닭갈비', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000074', 'SUP074', '치즈앤푸드', '정예슬대리', '010-2692-6066', '치즈/유제품 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000075', 'SUP075', '오늘의 즐거움', '장주희 대표', '010-3795-3961', '밀키트 외', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000076', 'SUP076', '그래비티', '김선영대표', '010-7176-8335', '애사비', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000077', 'SUP077', '㈜동추원FNB', '박동신대표', '010-6341-0520', '소불고기 밀키트', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000078', 'SUP078', '선산이조곱창', '대표', '010-5369-8272', '곱창전골', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000079', 'SUP079', '단풍고을', '대표', '010-5351-2833', '떡', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
INSERT INTO supply_mng (objid, supply_code, supply_name, charge_user_name, supply_tel_no, product_lines, status, reg_id, reg_date) VALUES ('MOMOSUP000000080', 'SUP080', '엘리스유통', '대표', '010-2447-3002', '화장품/덤핑', 'active', 'admin', NOW()) ON CONFLICT (supply_code) DO UPDATE SET supply_name=EXCLUDED.supply_name, charge_user_name=EXCLUDED.charge_user_name, supply_tel_no=EXCLUDED.supply_tel_no, product_lines=EXCLUDED.product_lines, status='active';
|
||||
@@ -172,6 +172,39 @@ export default function ProcurementsPage() {
|
||||
} finally { setBusy(false); }
|
||||
};
|
||||
|
||||
// 작성중(OPEN) 발주서 삭제 — 라인 포함 hard delete
|
||||
const deleteProc = async () => {
|
||||
if (!detail) return;
|
||||
if (detail.proc.STATUS !== "OPEN") {
|
||||
Swal.fire({ icon: "warning", title: "작성중 상태만 삭제 가능합니다." });
|
||||
return;
|
||||
}
|
||||
const ok = await Swal.fire({
|
||||
icon: "warning",
|
||||
title: `발주서 ${detail.proc.PROC_NO} 를 삭제하시겠습니까?`,
|
||||
text: "작성중인 라인까지 모두 삭제됩니다.",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#dc2626",
|
||||
confirmButtonText: "삭제",
|
||||
});
|
||||
if (!ok.isConfirmed) return;
|
||||
setBusy(true);
|
||||
try {
|
||||
const res = await fetch("/api/m/procurements/delete", {
|
||||
method: "POST", headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ objid: detail.proc.OBJID }),
|
||||
});
|
||||
const j = await res.json();
|
||||
if (j.success) {
|
||||
Swal.fire({ icon: "success", title: "삭제되었습니다", timer: 1200, showConfirmButton: false });
|
||||
setActiveId(null);
|
||||
load();
|
||||
} else {
|
||||
Swal.fire({ icon: "error", title: "삭제 실패", text: j.message });
|
||||
}
|
||||
} finally { setBusy(false); }
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="space-y-3">
|
||||
<div className="flex items-end justify-between flex-wrap gap-2">
|
||||
@@ -247,10 +280,16 @@ export default function ProcurementsPage() {
|
||||
<div className="px-3 py-2 bg-slate-50 border-b border-slate-200 text-xs font-semibold text-slate-600 flex items-center justify-between">
|
||||
<span>발주서</span>
|
||||
{detail && detail.proc.STATUS === "OPEN" && (
|
||||
<button onClick={sendOrder} disabled={busy}
|
||||
className="inline-flex items-center gap-1 h-8 px-3 rounded bg-emerald-700 text-white text-xs font-bold hover:bg-emerald-800 disabled:opacity-50">
|
||||
<Send size={12} /> 발주 요청
|
||||
</button>
|
||||
<div className="flex items-center gap-2">
|
||||
<button onClick={deleteProc} disabled={busy}
|
||||
className="inline-flex items-center gap-1 h-8 px-3 rounded border border-rose-300 bg-white text-rose-700 text-xs font-bold hover:bg-rose-50 disabled:opacity-50">
|
||||
삭제
|
||||
</button>
|
||||
<button onClick={sendOrder} disabled={busy}
|
||||
className="inline-flex items-center gap-1 h-8 px-3 rounded bg-emerald-700 text-white text-xs font-bold hover:bg-emerald-800 disabled:opacity-50">
|
||||
<Send size={12} /> 발주 요청
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
{detail && detail.proc.STATUS === "REQUESTED" && (
|
||||
<span className="text-[11px] text-amber-700">발주 요청 완료 — 공급업체 응답 대기</span>
|
||||
@@ -313,7 +352,8 @@ function ProcurementForm({ detail, vendors, onSetVendor, onSetMemo, onSetTerm, o
|
||||
onUpdateLine: (line: { objid?: string; itemObjid?: string; qty: number; costPrice: number }) => void;
|
||||
onDeleteLine: (objid: string) => void;
|
||||
}) {
|
||||
const editable = detail.proc.STATUS === "OPEN";
|
||||
// 입금완료(PAID)/취소(CANCELLED) 전까지 수정 허용 — 발주요청/입고완료/부분입고 도 수량 수정 가능
|
||||
const editable = !["PAID", "CANCELLED"].includes(detail.proc.STATUS);
|
||||
const formRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
const handleCapture = async () => {
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
// 매입 발주서 삭제 — OPEN(작성중) 상태만 허용. 신청/입고/입금된 발주는 삭제 금지.
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { pool } from "@/lib/db";
|
||||
import { requireMomoUser } from "@/lib/momo-guard";
|
||||
|
||||
export async function POST(req: NextRequest) {
|
||||
const r = await requireMomoUser();
|
||||
if (r instanceof NextResponse) return r;
|
||||
|
||||
let objid: string;
|
||||
try {
|
||||
const body = await req.json() as { objid?: string };
|
||||
if (!body.objid) throw new Error("objid 누락");
|
||||
objid = body.objid;
|
||||
} catch {
|
||||
return NextResponse.json({ success: false, message: "잘못된 요청입니다." }, { status: 400 });
|
||||
}
|
||||
|
||||
const client = await pool.connect();
|
||||
try {
|
||||
await client.query("BEGIN");
|
||||
const cur = await client.query(`SELECT status FROM momo_procurements WHERE objid = $1 FOR UPDATE`, [objid]);
|
||||
if (cur.rowCount === 0) {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "발주서를 찾을 수 없습니다." }, { status: 404 });
|
||||
}
|
||||
if (cur.rows[0].status !== "OPEN") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "작성중 상태의 발주서만 삭제할 수 있습니다." }, { status: 400 });
|
||||
}
|
||||
await client.query(`DELETE FROM momo_procurement_items WHERE proc_objid = $1`, [objid]);
|
||||
await client.query(`DELETE FROM momo_procurements WHERE objid = $1`, [objid]);
|
||||
await client.query("COMMIT");
|
||||
return NextResponse.json({ success: true });
|
||||
} catch (err) {
|
||||
await client.query("ROLLBACK");
|
||||
console.error("[procurements/delete]", err);
|
||||
return NextResponse.json({ success: false, message: "삭제 중 오류가 발생했습니다." }, { status: 500 });
|
||||
} finally {
|
||||
client.release();
|
||||
}
|
||||
}
|
||||
@@ -34,9 +34,10 @@ export async function POST(req: NextRequest) {
|
||||
return NextResponse.json({ success: false, message: "발주서를 찾을 수 없습니다." }, { status: 404 });
|
||||
}
|
||||
const status = procRes.rows[0].status;
|
||||
if (status !== "OPEN" && status !== "REQUESTED") {
|
||||
// 입금완료(PAID)/취소(CANCELLED) 외 모든 상태에서 수정 허용
|
||||
if (status === "PAID" || status === "CANCELLED") {
|
||||
await client.query("ROLLBACK");
|
||||
return NextResponse.json({ success: false, message: "작성/요청 상태에서만 수정할 수 있습니다." }, { status: 400 });
|
||||
return NextResponse.json({ success: false, message: "입금완료/취소 상태는 수정할 수 없습니다." }, { status: 400 });
|
||||
}
|
||||
|
||||
for (const ln of lines) {
|
||||
|
||||
Reference in New Issue
Block a user