-- ============================================================= -- CRM合同表:yz_backend_crm_contract -- 说明: -- 含「我方角色 our_role」「合同形式 party_count」等字段; -- 产品清单 / 各方签约主体以 JSON 文本存储。 -- 可重复执行(CREATE TABLE IF NOT EXISTS)。 -- 运行:mysql -h -P -u -p < create_backend_crm_contract.sql -- ============================================================= CREATE TABLE IF NOT EXISTS `yz_backend_crm_contract` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键ID', `tenant_id` varchar(64) NOT NULL COMMENT '租户ID', `contract_no` varchar(50) NOT NULL DEFAULT '' COMMENT '合同编号', `contract_name` varchar(100) NOT NULL COMMENT '合同名称', `contract_category` varchar(20) NOT NULL DEFAULT '' COMMENT '合同分类:1开发/2服务/3销售/4租赁/5采购/6运维/7咨询/8其他', `our_role` tinyint(4) NOT NULL DEFAULT '2' COMMENT '我方角色:1甲方/2乙方/3丙方/4丁方', `party_count` tinyint(4) NOT NULL DEFAULT '2' COMMENT '合同形式:2/3/4方', `project_id` bigint(20) DEFAULT NULL COMMENT '关联项目ID,空=无头合同', `project_name` varchar(100) NOT NULL DEFAULT '' COMMENT '项目名称', `owner_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '项目负责人用户ID', `owner_user_name` varchar(128) NOT NULL DEFAULT '' COMMENT '项目负责人姓名', `sign_date` date DEFAULT NULL COMMENT '签订日期', `effective_date` date DEFAULT NULL COMMENT '生效日期', `expire_date` date DEFAULT NULL COMMENT '结束日期', `parties` text COMMENT '各方签约主体JSON', `products` text COMMENT '产品清单JSON', `hardware_amount` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '硬件部分金额', `software_amount` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '软件部分金额', `other_amount` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '其他部分金额', `total_amount` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '合同总金额', `total_cost` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '产品总成本', `total_profit` decimal(14,2) NOT NULL DEFAULT '0.00' COMMENT '合同总利润', `status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '状态:1草稿/2已完成/3已作废/4履约中/5异常', `step` tinyint(4) NOT NULL DEFAULT '1' COMMENT '进度步骤:1合同信息/2产品清单', `remark` text COMMENT '备注', `create_user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '创建人用户ID', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', `delete_time` datetime DEFAULT NULL COMMENT '删除时间(软删除)', PRIMARY KEY (`id`), KEY `idx_tenant_id` (`tenant_id`), KEY `idx_contract_name` (`tenant_id`,`contract_name`), KEY `idx_contract_no` (`tenant_id`,`contract_no`), KEY `idx_project` (`tenant_id`,`project_id`), KEY `idx_status` (`tenant_id`,`status`), KEY `idx_delete_time` (`delete_time`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='租户CRM合同表';