1.0.214.sql 4.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. -- ============================================================
  2. -- 1.0.214.sql
  3. -- S5-PRODUCTION-RECEIPT-MDP-PIPELINE-1
  4. --
  5. -- 业务目标:
  6. -- 1) 新建 S5 生产入库单标准层 mdp_std_production_receipt(只读数据中台,DOP 内部,扁平单表:
  7. -- 一行 = 一条 NbrDetail 明细)。源 NbrMaster(Type='WOI',IsActive=1) + NbrDetail(Domain+Nbr join)
  8. -- + DepartmentMaster / ItemMaster / LocationMaster。不建 stg、不建 dwd;不读/不改 S2/S3/S4;不写源表。
  9. -- 2) 将「生产入库单」菜单(Id=1329015020005,仓储管理目录下)的 Component
  10. -- 由 placeholder 重指到真实页面 /aidop/s5/warehouse/productionReceiptList。
  11. --
  12. -- 安全保证:
  13. -- - DDL 仅 CREATE TABLE IF NOT EXISTS,幂等;不 DROP / TRUNCATE。
  14. -- - 菜单仅 UPDATE 该单条 Component / Remark / UpdateTime;不改 Path/Name/Pid/Title/Type/OrderNo;
  15. -- 不 INSERT/DELETE;不动 SysTenantMenu / SysRoleMenu;不动其它菜单;不碰 S7 菜单。
  16. -- - 不动源单据表(NbrMaster/NbrDetail 等),不碰 S2 写路径,不碰退料/委外/采购收货资产。
  17. -- ============================================================
  18. CREATE TABLE IF NOT EXISTS mdp_std_production_receipt (
  19. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  20. tenant_id BIGINT NOT NULL DEFAULT 0,
  21. factory_id BIGINT NULL DEFAULT 1,
  22. source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
  23. domain VARCHAR(80) NOT NULL COMMENT '工厂/域 NbrMaster.Domain',
  24. master_rec_id INT NULL COMMENT '源头主键 NbrMaster.RecID',
  25. detail_rec_id INT NOT NULL COMMENT '源明细主键 NbrDetail.RecID(扁平粒度唯一)',
  26. nbr VARCHAR(24) NULL COMMENT '入库单号 NbrMaster.Nbr',
  27. line SMALLINT NOT NULL DEFAULT 0 COMMENT '项次 NbrDetail.Line',
  28. receipt_date DATETIME NULL COMMENT '入库日期 NbrMaster.Date',
  29. status VARCHAR(8) NULL COMMENT '状态原值 NbrMaster.Status',
  30. status_desc VARCHAR(20) NULL COMMENT '状态中文(本批暂=raw)',
  31. remark VARCHAR(200) NULL COMMENT '备注 NbrMaster.Remark(列表显示名“入库类型”,待确认)',
  32. prod_line VARCHAR(8) NULL COMMENT '生产线 NbrDetail.ProdLine',
  33. work_ord VARCHAR(64) NULL COMMENT '工单号 NbrDetail.WorkOrd',
  34. erp_work_ord VARCHAR(60) NULL COMMENT 'ERP工单号 NbrDetail.Address',
  35. department VARCHAR(8) NULL COMMENT '部门编码 NbrMaster.Department',
  36. department_desc VARCHAR(255) NULL COMMENT '部门(编码+DepartmentMaster.Descr)',
  37. applicant_name VARCHAR(12) NULL COMMENT '申请人 NbrMaster.Name',
  38. item_num VARCHAR(24) NULL COMMENT '物料编码 NbrDetail.ItemNum',
  39. item_name VARCHAR(200) NULL COMMENT '物料名称 ItemMaster.Descr',
  40. item_spec VARCHAR(200) NULL COMMENT '物料型号/规格 ItemMaster.Descr1',
  41. um VARCHAR(8) NULL COMMENT '单位 ItemMaster.UM',
  42. location_to VARCHAR(8) NULL COMMENT '入库库位 NbrDetail.LocationTo',
  43. location_to_desc VARCHAR(255) NULL COMMENT '入库库位名 LocationMaster.descr',
  44. lot_serial VARCHAR(120) NULL COMMENT '批序号 NbrDetail.LotSerial',
  45. qty_rec DECIMAL(18,5) NULL DEFAULT 0 COMMENT '数量 NbrDetail.QtyRec(列表展示)',
  46. qty_to DECIMAL(18,5) NULL DEFAULT 0 COMMENT '入库数量候选 NbrDetail.QtyTo(保留,本批不展示)',
  47. location_from VARCHAR(8) NULL COMMENT '转出库位 NbrDetail.LocationFrom(保留,不展示)',
  48. location_from_desc VARCHAR(255) NULL COMMENT '转出库位名 LocationMaster.descr(保留,不展示)',
  49. ord_nbr VARCHAR(48) NULL COMMENT '相关单号 NbrDetail.OrdNbr',
  50. source_biz_key VARCHAR(200) NULL COMMENT 'domain:detail_rec_id',
  51. sync_batch_id VARCHAR(100) NOT NULL,
  52. sync_time DATETIME NOT NULL,
  53. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  54. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  55. UNIQUE KEY uk_mdp_std_prod_receipt (tenant_id, domain, detail_rec_id),
  56. KEY idx_mdp_std_prod_rcpt_nbr (tenant_id, nbr),
  57. KEY idx_mdp_std_prod_rcpt_date (tenant_id, receipt_date),
  58. KEY idx_mdp_std_prod_rcpt_workord (tenant_id, work_ord),
  59. KEY idx_mdp_std_prod_rcpt_erp (tenant_id, erp_work_ord),
  60. KEY idx_mdp_std_prod_rcpt_lot (tenant_id, lot_serial),
  61. KEY idx_mdp_std_prod_rcpt_item (tenant_id, item_num),
  62. KEY idx_mdp_std_prod_rcpt_locto (tenant_id, location_to)
  63. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S5生产入库单标准层(扁平,一行=一条明细)';
  64. UPDATE SysMenu
  65. SET Component = '/aidop/s5/warehouse/productionReceiptList',
  66. Remark = 'S5 生产入库单(只读扁平,数据中台标准层 mdp_std_production_receipt)',
  67. UpdateTime = NOW()
  68. WHERE Id = 1329015020005;