-- ----------------------------
-- 招采计划模块 MySQL 建表语句
-- ----------------------------

-- ----------------------------
-- Table structure for zc_bill_code
-- 单据号码表，用于保证单据号唯一性
-- ----------------------------
DROP TABLE IF EXISTS `zc_bill_code`;

CREATE TABLE `zc_bill_code` (
    `id` bigint(20) NOT NULL COMMENT '主键',
    `bill_code` varchar(64) NOT NULL COMMENT '单据号',
    `bill_type` varchar(64) DEFAULT NULL COMMENT '单据类型',
    `status` int(2) DEFAULT '1' COMMENT '状态',
    `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
    `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `update_user` bigint(20) DEFAULT NULL COMMENT '更新人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',
    `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `uk_bill_code` (`bill_code`) USING BTREE,
    KEY `idx_bill_type` (`bill_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='单据号码表';


-- ----------------------------
-- Table structure for zc_procurement_plan
-- 年度招采计划主表
-- ----------------------------
DROP TABLE IF EXISTS `zc_procurement_plan`;

CREATE TABLE `zc_procurement_plan` (
    `id` bigint(20) NOT NULL COMMENT '主键',
    `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
    `applicant` varchar(64) DEFAULT NULL COMMENT '申请人',
    `apply_time` datetime DEFAULT NULL COMMENT '申请时间',
    `phone` varchar(32) DEFAULT NULL COMMENT '联系电话',
    `company` varchar(128) DEFAULT NULL COMMENT '所属公司',
    `bill_no` varchar(64) DEFAULT NULL COMMENT '单据号',
    `year` varchar(4) DEFAULT NULL COMMENT '年度',
    `dept` varchar(128) DEFAULT NULL COMMENT '需求部门',
    `apply_company` varchar(128) DEFAULT NULL COMMENT '需求公司',
    `estimated_amount` decimal(18,2) DEFAULT '0.00' COMMENT '年度预估总金额(万元)',
    `amount_upper` varchar(256) DEFAULT NULL COMMENT '预估总金额大写',
    `remark` text COMMENT '备注',
    `flow_status` varchar(64) DEFAULT NULL COMMENT '流程当前节点',
    `process_instance_id` varchar(64) DEFAULT NULL COMMENT '流程实例ID',
    `status` int(2) DEFAULT '1' COMMENT '状态',
    `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
    `create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `update_user` bigint(20) DEFAULT NULL COMMENT '更新人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',
    `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE,
    UNIQUE KEY `uk_bill_no` (`bill_no`) USING BTREE,
    KEY `idx_year` (`year`) USING BTREE,
    KEY `idx_applicant` (`applicant`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='年度招采计划主表';


-- ----------------------------
-- Table structure for zc_procurement_plan_project
-- 年度招采计划项目明细表
-- ----------------------------
DROP TABLE IF EXISTS `zc_procurement_plan_project`;

CREATE TABLE `zc_procurement_plan_project` (
    `id` bigint(20) NOT NULL COMMENT '主键',
    `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
    `plan_id` bigint(20) NOT NULL COMMENT '主表ID',
    `year` varchar(4) DEFAULT NULL COMMENT '年度',
    `plan_no` varchar(64) DEFAULT NULL COMMENT '计划号',
    `sort_no` int(11) DEFAULT '0' COMMENT '序号',
    `project_name` varchar(100) DEFAULT NULL COMMENT '项目名称',
    `project_type` varchar(64) DEFAULT NULL COMMENT '项目类型',
    `contact_person` varchar(64) DEFAULT NULL COMMENT '项目对接人',
    `contact_person_id` bigint(20) DEFAULT NULL COMMENT '项目对接人ID',
    `apply_date` date DEFAULT NULL COMMENT '计划申请日期',
    `expect_date` date DEFAULT NULL COMMENT '期望使用/完成日期',
    `project_attr` varchar(64) DEFAULT NULL COMMENT '项目属性',
    `purchase_requirement` varchar(512) DEFAULT NULL COMMENT '采购需求',
    `budget_amount` decimal(18,2) DEFAULT '0.00' COMMENT '预算金额（万元）',
    `bidding_method` varchar(64) DEFAULT NULL COMMENT '招标方式',
    `project_intro` text COMMENT '项目简介',
    `remark` text COMMENT '备注',
    `material_detail` text COMMENT '物料明细冗余汇总',
    `status` int(2) DEFAULT '1' COMMENT '状态',
    `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `update_user` bigint(20) DEFAULT NULL COMMENT '更新人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',
    `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE,
    KEY `idx_plan_id` (`plan_id`) USING BTREE,
    KEY `idx_plan_no` (`plan_no`) USING BTREE,
    KEY `idx_year` (`year`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='年度招采计划项目明细表';


-- ----------------------------
-- Table structure for zc_procurement_plan_material
-- 年度招采计划物料明细表
-- ----------------------------
DROP TABLE IF EXISTS `zc_procurement_plan_material`;

CREATE TABLE `zc_procurement_plan_material` (
    `id` bigint(20) NOT NULL COMMENT '主键',
    `tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
    `plan_id` bigint(20) NOT NULL COMMENT '主表ID',
    `project_id` bigint(20) NOT NULL COMMENT '项目明细ID',
    `sort_no` int(11) DEFAULT '0' COMMENT '序号',
    `material_name` varchar(100) DEFAULT NULL COMMENT '物料名称',
    `material_code` varchar(64) DEFAULT NULL COMMENT '物料编码',
    `specification` varchar(256) DEFAULT NULL COMMENT '规格型号',
    `brand` varchar(128) DEFAULT NULL COMMENT '品牌',
    `unit` varchar(64) DEFAULT NULL COMMENT '计量单位',
    `reference_price` decimal(18,2) DEFAULT '0.00' COMMENT '参考价',
    `quantity` int(11) DEFAULT '0' COMMENT '预计数量',
    `estimated_amount` decimal(18,2) DEFAULT '0.00' COMMENT '预估金额（元）',
    `contact_person` varchar(64) DEFAULT NULL COMMENT '对接人',
    `contact_person_id` bigint(20) DEFAULT NULL COMMENT '对接人ID',
    `apply_date` date DEFAULT NULL COMMENT '计划申请日期',
    `expect_date` date DEFAULT NULL COMMENT '期望使用/完成日期',
    `last_year_total` int(11) DEFAULT '0' COMMENT '去年总量',
    `last_year_avg_price` decimal(18,2) DEFAULT '0.00' COMMENT '去年均价',
    `last_year_total_amount` decimal(18,2) DEFAULT '0.00' COMMENT '去年总金额',
    `requirement_intro` text COMMENT '需求简介',
    `remark` text COMMENT '备注',
    `status` int(2) DEFAULT '1' COMMENT '状态',
    `create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `update_user` bigint(20) DEFAULT NULL COMMENT '更新人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',
    `is_deleted` int(2) DEFAULT '0' COMMENT '是否已删除',
    PRIMARY KEY (`id`) USING BTREE,
    KEY `idx_plan_id` (`plan_id`) USING BTREE,
    KEY `idx_project_id` (`project_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='年度招采计划物料明细表';
