根据WMS-ruoyi框架帮我设计三个表并转化为相应的sql语句和增加相应外键,盘点计划表、盘点任务表、计划任务状态表,需要根据盘点计划生成盘点任务
时间: 2024-02-01 20:16:58 浏览: 29
好的,根据你提供的信息,我为你设计了三个表并生成了相应的 SQL 语句,同时也增加了相应的外键。
1. 盘点计划表
```
CREATE TABLE `wms_inventory_plan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`plan_code` varchar(50) NOT NULL COMMENT '计划编号',
`plan_name` varchar(50) NOT NULL COMMENT '计划名称',
`warehouse_code` varchar(50) NOT NULL COMMENT '仓库编号',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_by` varchar(50) NOT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='盘点计划表';
```
2. 盘点任务表
```
CREATE TABLE `wms_inventory_task` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`task_code` varchar(50) NOT NULL COMMENT '任务编号',
`task_name` varchar(50) NOT NULL COMMENT '任务名称',
`plan_id` bigint(20) NOT NULL COMMENT '计划ID',
`executor` varchar(50) NOT NULL COMMENT '执行人员',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_by` varchar(50) NOT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `fk_wms_inventory_task_wms_inventory_plan` (`plan_id`),
CONSTRAINT `fk_wms_inventory_task_wms_inventory_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_inventory_plan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='盘点任务表';
```
3. 计划任务状态表
```
CREATE TABLE `wms_plan_task_status` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`plan_id` bigint(20) NOT NULL COMMENT '计划ID',
`task_id` bigint(20) NOT NULL COMMENT '任务ID',
`status` varchar(20) NOT NULL COMMENT '任务状态',
`create_time` datetime NOT NULL COMMENT '创建时间',
`create_by` varchar(50) NOT NULL COMMENT '创建人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `fk_wms_plan_task_status_wms_inventory_plan` (`plan_id`),
KEY `fk_wms_plan_task_status_wms_inventory_task` (`task_id`),
CONSTRAINT `fk_wms_plan_task_status_wms_inventory_plan` FOREIGN KEY (`plan_id`) REFERENCES `wms_inventory_plan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `fk_wms_plan_task_status_wms_inventory_task` FOREIGN KEY (`task_id`) REFERENCES `wms_inventory_task` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计划任务状态表';
```
其中,盘点计划表和盘点任务表之间建立了一对多的关系,外键为盘点计划表中的 ID,对应盘点任务表中的 PLAN_ID;计划任务状态表与盘点计划表和盘点任务表均建立了多对一的关系,外键分别为计划任务状态表中的 PLAN_ID 和 TASK_ID,对应盘点计划表中的 ID 和盘点任务表中的 ID。这样设计可以保证数据的完整性和一致性。