구매관리 입고 3메뉴 + 프로젝트 발주/입고 통계 빈 그리드 채움
- DDL: purchase_order_part(43 cols) + arrival_plan(37 cols) + POM 보충 컬럼 10개 (mail_send_yn/date, form_type, purchase_close_date 등) - 데이터: 운영 sample purchase_order_master 1건 + part 1건 + arrival_plan 1건 - listInbound — wace deliveryMngList_new 매퍼 1:1 (POM + S1 집계, AP × POP) - listInboundByItem — wace deliveryMngPartList 매퍼 1:1 (품목별) - listInboundByDate — wace purchaseCloseList 매퍼 1:1 (입고일별 + 매입마감) - listProjectStatus — PO/DLV 통계 0 → 실데이터 (purchase_order_part + arrival_plan) - INVENTORY_MGMT / INCOMING_INSPECTION 미존재 → 검사/폐기 0 처리 (확정수량=입고수량)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
-- ============================================================
|
||||
-- 발주/입고 운영 sample 데이터 → RPS 이관
|
||||
-- 운영: 211.115.91.141:11133/waceplm
|
||||
-- purchase_order_master 1건 / purchase_order_part 1건 / arrival_plan 1건
|
||||
-- 대상: 211.115.91.141:11134/vexplor_rps
|
||||
--
|
||||
-- FK 매칭 (확인):
|
||||
-- sales_request_objid='-233034270' → RPS sales_request_master.objid (있음)
|
||||
-- contract_mgmt_objid='-1752090174' → 운영DB project_mgmt.objid (RPS contract_mgmt 미매칭, project_mgmt 매칭)
|
||||
-- part_objid=1868260552 → RPS part_mng (있음)
|
||||
-- partner_objid='0000000007' → RPS client_mng 서울반도체(주) (있음)
|
||||
--
|
||||
-- 멱등성: ON CONFLICT DO NOTHING
|
||||
-- ============================================================
|
||||
|
||||
-- ── purchase_order_master (RPS 이미 존재하면 mail_send_* 만 보강) ──
|
||||
-- PK constraint 없어 ON CONFLICT 사용 불가 → WHERE NOT EXISTS 패턴
|
||||
INSERT INTO purchase_order_master
|
||||
(objid, purchase_order_no, partner_objid, contract_mgmt_objid, sales_request_objid,
|
||||
regdate, writer, status, mail_send_yn, mail_send_date,
|
||||
sales_mng_user_id, payment_terms)
|
||||
SELECT
|
||||
'-2135417309','RPS26-0401-01','0000000007','-1752090174','-233034270',
|
||||
'2026-04-01 07:20:58.687075','ady1225','create','Y','2026-04-03',
|
||||
'ish0312','0001069'
|
||||
WHERE NOT EXISTS (SELECT 1 FROM purchase_order_master WHERE objid='-2135417309');
|
||||
|
||||
-- 이미 있던 행에는 매퍼 필수 필드(mail_send_*) 보강
|
||||
UPDATE purchase_order_master
|
||||
SET mail_send_yn='Y', mail_send_date='2026-04-03'
|
||||
WHERE objid='-2135417309'
|
||||
AND COALESCE(mail_send_yn,'') = '';
|
||||
|
||||
-- ── purchase_order_part ───────────────────────────────────────
|
||||
INSERT INTO purchase_order_part
|
||||
(objid, purchase_order_master_objid, part_objid, order_qty, partner_price,
|
||||
remark, writer, regdate, part_name, spec, supply_unit_price, unit,
|
||||
part_no, qty, part_delivery_place, delivery_request_date)
|
||||
VALUES
|
||||
('-192149597','-2135417309',1868260552,'1','10000',
|
||||
'W/M ASSY (RWMR1070-NO07 LH) / HOLDER','ady1225','2026-04-01 07:20:58.687075',
|
||||
'Ti(GR5)','Ø50*22','10000','0001400','C3P50L22','1','RPS','2026-04-03')
|
||||
ON CONFLICT (objid) DO NOTHING;
|
||||
|
||||
-- ── arrival_plan ──────────────────────────────────────────────
|
||||
INSERT INTO arrival_plan
|
||||
(objid, parent_objid, order_part_objid, part_objid,
|
||||
arrival_qty, receipt_qty, receipt_date, location,
|
||||
writer, group_seq, seq, inventory_status, sub_location, receiver_id)
|
||||
VALUES
|
||||
('1030275443','-2135417309','-192149597',1868260552,
|
||||
'1','1','2026-04-01','L101',
|
||||
'ady1225','1','1','Y','1490000','ady1225')
|
||||
ON CONFLICT (objid) DO NOTHING;
|
||||
|
||||
-- 검증: 매퍼 WHERE (mail_send_date IS NOT NULL AND status='create') 통과 여부
|
||||
-- SELECT pom.purchase_order_no, pop.part_no, ap.receipt_date
|
||||
-- FROM purchase_order_master pom
|
||||
-- JOIN purchase_order_part pop ON pop.purchase_order_master_objid = pom.objid
|
||||
-- LEFT JOIN arrival_plan ap ON ap.parent_objid = pom.objid AND ap.part_objid = pop.part_objid
|
||||
-- WHERE pom.mail_send_date IS NOT NULL AND pom.status = 'create';
|
||||
@@ -0,0 +1,131 @@
|
||||
-- ============================================================
|
||||
-- 발주서 + 입고관리 — 구매관리 입고 3메뉴 + 발주서관리 의존 테이블
|
||||
-- 원본: 운영DB 211.115.91.141:11133/waceplm
|
||||
-- purchase_order_master 1건 (mail_send_yn='Y', status='create')
|
||||
-- purchase_order_part 1건 (RPS26-0401-01 / C3P50L22)
|
||||
-- arrival_plan 1건 (receipt_qty=1, receipt_date=2026-04-01)
|
||||
-- 추출일: 2026-05-15
|
||||
-- 적용대상: vexplor_rps (11134)
|
||||
--
|
||||
-- 운영 ↔ RPS 타입 차이:
|
||||
-- part_objid: 운영 varchar(64) → RPS bigint (part_mng.objid bigint 호환)
|
||||
--
|
||||
-- 매퍼:
|
||||
-- deliveryMngPartList: wace_plm/src/com/pms/mapper/purchaseOrder.xml:6309-6543
|
||||
-- purchaseCloseList: wace_plm/src/com/pms/mapper/purchaseOrder.xml:6549-6765
|
||||
-- projectPurchaseStat: wace_plm/src/com/pms/mapper/purchaseOrder.xml:6768-6951
|
||||
--
|
||||
-- 함정:
|
||||
-- 1) wace 매퍼는 PROJECT_MGMT.OBJID = POM.CONTRACT_MGMT_OBJID 로 LEFT JOIN
|
||||
-- (즉 contract_mgmt_objid 컬럼명이 실제로는 project_mgmt 키를 저장)
|
||||
-- 2) WHERE: POM.MAIL_SEND_DATE IS NOT NULL AND POM.STATUS='create'
|
||||
-- ============================================================
|
||||
|
||||
-- ── 1. purchase_order_master 보충 컬럼 (10개) ───────────────────
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS mail_send_yn varchar;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS mail_send_date varchar;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS form_type varchar(20);
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS sales_mng_user_id2 varchar(50);
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS request_content text;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS purchase_close_date varchar(10);
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS shipment varchar;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS packing varchar;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS validity varchar;
|
||||
ALTER TABLE purchase_order_master ADD COLUMN IF NOT EXISTS attn_to varchar;
|
||||
|
||||
-- ── 2. purchase_order_part (운영 43 cols 1:1, part_objid 만 bigint) ─
|
||||
CREATE TABLE IF NOT EXISTS purchase_order_part (
|
||||
objid varchar(64) NOT NULL,
|
||||
purchase_order_master_objid varchar(64),
|
||||
part_objid bigint,
|
||||
order_qty varchar,
|
||||
partner_price varchar,
|
||||
remark varchar,
|
||||
writer varchar,
|
||||
regdate timestamp,
|
||||
status varchar,
|
||||
part_name varchar,
|
||||
do_no varchar,
|
||||
thickness varchar,
|
||||
width varchar,
|
||||
height varchar,
|
||||
out_diameter varchar,
|
||||
length varchar,
|
||||
in_diameter varchar,
|
||||
inven_total_qty varchar,
|
||||
ld_part_objid varchar,
|
||||
spec varchar,
|
||||
maker varchar,
|
||||
supply_unit_price varchar,
|
||||
unit varchar,
|
||||
price1 varchar,
|
||||
price2 varchar,
|
||||
price3 varchar,
|
||||
part_no varchar,
|
||||
supply_unit_vat_price varchar,
|
||||
price4 varchar,
|
||||
supply_unit_vat_sum_price varchar,
|
||||
total_order_qty varchar,
|
||||
stock_qty varchar,
|
||||
real_order_qty varchar,
|
||||
update_date timestamp,
|
||||
modifier varchar,
|
||||
real_supply_price varchar,
|
||||
bom_qty varchar,
|
||||
qty varchar,
|
||||
part_delivery_place varchar(50),
|
||||
product_name varchar(200),
|
||||
work_order_no varchar(50),
|
||||
delivery_request_date varchar(20),
|
||||
currency varchar,
|
||||
CONSTRAINT purchase_order_part_pkey PRIMARY KEY (objid)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_pop_master ON purchase_order_part (purchase_order_master_objid);
|
||||
CREATE INDEX IF NOT EXISTS idx_pop_part ON purchase_order_part (part_objid);
|
||||
|
||||
-- ── 3. arrival_plan (운영 37 cols 1:1, part_objid bigint) ───────
|
||||
CREATE TABLE IF NOT EXISTS arrival_plan (
|
||||
objid varchar(64) NOT NULL,
|
||||
parent_objid varchar(64),
|
||||
order_part_objid varchar(64),
|
||||
part_objid bigint,
|
||||
arrival_plan_date varchar,
|
||||
re_arrival_plan_date varchar,
|
||||
arrival_qty varchar,
|
||||
receipt_qty varchar,
|
||||
genuine_qty varchar,
|
||||
receipt_date varchar,
|
||||
inspection_date varchar,
|
||||
location varchar,
|
||||
error_qty varchar,
|
||||
error_reason varchar,
|
||||
attribution varchar,
|
||||
status varchar,
|
||||
assembly_status varchar,
|
||||
writer varchar,
|
||||
group_seq varchar,
|
||||
seq varchar,
|
||||
defect_content varchar,
|
||||
defect_action varchar,
|
||||
defect_note varchar,
|
||||
defect_action_date varchar,
|
||||
defect_action_title varchar,
|
||||
inventory_status varchar,
|
||||
sub_location varchar,
|
||||
receiver_id varchar,
|
||||
purchase_close_date varchar,
|
||||
foreign_type varchar(10),
|
||||
exchange_rate numeric(15,2),
|
||||
duty numeric(15,2),
|
||||
import_vat numeric(15,2),
|
||||
tax_invoice_date varchar(10),
|
||||
export_decl_no varchar(100),
|
||||
loading_date varchar(10),
|
||||
tax_type varchar(20),
|
||||
CONSTRAINT arrival_plan_pkey PRIMARY KEY (objid)
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_arrival_parent ON arrival_plan (parent_objid);
|
||||
CREATE INDEX IF NOT EXISTS idx_arrival_order_part ON arrival_plan (order_part_objid);
|
||||
CREATE INDEX IF NOT EXISTS idx_arrival_part ON arrival_plan (part_objid);
|
||||
Reference in New Issue
Block a user