Files
erp-next/sql/20250527/01_material_alter.sql
王文昊 e521b0dfeb feat(bid): 完成物料管理模块全功能开发
1. 新增物料详情页路由、菜单与接口,支持查看物料报价与信息
2. 重构物料列表页面,新增品牌筛选、表格样式优化与详情跳转
3. 扩展物料实体与数据库字段,新增材质、用途、性能参数等字段
4. 新增供应商/甲方报价查询、批量对比、同名称物料匹配接口
5. 新增物料详情组件,包含基础信息、供应商报价、甲方报价标签页
6. 修复比价路由跳转路径错误,调整数据库密码配置
7. 新增物料相关SQL脚本与初始化数据
2026-05-29 08:58:58 +08:00

54 lines
2.2 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ========================================================
-- 物料信息模块数据库扩展脚本
-- 日期: 2025-05-27
-- 说明: 根据智采系统-物料信息需求扩展biz_material表
-- ========================================================
-- 1. 扩展物料表字段
-- 注意: spec字段保持为"规格型号"不变
-- 注意: remark字段保持不变
-- 注意: brand字段改为"厂家/品牌"
-- 使用存储过程判断字段是否存在避免IF NOT EXISTS语法错误
DELIMITER //
CREATE PROCEDURE AddColumnIfNotExists(IN tableName VARCHAR(64), IN colName VARCHAR(64), IN colDef VARCHAR(255))
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = tableName
AND column_name = colName
) THEN
SET @sql = CONCAT('ALTER TABLE ', tableName, ' ADD COLUMN ', colName, ' ', colDef);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END //
DELIMITER ;
-- 添加性能参数字段
CALL AddColumnIfNotExists('biz_material', 'performance_params', "TEXT COMMENT '性能参数(JSON格式)'");
-- 添加材质字段
CALL AddColumnIfNotExists('biz_material', 'material', "VARCHAR(100) DEFAULT '' COMMENT '材质(铜/铝合金/PVC等)'");
-- 添加用途字段
CALL AddColumnIfNotExists('biz_material', 'purpose', "VARCHAR(500) DEFAULT '' COMMENT '用途'");
-- 添加物料图片URL字段
CALL AddColumnIfNotExists('biz_material', 'image_url', "VARCHAR(500) DEFAULT '' COMMENT '物料图片URL'");
-- 删除存储过程
DROP PROCEDURE IF EXISTS AddColumnIfNotExists;
-- 2. 修改brand字段注释为"厂家/品牌"
ALTER TABLE biz_material MODIFY COLUMN brand VARCHAR(100) COMMENT '厂家/品牌';
-- 3. 添加物料详情页菜单配置(使用INSERT IGNORE避免重复)
INSERT IGNORE INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, query, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
VALUES
(2011, '物料详情', 2001, 1, 'detail', 'bid/material/detail', NULL, 1, 0, 'C', '1', '0', 'bid:material:detail', '#', 'admin', NOW(), '', '', '');