tuqin
2 天以前 948541ab3fb1e7f0e7291e1f7ce5c47867fd3232
chore(bfkj): 清理 2026-11-05 之前的采购/入库/库存数据

需求:北方科技需要清除 11月5号之前的采购、入库和库存信息,不动人力资源模块。

清理范围(服务器时间 2026-11-06,故取 create_time < '2026-11-05'):
- 库存:现有量 7、事务流水 9、库存占用 4、批次 1(全部五号前,全清)
- 入库:采购入库 4、产品入库 1、到货通知 2(全部五号前,全清,含明细行)
- 采购订单:仅删五号前 4 条,11-05 新建的 44 条保留
- 采购申请:3 条(全部五号前)

未动:人力资源 hrm_* 全部数据(员工档案 168 条保持不变)

执行前已全量备份 16 张表为 *_bak20261106。

清理后验证:库存/入库/到货/采购申请均为 0,采购订单 44 条,
员工档案 168 条不变,各模块列表接口 code=0 正常。
已添加1个文件
65 ■■■■■ 文件已修改
sql/mysql/bfkj_clear_purchase_receipt_stock_before_1105.sql 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/mysql/bfkj_clear_purchase_receipt_stock_before_1105.sql
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
-- =====================================================================
-- åŒ—方科技:清理 2026-11-05 ä¹‹å‰çš„ é‡‡è´­ / å…¥åº“ / åº“å­˜ æ•°æ®
-- ï¼ˆä¸åŠ¨äººåŠ›èµ„æº hrm_* æ¨¡å—)
--
-- æœåŠ¡å™¨å½“å‰æ—¶é—´ 2026-11-06,因此「11月5号之前」= create_time < '2026-11-05'
--
-- æ¸…理前已全量备份 16 å¼ è¡¨ä¸º *_bak20261106
--
-- æ•°æ®çŽ°çŠ¶ï¼ˆæ¸…ç†å‰ï¼‰ï¼š
--   é‡‡è´­è®¢å• 48 æ¡ï¼ˆäº”号前 4 æ¡ï¼Œ11-05 æ–°å»º 44 æ¡éœ€ä¿ç•™ï¼‰
--   é‡‡è´­ç”³è¯· 3 æ¡ï¼ˆå…¨éƒ¨äº”号前)
--   é‡‡è´­å…¥åº“ 4 æ¡ã€äº§å“å…¥åº“ 1 æ¡ã€åˆ°è´§é€šçŸ¥ 2 æ¡ï¼ˆå…¨éƒ¨äº”号前)
--   åº“存现有量 7 æ¡ã€äº‹åŠ¡æµæ°´ 9 æ¡ã€åº“存占用 4 æ¡ã€æ‰¹æ¬¡ 1 æ¡ï¼ˆå…¨éƒ¨äº”号前)
-- =====================================================================
-- 1. åº“存占用(先释放,避免孤立)
DELETE FROM mes_wm_stock_reserve;
-- 2. åº“存事务流水
DELETE FROM mes_wm_transaction;
-- 3. åº“存现有量
DELETE FROM mes_wm_material_stock;
-- 4. åº“存批次
DELETE FROM mes_wm_batch;
-- 5. é‡‡è´­å…¥åº“单(明细 â†’ è¡Œ â†’ ä¸»è¡¨ï¼‰
DELETE FROM mes_wm_item_receipt_detail;
DELETE FROM mes_wm_item_receipt_line;
DELETE FROM mes_wm_item_receipt;
-- 6. äº§å“å…¥åº“单
DELETE FROM mes_wm_product_receipt_detail;
DELETE FROM mes_wm_product_receipt_line;
DELETE FROM mes_wm_product_receipt;
-- 7. åˆ°è´§é€šçŸ¥å•
DELETE FROM mes_wm_arrival_notice_line;
DELETE FROM mes_wm_arrival_notice;
-- 8. é‡‡è´­è®¢å•:只删 2026-11-05 ä¹‹å‰çš„(11-05 æ–°å»ºçš„ 44 æ¡ä¿ç•™ï¼‰
DELETE i FROM erp_purchase_order_items i
    INNER JOIN erp_purchase_order o ON o.id = i.order_id
WHERE o.create_time < '2026-11-05';
DELETE FROM erp_purchase_order WHERE create_time < '2026-11-05';
-- 9. é‡‡è´­ç”³è¯·ï¼šåªåˆ  2026-11-05 ä¹‹å‰çš„
DELETE i FROM erp_purchase_request_items i
    INNER JOIN erp_purchase_request r ON r.id = i.request_id
WHERE r.create_time < '2026-11-05';
DELETE FROM erp_purchase_request WHERE create_time < '2026-11-05';
-- éªŒè¯
SELECT '库存现有量' AS è¡¨, COUNT(*) AS å‰©ä½™ FROM mes_wm_material_stock
UNION ALL SELECT '库存事务流水', COUNT(*) FROM mes_wm_transaction
UNION ALL SELECT '库存占用', COUNT(*) FROM mes_wm_stock_reserve
UNION ALL SELECT '库存批次', COUNT(*) FROM mes_wm_batch
UNION ALL SELECT '采购入库单', COUNT(*) FROM mes_wm_item_receipt
UNION ALL SELECT '产品入库单', COUNT(*) FROM mes_wm_product_receipt
UNION ALL SELECT '到货通知单', COUNT(*) FROM mes_wm_arrival_notice
UNION ALL SELECT '采购订单(总)', COUNT(*) FROM erp_purchase_order
UNION ALL SELECT '采购订单(五号前)', COUNT(*) FROM erp_purchase_order WHERE create_time < '2026-11-05'
UNION ALL SELECT '采购申请', COUNT(*) FROM erp_purchase_request
UNION ALL SELECT '员工档案(应不变)', COUNT(*) FROM hrm_employee WHERE deleted=0;