| 1234567891011121314151617181920212223242526272829303132333435 |
- -- 1.0.324.sql WP-D 工序实绩落地:修正 165 PSD 贴源业务键 + 新建工序实绩表
- -- D-M01:MES APP 报工产生 Period=0 影子行,实绩分散;本脚本为工序级合并提供落地表。
- -- 行尾必须 LF(CRLF 会导致 SHA256 与 sys_db_migration_log 不一致并阻止启动)。
- SET NAMES utf8mb4;
- -- 1) 修正 165 PeriodSequenceDet 贴源业务键:补 WorkOrds 与 Period,避免影子行覆盖计划行
- UPDATE mdp_entity
- SET biz_key_expr = 'Domain,WorkOrds,ItemNum,PlanDate,Line,Op,Period',
- remark = 'WP-D 修正业务键:补 WorkOrds/Period,避免 MES 影子行与计划行 biz_key 冲突',
- update_time = NOW()
- WHERE entity_code = 'S2_PERIOD_SEQUENCE_SQLSERVER';
- -- 2) 工序实绩表(工序级宽键,不受排产重排影响)
- CREATE TABLE IF NOT EXISTS ado_psd_op_actual (
- id BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
- tenant_id BIGINT NOT NULL DEFAULT 0 COMMENT '租户',
- domain VARCHAR(80) NOT NULL DEFAULT '' COMMENT '账套(165 Domain)',
- work_ord VARCHAR(64) NOT NULL COMMENT '工单号(165 PeriodSequenceDet.WorkOrds)',
- op INT NOT NULL DEFAULT 0 COMMENT '工序号',
- item_num VARCHAR(30) NULL COMMENT '物料号(取自 165 同工序任一行,仅供展示)',
- comp_qty DECIMAL(18,4) NOT NULL DEFAULT 0 COMMENT '完成数:165 同工序全部 PSD 行 SUM(CompQty)',
- reject_qty DECIMAL(18,4) NOT NULL DEFAULT 0 COMMENT '报废数:同上 SUM(RejectQty)',
- setup_time_hour DECIMAL(18,5) NOT NULL DEFAULT 0 COMMENT '装机工时,单位小时(165 SetupTime 原始单位)',
- actual_time_sec DECIMAL(18,3) NOT NULL DEFAULT 0 COMMENT '实动工时,单位秒(165 ActualTime 原始单位)',
- src_row_count INT NOT NULL DEFAULT 0 COMMENT '参与合并的 165 行数(便于排查影子行)',
- routing_qty DECIMAL(18,4) NULL COMMENT '交叉校验值:165 WorkOrdRouting.QtyComplete',
- last_src_update DATETIME NULL COMMENT '165 侧最大 UpdateTime',
- sync_time DATETIME NOT NULL COMMENT '本次写入时间',
- create_time DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
- update_time DATETIME(3) NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
- PRIMARY KEY (id),
- UNIQUE KEY uk_psd_op_actual (tenant_id, domain, work_ord, op),
- KEY idx_psd_op_actual_wo (work_ord, op),
- KEY idx_psd_op_actual_sync (sync_time)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='工序实绩(165 PSD 工序级合并结果)';
|