production_material_inventory.sql 5.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. -- ============================================================
  2. -- 生产物料库存管理 - 数据库迁移脚本
  3. -- 变更: production-material-inventory
  4. -- ============================================================
  5. -- 1. biz_consumable 新增库存字段
  6. ALTER TABLE `biz_consumable`
  7. ADD COLUMN `stock_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '当前库存量' AFTER `description`,
  8. ADD COLUMN `warning_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '预警库存量' AFTER `stock_qty`,
  9. ADD COLUMN `status` CHAR(1) NOT NULL DEFAULT '1' COMMENT '1-启用 0-停用' AFTER `warning_qty`;
  10. -- 2. biz_reagent 新增库存字段
  11. ALTER TABLE `biz_reagent`
  12. ADD COLUMN `stock_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '当前库存量' AFTER `description`,
  13. ADD COLUMN `warning_qty` DECIMAL(18,4) NOT NULL DEFAULT 0.0000 COMMENT '预警库存量' AFTER `stock_qty`,
  14. ADD COLUMN `status` CHAR(1) NOT NULL DEFAULT '1' COMMENT '1-启用 0-停用' AFTER `warning_qty`;
  15. -- 3. 耗材变动记录表
  16. CREATE TABLE `biz_consumable_stock_log` (
  17. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  18. `material_id` VARCHAR(64) NOT NULL COMMENT '耗材ID',
  19. `material_code` VARCHAR(64) DEFAULT NULL COMMENT '耗材编码快照',
  20. `material_name` VARCHAR(200) DEFAULT NULL COMMENT '耗材名称快照',
  21. `change_type` VARCHAR(16) NOT NULL COMMENT '变动类型:in入库 / use使用出库',
  22. `change_qty` DECIMAL(18,4) NOT NULL COMMENT '变动数量(入库正数,出库负数)',
  23. `stock_before` DECIMAL(18,4) NOT NULL COMMENT '变动前库存',
  24. `stock_after` DECIMAL(18,4) NOT NULL COMMENT '变动后库存',
  25. `source_type` VARCHAR(16) NOT NULL COMMENT '来源:manual_in / manual_out / step_save',
  26. `step_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务步骤ID(step_save时有值)',
  27. `task_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务ID(step_save时有值)',
  28. `task_no` VARCHAR(32) DEFAULT NULL COMMENT '生产任务编号快照',
  29. `receiver` VARCHAR(64) DEFAULT NULL COMMENT '领用人(手动出库时)',
  30. `purpose` VARCHAR(512) DEFAULT NULL COMMENT '用途/事由(手动出库时)',
  31. `tenant_no` VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
  32. `remark` VARCHAR(512) DEFAULT NULL COMMENT '备注',
  33. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
  34. `create_dept_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
  35. `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  36. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
  37. `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  38. `del_flag` SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
  39. PRIMARY KEY (`id`),
  40. INDEX `idx_csl_material` (`material_id`, `del_flag`),
  41. INDEX `idx_csl_step` (`step_id`, `del_flag`),
  42. INDEX `idx_csl_task` (`task_id`, `del_flag`),
  43. INDEX `idx_csl_tenant_time` (`tenant_no`, `change_type`, `create_time`),
  44. INDEX `idx_csl_source` (`source_type`, `del_flag`)
  45. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='耗材变动记录';
  46. -- 4. 试剂变动记录表
  47. CREATE TABLE `biz_reagent_stock_log` (
  48. `id` VARCHAR(64) NOT NULL COMMENT '主键ID',
  49. `material_id` VARCHAR(64) NOT NULL COMMENT '试剂ID',
  50. `material_code` VARCHAR(64) DEFAULT NULL COMMENT '试剂编码快照',
  51. `material_name` VARCHAR(200) DEFAULT NULL COMMENT '试剂名称快照',
  52. `change_type` VARCHAR(16) NOT NULL COMMENT '变动类型:in入库 / use使用出库',
  53. `change_qty` DECIMAL(18,4) NOT NULL COMMENT '变动数量(入库正数,出库负数)',
  54. `stock_before` DECIMAL(18,4) NOT NULL COMMENT '变动前库存',
  55. `stock_after` DECIMAL(18,4) NOT NULL COMMENT '变动后库存',
  56. `source_type` VARCHAR(16) NOT NULL COMMENT '来源:manual_in / manual_out / step_save',
  57. `step_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务步骤ID(step_save时有值)',
  58. `task_id` VARCHAR(64) DEFAULT NULL COMMENT '生产任务ID(step_save时有值)',
  59. `task_no` VARCHAR(32) DEFAULT NULL COMMENT '生产任务编号快照',
  60. `receiver` VARCHAR(64) DEFAULT NULL COMMENT '领用人(手动出库时)',
  61. `purpose` VARCHAR(512) DEFAULT NULL COMMENT '用途/事由(手动出库时)',
  62. `tenant_no` VARCHAR(64) NOT NULL DEFAULT 'zkxw' COMMENT '租户编号',
  63. `remark` VARCHAR(512) DEFAULT NULL COMMENT '备注',
  64. `create_by` VARCHAR(64) DEFAULT NULL COMMENT '创建人id',
  65. `create_dept_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '创建人部门ID',
  66. `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  67. `update_by` VARCHAR(64) DEFAULT NULL COMMENT '更新人id',
  68. `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  69. `del_flag` SMALLINT NOT NULL DEFAULT 0 COMMENT '删除标记',
  70. PRIMARY KEY (`id`),
  71. INDEX `idx_rsl_material` (`material_id`, `del_flag`),
  72. INDEX `idx_rsl_step` (`step_id`, `del_flag`),
  73. INDEX `idx_rsl_task` (`task_id`, `del_flag`),
  74. INDEX `idx_rsl_tenant_time` (`tenant_no`, `change_type`, `create_time`),
  75. INDEX `idx_rsl_source` (`source_type`, `del_flag`)
  76. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='试剂变动记录';