1.0.213.sql 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. -- ============================================================
  2. -- 1.0.213.sql
  3. -- S5-PRODUCTION-RETURN-MDP-PIPELINE-1
  4. --
  5. -- 业务目标:
  6. -- 1) 新建 S5 生产退料单标准层 head-detail 双表(只读数据中台,DOP 内部):
  7. -- mdp_std_production_return(头) 源 NbrMaster(Type='WOD',IsActive=1,IsReturn=0)
  8. -- mdp_std_production_return_detail(明细)源 NbrDetail(Type='WOD', NbrRecID→NbrMaster.RecID)
  9. -- 不建 stg、不建 dwd;不读/不改 S3/S4;不写源表。
  10. -- 2) 将「生产退料单」菜单(Id=1329015020004,仓储管理目录下)的 Component
  11. -- 由 placeholder 重指到真实页面 /aidop/s5/warehouse/productionReturnList。
  12. --
  13. -- 安全保证:
  14. -- - DDL 仅 CREATE TABLE IF NOT EXISTS,幂等;不 DROP / TRUNCATE。
  15. -- - 菜单仅 UPDATE 该单条 Component / Remark / UpdateTime;不改 Path/Name/Pid/Title/Type/OrderNo;
  16. -- 不 INSERT/DELETE;不动 SysTenantMenu / SysRoleMenu;不动其它菜单。
  17. -- - 不动源单据表(NbrMaster/NbrDetail 等),不动 S3/S4 资产,不碰 S2 写路径。
  18. -- ============================================================
  19. CREATE TABLE IF NOT EXISTS mdp_std_production_return (
  20. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  21. tenant_id BIGINT NOT NULL DEFAULT 0,
  22. factory_id BIGINT NULL DEFAULT 1,
  23. source_system VARCHAR(50) NOT NULL DEFAULT 'AIDOP',
  24. domain VARCHAR(80) NOT NULL COMMENT '工厂/域 NbrMaster.Domain',
  25. rec_id INT NOT NULL COMMENT '源头主键 NbrMaster.RecID',
  26. nbr VARCHAR(24) NULL COMMENT '退料单号 NbrMaster.Nbr',
  27. return_date DATETIME NULL COMMENT '退料日期 NbrMaster.Date',
  28. status VARCHAR(8) NULL COMMENT '状态原值 NbrMaster.Status',
  29. status_desc VARCHAR(20) NULL COMMENT '状态中文(C→关闭)',
  30. work_ord VARCHAR(64) NULL COMMENT 'SAP单号/工单号 NbrMaster.WorkOrd',
  31. department VARCHAR(8) NULL COMMENT '部门编码 NbrMaster.Department',
  32. department_desc VARCHAR(255) NULL COMMENT '部门(编码+DepartmentMaster.Descr)',
  33. qty_ord DECIMAL(18,5) NULL DEFAULT 0 COMMENT '数量 NbrMaster.QtyOrd(默认隐藏)',
  34. prod_line VARCHAR(8) NULL COMMENT '生产线 NbrMaster.ProdLine',
  35. applicant_name VARCHAR(12) NULL COMMENT '申请人 NbrMaster.Name',
  36. return_user VARCHAR(255) NULL COMMENT '退料人(本批取 NbrMaster.User1)',
  37. user1 TEXT NULL COMMENT '原始 NbrMaster.User1',
  38. user2 TEXT NULL COMMENT '原始 NbrMaster.User2',
  39. remark VARCHAR(200) NULL COMMENT '备注 NbrMaster.Remark',
  40. create_user VARCHAR(24) NULL COMMENT '创建用户 NbrMaster.CreateUser',
  41. source_create_time DATETIME NULL COMMENT '源创建时间 NbrMaster.CreateTime',
  42. trans_type VARCHAR(24) NULL COMMENT '事务类型 NbrMaster.TransType',
  43. trans_type_text VARCHAR(50) NULL COMMENT '事务类型文案(旧系统恒空)',
  44. eff_date DATETIME NULL COMMENT '生效日期 NbrMaster.EffDate',
  45. ufld1 VARCHAR(50) NULL COMMENT '用户字段1 NbrMaster.Ufld1',
  46. source_biz_key VARCHAR(200) NULL COMMENT 'domain:rec_id',
  47. sync_batch_id VARCHAR(100) NOT NULL,
  48. sync_time DATETIME NOT NULL,
  49. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  50. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  51. UNIQUE KEY uk_mdp_std_prod_rtn (tenant_id, domain, rec_id),
  52. KEY idx_mdp_std_prod_rtn_nbr (tenant_id, nbr),
  53. KEY idx_mdp_std_prod_rtn_date (tenant_id, return_date),
  54. KEY idx_mdp_std_prod_rtn_status (tenant_id, status),
  55. KEY idx_mdp_std_prod_rtn_workord (tenant_id, work_ord),
  56. KEY idx_mdp_std_prod_rtn_prodline (tenant_id, prod_line),
  57. KEY idx_mdp_std_prod_rtn_dept (tenant_id, department)
  58. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S5生产退料单头标准层';
  59. CREATE TABLE IF NOT EXISTS mdp_std_production_return_detail (
  60. id BIGINT AUTO_INCREMENT PRIMARY KEY,
  61. tenant_id BIGINT NOT NULL DEFAULT 0,
  62. std_head_id BIGINT NULL COMMENT '回填头 mdp_std_production_return.id',
  63. domain VARCHAR(80) NOT NULL COMMENT '工厂/域',
  64. nbr_rec_id INT NOT NULL COMMENT '关联头 NbrDetail.NbrRecID→NbrMaster.RecID',
  65. rec_id INT NULL COMMENT '源明细主键 NbrDetail.RecID',
  66. line SMALLINT NOT NULL DEFAULT 0 COMMENT '项次 NbrDetail.Line',
  67. item_num VARCHAR(24) NULL COMMENT '物料编码 NbrDetail.ItemNum',
  68. item_name VARCHAR(200) NULL COMMENT '物料名称 ItemMaster.Descr',
  69. item_spec VARCHAR(200) NULL COMMENT '物料规格 ItemMaster.Descr1',
  70. um VARCHAR(8) NULL COMMENT '单位 NbrDetail.UM',
  71. qty_to DECIMAL(18,5) NULL DEFAULT 0 COMMENT '退料数量 NbrDetail.QtyTo',
  72. qty_rec DECIMAL(18,5) NULL DEFAULT 0 COMMENT '已退数 NbrDetail.QtyRec',
  73. location_from VARCHAR(8) NULL COMMENT '转出库位 NbrDetail.LocationFrom',
  74. location_from_desc VARCHAR(255) NULL COMMENT '转出库位名 LocationMaster.descr',
  75. location_to VARCHAR(8) NULL COMMENT '转入库位 NbrDetail.LocationTo',
  76. location_to_desc VARCHAR(255) NULL COMMENT '转入库位名 LocationMaster.descr',
  77. lot_serial VARCHAR(120) NULL COMMENT '批序号 NbrDetail.LotSerial',
  78. status VARCHAR(8) NULL COMMENT '状态原值 NbrDetail.Status',
  79. status_desc VARCHAR(20) NULL COMMENT '状态中文(C→关闭)',
  80. remark VARCHAR(500) NULL COMMENT '备注 NbrDetail.Remark',
  81. work_ord VARCHAR(64) NULL COMMENT '工单 NbrDetail.WorkOrd',
  82. source_biz_key VARCHAR(200) NULL COMMENT 'domain:nbr_rec_id:line',
  83. sync_batch_id VARCHAR(100) NOT NULL,
  84. sync_time DATETIME NOT NULL,
  85. create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
  86. update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  87. UNIQUE KEY uk_mdp_std_prod_rtn_dtl (tenant_id, domain, nbr_rec_id, line),
  88. KEY idx_mdp_std_prod_rtn_dtl_head (tenant_id, std_head_id),
  89. KEY idx_mdp_std_prod_rtn_dtl_item (tenant_id, item_num),
  90. KEY idx_mdp_std_prod_rtn_dtl_locto (tenant_id, location_to),
  91. KEY idx_mdp_std_prod_rtn_dtl_lot (tenant_id, lot_serial)
  92. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='S5生产退料单明细标准层';
  93. UPDATE SysMenu
  94. SET Component = '/aidop/s5/warehouse/productionReturnList',
  95. Remark = 'S5 生产退料单(只读 head-detail,数据中台标准层 mdp_std_production_return)',
  96. UpdateTime = NOW()
  97. WHERE Id = 1329015020004;