Initial commit
This commit is contained in:
@@ -0,0 +1,230 @@
|
||||
-- =============================================
|
||||
-- Preview Company Data Reset
|
||||
-- =============================================
|
||||
-- This script shows what WOULD be deleted without actually deleting anything.
|
||||
-- Use this to verify before running the actual ResetCompanyData.sql script.
|
||||
-- =============================================
|
||||
|
||||
-- CONFIGURATION: Set ONE of these (comment out the other)
|
||||
DECLARE @CompanyCode NVARCHAR(50) = 'DEMO'; -- Use company code
|
||||
-- DECLARE @CompanyId INT = 1; -- OR use company ID directly
|
||||
|
||||
-- Get CompanyId from CompanyCode if needed
|
||||
IF @CompanyCode IS NOT NULL AND EXISTS(SELECT 1 FROM Companies WHERE CompanyCode = @CompanyCode)
|
||||
BEGIN
|
||||
SELECT @CompanyId = Id FROM Companies WHERE CompanyCode = @CompanyCode;
|
||||
END
|
||||
|
||||
-- Validate company exists
|
||||
IF @CompanyId IS NULL OR NOT EXISTS(SELECT 1 FROM Companies WHERE Id = @CompanyId)
|
||||
BEGIN
|
||||
RAISERROR('Company not found! Please check @CompanyId or @CompanyCode', 16, 1);
|
||||
RETURN;
|
||||
END
|
||||
|
||||
-- Display company information
|
||||
DECLARE @CompanyName NVARCHAR(200);
|
||||
SELECT @CompanyName = CompanyName, @CompanyCode = CompanyCode FROM Companies WHERE Id = @CompanyId;
|
||||
|
||||
PRINT '=============================================';
|
||||
PRINT 'PREVIEW: DATA TO BE DELETED FOR COMPANY:';
|
||||
PRINT ' Company ID: ' + CAST(@CompanyId AS NVARCHAR(10));
|
||||
PRINT ' Company Code: ' + @CompanyCode;
|
||||
PRINT ' Company Name: ' + @CompanyName;
|
||||
PRINT '=============================================';
|
||||
PRINT '';
|
||||
PRINT 'NOTE: This is a PREVIEW only. No data will be deleted.';
|
||||
PRINT '';
|
||||
|
||||
DECLARE @Count INT;
|
||||
DECLARE @TotalCount INT = 0;
|
||||
|
||||
-- Job Photos
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM JobPhotos
|
||||
WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Job Photos: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Job Notes
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM JobNotes
|
||||
WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Job Notes: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Job Items
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM JobItems
|
||||
WHERE JobId IN (SELECT Id FROM Jobs WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Job Items: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Jobs
|
||||
SELECT @Count = COUNT(*) FROM Jobs WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Jobs: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Quote Items
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM QuoteItems
|
||||
WHERE QuoteId IN (SELECT Id FROM Quotes WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Quote Items: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Quotes
|
||||
SELECT @Count = COUNT(*) FROM Quotes WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Quotes: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Appointments
|
||||
IF OBJECT_ID('Appointments', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SELECT @Count = COUNT(*) FROM Appointments WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Appointments: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
END
|
||||
|
||||
-- Inventory Transactions
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM InventoryTransactions
|
||||
WHERE InventoryItemId IN (SELECT Id FROM InventoryItems WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Inventory Transactions: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Inventory Items
|
||||
SELECT @Count = COUNT(*) FROM InventoryItems WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Inventory Items: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Maintenance Records
|
||||
SELECT @Count = COUNT(*)
|
||||
FROM MaintenanceRecords
|
||||
WHERE EquipmentId IN (SELECT Id FROM Equipment WHERE CompanyId = @CompanyId);
|
||||
PRINT 'Maintenance Records: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Equipment
|
||||
SELECT @Count = COUNT(*) FROM Equipment WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Equipment: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Catalog Items
|
||||
IF OBJECT_ID('CatalogItems', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SELECT @Count = COUNT(*) FROM CatalogItems WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Catalog Items: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
END
|
||||
|
||||
-- Catalog Categories
|
||||
IF OBJECT_ID('CatalogCategories', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SELECT @Count = COUNT(*) FROM CatalogCategories WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Catalog Categories: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
END
|
||||
|
||||
-- Suppliers
|
||||
IF OBJECT_ID('Suppliers', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SELECT @Count = COUNT(*) FROM Suppliers WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Suppliers: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
END
|
||||
|
||||
-- Customers
|
||||
SELECT @Count = COUNT(*) FROM Customers WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Customers: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Pricing Tiers
|
||||
SELECT @Count = COUNT(*) FROM PricingTiers WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Pricing Tiers: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Company Operating Costs
|
||||
SELECT @Count = COUNT(*) FROM CompanyOperatingCosts WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Company Operating Costs: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
|
||||
-- Company Preferences
|
||||
IF OBJECT_ID('CompanyPreferences', 'U') IS NOT NULL
|
||||
BEGIN
|
||||
SELECT @Count = COUNT(*) FROM CompanyPreferences WHERE CompanyId = @CompanyId;
|
||||
PRINT 'Company Preferences: ' + CAST(@Count AS NVARCHAR(10));
|
||||
SET @TotalCount = @TotalCount + @Count;
|
||||
END
|
||||
|
||||
PRINT '';
|
||||
PRINT '=============================================';
|
||||
PRINT 'TOTAL RECORDS TO BE DELETED: ' + CAST(@TotalCount AS NVARCHAR(10));
|
||||
PRINT '=============================================';
|
||||
PRINT '';
|
||||
PRINT 'PRESERVED DATA (will NOT be deleted):';
|
||||
PRINT ' - Company record: ' + @CompanyName;
|
||||
PRINT ' - Users associated with company';
|
||||
PRINT ' - Job Status Lookups';
|
||||
PRINT ' - Job Priority Lookups';
|
||||
PRINT ' - Quote Status Lookups';
|
||||
PRINT ' - Inventory Category Lookups';
|
||||
PRINT ' - Appointment Status Lookups';
|
||||
PRINT ' - Appointment Type Lookups';
|
||||
PRINT '';
|
||||
|
||||
-- Show sample data for verification
|
||||
PRINT '=============================================';
|
||||
PRINT 'SAMPLE DATA (first 5 of each type):';
|
||||
PRINT '=============================================';
|
||||
PRINT '';
|
||||
|
||||
-- Sample Customers
|
||||
IF EXISTS(SELECT 1 FROM Customers WHERE CompanyId = @CompanyId)
|
||||
BEGIN
|
||||
PRINT 'CUSTOMERS:';
|
||||
SELECT TOP 5
|
||||
Id,
|
||||
CompanyName,
|
||||
ISNULL(ContactFirstName + ' ' + ContactLastName, 'N/A') AS ContactName,
|
||||
Email
|
||||
FROM Customers
|
||||
WHERE CompanyId = @CompanyId
|
||||
ORDER BY Id;
|
||||
PRINT '';
|
||||
END
|
||||
|
||||
-- Sample Jobs
|
||||
IF EXISTS(SELECT 1 FROM Jobs WHERE CompanyId = @CompanyId)
|
||||
BEGIN
|
||||
PRINT 'JOBS:';
|
||||
SELECT TOP 5
|
||||
j.Id,
|
||||
j.JobNumber,
|
||||
c.CompanyName AS CustomerName,
|
||||
j.Status,
|
||||
j.CreatedAt
|
||||
FROM Jobs j
|
||||
LEFT JOIN Customers c ON j.CustomerId = c.Id
|
||||
WHERE j.CompanyId = @CompanyId
|
||||
ORDER BY j.Id;
|
||||
PRINT '';
|
||||
END
|
||||
|
||||
-- Sample Inventory
|
||||
IF EXISTS(SELECT 1 FROM InventoryItems WHERE CompanyId = @CompanyId)
|
||||
BEGIN
|
||||
PRINT 'INVENTORY ITEMS:';
|
||||
SELECT TOP 5
|
||||
Id,
|
||||
SKU,
|
||||
Name,
|
||||
QuantityOnHand,
|
||||
UnitOfMeasure
|
||||
FROM InventoryItems
|
||||
WHERE CompanyId = @CompanyId
|
||||
ORDER BY Id;
|
||||
PRINT '';
|
||||
END
|
||||
|
||||
PRINT '';
|
||||
PRINT 'To proceed with deletion, run: ResetCompanyData.sql';
|
||||
Reference in New Issue
Block a user