添加前端Vue2项目结构,包括ElementUI集成、路由配置和API模块 实现后端FastAPI服务,包含Oracle数据库连接和PDI CRUD接口 添加OPC-UA轮询服务,支持跟踪图数据同步到Oracle 提供SQLite镜像数据库用于本地开发和快速查询 包含完整的部署脚本和文档说明
1155 lines
44 KiB
Plaintext
1155 lines
44 KiB
Plaintext
ALTER TABLE PLTM.PDI_PLTM
|
||
DROP PRIMARY KEY CASCADE;
|
||
|
||
DROP TABLE PLTM.PDI_PLTM CASCADE CONSTRAINTS;
|
||
|
||
CREATE TABLE PLTM.PDI_PLTM
|
||
(
|
||
SID NUMBER(10),
|
||
ROLLPROGRAMNB NUMBER(10),
|
||
SEQUENCENB NUMBER(3),
|
||
STATUS NUMBER(3) DEFAULT 0 NOT NULL,
|
||
SCHEDULE_CODE VARCHAR2(32 BYTE),
|
||
COILID VARCHAR2(32 BYTE) NOT NULL,
|
||
ENTRY_COIL_THICKNESS NUMBER(10,3),
|
||
ENTRY_COIL_THICKNESS_MAX NUMBER(10,3),
|
||
ENTRY_COIL_THICKNESS_MIN NUMBER(10,3),
|
||
ENTRY_COIL_WIDTH NUMBER(10,3),
|
||
ENTRY_COIL_WIDTH_MAX NUMBER(10,3),
|
||
ENTRY_COIL_WIDTH_MIN NUMBER(10,3),
|
||
ENTRY_COIL_WEIGHT NUMBER(10,3),
|
||
ENTRY_OF_COIL_LENGTH NUMBER(10,3),
|
||
ENTRY_OF_COIL_INNER_DIAMETER NUMBER(10,3),
|
||
ENTRY_OF_COIL_OUTER_DIAMETER NUMBER(10,3),
|
||
TRIMMING NUMBER(1),
|
||
TRIMMING_WIDTH NUMBER(10,3),
|
||
SMP_LENGTH NUMBER(10,3),
|
||
SMP_NUM NUMBER(10,3),
|
||
SMP_FRQ VARCHAR2(32 BYTE),
|
||
SMP_NUM_HEAD NUMBER(10,3),
|
||
SMP_NUM_MID NUMBER(10,3),
|
||
SMP_NUM_TAIL NUMBER(10,3),
|
||
PRECEDING_PROCESS_CODE VARCHAR2(32 BYTE),
|
||
NEXT_PROCESS_CODE VARCHAR2(32 BYTE),
|
||
HOT_MILL_DELIVERY_TEMP NUMBER(10,3),
|
||
FINISHED_COIL_TEMP NUMBER(10,3),
|
||
CROWN_AVERAGE NUMBER(10,3),
|
||
COIL_FLATNESS_AVERAGE NUMBER(10,3),
|
||
COIL_FLATNESS_MAX_VALUE NUMBER(10,3),
|
||
COIL_FLATNESS_MIN_VALUE NUMBER(10,3),
|
||
MATERIAL_YIELD_POINT NUMBER(10,3),
|
||
MATERIAL_TENSILE NUMBER(10,3),
|
||
HOTACTFMWEDGEAVG NUMBER(10,3),
|
||
WEIGHT_MODE VARCHAR2(32 BYTE),
|
||
DUMMY_COIL_MRK VARCHAR2(32 BYTE),
|
||
CUT_MODE VARCHAR2(32 BYTE),
|
||
OFF_GAUGE_HEAD_LENGTH NUMBER(10,3),
|
||
OFF_GAUGE_TAIL_LENGTH NUMBER(10,3),
|
||
EXIT_COIL_NO VARCHAR2(32 BYTE),
|
||
EXIT_COIL_WEIGHT NUMBER(10,3),
|
||
EXIT_COIL_WEIGHT_MAX NUMBER(10,3),
|
||
EXIT_COIL_WEIGHT_MIN NUMBER(10,3),
|
||
EXIT_COIL_THICKNESS NUMBER(10,3),
|
||
EXIT_COIL_THICKNESS_MAX NUMBER(10,3),
|
||
EXIT_COIL_THICKNESS_MIN NUMBER(10,3),
|
||
EXIT_COIL_WIDTH NUMBER(10,3),
|
||
EXIT_COIL_WIDTH_MAX NUMBER(10,3),
|
||
EXIT_COIL_WIDTH_MIN NUMBER(10,3),
|
||
WORK_ORDER_NO VARCHAR2(32 BYTE),
|
||
ORDER_QUALITY VARCHAR2(32 BYTE),
|
||
STEEL_GRADE VARCHAR2(32 BYTE),
|
||
SG_SIGN VARCHAR2(32 BYTE),
|
||
ORDER_THICKNESS NUMBER(10,3),
|
||
ORDER_THICKNESS_MAX NUMBER(10,3),
|
||
ORDER_THICKNESS_MIN NUMBER(10,3),
|
||
ORDER_WIDTH NUMBER(10,3),
|
||
ORDER_WIDTH_MAX NUMBER(10,3),
|
||
ORDER_WIDTH_MIN NUMBER(10,3),
|
||
SLEEVE_CODE_OF_COLD_COIL VARCHAR2(32 BYTE),
|
||
PACKING_TYPE_CODE VARCHAR2(32 BYTE),
|
||
THK_DS VARCHAR2(32 BYTE),
|
||
EXT_NUM_01 VARCHAR2(32 BYTE),
|
||
C NUMBER(10,3),
|
||
SI NUMBER(10,3),
|
||
MN NUMBER(10,3),
|
||
P NUMBER(10,3),
|
||
S NUMBER(10,3),
|
||
CU NUMBER(10,3),
|
||
NI NUMBER(10,3),
|
||
CR NUMBER(10,3),
|
||
MO NUMBER(10,3),
|
||
V NUMBER(10,3),
|
||
TI NUMBER(10,3),
|
||
SOL_AL NUMBER(10,3),
|
||
FE NUMBER(10,3),
|
||
MG NUMBER(10,3),
|
||
PB NUMBER(10,3),
|
||
SN NUMBER(10,3),
|
||
ZN NUMBER(10,3),
|
||
ZR NUMBER(10,3),
|
||
NA NUMBER(10,3),
|
||
LI NUMBER(10,3),
|
||
GA NUMBER(10,3),
|
||
CA NUMBER(10,3),
|
||
B NUMBER(10,3),
|
||
BE NUMBER(10,3),
|
||
BI NUMBER(10,3),
|
||
W NUMBER(10,3),
|
||
N NUMBER(10,3),
|
||
NB NUMBER(10,3),
|
||
TA NUMBER(10,3),
|
||
O NUMBER(10,3),
|
||
H NUMBER(10,3),
|
||
AR NUMBER(10,3),
|
||
AG NUMBER(10,3),
|
||
AS1 NUMBER(10,3),
|
||
CD NUMBER(10,3),
|
||
CL NUMBER(10,3),
|
||
CO NUMBER(10,3),
|
||
K NUMBER(10,3),
|
||
SB NUMBER(10,3),
|
||
SE NUMBER(10,3),
|
||
CREATED_BY VARCHAR2(32 BYTE),
|
||
CREATED_DT DATE,
|
||
CREATED_BY_NAME VARCHAR2(32 BYTE),
|
||
UPDATED_BY VARCHAR2(32 BYTE),
|
||
UPDATED_DT DATE,
|
||
UPDATED_BY_NAME VARCHAR2(32 BYTE),
|
||
SEND_FLAG VARCHAR2(32 BYTE),
|
||
SEND_DATE DATE,
|
||
TRANSACTION_ID VARCHAR2(32 BYTE),
|
||
VERSION NUMBER(9),
|
||
TEXT1 VARCHAR2(32 BYTE),
|
||
TEXT2 VARCHAR2(32 BYTE),
|
||
TEXT3 VARCHAR2(32 BYTE),
|
||
TEXT4 VARCHAR2(32 BYTE),
|
||
TEXT5 VARCHAR2(32 BYTE),
|
||
TOC DATE,
|
||
TOM DATE,
|
||
MOP VARCHAR2(60 BYTE),
|
||
POSITION NUMBER(8) DEFAULT 0,
|
||
CROSS_SECTION_AREA NUMBER(13,3),
|
||
UNCOILER_TENSION NUMBER(13,3),
|
||
LOOPER_TENSION_1 NUMBER(13,3),
|
||
PL_TENSION NUMBER(13,3),
|
||
LOOPER_TENSION_2 NUMBER(13,3),
|
||
LOOPER_TENSION_3 NUMBER(13,3),
|
||
METERWEIGHT NUMBER(13,3),
|
||
METER_D_OUTSIDE NUMBER(13,3),
|
||
METER_WIDTH NUMBER(13,3),
|
||
SCRAP_CUT_HEAD_LEN NUMBER(13,3),
|
||
SCRAP_CUT_TAIL_LEN NUMBER(13,3),
|
||
COILER_DIAMETER NUMBER(4),
|
||
L2_GRADE VARCHAR2(32 BYTE)
|
||
)
|
||
TABLESPACE USERS
|
||
RESULT_CACHE (MODE DEFAULT)
|
||
PCTUSED 0
|
||
PCTFREE 10
|
||
INITRANS 1
|
||
MAXTRANS 255
|
||
STORAGE (
|
||
INITIAL 20M
|
||
NEXT 1M
|
||
MAXSIZE UNLIMITED
|
||
MINEXTENTS 1
|
||
MAXEXTENTS UNLIMITED
|
||
PCTINCREASE 0
|
||
BUFFER_POOL DEFAULT
|
||
FLASH_CACHE DEFAULT
|
||
CELL_FLASH_CACHE DEFAULT
|
||
)
|
||
LOGGING
|
||
NOCOMPRESS
|
||
NOCACHE
|
||
NOPARALLEL
|
||
MONITORING;
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SID IS '数据项ID,系统编码,由ORACLE Sequence自动产生的ID';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ROLLPROGRAMNB IS '生产批次号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SEQUENCENB IS '批次号内顺序';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.STATUS IS '状态';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SCHEDULE_CODE IS '计划号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.COILID IS '原料卷号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_THICKNESS IS '原料厚度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_THICKNESS_MAX IS '原料厚度最大值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_THICKNESS_MIN IS '原料厚度最小值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_WIDTH IS '原料宽度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_WIDTH_MAX IS '原料宽度最大值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_WIDTH_MIN IS '原料宽度最小值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_COIL_WEIGHT IS '原料重量';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_OF_COIL_LENGTH IS '原料长度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_OF_COIL_INNER_DIAMETER IS '原料内径';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ENTRY_OF_COIL_OUTER_DIAMETER IS '原料外径';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TRIMMING IS '切边标记';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TRIMMING_WIDTH IS '切边后宽度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_LENGTH IS '取样长度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_NUM IS '取样数量';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_FRQ IS '取样目的';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_NUM_HEAD IS '头部取样个数';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_NUM_MID IS '中部取样个数';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SMP_NUM_TAIL IS '尾部取样个数';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.PRECEDING_PROCESS_CODE IS '上道机组';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.NEXT_PROCESS_CODE IS '下道机组';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.HOT_MILL_DELIVERY_TEMP IS '卷曲温度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.FINISHED_COIL_TEMP IS '终轧温度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CROWN_AVERAGE IS '热轧卷凸度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.COIL_FLATNESS_AVERAGE IS '平直度目标值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.COIL_FLATNESS_MAX_VALUE IS '平直度最小';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.COIL_FLATNESS_MIN_VALUE IS '平直度最大';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.MATERIAL_YIELD_POINT IS '原料屈服强度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.MATERIAL_TENSILE IS '原料抗拉强度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.HOTACTFMWEDGEAVG IS '热轧卷楔度平均值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.WEIGHT_MODE IS '重量分卷模式';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.DUMMY_COIL_MRK IS '过渡料标记';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CUT_MODE IS '剪切模式';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.OFF_GAUGE_HEAD_LENGTH IS '头部超差长度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.OFF_GAUGE_TAIL_LENGTH IS '尾部超差长度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_NO IS '出口卷号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WEIGHT IS '出口目标重量';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WEIGHT_MAX IS '出口目标重量最大值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WEIGHT_MIN IS '出口目标重量最小值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_THICKNESS IS '出口目标厚度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_THICKNESS_MAX IS '出口目标厚度最大值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_THICKNESS_MIN IS '出口目标厚度最小值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WIDTH IS '出口目标宽度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WIDTH_MAX IS '出口目标宽度最大值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXIT_COIL_WIDTH_MIN IS '出口目标宽度最小值';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.WORK_ORDER_NO IS '合同号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_QUALITY IS '钢级代码';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.STEEL_GRADE IS '出钢标记';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SG_SIGN IS '外部牌号/钢种牌号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_THICKNESS IS '订单厚度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_THICKNESS_MAX IS '订单厚度上限';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_THICKNESS_MIN IS '订单厚度下限';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_WIDTH IS '订单宽度';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_WIDTH_MAX IS '订单宽度上限';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ORDER_WIDTH_MIN IS '订单宽度下限';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SLEEVE_CODE_OF_COLD_COIL IS '成品套筒';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.PACKING_TYPE_CODE IS '包装类型代码';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.THK_DS IS '焊接代码';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.EXT_NUM_01 IS '铁奥标识';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.C IS 'C';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SI IS 'Si';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.MN IS 'Mn';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.P IS 'P';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.S IS 'S';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CU IS 'Cu';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.NI IS 'Ni';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CR IS 'Cr';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.MO IS 'Mo';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.V IS 'V';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TI IS 'Ti';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SOL_AL IS 'Sol_Al';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.FE IS 'Fe';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.MG IS 'Mg';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.PB IS 'Pb';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SN IS 'Sn';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ZN IS 'Zn';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.ZR IS 'Zr';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.NA IS 'Na';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.LI IS 'Li';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.GA IS 'Ga';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CA IS 'Ca';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.B IS 'B';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.BE IS 'Be';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.BI IS 'Bi';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.W IS 'W';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.N IS 'N';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.NB IS 'Nb';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TA IS 'Ta';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.O IS 'O';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.H IS 'H';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.AR IS 'Ar';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.AG IS 'Ar';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.AS1 IS 'As';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CD IS 'Cd';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CL IS 'Ci';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CO IS 'Co';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.K IS 'K';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SB IS 'Sb';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SE IS 'Se';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CREATED_BY IS '创建人';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CREATED_DT IS '创建时间';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CREATED_BY_NAME IS '创建人名称';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.UPDATED_BY IS '更新人';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.UPDATED_DT IS '更新时间';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.UPDATED_BY_NAME IS '修改人名称';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SEND_FLAG IS '同步标识位';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SEND_DATE IS '发送时间';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TRANSACTION_ID IS '事务ID';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.VERSION IS '版本号';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TEXT1 IS '预留字段1';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TEXT2 IS '预留字段2';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TEXT3 IS '预留字段3';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TEXT4 IS '预留字段4';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.TEXT5 IS '预留字段5';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.CROSS_SECTION_AREA IS '横截面积-m*m';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.UNCOILER_TENSION IS '开卷机张力-kN';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.LOOPER_TENSION_1 IS '1号活套张力 (入口活套)-kN';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.PL_TENSION IS '酸洗段张力-kN';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.LOOPER_TENSION_2 IS '2号活套张力(出口1号)-kN';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.LOOPER_TENSION_3 IS '3号活套张力(出口2号)-kN';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.METERWEIGHT IS '实测重量Real-公斤';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.METER_D_OUTSIDE IS '实测卷径Real-米';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.METER_WIDTH IS '实测宽度Real-米';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SCRAP_CUT_HEAD_LEN IS '//头部剪切长度--Real--米';
|
||
|
||
COMMENT ON COLUMN PLTM.PDI_PLTM.SCRAP_CUT_TAIL_LEN IS '//尾部剪切长度--Real--米';
|
||
|
||
|
||
|
||
CREATE UNIQUE INDEX PLTM.PK_PDI_PLTM ON PLTM.PDI_PLTM
|
||
(COILID)
|
||
LOGGING
|
||
TABLESPACE USERS
|
||
PCTFREE 10
|
||
INITRANS 2
|
||
MAXTRANS 255
|
||
STORAGE (
|
||
INITIAL 2M
|
||
NEXT 1M
|
||
MAXSIZE UNLIMITED
|
||
MINEXTENTS 1
|
||
MAXEXTENTS UNLIMITED
|
||
PCTINCREASE 0
|
||
BUFFER_POOL DEFAULT
|
||
FLASH_CACHE DEFAULT
|
||
CELL_FLASH_CACHE DEFAULT
|
||
)
|
||
NOPARALLEL;
|
||
|
||
|
||
CREATE OR REPLACE TRIGGER PLTM.DEL_B_PDI_PLTM BEFORE DELETE ON "PLTM"."PDI_PLTM" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
|
||
DECLARE
|
||
tmpVar NUMBER;
|
||
szCoilID VARCHAR2 (20);
|
||
/******************************************************************************
|
||
NAME: DEL_B_PDI_PLTM
|
||
PURPOSE:
|
||
|
||
REVISIONS:
|
||
Ver Date Author Description
|
||
--------- ---------- --------------- ------------------------------------
|
||
1.0 2023-12-8 Administrator 1. Created this trigger.
|
||
|
||
NOTES:
|
||
|
||
Automatically available Auto Replace Keywords:
|
||
Object Name: DEL_B_PDI_PLTM
|
||
Sysdate: 2023-12-8
|
||
Date and Time: 2023-12-8, 16:45:20, and 2023-12-8 16:45:20
|
||
Username: Administrator (set in TOAD Options, Proc Templates)
|
||
Table Name: PDI_PLTM (set in the "New PL/SQL Object" dialog)
|
||
Trigger Options: (set in the "New PL/SQL Object" dialog)
|
||
******************************************************************************/
|
||
BEGIN
|
||
tmpVar := 0;
|
||
|
||
--SELECT MySeq.NEXTVAL INTO tmpVar FROM dual;
|
||
--:NEW.SequenceColumn := tmpVar;
|
||
--:NEW.CreatedDate := SYSDATE;
|
||
--:NEW.CreatedUser := USER;
|
||
-------------------------------------------------------------------------------
|
||
szCoilID := :OLD.COILID || '%';
|
||
|
||
DELETE RASTCMDB.PDI WHERE COILID LIKE szCoilID;
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
-- Consider logging the error and then re-raise
|
||
RAISE;
|
||
END DEL_B_PDI_PLTM;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE TRIGGER PLTM.INS_B_PDI_PLTM
|
||
BEFORE INSERT
|
||
ON PLTM.PDI_PLTM
|
||
REFERENCING NEW AS NEW OLD AS OLD
|
||
FOR EACH ROW
|
||
DECLARE
|
||
--PRAGMA AUTONOMOUS_TRANSACTION;
|
||
Programm VARCHAR (60);
|
||
USER VARCHAR (30);
|
||
session_id NUMBER;
|
||
nRollProgramNb PDI_PLTM.ROLLPROGRAMNB%TYPE;
|
||
nSequenceNb PDI_PLTM.SEQUENCENB%TYPE;
|
||
|
||
nCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
nMinCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
nMaxCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
|
||
TablePL_BM_TENSION_XQ PL_BM_TENSION_XQ%ROWTYPE;
|
||
|
||
TablePL_BM_TENSION_XQ_MIN PL_BM_TENSION_XQ%ROWTYPE;
|
||
TablePL_BM_TENSION_XQ_MAX PL_BM_TENSION_XQ%ROWTYPE;
|
||
|
||
nMinKeyID NUMBER;
|
||
nMaxKeyID NUMBER;
|
||
|
||
nCount NUMBER;
|
||
|
||
iCross_section_areaMin PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tensionMin PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1Min PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tensionMin PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2Min PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3Min PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
iCross_section_areaMax PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tensionMax PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1Max PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tensionMax PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2Max PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3Max PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
--iCross_section_area PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tension PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1 PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tension PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2 PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3 PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
szCoilID VARCHAR2 (20);
|
||
szFileName VARCHAR (64);
|
||
startDate DATE;
|
||
BEGIN
|
||
-------------------------------------------------------------------------------
|
||
startDate := SYSDATE;
|
||
-------------------------------------------------------------------------------
|
||
szFileName := TO_CHAR (SYSDATE, 'yyyymmdd') || 'INS_B_PDI_PLTM';
|
||
|
||
LOG_TEXT (szFileName,
|
||
TO_CHAR (startDate, 'hh24:mi:ss') || ' I: start INS_B_PDI_PLTM');
|
||
|
||
-------------------------------------------------------------------------------
|
||
-------------------------------------------------------------------------------
|
||
SELECT USERENV ('SESSIONID') INTO session_id FROM DUAL;
|
||
|
||
BEGIN
|
||
SELECT program, username
|
||
INTO programm, USER
|
||
FROM V$SESSION
|
||
WHERE audsid = session_id;
|
||
EXCEPTION
|
||
WHEN NO_DATA_FOUND
|
||
THEN
|
||
programm := 'UNKNOWN';
|
||
USER := 'UNKNOWN';
|
||
WHEN OTHERS
|
||
THEN
|
||
IF (session_id = 0)
|
||
THEN
|
||
programm := 'JOB';
|
||
ELSE
|
||
programm := 'UNKNOWN';
|
||
END IF;
|
||
END;
|
||
|
||
-------------------------------------------------------------------------------
|
||
|
||
|
||
--:NEW.ROLLPROGRAMNB := nRollProgramNb;
|
||
--:NEW.SEQUENCENB := nSequenceNb;
|
||
-------------------------------------------------------------------------------
|
||
:NEW.STATUS := 0;
|
||
|
||
-------------------------------------------------------------------------------
|
||
-------------------------------------------------------------------------------
|
||
--*****************************************************************************
|
||
|
||
|
||
-------------------------------------------------------------------------------
|
||
nCount := 0;
|
||
|
||
IF nCount = nCount -- 1000
|
||
THEN
|
||
-------------------------------------------------------------------------------
|
||
LOG_TEXT (szFileName,
|
||
'INSERT INTO RASTCMDB.V_EVN_NEW_PDI ' || :NEW.COILID);
|
||
|
||
DELETE RASTCMDB.V_EVN_NEW_PDI
|
||
WHERE SUBSTR (COIL_ID, 1, 12) = :NEW.COILID;
|
||
|
||
INSERT INTO RASTCMDB.V_EVN_NEW_PDI (COIL_ID,
|
||
ENTRY_THICK,
|
||
WIDTH_ENTRY,
|
||
WEIGHT,
|
||
ENTRY_LENGTH,
|
||
OUTER_DIAM,
|
||
CROWN,
|
||
EXIT_COIL_ID,
|
||
EXIT_THICK,
|
||
WIDTH,
|
||
HOT_GRADE,
|
||
LABEL_GRADE,
|
||
GRADE,
|
||
PACK_TYPE,
|
||
INITIAL_GAUGE,
|
||
CONTRACT_NO,
|
||
SCHEDULE_NO,
|
||
COILER_DIAMETER,
|
||
-------------------------------------------------------------------------------
|
||
WEIGHT_MODE, -- 重量分卷模式/是否分卷 1 分卷
|
||
WEIGHT_EXIT --分卷后 出口目标重量
|
||
--DESTINATION
|
||
)
|
||
VALUES (
|
||
:NEW.COILID,
|
||
:NEW.ENTRY_COIL_THICKNESS,
|
||
:NEW.ENTRY_COIL_WIDTH,
|
||
:NEW.ENTRY_COIL_WEIGHT,
|
||
:NEW.ENTRY_OF_COIL_LENGTH,
|
||
:NEW.ENTRY_OF_COIL_OUTER_DIAMETER,
|
||
:NEW.CROWN_AVERAGE,
|
||
:NEW.EXIT_COIL_NO,
|
||
:NEW.EXIT_COIL_THICKNESS,
|
||
:NEW.EXIT_COIL_WIDTH,
|
||
:NEW.STEEL_GRADE,
|
||
:NEW.SG_SIGN,
|
||
:NEW.L2_GRADE,
|
||
:NEW.PACKING_TYPE_CODE,
|
||
:NEW.ENTRY_COIL_THICKNESS,
|
||
:NEW.WORK_ORDER_NO,
|
||
:NEW.SCHEDULE_CODE,
|
||
:NEW.COILER_DIAMETER,
|
||
-------------------------------------------------------------------------------
|
||
TO_NUMBER (
|
||
DECODE (:NEW.WEIGHT_MODE,
|
||
NULL, 0,
|
||
:NEW.WEIGHT_MODE)), -- '重量分卷模式';
|
||
:NEW.EXIT_COIL_WEIGHT -- '出口目标重量';
|
||
--:NEW.NEXT_PROCESS_CODE
|
||
);
|
||
|
||
LOG_TEXT (szFileName,
|
||
'INSERT INTO RASTCMDB.V_EVN_NEW_PDI 完毕 ' || :NEW.COILID);
|
||
|
||
RASTCMDB.PROC_PROCESS_PDI_TEST_1 ();
|
||
|
||
LOG_TEXT (
|
||
szFileName,
|
||
'INSERT INTO RASTCMDB.PROC_PROCESS_PDI_TEST_1 完毕 '
|
||
|| :NEW.COILID);
|
||
|
||
-------------------------------------------------------------------------------
|
||
szCoilID := :NEW.COILID || '-00';
|
||
|
||
-------------------------------------------------------------------------------
|
||
LOG_TEXT (
|
||
szFileName,
|
||
'UPDATE RASTCMDB.PDI '
|
||
|| TO_CHAR (:NEW.ROLLPROGRAMNB)
|
||
|| ' '
|
||
|| TO_CHAR (:NEW.SEQUENCENB));
|
||
|
||
UPDATE RASTCMDB.PDI
|
||
SET ROLLPROGRAMNB = :NEW.ROLLPROGRAMNB, SEQUENCENB = :NEW.SEQUENCENB
|
||
WHERE COILID = szCoilID;
|
||
|
||
-------------------------------------------------------------------------------
|
||
|
||
LOG_TEXT (szFileName, 'UPDATE RASTCMDB.PDI ' || szCoilID);
|
||
-------------------------------------------------------------------------------
|
||
END IF;
|
||
|
||
-------------------------------------------------------------------------------
|
||
-------------------------------------------------------------------------------
|
||
:new.toc := SYSDATE;
|
||
:new.mop := SUBSTR (programm, 1, 60);
|
||
|
||
|
||
-------------------------------------------------------------------------------
|
||
--*****************************************************************************
|
||
nCrossSectionArea := :NEW.ENTRY_COIL_THICKNESS * :NEW.ENTRY_COIL_WIDTH;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--1.
|
||
SELECT COUNT (*)
|
||
INTO nCount
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea;
|
||
|
||
IF nCount <> 0
|
||
THEN
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea AND ROWNUM = 1;
|
||
|
||
:NEW.CROSS_SECTION_AREA := TablePL_BM_TENSION_XQ.CROSS_SECTION_AREA;
|
||
:NEW.UNCOILER_TENSION := TablePL_BM_TENSION_XQ.UNCOILER_TENSION;
|
||
:NEW.LOOPER_TENSION_1 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_1;
|
||
:NEW.PL_TENSION := TablePL_BM_TENSION_XQ.PL_TENSION;
|
||
:NEW.LOOPER_TENSION_2 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_2;
|
||
:NEW.LOOPER_TENSION_3 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_3;
|
||
|
||
RETURN;
|
||
END IF;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--2.
|
||
|
||
|
||
SELECT MIN (KEYID),
|
||
MAX (KEYID),
|
||
MIN (CROSS_SECTION_AREA),
|
||
MAX (CROSS_SECTION_AREA)
|
||
INTO nMinKeyID,
|
||
nMaxKeyID,
|
||
nMinCrossSectionArea,
|
||
nMaxCrossSectionArea
|
||
FROM PL_BM_TENSION_XQ;
|
||
|
||
-------------------------------------------------------------------------------
|
||
IF nCrossSectionArea <= nMinCrossSectionArea
|
||
OR nCrossSectionArea >= nMaxCrossSectionArea
|
||
THEN
|
||
-------------------------------------------------------------------------------
|
||
--2.找到是不是最大最小之外,如果是,选择一个,直接使用
|
||
IF nCrossSectionArea <= nMinCrossSectionArea
|
||
THEN
|
||
nCrossSectionArea := nMinCrossSectionArea;
|
||
ELSE
|
||
nCrossSectionArea := nMaxCrossSectionArea;
|
||
END IF;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea;
|
||
|
||
:NEW.CROSS_SECTION_AREA := TablePL_BM_TENSION_XQ.CROSS_SECTION_AREA;
|
||
:NEW.UNCOILER_TENSION := TablePL_BM_TENSION_XQ.UNCOILER_TENSION;
|
||
:NEW.LOOPER_TENSION_1 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_1;
|
||
:NEW.PL_TENSION := TablePL_BM_TENSION_XQ.PL_TENSION;
|
||
:NEW.LOOPER_TENSION_2 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_2;
|
||
:NEW.LOOPER_TENSION_3 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_3;
|
||
|
||
RETURN;
|
||
-------------------------------------------------------------------------------
|
||
ELSE
|
||
-------------------------------------------------------------------------------
|
||
--3.
|
||
SELECT KEYID
|
||
INTO nMinKeyID
|
||
FROM ( SELECT *
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA < nCrossSectionArea
|
||
ORDER BY CROSS_SECTION_AREA DESC)
|
||
WHERE ROWNUM = 1;
|
||
|
||
SELECT KEYID
|
||
INTO nMaxKeyID
|
||
FROM ( SELECT *
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA > nCrossSectionArea
|
||
ORDER BY CROSS_SECTION_AREA ASC)
|
||
WHERE ROWNUM = 1;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ_MIN
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE KEYID = nMinKeyID;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ_MAX
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE KEYID = nMaxKeyID;
|
||
|
||
iCross_section_areaMin := TablePL_BM_TENSION_XQ_MIN.CROSS_SECTION_AREA;
|
||
iUncoiler_tensionMin := TablePL_BM_TENSION_XQ_MIN.UNCOILER_TENSION;
|
||
iLooper_tension_1Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_1;
|
||
iPL_tensionMin := TablePL_BM_TENSION_XQ_MIN.PL_TENSION;
|
||
iLooper_tension_2Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_2;
|
||
iLooper_tension_3Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_3;
|
||
|
||
iCross_section_areaMax := TablePL_BM_TENSION_XQ_MAX.CROSS_SECTION_AREA;
|
||
iUncoiler_tensionMax := TablePL_BM_TENSION_XQ_MAX.UNCOILER_TENSION;
|
||
iLooper_tension_1Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_1;
|
||
iPL_tensionMax := TablePL_BM_TENSION_XQ_MAX.PL_TENSION;
|
||
iLooper_tension_2Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_2;
|
||
iLooper_tension_3Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_3;
|
||
|
||
:NEW.CROSS_SECTION_AREA := nCrossSectionArea;
|
||
--iUncoiler_tension :=
|
||
:NEW.UNCOILER_TENSION :=
|
||
( (iUncoiler_tensionMax - iUncoiler_tensionMin)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_1 :=
|
||
( (iLooper_tension_1Max - iLooper_tension_1Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.PL_TENSION :=
|
||
( (iLooper_tension_1Max - iPL_tensionMax)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_2 :=
|
||
( (iLooper_tension_2Max - iLooper_tension_2Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_3 :=
|
||
( (iLooper_tension_3Max - iLooper_tension_3Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
-------------------------------------------------------------------------------
|
||
END IF;
|
||
|
||
-------------------------------------------------------------------------------
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
-- Consider logging the error and then re-raise
|
||
RAISE;
|
||
END INS_B_PDI_PLTM;
|
||
/
|
||
|
||
|
||
CREATE OR REPLACE TRIGGER PLTM.UPD_B_PDI_PLTM
|
||
BEFORE UPDATE
|
||
ON PLTM.PDI_PLTM
|
||
REFERENCING NEW AS New OLD AS Old
|
||
FOR EACH ROW
|
||
DECLARE
|
||
tmpVar NUMBER;
|
||
nIndex NUMBER;
|
||
--PRAGMA AUTONOMOUS_TRANSACTION;
|
||
|
||
nCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
nMinCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
nMaxCrossSectionArea PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
|
||
TablePL_BM_TENSION_XQ PL_BM_TENSION_XQ%ROWTYPE;
|
||
|
||
TablePL_BM_TENSION_XQ_MIN PL_BM_TENSION_XQ%ROWTYPE;
|
||
TablePL_BM_TENSION_XQ_MAX PL_BM_TENSION_XQ%ROWTYPE;
|
||
|
||
nMinKeyID NUMBER;
|
||
nMaxKeyID NUMBER;
|
||
|
||
nCount NUMBER;
|
||
|
||
iCross_section_areaMin PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tensionMin PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1Min PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tensionMin PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2Min PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3Min PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
iCross_section_areaMax PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tensionMax PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1Max PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tensionMax PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2Max PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3Max PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
--iCross_section_area PDI_PLTM.CROSS_SECTION_AREA%TYPE;
|
||
iUncoiler_tension PDI_PLTM.UNCOILER_TENSION%TYPE;
|
||
iLooper_tension_1 PDI_PLTM.LOOPER_TENSION_1%TYPE;
|
||
iPL_tension PDI_PLTM.PL_TENSION%TYPE;
|
||
iLooper_tension_2 PDI_PLTM.LOOPER_TENSION_2%TYPE;
|
||
iLooper_tension_3 PDI_PLTM.LOOPER_TENSION_3%TYPE;
|
||
|
||
szCoilID VARCHAR2 (20);
|
||
BEGIN
|
||
tmpVar := 0;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--*****************************************************************************
|
||
|
||
-------------------------------------------------------------------------------
|
||
szCoilID := :NEW.COILID || '%';
|
||
|
||
SELECT COUNT (COILID)
|
||
INTO nCount
|
||
FROM RASTCMDB.PDI
|
||
WHERE COILID LIKE szCoilID;
|
||
|
||
IF nCount > 0
|
||
THEN
|
||
szCoilID := :NEW.COILID || '%';
|
||
|
||
IF :NEW.STATUS = :OLD.STATUS ------ AND :NEW.STATUS = 0
|
||
THEN
|
||
IF NOT :NEW.L2_GRADE IS NULL AND TRIM (:NEW.L2_GRADE) <> ''
|
||
THEN
|
||
UPDATE RASTCMDB.PDI
|
||
SET GRADE = :NEW.L2_GRADE,
|
||
HOT_GRADE = :NEW.STEEL_GRADE,
|
||
LABEL_GRADE = :NEW.SG_SIGN, --三级钢种
|
||
-------------------------------------------------------------------------------
|
||
PACK_TYPE = :NEW.PACKING_TYPE_CODE,
|
||
CONTRACT_NO = :NEW.WORK_ORDER_NO,
|
||
SCHEDULE_NO = :NEW.SCHEDULE_CODE,
|
||
COILER_DIAMETER = :NEW.COILER_DIAMETER,
|
||
EXIT_COIL_ID = :NEW.EXIT_COIL_NO,
|
||
WEIGHT = :NEW.ENTRY_COIL_WEIGHT,
|
||
ENTRYLENGTH = :NEW.ENTRY_OF_COIL_LENGTH,
|
||
OUTSIDEDIAM = :NEW.ENTRY_OF_COIL_OUTER_DIAMETER,
|
||
CROWN = :NEW.CROWN_AVERAGE,
|
||
-------------------------------------------------------------------------------
|
||
contract_exitthick = :NEW.ORDER_THICKNESS, --订单厚度
|
||
-------------------------------------------------------------------------------
|
||
|
||
ENTRYTHICK = :NEW.ENTRY_COIL_THICKNESS, --来料厚度
|
||
INITIAL_GAUGE = :NEW.ENTRY_COIL_THICKNESS, --热轧料厚度
|
||
WIDTH = :NEW.EXIT_COIL_WIDTH, --入口宽度
|
||
--WIDTH_ENTRY = :NEW.ENTRY_COIL_WIDTH, --来料宽度
|
||
-------------------------------------------------------------------------------
|
||
EXITTHICK = :NEW.EXIT_COIL_THICKNESS, --成品厚度
|
||
EXITWIDTH = :NEW.EXIT_COIL_WIDTH, --成品宽度
|
||
-------------------------------------------------------------------------------
|
||
WEIGHT_MODE = TO_NUMBER (:NEW.WEIGHT_MODE), -- 重量分卷模式/是否分卷 1 分卷
|
||
WEIGHT_EXIT = :NEW.EXIT_COIL_WEIGHT, --分卷后 出口目标重量
|
||
-------------------------------------------------------------------------------
|
||
ROLLPROGRAMNB = :NEW.ROLLPROGRAMNB,
|
||
SEQUENCENB = :NEW.SEQUENCENB
|
||
-------------------------------------------------------------------------------
|
||
WHERE COILID LIKE szCoilID;
|
||
ELSE
|
||
UPDATE RASTCMDB.PDI
|
||
SET --GRADE = :NEW.L2_GRADE,
|
||
HOT_GRADE = :NEW.STEEL_GRADE,
|
||
LABEL_GRADE = :NEW.SG_SIGN, --三级钢种
|
||
-------------------------------------------------------------------------------
|
||
PACK_TYPE = :NEW.PACKING_TYPE_CODE,
|
||
CONTRACT_NO = :NEW.WORK_ORDER_NO,
|
||
SCHEDULE_NO = :NEW.SCHEDULE_CODE,
|
||
COILER_DIAMETER = :NEW.COILER_DIAMETER,
|
||
EXIT_COIL_ID = :NEW.EXIT_COIL_NO,
|
||
WEIGHT = :NEW.ENTRY_COIL_WEIGHT,
|
||
ENTRYLENGTH = :NEW.ENTRY_OF_COIL_LENGTH,
|
||
OUTSIDEDIAM = :NEW.ENTRY_OF_COIL_OUTER_DIAMETER,
|
||
CROWN = :NEW.CROWN_AVERAGE,
|
||
-------------------------------------------------------------------------------
|
||
contract_exitthick = :NEW.ORDER_THICKNESS, --订单厚度
|
||
-------------------------------------------------------------------------------
|
||
|
||
ENTRYTHICK = :NEW.ENTRY_COIL_THICKNESS, --来料厚度
|
||
INITIAL_GAUGE = :NEW.ENTRY_COIL_THICKNESS, --热轧料厚度
|
||
WIDTH = :NEW.EXIT_COIL_WIDTH, --入口宽度
|
||
--WIDTH_ENTRY = :NEW.ENTRY_COIL_WIDTH, --来料宽度
|
||
-------------------------------------------------------------------------------
|
||
EXITTHICK = :NEW.EXIT_COIL_THICKNESS, --成品厚度
|
||
EXITWIDTH = :NEW.EXIT_COIL_WIDTH, --成品宽度
|
||
-------------------------------------------------------------------------------
|
||
WEIGHT_MODE = TO_NUMBER (:NEW.WEIGHT_MODE), -- 重量分卷模式/是否分卷 1 分卷
|
||
WEIGHT_EXIT = :NEW.EXIT_COIL_WEIGHT, --分卷后 出口目标重量
|
||
-------------------------------------------------------------------------------
|
||
ROLLPROGRAMNB = :NEW.ROLLPROGRAMNB,
|
||
SEQUENCENB = :NEW.SEQUENCENB
|
||
-------------------------------------------------------------------------------
|
||
WHERE COILID LIKE szCoilID;
|
||
END IF;
|
||
END IF;
|
||
END IF;
|
||
|
||
-------------------------------------------------------------------------------
|
||
-------------------------------------------------------------------------------
|
||
nCrossSectionArea := :NEW.ENTRY_COIL_THICKNESS * :NEW.ENTRY_COIL_WIDTH;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--1.
|
||
SELECT COUNT (*)
|
||
INTO nCount
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea;
|
||
|
||
IF nCount <> 0
|
||
THEN
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea AND ROWNUM = 1;
|
||
|
||
:NEW.CROSS_SECTION_AREA := TablePL_BM_TENSION_XQ.CROSS_SECTION_AREA;
|
||
:NEW.UNCOILER_TENSION := TablePL_BM_TENSION_XQ.UNCOILER_TENSION;
|
||
:NEW.LOOPER_TENSION_1 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_1;
|
||
:NEW.PL_TENSION := TablePL_BM_TENSION_XQ.PL_TENSION;
|
||
:NEW.LOOPER_TENSION_2 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_2;
|
||
:NEW.LOOPER_TENSION_3 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_3;
|
||
|
||
RETURN;
|
||
END IF;
|
||
|
||
-------------------------------------------------------------------------------
|
||
--2.
|
||
|
||
|
||
SELECT MIN (KEYID),
|
||
MAX (KEYID),
|
||
MIN (CROSS_SECTION_AREA),
|
||
MAX (CROSS_SECTION_AREA)
|
||
INTO nMinKeyID,
|
||
nMaxKeyID,
|
||
nMinCrossSectionArea,
|
||
nMaxCrossSectionArea
|
||
FROM PL_BM_TENSION_XQ;
|
||
|
||
-------------------------------------------------------------------------------
|
||
IF nCrossSectionArea <= nMinCrossSectionArea
|
||
OR nCrossSectionArea >= nMaxCrossSectionArea
|
||
THEN
|
||
-------------------------------------------------------------------------------
|
||
--2.找到是不是最大最小之外,如果是,选择一个,直接使用
|
||
IF nCrossSectionArea <= nMinCrossSectionArea
|
||
THEN
|
||
nCrossSectionArea := nMinCrossSectionArea;
|
||
ELSE
|
||
nCrossSectionArea := nMaxCrossSectionArea;
|
||
END IF;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA = nCrossSectionArea;
|
||
|
||
:NEW.CROSS_SECTION_AREA := TablePL_BM_TENSION_XQ.CROSS_SECTION_AREA;
|
||
:NEW.UNCOILER_TENSION := TablePL_BM_TENSION_XQ.UNCOILER_TENSION;
|
||
:NEW.LOOPER_TENSION_1 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_1;
|
||
:NEW.PL_TENSION := TablePL_BM_TENSION_XQ.PL_TENSION;
|
||
:NEW.LOOPER_TENSION_2 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_2;
|
||
:NEW.LOOPER_TENSION_3 := TablePL_BM_TENSION_XQ.LOOPER_TENSION_3;
|
||
|
||
RETURN;
|
||
-------------------------------------------------------------------------------
|
||
ELSE
|
||
-------------------------------------------------------------------------------
|
||
--3.
|
||
SELECT KEYID
|
||
INTO nMinKeyID
|
||
FROM ( SELECT *
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA < nCrossSectionArea
|
||
ORDER BY CROSS_SECTION_AREA DESC)
|
||
WHERE ROWNUM = 1;
|
||
|
||
SELECT KEYID
|
||
INTO nMaxKeyID
|
||
FROM ( SELECT *
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE CROSS_SECTION_AREA > nCrossSectionArea
|
||
ORDER BY CROSS_SECTION_AREA ASC)
|
||
WHERE ROWNUM = 1;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ_MIN
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE KEYID = nMinKeyID;
|
||
|
||
SELECT *
|
||
INTO TablePL_BM_TENSION_XQ_MAX
|
||
FROM PL_BM_TENSION_XQ
|
||
WHERE KEYID = nMaxKeyID;
|
||
|
||
iCross_section_areaMin := TablePL_BM_TENSION_XQ_MIN.CROSS_SECTION_AREA;
|
||
iUncoiler_tensionMin := TablePL_BM_TENSION_XQ_MIN.UNCOILER_TENSION;
|
||
iLooper_tension_1Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_1;
|
||
iPL_tensionMin := TablePL_BM_TENSION_XQ_MIN.PL_TENSION;
|
||
iLooper_tension_2Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_2;
|
||
iLooper_tension_3Min := TablePL_BM_TENSION_XQ_MIN.LOOPER_TENSION_3;
|
||
|
||
iCross_section_areaMax := TablePL_BM_TENSION_XQ_MAX.CROSS_SECTION_AREA;
|
||
iUncoiler_tensionMax := TablePL_BM_TENSION_XQ_MAX.UNCOILER_TENSION;
|
||
iLooper_tension_1Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_1;
|
||
iPL_tensionMax := TablePL_BM_TENSION_XQ_MAX.PL_TENSION;
|
||
iLooper_tension_2Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_2;
|
||
iLooper_tension_3Max := TablePL_BM_TENSION_XQ_MAX.LOOPER_TENSION_3;
|
||
|
||
--iUncoiler_tension :=
|
||
:NEW.CROSS_SECTION_AREA := nCrossSectionArea;
|
||
:NEW.UNCOILER_TENSION :=
|
||
( (iUncoiler_tensionMax - iUncoiler_tensionMin)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iUncoiler_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_1 :=
|
||
( (iLooper_tension_1Max - iLooper_tension_1Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iLooper_tension_1Min)
|
||
* nCrossSectionArea;
|
||
:NEW.PL_TENSION :=
|
||
( (iLooper_tension_1Max - iPL_tensionMin)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iPL_tensionMin)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_2 :=
|
||
( (iLooper_tension_2Max - iLooper_tension_2Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iLooper_tension_2Min)
|
||
* nCrossSectionArea;
|
||
:NEW.LOOPER_TENSION_3 :=
|
||
( (iLooper_tension_3Max - iLooper_tension_3Min)
|
||
/ (iCross_section_areaMax - iCross_section_areaMin)
|
||
* (nCrossSectionArea - iCross_section_areaMin)
|
||
+ iLooper_tension_3Min)
|
||
* nCrossSectionArea;
|
||
-------------------------------------------------------------------------------
|
||
END IF;
|
||
-------------------------------------------------------------------------------
|
||
|
||
--szCoilID := :NEW.COILID || '%';
|
||
-------------------------------------------------------------------------------
|
||
|
||
EXCEPTION
|
||
WHEN OTHERS
|
||
THEN
|
||
-- Consider logging the error and then re-raise
|
||
RAISE;
|
||
END UPD_B_PDI_PLTM;
|
||
/
|
||
|
||
|
||
ALTER TABLE PLTM.PDI_PLTM ADD (
|
||
CONSTRAINT PK_PDI_PLTM
|
||
PRIMARY KEY
|
||
(COILID)
|
||
USING INDEX PLTM.PK_PDI_PLTM
|
||
ENABLE VALIDATE);
|
||
|
||
GRANT DELETE, INSERT, SELECT, UPDATE ON PLTM.PDI_PLTM TO PL_USER;
|