-- 招投标主信息表
CREATE TABLE `ccdi_purchase_transaction` (
  `purchase_id` VARCHAR(32) NOT NULL COMMENT '采购事项ID',
  `purchase_category` VARCHAR(50) NOT NULL COMMENT '采购类别',
  `project_name` VARCHAR(200) DEFAULT NULL COMMENT '项目名称',
  `subject_name` VARCHAR(200) NOT NULL COMMENT '标的物名称',
  `subject_desc` TEXT COMMENT '标的物描述',
  `purchase_qty` DECIMAL(12,4) NOT NULL DEFAULT 1 COMMENT '采购数量',
  `budget_amount` DECIMAL(18,2) NOT NULL COMMENT '预算金额',
  `bid_amount` DECIMAL(18,2) DEFAULT NULL COMMENT '中标金额',
  `actual_amount` DECIMAL(18,2) DEFAULT NULL COMMENT '实际采购金额',
  `contract_amount` DECIMAL(18,2) DEFAULT NULL COMMENT '合同金额',
  `settlement_amount` DECIMAL(18,2) DEFAULT NULL COMMENT '结算金额',
  `purchase_method` VARCHAR(50) NOT NULL COMMENT '采购方式',
  `supplier_name` VARCHAR(200) DEFAULT NULL COMMENT '中标供应商名称',
  `contact_person` VARCHAR(50) DEFAULT NULL COMMENT '供应商联系人',
  `contact_phone` VARCHAR(20) DEFAULT NULL COMMENT '供应商联系电话',
  `supplier_uscc` VARCHAR(18) DEFAULT NULL COMMENT '供应商统一信用代码',
  `supplier_bank_account` VARCHAR(50) DEFAULT NULL COMMENT '供应商银行账户',
  `apply_date` DATE NOT NULL COMMENT '采购申请日期',
  `plan_approve_date` DATE DEFAULT NULL COMMENT '采购计划批准日期',
  `announce_date` DATE DEFAULT NULL COMMENT '采购公告发布日期',
  `bid_open_date` DATE DEFAULT NULL COMMENT '开标日期',
  `contract_sign_date` DATE DEFAULT NULL COMMENT '合同签订日期',
  `expected_delivery_date` DATE DEFAULT NULL COMMENT '预计交货日期',
  `actual_delivery_date` DATE DEFAULT NULL COMMENT '实际交货日期',
  `acceptance_date` DATE DEFAULT NULL COMMENT '验收日期',
  `settlement_date` DATE DEFAULT NULL COMMENT '结算日期',
  `applicant_id` VARCHAR(7) NOT NULL COMMENT '申请人工号',
  `applicant_name` VARCHAR(50) NOT NULL COMMENT '申请人姓名',
  `apply_department` VARCHAR(100) NOT NULL COMMENT '申请部门',
  `purchase_leader_id` VARCHAR(7) DEFAULT NULL COMMENT '采购负责人工号',
  `purchase_leader_name` VARCHAR(50) DEFAULT NULL COMMENT '采购负责人姓名',
  `purchase_department` VARCHAR(100) DEFAULT NULL COMMENT '采购部门',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `created_by` VARCHAR(50) NOT NULL COMMENT '创建人',
  `updated_by` VARCHAR(50) DEFAULT NULL COMMENT '更新人',
  PRIMARY KEY (`purchase_id`),
  KEY `idx_applicant_id` (`applicant_id`),
  KEY `idx_apply_date` (`apply_date`),
  KEY `idx_supplier_uscc` (`supplier_uscc`),
  KEY `idx_category_method` (`purchase_category`, `purchase_method`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='招投标主信息表';

-- 招投标供应商明细表
CREATE TABLE `ccdi_purchase_transaction_supplier` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `purchase_id` VARCHAR(32) NOT NULL COMMENT '采购事项ID',
  `supplier_name` VARCHAR(200) NOT NULL COMMENT '供应商名称',
  `supplier_uscc` VARCHAR(18) DEFAULT NULL COMMENT '供应商统一信用代码',
  `contact_person` VARCHAR(50) DEFAULT NULL COMMENT '供应商联系人',
  `contact_phone` VARCHAR(20) DEFAULT NULL COMMENT '供应商联系电话',
  `supplier_bank_account` VARCHAR(50) DEFAULT NULL COMMENT '供应商银行账户',
  `is_bid_winner` TINYINT NOT NULL DEFAULT 0 COMMENT '是否中标：1-是，0-否',
  `sort_order` INT NOT NULL DEFAULT 1 COMMENT '排序',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `created_by` VARCHAR(50) DEFAULT NULL COMMENT '创建人',
  `updated_by` VARCHAR(50) DEFAULT NULL COMMENT '更新人',
  PRIMARY KEY (`id`),
  KEY `idx_purchase_id` (`purchase_id`),
  KEY `idx_purchase_bid_winner` (`purchase_id`, `is_bid_winner`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='招投标供应商明细表';
