| | |
| | | (1065505, 5, '质保金', '5', 'crm_payment_stage', 0, 'danger', '', '', '1', NOW(), '1', NOW(), b'0') |
| | | ON DUPLICATE KEY UPDATE `sort` = VALUES(`sort`), `label` = VALUES(`label`), `value` = VALUES(`value`), |
| | | `status` = VALUES(`status`), `color_type` = VALUES(`color_type`), `deleted` = b'0'; |
| | | |
| | | -- ==================== 2026-11-05 投标保证金迁移到 CRM 销售管理 ==================== |
| | | -- ===================================================== |
| | | -- 投标保证金从「供应商管理(SRM)」迁移到「销售管理(CRM)」 |
| | | -- 1. 新建 crm_bid_bond 表:按客户(招标方)登记,记录中标结果与退款进度,可关联销售订单(销售台账) |
| | | -- 2. 菜单 602630 及按钮 602631~602634 迁移到销售管理根菜单 2617, |
| | | -- 权限串由 srm:bid-bond:* 改为 crm:bid-bond:*;沿用原菜单 id,角色授权不丢失 |
| | | -- 3. 幂等:可重复执行 |
| | | -- ===================================================== |
| | | |
| | | CREATE TABLE IF NOT EXISTS `crm_bid_bond` ( |
| | | `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '投标保证金ID', |
| | | `no` VARCHAR(32) NOT NULL COMMENT '保证金单号', |
| | | `customer_id` BIGINT NOT NULL COMMENT '客户ID(招标方)', |
| | | `project_name` VARCHAR(255) DEFAULT NULL COMMENT '项目名称', |
| | | `tender_no` VARCHAR(64) DEFAULT NULL COMMENT '招标编号', |
| | | `sale_order_id` BIGINT DEFAULT NULL COMMENT '关联销售订单ID(销售台账)', |
| | | `sale_order_no` VARCHAR(64) DEFAULT NULL COMMENT '关联销售订单号快照', |
| | | `bond_amount` DECIMAL(24,6) NOT NULL DEFAULT 0 COMMENT '保证金金额', |
| | | `pay_date` DATE DEFAULT NULL COMMENT '缴纳日期', |
| | | `bid_result` TINYINT NOT NULL DEFAULT 0 COMMENT '中标结果:0待开标 1已中标 2未中标', |
| | | `refund_status` TINYINT NOT NULL DEFAULT 0 COMMENT '退回状态:0未退回 1部分退回 2已退回 3无需退回', |
| | | `refund_amount` DECIMAL(24,6) DEFAULT NULL COMMENT '退回金额', |
| | | `refund_date` DATE DEFAULT NULL COMMENT '退回日期', |
| | | `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注', |
| | | `creator` VARCHAR(64) DEFAULT '' COMMENT '创建者', |
| | | `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', |
| | | `updater` VARCHAR(64) DEFAULT '' COMMENT '更新者', |
| | | `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', |
| | | `deleted` BIT(1) NOT NULL DEFAULT b'0' COMMENT '是否删除', |
| | | PRIMARY KEY (`id`), |
| | | UNIQUE KEY `uk_no` (`no`), |
| | | KEY `idx_customer_id` (`customer_id`), |
| | | KEY `idx_sale_order_id` (`sale_order_id`), |
| | | KEY `idx_bid_result` (`bid_result`), |
| | | KEY `idx_refund_status` (`refund_status`) |
| | | ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='CRM投标保证金台账'; |
| | | |
| | | -- 菜单:从采购管理 2602 移到销售管理 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 (602630, '投标保证金', '', 2, 62, 2617, 'bid-bond', 'ep:money', |
| | | 'crm/bidBond/index', 'CrmBidBond', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0') |
| | | ON DUPLICATE KEY UPDATE `name` = VALUES(`name`), `parent_id` = VALUES(`parent_id`), `path` = VALUES(`path`), |
| | | `icon` = VALUES(`icon`), `component` = VALUES(`component`), |
| | | `component_name` = VALUES(`component_name`), `sort` = VALUES(`sort`), |
| | | `status` = VALUES(`status`), `visible` = VALUES(`visible`), `deleted` = b'0'; |
| | | |
| | | 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 |
| | | (602631, '投标保证金查询', 'crm:bid-bond:query', 3, 1, 602630, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), |
| | | (602632, '投标保证金创建', 'crm:bid-bond:create', 3, 2, 602630, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), |
| | | (602633, '投标保证金更新', 'crm:bid-bond:update', 3, 3, 602630, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0'), |
| | | (602634, '投标保证金删除', 'crm:bid-bond:delete', 3, 4, 602630, '', '', '', '', 0, b'1', b'1', b'1', '1', NOW(), '1', NOW(), b'0') |
| | | ON DUPLICATE KEY UPDATE `name` = VALUES(`name`), `permission` = VALUES(`permission`), |
| | | `parent_id` = VALUES(`parent_id`), `sort` = VALUES(`sort`), |
| | | `status` = VALUES(`status`), `deleted` = b'0'; |
| | | |
| | | -- 菜单 id 保持不变,历史 system_role_menu 授权继续有效;新库由超管在「角色管理」中授权 |