-- =====================================================
-- 采购计划单表(erp_mp_purchase) - 新增字段
-- 日期: 2026-02-07
-- 说明: 补充采购计划单页面所需的扩展字段；若表由 mom-db-260206 的
--       erp_mp_purchase 建表脚本创建，需执行本脚本以支持 /erp/mp/purchase 接口。
--       若某列已存在会报 Duplicate column，可跳过该条或注释掉。
-- =====================================================

-- 业务类型（原材料、零部件、装配件、五金件、包装物等）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `business_type` varchar(50) DEFAULT NULL COMMENT '业务类型' AFTER `need_type`;

-- 业务状态（NORMAL、PAUSE、CANCEL、COMPLETED）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `business_status` varchar(20) DEFAULT 'NORMAL' COMMENT '业务状态' AFTER `business_type`;

-- 业务部门
ALTER TABLE `erp_mp_purchase` ADD COLUMN `dept_id` bigint DEFAULT NULL COMMENT '业务部门ID' AFTER `business_status`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `dept_name` varchar(100) DEFAULT NULL COMMENT '业务部门名称' AFTER `dept_id`;

-- 销售员名称
ALTER TABLE `erp_mp_purchase` ADD COLUMN `sales_user_name` varchar(50) DEFAULT NULL COMMENT '销售员名称' AFTER `sales_order_code`;

-- 需求数量和需求日期（物料明细级别）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `demand_qty` decimal(18,4) DEFAULT NULL COMMENT '需求数量' AFTER `unit_name`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `demand_date` date DEFAULT NULL COMMENT '需求日期' AFTER `demand_qty`;

-- 可用量（库存可用量，可为负表示缺料）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `available_qty` decimal(18,4) DEFAULT NULL COMMENT '可用量' AFTER `demand_date`;

-- 主产品数量（表头级别，引入后自动带入）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `total_quantity` decimal(18,4) DEFAULT NULL COMMENT '主产品数量' AFTER `ordered_qty`;

-- 销售订单ID（与 sales_order_code 对应）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `sales_order_id` bigint DEFAULT NULL COMMENT '销售订单ID' AFTER `plan_code`;

-- 操作员、审核员（基础表若无则需先添加，再添加 operator_name2）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `operator_id` bigint DEFAULT NULL COMMENT '操作员ID' AFTER `remark`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `operator_name` varchar(50) DEFAULT NULL COMMENT '操作员名称' AFTER `operator_id`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `approver_id` bigint DEFAULT NULL COMMENT '审核员ID' AFTER `operator_name`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `approver_name` varchar(50) DEFAULT NULL COMMENT '审核员名称' AFTER `approver_id`;
ALTER TABLE `erp_mp_purchase` ADD COLUMN `approve_date` datetime DEFAULT NULL COMMENT '审核日期' AFTER `approver_name`;

-- 业务人员（采购人员）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `operator_name2` varchar(50) DEFAULT NULL COMMENT '业务人员' AFTER `operator_name`;

-- 物料分类ID（用于快捷筛选）
ALTER TABLE `erp_mp_purchase` ADD COLUMN `item_type_id` bigint DEFAULT NULL COMMENT '物料分类ID' AFTER `item_name`;

-- 更新DDL中的status默认值：后端使用 PREPARE 而非 DRAFT
-- 如果原DDL使用 DEFAULT 'DRAFT'，需要修改为:
-- ALTER TABLE `erp_mp_purchase` ALTER COLUMN `status` SET DEFAULT 'PREPARE';
