-- ===================================================== -- CRM 开票功能初始化脚本 -- 1. 建表 crm_invoice -- 2. 数据字典 crm_invoice_type(发票类型) -- 3. 菜单与按钮权限(营销管理 -> 开票管理) -- ===================================================== -- 1. 建表 CREATE TABLE IF NOT EXISTS `crm_invoice` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'ID', `no` varchar(64) NOT NULL COMMENT '开票编号', `customer_id` bigint NOT NULL COMMENT '客户编号', `contract_id` bigint NOT NULL COMMENT '合同编号', `owner_user_id` bigint NOT NULL COMMENT '负责人编号', `invoice_type` int NOT NULL COMMENT '发票类型(字典 crm_invoice_type)', `invoice_no` varchar(64) DEFAULT NULL COMMENT '发票号码', `invoice_title` varchar(255) DEFAULT NULL COMMENT '发票抬头', `price` decimal(18,2) NOT NULL COMMENT '开票金额(元)', `invoice_time` datetime DEFAULT NULL COMMENT '开票日期', `remark` varchar(255) DEFAULT NULL COMMENT '备注', `process_instance_id` varchar(64) DEFAULT NULL COMMENT '工作流编号', `audit_status` int NOT NULL COMMENT '审批状态(crm_audit_status)', `creator` varchar(64) DEFAULT NULL COMMENT '创建者', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updater` varchar(64) DEFAULT NULL COMMENT '更新者', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间', `deleted` tinyint NOT NULL DEFAULT 0 COMMENT '是否删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='CRM 开票'; -- 2. 数据字典类型:crm_invoice_type INSERT INTO `system_dict_type` (`id`, `name`, `type`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `deleted_time`) VALUES (1061500, 'CRM 发票类型', 'crm_invoice_type', 0, '开票记录的发票类型', '1', NOW(), '1', NOW(), b'0', NULL); -- 2.1 数据字典数据 INSERT INTO `system_dict_data` (`id`, `sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1061600, 1, '增值税专用发票', '1', 'crm_invoice_type', 0, 'primary', '', '', '1', NOW(), '1', NOW(), b'0'), (1061601, 2, '增值税普通发票', '2', 'crm_invoice_type', 0, 'success', '', '', '1', NOW(), '1', NOW(), b'0'), (1061602, 3, '电子发票', '3', 'crm_invoice_type', 0, 'warning', '', '', '1', NOW(), '1', NOW(), b'0'); -- 3. 菜单:营销管理(id=2617) -> 开票管理 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1064000, '开票管理', '', 2, 59, 2617, 'invoice', '#', 'crm/invoice/index', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'); -- 3.1 开票管理按钮权限 INSERT INTO `system_menu` (`id`, `name`, `permission`, `type`, `sort`, `parent_id`, `path`, `icon`, `component`, `component_name`, `status`, `visible`, `keep_alive`, `always_show`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (1064001, '开票管理查询', 'crm:invoice:query', 3, 1, 1064000, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (1064002, '开票管理创建', 'crm:invoice:create', 3, 2, 1064000, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (1064003, '开票管理更新', 'crm:invoice:update', 3, 3, 1064000, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (1064004, '开票管理删除', 'crm:invoice:delete', 3, 4, 1064000, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), (1064005, '开票管理导出', 'crm:invoice:export', 3, 5, 1064000, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0');