创建库存使用申请表-完整版.sql 3.76 KB
-- ============================================
-- 创建库存使用申请表(完整版,包含总价字段)
-- ============================================
-- 说明:用于库存使用申请的审批流程
-- 执行时间:2025年
-- ============================================

-- 1. 创建库存使用申请表
CREATE TABLE IF NOT EXISTS `lq_inventory_usage_application` (
  `F_Id` varchar(50) NOT NULL COMMENT '申请编号',
  `F_UsageBatchId` varchar(50) NOT NULL COMMENT '使用批次ID(关联lq_inventory_usage.F_UsageBatchId)',
  `F_ApplicationUserId` varchar(50) NOT NULL COMMENT '申请人ID',
  `F_ApplicationUserName` varchar(100) DEFAULT NULL COMMENT '申请人姓名',
  `F_ApplicationStoreId` varchar(50) DEFAULT NULL COMMENT '申请门店ID',
  `F_ApplicationTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '申请时间',
  `F_NodeCount` int DEFAULT 1 COMMENT '节点数量(固定为1)',
  `F_CurrentNodeOrder` int DEFAULT 0 COMMENT '当前审批节点(0-待审批,1-审批中,2-已完成)',
  `F_CurrentNodeId` varchar(50) DEFAULT NULL COMMENT '当前节点ID',
  `F_ApprovalStatus` varchar(20) DEFAULT '待审批' COMMENT '审批状态(待审批/审批中/已通过/未通过/已退回)',
  `F_IsReceived` int DEFAULT 0 COMMENT '是否已领取(1-已领取,0-未领取)',
  `F_ReceiveTime` datetime DEFAULT NULL COMMENT '领取时间',
  `F_ReceiveUser` varchar(50) DEFAULT NULL COMMENT '领取人ID',
  `F_Remarks` varchar(500) DEFAULT NULL COMMENT '备注',
  `F_TotalAmount` decimal(18,2) DEFAULT 0.00 COMMENT '申请总金额(该批次所有商品的总价)',
  `F_CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建人ID',
  `F_UpdateTime` datetime DEFAULT NULL COMMENT '更新时间',
  `F_UpdateUser` varchar(50) DEFAULT NULL COMMENT '更新人ID',
  `F_IsEffective` int DEFAULT 1 COMMENT '是否有效(1-有效,0-无效)',
  PRIMARY KEY (`F_Id`),
  UNIQUE KEY `uk_usage_batch_id` (`F_UsageBatchId`),
  KEY `idx_application_user_id` (`F_ApplicationUserId`),
  KEY `idx_application_store_id` (`F_ApplicationStoreId`),
  KEY `idx_current_node` (`F_CurrentNodeId`),
  KEY `idx_approval_status` (`F_ApprovalStatus`),
  KEY `idx_is_received` (`F_IsReceived`),
  KEY `idx_total_amount` (`F_TotalAmount`),
  KEY `idx_create_time` (`F_CreateTime`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存使用申请表';

-- 2. 创建库存使用申请审批记录表
CREATE TABLE IF NOT EXISTS `lq_inventory_usage_approval_record` (
  `F_Id` varchar(50) NOT NULL COMMENT '审批记录编号',
  `F_ApplicationId` varchar(50) NOT NULL COMMENT '申请ID(关联lq_inventory_usage_application.F_Id)',
  `F_NodeId` varchar(50) DEFAULT NULL COMMENT '节点ID',
  `F_NodeOrder` int DEFAULT 1 COMMENT '节点顺序(固定为1)',
  `F_ApproverId` varchar(50) NOT NULL COMMENT '审批人ID',
  `F_ApproverName` varchar(100) DEFAULT NULL COMMENT '审批人姓名',
  `F_ApprovalResult` varchar(20) DEFAULT '待审批' COMMENT '审批结果(待审批/已通过/未通过/已退回)',
  `F_ApprovalOpinion` varchar(500) DEFAULT NULL COMMENT '审批意见',
  `F_ApprovalTime` datetime DEFAULT NULL COMMENT '审批时间',
  `F_IsCurrentNode` int DEFAULT 1 COMMENT '是否当前节点(1-是,0-否)',
  `F_CreateTime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `F_CreateUser` varchar(50) DEFAULT NULL COMMENT '创建人ID',
  PRIMARY KEY (`F_Id`),
  KEY `idx_application_id` (`F_ApplicationId`),
  KEY `idx_approver_id` (`F_ApproverId`),
  KEY `idx_approval_result` (`F_ApprovalResult`),
  KEY `idx_is_current_node` (`F_IsCurrentNode`),
  KEY `idx_node_order` (`F_ApplicationId`, `F_NodeOrder`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='库存使用申请审批记录表';