| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- -- ============================================================
- -- ERP物料主数据表(PRODUCT) - 关务对接字段扩展
- -- 字段前缀:PR_GW_
- -- ============================================================
- -- 在PRODUCT表上增加关务对接字段
- ALTER TABLE PRODUCT ADD (
- PR_GW_GDS_TYPE VARCHAR2(2), -- 保税物料类型:I料件 E成品 1半成品 2旧原料 3废件 4坏件
- PR_GW_GDS_MTNO VARCHAR2(32), -- 海关备案料号(发报文用这个,不用ERP内部料号)
- PR_GW_RECORD_CNT NUMBER(5) DEFAULT 0, -- 备案次数:0=首次备案,>0=变更备案
- PR_GW_SEND_STATUS VARCHAR2(2) DEFAULT '0', -- 发送状态:0待推送 1成功 2失败 3变更待推送
- PR_GW_SEND_TIME TIMESTAMP, -- 最后推送时间
- PR_GW_SEND_MSG_ID VARCHAR2(64), -- 最后推送报文ID
- PR_GW_SEND_REMARK VARCHAR2(1000) -- 推送备注/失败原因
- );
- COMMENT ON COLUMN PRODUCT.PR_GW_GDS_TYPE IS '保税物料类型:I料件 E成品 1半成品 2旧原料 3废件 4坏件';
- COMMENT ON COLUMN PRODUCT.PR_GW_GDS_MTNO IS '海关备案料号(WO101报文中GdsMtno用此字段)';
- COMMENT ON COLUMN PRODUCT.PR_GW_RECORD_CNT IS '备案次数:0=首次备案(ModfMarkcd=3),>0=变更备案(ModfMarkcd=1)';
- COMMENT ON COLUMN PRODUCT.PR_GW_SEND_STATUS IS '关务发送状态:0待推送 1成功 2失败 3变更待推送';
- COMMENT ON COLUMN PRODUCT.PR_GW_SEND_TIME IS '关务最后推送时间';
- COMMENT ON COLUMN PRODUCT.PR_GW_SEND_MSG_ID IS '关务最后推送报文ID';
- COMMENT ON COLUMN PRODUCT.PR_GW_SEND_REMARK IS '关务推送备注/失败原因';
- -- 索引:查询待推送物料时使用
- CREATE INDEX IDX_PRODUCT_PR_GW_STATUS ON PRODUCT(PR_GW_GDS_TYPE, PR_GW_SEND_STATUS);
- -- ============================================================
- -- 物料审核通过时的触发器(可选)
- -- 当物料信息变更且已推送成功时,自动将发送状态改为3(变更待推送)
- -- ============================================================
- /*
- CREATE OR REPLACE TRIGGER TRG_PRODUCT_PR_GW_STATUS
- BEFORE UPDATE ON PRODUCT
- FOR EACH ROW
- BEGIN
- -- 如果已推送成功(状态=1),且物料关键信息发生变更,自动标记为变更待推送(状态=3)
- IF :OLD.PR_GW_SEND_STATUS = '1' THEN
- IF :NEW.ITEM_NAME <> :OLD.ITEM_NAME
- OR :NEW.GDECD <> :OLD.GDECD
- OR :NEW.SPEC <> :OLD.SPEC
- OR :NEW.DCL_UNITCD <> :OLD.DCL_UNITCD
- OR :NEW.PR_GW_GDS_TYPE <> :OLD.PR_GW_GDS_TYPE
- OR :NEW.PR_GW_GDS_MTNO <> :OLD.PR_GW_GDS_MTNO THEN
- :NEW.PR_GW_SEND_STATUS := '3';
- END IF;
- END IF;
- END;
- /
- */
|