[CLAUDE] PurchaseEvaluation: tree Panel 1 doi nhom theo anh Kiet FDC "Du an (Nam) > Hang muc cong viec > Phieu" (bo tang NCC, SHA256 mirror x2 app) + wipe testing data prod S59
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 4m27s

- Tree Panel 1: moi cap (Du an, Nam-tao-phieu) = 1 folder label "Ten du an (Nam)",
  level 2 = Hang muc cong viec (WorkItemId Mig 49, phieu cu null -> "(Chua gan hang muc)"),
  bo tang NCC khoi tree (van hien o card/detail). Expand-state localStorage key v2.
- scripts/s59-wipe-testing-data.sql DA CHAY prod (anh chot AskUserQuestion): xoa 10 PE
  + 7 HD [DEMO] + 64 notif + 1 workflow V2 cu inactive; reset PeSeq/CtSeq -> ma moi tu 001;
  GIU master 70/86/22 + users 55 + templates 9 + 7 workflow ghim. Uploads orphan da don.
This commit is contained in:
pqhuy1987
2026-06-11 15:35:25 +07:00
parent 157792749f
commit 56882acc4f
3 changed files with 279 additions and 254 deletions

View File

@ -0,0 +1,77 @@
-- ============================================================================
-- S59 (2026-06-11) — Wipe transactional TESTING data trước khi team vào testing
-- Chỉ đạo: anh Kiệt FDC (Zalo 14:28 "xoá các cái testing trước đi em").
-- Anh chốt (AskUserQuestion S59): wipe 3 cụm + reset bộ đếm mã về 0.
--
-- XÓA: 10 PurchaseEvaluations (A/031-040, cascade child) · 7 Contracts [DEMO]
-- (cascade) · 64 Notifications · 1 ApprovalWorkflow V2 cũ (inactive+unghim)
-- · PurchaseEvaluationCodeSequences + ContractCodeSequences (generator tự
-- INSERT LastSeq=1 khi thiếu row → phiếu/HĐ thật đầu tiên = .../001).
-- GIỮ: Projects/WorkItems/Suppliers/Departments (master S55) · Users/Roles/
-- Permissions/MenuItems · ContractTemplates/Clauses · ApprovalWorkflows
-- GHIM (7 active) · WorkflowDefinitions V1 + PE V1 defs (policy, không
-- phải transactional) · HRM catalogs · EmployeeProfiles.
-- FK: PE child ALL CASCADE trừ Quotes NO_ACTION (multi-path) — single DELETE
-- PurchaseEvaluations vẫn pass vì cascade Details→Quotes dọn trước
-- end-of-statement check (proven scripts/plan-r-cleanup.sql S23).
-- Resurrect-safe: SeedDemoContracts/PurchaseEvaluations nằm trong gate
-- DemoSeed:Disabled=true (DbInitializer.cs) → không seed lại sau restart.
-- Run: sqlcmd -S .\SQLEXPRESS -d SolutionErp -i s59-wipe-testing-data.sql
-- ============================================================================
SET QUOTED_IDENTIFIER ON;
SET NOCOUNT ON;
PRINT '=== BEFORE ===';
SELECT 'PE' AS T, COUNT(*) AS C FROM PurchaseEvaluations
UNION ALL SELECT 'Contracts', COUNT(*) FROM Contracts
UNION ALL SELECT 'Notifications', COUNT(*) FROM Notifications
UNION ALL SELECT 'AwV2_total', COUNT(*) FROM ApprovalWorkflows
UNION ALL SELECT 'PeSeq', COUNT(*) FROM PurchaseEvaluationCodeSequences
UNION ALL SELECT 'CtSeq', COUNT(*) FROM ContractCodeSequences;
BEGIN TRANSACTION;
-- 1. Phiếu PE (cascade: Suppliers/Details/Quotes/Approvals/Changelogs/
-- Attachments/LevelOpinions/DepartmentOpinions)
DELETE FROM PurchaseEvaluations;
-- 2. Hợp đồng [DEMO] (cascade: Approvals + 7 bảng type-details + Comments/Attachments)
DELETE FROM Contracts;
-- 3. Thông báo
DELETE FROM Notifications;
-- 4. Workflow V2 cũ không dùng (QT-DN-V2-001 v1 inactive+unghim — PE pin đã gone
-- ở bước 1 nên FK Restrict released). 7 workflow GHIM active KHÔNG match filter.
DELETE FROM ApprovalWorkflows WHERE IsActive = 0 AND IsUserSelectable = 0;
-- 5. Reset bộ đếm mã (DELETE row → generator INSERT lại LastSeq=1)
DELETE FROM PurchaseEvaluationCodeSequences;
DELETE FROM ContractCodeSequences;
PRINT '=== AFTER (expect 0 các bảng transactional, KEEP_* giữ nguyên) ===';
SELECT 'PE' AS T, COUNT(*) AS C FROM PurchaseEvaluations
UNION ALL SELECT 'PeSuppliers', COUNT(*) FROM PurchaseEvaluationSuppliers
UNION ALL SELECT 'PeDetails', COUNT(*) FROM PurchaseEvaluationDetails
UNION ALL SELECT 'PeQuotes', COUNT(*) FROM PurchaseEvaluationQuotes
UNION ALL SELECT 'PeApprovals', COUNT(*) FROM PurchaseEvaluationApprovals
UNION ALL SELECT 'PeChangelogs', COUNT(*) FROM PurchaseEvaluationChangelogs
UNION ALL SELECT 'PeAttachments', COUNT(*) FROM PurchaseEvaluationAttachments
UNION ALL SELECT 'PeLevelOpinions', COUNT(*) FROM PurchaseEvaluationLevelOpinions
UNION ALL SELECT 'Contracts', COUNT(*) FROM Contracts
UNION ALL SELECT 'CtApprovals', COUNT(*) FROM ContractApprovals
UNION ALL SELECT 'Notifications', COUNT(*) FROM Notifications
UNION ALL SELECT 'AwV2_total', COUNT(*) FROM ApprovalWorkflows
UNION ALL SELECT 'AwV2_active_ghim', COUNT(*) FROM ApprovalWorkflows WHERE IsActive = 1
UNION ALL SELECT 'PeSeq', COUNT(*) FROM PurchaseEvaluationCodeSequences
UNION ALL SELECT 'CtSeq', COUNT(*) FROM ContractCodeSequences
UNION ALL SELECT 'KEEP_Projects', COUNT(*) FROM Projects
UNION ALL SELECT 'KEEP_WorkItems', COUNT(*) FROM WorkItems
UNION ALL SELECT 'KEEP_Suppliers', COUNT(*) FROM Suppliers
UNION ALL SELECT 'KEEP_Users', COUNT(*) FROM Users
UNION ALL SELECT 'KEEP_Templates', COUNT(*) FROM ContractTemplates
UNION ALL SELECT 'KEEP_WfDefV1', COUNT(*) FROM WorkflowDefinitions
UNION ALL SELECT 'KEEP_PeWfDefV1', COUNT(*) FROM PurchaseEvaluationWorkflowDefinitions;
COMMIT TRANSACTION;
PRINT 'S59 wipe COMMITTED.';