-- https://www.phpmyadmin.net/
--

START TRANSACTION;



--
-- Database: `sahar`
--

-- --------------------------------------------------------

--
-- Table structure for table `location`
--

CREATE TABLE `location` (
  `id` int(11) NOT NULL,
  `number_location` varchar(255) NOT NULL,
  `name_location` varchar(255) NOT NULL,
  `region_id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `location`
--

INSERT INTO `location` (`id`, `number_location`, `name_location`, `region_id`) VALUES
(18, '100', 'توسعه 1', 2),
(20, '103', 'توسعه 3', 2),
(21, '104', 'توسعه 4', 2),
(27, '101', 'توسعه 6', 1);

-- --------------------------------------------------------

--
-- Table structure for table `plate`
--

CREATE TABLE `plate` (
  `id` int(11) NOT NULL,
  `number_plate` varchar(255) NOT NULL,
  `number_location` varchar(255) NOT NULL,
  `shift_plate` varchar(255) NOT NULL,
  `region_id` int(11) DEFAULT NULL,
  `date_plate` varchar(255) NOT NULL,
  `head_shift` varchar(255) NOT NULL,
  `created_by` int(11) DEFAULT NULL,
  `created_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `plate`
--

INSERT INTO `plate` (`id`, `number_plate`, `number_location`, `shift_plate`, `region_id`, `date_plate`, `head_shift`, `created_by`, `created_at`) VALUES
(60, '0002', '104', '2', 2, '2025-08-25', '41114', 41114, '2025-08-24 10:41:14'),
(61, '0003', '104', '1', 2, '2025-08-25', '40715', 41114, '2025-08-24 11:14:11'),
(62, '0004', '104', '1', 2, '2025-08-29', '40715', 41114, '2025-08-29 11:10:56'),
(63, '0005', '104', '2', 2, '2025-08-29', '41114', 41114, '2025-08-29 12:40:30'),
(64, '0006', '104', '1', 2, '2025-09-01', '40715', 41114, '2025-09-01 17:38:50'),
(65, '0007', '104', '2', 2, '2025-09-01', '41114', 41114, '2025-09-01 18:12:00'),
(66, '0008', '104', '1', 2, '2025-09-04', '41114', 41114, '2025-09-04 09:29:45'),
(67, '0009', '104', '3', 2, '2025-09-04', '40715', 41114, '2025-09-05 21:01:17'),
(68, '0010', '100', '1', 2, '2025-09-09', '42528', 41114, '2025-09-09 11:19:45'),
(69, '0011', '104', '1', 2, '2025-09-22', '40715', 41114, '2025-09-22 14:45:59'),
(70, '0012', '100', '1', 2, '2025-09-25', '41114', 41114, '2025-09-25 09:47:43'),
(71, '0013', '100', '2', 2, '2025-09-25', '41114', 41114, '2025-09-25 13:59:37'),
(72, '0014', '100', '2', 2, '2025-09-28', '41114', 41114, '2025-09-28 16:55:43');

-- --------------------------------------------------------

--
-- Table structure for table `platearrang`
--

CREATE TABLE `platearrang` (
  `id` int(11) NOT NULL,
  `number_plate` varchar(255) NOT NULL,
  `number_personal` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `platearrang`
--

INSERT INTO `platearrang` (`id`, `number_plate`, `number_personal`) VALUES
(55, '0002', '41114'),
(56, '0003', '41114'),
(57, '0003', '40715'),
(58, '0004', '41114'),
(59, '0007', '41114'),
(60, '0008', '41114'),
(62, '0010', '41114'),
(63, '0010', '40135'),
(65, '0011', '41114'),
(66, '0012', '41114'),
(68, '0013', '41688'),
(69, '0014', '41114');

-- --------------------------------------------------------

--
-- Table structure for table `rank`
--

CREATE TABLE `rank` (
  `id` int(11) NOT NULL,
  `number_location` varchar(255) NOT NULL,
  `number_section` varchar(255) NOT NULL,
  `number_rank` varchar(255) NOT NULL,
  `name_rank` varchar(255) NOT NULL,
  `can_report` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'ثبت گزارش',
  `can_view_my_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'گزارش‌های من',
  `can_view_shift_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'لیست سرشیفت',
  `can_view_supervisor_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'لیست سرپرست',
  `can_view_sec_manager_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'لیست مدیر حراست',
  `can_view_org_manager_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'لیست مدیر سازمان',
  `can_view_fire_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'آتش‌نشانی',
  `can_view_safety_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'ایمنی/HSE',
  `can_view_emergency_reports` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'اورژانس',
  `can_manage_categories` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'مدیریت دسته‌بندی‌ها',
  `can_manage_users` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'ایجاد/ویرایش کاربر',
  `can_manage_security_board` tinyint(1) NOT NULL DEFAULT 0 COMMENT 'لوح حراست'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `rank`
--

INSERT INTO `rank` (`id`, `number_location`, `number_section`, `number_rank`, `name_rank`, `can_report`, `can_view_my_reports`, `can_view_shift_reports`, `can_view_supervisor_reports`, `can_view_sec_manager_reports`, `can_view_org_manager_reports`, `can_view_fire_reports`, `can_view_safety_reports`, `can_view_emergency_reports`, `can_manage_categories`, `can_manage_users`, `can_manage_security_board`) VALUES
(12, '104', '115', '100', 'رئیس IT', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(13, '104', '115', '101', 'مسئول IT', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(14, '104', '115', '104', 'کارشناس IT', 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1),
(15, '100', '118', '105', 'مسئول سامانه حراست', 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0),
(16, '100', '118', '106', 'نگهبان-سرشیفت', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(17, '100', '118', '107', 'نگهبان', 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
(19, '100', '103', '1', 'admin', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);

-- --------------------------------------------------------

--
-- Table structure for table `regions`
--

CREATE TABLE `regions` (
  `id` int(11) NOT NULL,
  `name_region` varchar(255) NOT NULL,
  `description_region` text DEFAULT NULL,
  `is_active` tinyint(1) DEFAULT 1,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `regions`
--

INSERT INTO `regions` (`id`, `name_region`, `description_region`, `is_active`, `created_at`) VALUES
(1, 'سایت شمال', '', 1, '2025-08-07 07:45:38'),
(2, 'سایت مرکزی', 'سایت مرکز', 1, '2025-08-07 07:45:38'),
(3, 'منطقه مرکز', 'شامل استان‌های مرکزی کشور', 0, '2025-08-07 07:45:38'),
(4, 'منطقه شرق', 'شامل استان‌های شرقی کشور', 0, '2025-08-07 07:45:38'),
(5, 'تست', 'تست', 0, '2025-08-17 06:38:08');

-- --------------------------------------------------------

--
-- Table structure for table `report`
--

CREATE TABLE `report` (
  `id` int(11) NOT NULL,
  `code_report` varchar(255) NOT NULL,
  `number_personal` varchar(255) NOT NULL,
  `date_report` varchar(255) NOT NULL,
  `time_report` varchar(255) NOT NULL,
  `subject_report` varchar(255) NOT NULL,
  `text_report` longtext NOT NULL,
  `head_shift` varchar(255) NOT NULL,
  `priority_report` varchar(255) NOT NULL,
  `number_plate` varchar(255) NOT NULL,
  `section_id` int(11) DEFAULT NULL COMMENT 'آیدی بخش مربوط به گزارش',
  `receive_personal` varchar(255) NOT NULL DEFAULT '0',
  `fire_stations` int(11) DEFAULT NULL,
  `need_safety_review` tinyint(1) NOT NULL DEFAULT 0,
  `verification` int(11) NOT NULL DEFAULT 0,
  `time_create` date NOT NULL DEFAULT current_timestamp(),
  `need_emergency_review` tinyint(1) NOT NULL DEFAULT 0,
  `is_confidential` tinyint(1) NOT NULL DEFAULT 0,
  `status` enum('draft','submitted','shift_review','supervisor_review','sec_manager_review','org_manager_review','approved','rejected','closed') NOT NULL DEFAULT 'submitted',
  `current_stage` enum('reporter','shift_leader','supervisor','sec_manager','org_manager','none') NOT NULL DEFAULT 'shift_leader',
  `locked_for_reporter` tinyint(1) NOT NULL DEFAULT 0,
  `shift_leader_decision` enum('pending','approved','rejected','needs_info') NOT NULL DEFAULT 'pending',
  `shift_leader_by` varchar(255) DEFAULT NULL,
  `shift_leader_at` datetime DEFAULT NULL,
  `supervisor_decision` enum('pending','approved','rejected','needs_info') NOT NULL DEFAULT 'pending',
  `supervisor_by` varchar(255) DEFAULT NULL,
  `supervisor_at` datetime DEFAULT NULL,
  `sec_manager_decision` enum('pending','approved','rejected','needs_info') NOT NULL DEFAULT 'pending',
  `sec_manager_by` varchar(255) DEFAULT NULL,
  `sec_manager_at` datetime DEFAULT NULL,
  `org_manager_decision` enum('pending','approved','rejected','needs_info') NOT NULL DEFAULT 'pending',
  `org_manager_by` varchar(255) DEFAULT NULL,
  `org_manager_at` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `report`
--

INSERT INTO `report` (`id`, `code_report`, `number_personal`, `date_report`, `time_report`, `subject_report`, `text_report`, `head_shift`, `priority_report`, `number_plate`, `section_id`, `receive_personal`, `fire_stations`, `need_safety_review`, `verification`, `time_create`, `need_emergency_review`, `is_confidential`, `status`, `current_stage`, `locked_for_reporter`, `shift_leader_decision`, `shift_leader_by`, `shift_leader_at`, `supervisor_decision`, `supervisor_by`, `supervisor_at`, `sec_manager_decision`, `sec_manager_by`, `sec_manager_at`, `org_manager_decision`, `org_manager_by`, `org_manager_at`) VALUES
(115, 'RPT20250908_EFF4DB5E', '41114', '2025-09-04', '10:21', 'تست گزارش', 'تست موضوع گزارش تست گزارش', '41114', '2', '0008', NULL, '0', 0, 0, 0, '2025-09-08', 1, 0, 'approved', 'none', 1, '', '41114', '2025-09-08 10:23:47', '', '41114', '2025-09-08 10:23:59', '', '41114', '2025-09-08 10:24:39', '', '41114', '2025-09-08 10:24:58'),
(116, 'RPT20250908_46664615', '41114', '2025-09-04', '11:50', 'تست برای آقای ماندگاری', 'تست برای آقای ماندگاری\r\nتست برای آقای ماندگاری\r\nتست برای آقای ماندگاری', '41114', '2', '0008', NULL, '0', 1, 0, 0, '2025-09-08', 0, 1, 'approved', 'none', 1, 'pending', NULL, NULL, 'pending', NULL, NULL, '', '41114', '2025-09-08 11:57:35', '', '41114', '2025-09-08 12:01:23'),
(117, 'RPT20250910_55D11644', '41114', '2025-09-04', '15:05', 'گزارش تستی نوید', '<p>گزارش تستی نویدگزارش تستی نویدگزارش تستی نویدگزارش تستی نویدگزارش تستی نوید2</p>', '42528', '2', '0008', NULL, '0', 1, 0, 0, '2025-09-10', 0, 0, 'shift_review', 'shift_leader', 1, 'pending', NULL, NULL, '', NULL, NULL, '', NULL, NULL, '', NULL, NULL),
(118, 'RPT20250910_E0649BB4', '41114', '2025-09-04', '15:21', 'گزارش تستی نوید2', '<p>گزارش تستی نوید2گزارش تستی نوید2گزارش تستی نوید2گزارش تستی نوید2گزارش تستی نوید2 33333</p>', '41114', '3', '0008', NULL, '0', 1, 0, 0, '2025-09-10', 1, 1, 'approved', '', 1, '', NULL, NULL, '', NULL, NULL, '', '41114', '2025-09-16 08:58:03', '', NULL, NULL),
(120, 'RPT20250915_0E042AD8', '41114', '2025-09-04', '08:50', 'موشوع تستی سایت شمال', 'موشوع تستی سایت شمال موشوع تستی سایت شمال موشوع تستی سایت شمال', '41114', '2', '0008', NULL, '0', 0, 1, 0, '2025-09-15', 1, 0, 'approved', 'none', 1, '', '41114', '2025-09-24 11:30:04', '', '41114', '2025-09-24 11:31:21', '', '41114', '2025-09-24 11:32:43', '', '41114', '2025-09-24 11:32:55'),
(121, 'RPT20250924_10CFE3D3', '41114', '2025-09-22', '09:17', 'تست اخر شهریور', 'تست اخری شهریور تست اخری شهریور\r\nتست اخری شهریور', '40715', '2', '0011', NULL, '0', 0, 1, 0, '2025-09-24', 0, 0, 'approved', '', 1, '', '40715', '2025-09-24 09:19:42', '', '41114', '2025-09-24 09:20:26', '', '41114', '2025-09-24 09:20:44', 'pending', NULL, NULL),
(123, 'RPT20250925_68E1819D', '41114', '2025-09-25', '14:01', 'تست برای محجوب', '<p>لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها،</p>\r\n<blockquote>\r\n<p>&nbsp;<strong><em>و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، </em></strong></p>\r\n</blockquote>\r\n<p>چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.</p>\r\n<p>&nbsp;</p>\r\n<p><img style=\"display: block; margin-left: auto; margin-right: auto;\" src=\"http://localhost/SAHAR1/upload/guardreport/41114_20250925_140247_68d51a4f2b02b.jpg\" alt=\"41114_20250925_140247_68d51a4f2b02b.jpg\" width=\"340\" height=\"340\"></p>', '41114', '1', '0012', NULL, '0', 0, 1, 0, '2025-09-25', 0, 0, 'approved', '', 1, '', '41114', '2025-09-25 14:03:56', '', '41114', '2025-09-25 14:04:12', '', '41114', '2025-09-25 14:06:03', 'pending', NULL, NULL),
(124, 'RPT20250926_BA76A77C', '41114', '2025-09-25', '14:20', 'گزارش تستی', '<p>گزارش تستیگزارش تستیگزارش تستی2</p>\r\n<p>&nbsp;</p>\r\n<p><img src=\"http://localhost/SAHAR1/upload/guardreport/41114_20250805_105015_6891b0af8f4c0.png\" alt=\"41114_20250805_105015_6891b0af8f4c0.png\" width=\"369\" height=\"288\"></p>', '41114', '2', '0012', 5, '0', 0, 0, 0, '2025-09-26', 1, 0, 'draft', 'reporter', 0, 'pending', NULL, NULL, 'pending', NULL, NULL, 'pending', NULL, NULL, 'pending', NULL, NULL),
(125, 'RPT20250928_2CE19670', '41114', '2025-09-28', '17:27', 'تست موضوع 2', '<p>تست موضوع 2تست موضوع 2تست موضوع 2تست موضوع 2تست موضوع 2</p>', '41114', '2', '0014', 16, '0', 0, 0, 0, '2025-09-28', 0, 0, 'shift_review', 'shift_leader', 1, 'pending', NULL, NULL, 'pending', NULL, NULL, 'pending', NULL, NULL, 'pending', NULL, NULL);

-- --------------------------------------------------------

--
-- Table structure for table `report_comments`
--

CREATE TABLE `report_comments` (
  `id` int(11) NOT NULL,
  `report_code` varchar(255) NOT NULL,
  `commented_by` varchar(255) NOT NULL,
  `stage` enum('reporter','shift_leader','supervisor','sec_manager','org_manager','fire','safety','emergency') NOT NULL,
  `comment` text NOT NULL,
  `commented_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `report_comments`
--

INSERT INTO `report_comments` (`id`, `report_code`, `commented_by`, `stage`, `comment`, `commented_at`) VALUES
(36, 'RPT20250908_EFF4DB5E', '41114', 'shift_leader', 'مورد تایید است', '2025-09-08 10:23:47'),
(37, 'RPT20250908_46664615', '41114', 'sec_manager', 'این گزارش مورد تایید قرار گرفت', '2025-09-08 11:57:35'),
(38, 'RPT20250908_46664615', '41114', 'org_manager', 'توسط مدیر سازمان تایید شد', '2025-09-08 12:01:23'),
(39, 'RPT20250908_46664615', '40715', 'supervisor', '33', '2025-09-09 19:05:58'),
(40, 'RPT20250908_46664615', '40715', 'sec_manager', '336', '2025-09-09 19:06:33'),
(41, 'RPT20250910_A2643E25', '41114', 'reporter', 'ok', '2025-09-14 09:10:48'),
(42, 'RPT20250910_A2643E25', '41114', 'shift_leader', 'ok1', '2025-09-14 09:11:09'),
(43, 'RPT20250910_E0649BB4', '41114', 'shift_leader', 'این گزارش مورد تایید می باشد', '2025-09-16 08:53:06'),
(44, 'RPT20250924_10CFE3D3', '40715', 'shift_leader', 'این گزارش مورد تایید است', '2025-09-24 09:19:42'),
(45, 'RPT20250924_10CFE3D3', '41114', 'supervisor', 'این گزارش مورد تایید است', '2025-09-24 09:20:26'),
(46, 'RPT20250915_0E042AD8', '41114', 'shift_leader', 'مورد تایید است', '2025-09-24 11:30:04'),
(47, 'RPT20250915_0E042AD8', '41114', 'supervisor', 'به تایید سر پرست رسید', '2025-09-24 11:31:21'),
(48, 'RPT20250915_0E042AD8', '41114', 'sec_manager', 'مورد تایید است', '2025-09-24 11:32:44'),
(49, 'RPT20250915_0E042AD8', '41114', 'org_manager', 'مورد تایید', '2025-09-24 11:32:55'),
(50, 'RPT20250925_68E1819D', '41114', 'shift_leader', 'مورد تایید', '2025-09-25 14:03:56'),
(51, 'RPT20250925_68E1819D', '41114', 'supervisor', 'مورد تایید', '2025-09-25 14:04:12');

-- --------------------------------------------------------

--
-- Table structure for table `report_confidential_access_log`
--

CREATE TABLE `report_confidential_access_log` (
  `id` int(11) NOT NULL,
  `report_code` varchar(255) NOT NULL,
  `by_personal_number` varchar(255) NOT NULL,
  `accessed_at` datetime NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `report_files`
--

CREATE TABLE `report_files` (
  `id` int(11) NOT NULL,
  `filename` varchar(255) NOT NULL COMMENT 'نام فایل ذخیره شده',
  `original_name` varchar(255) NOT NULL COMMENT 'نام اصلی فایل',
  `file_path` varchar(500) NOT NULL COMMENT 'مسیر کامل فایل',
  `file_size` int(11) NOT NULL COMMENT 'اندازه فایل به بایت',
  `file_type` varchar(100) NOT NULL COMMENT 'نوع فایل',
  `mime_type` varchar(100) NOT NULL COMMENT 'MIME type فایل',
  `uploaded_by` varchar(255) NOT NULL COMMENT 'شماره پرسنلی آپلودکننده',
  `report_code` varchar(255) DEFAULT NULL COMMENT 'کد گزارش مرتبط (اختیاری)',
  `upload_date` datetime NOT NULL DEFAULT current_timestamp() COMMENT 'تاریخ آپلود',
  `last_used` datetime DEFAULT NULL COMMENT 'آخرین بار استفاده',
  `status` enum('active','deleted','archived') NOT NULL DEFAULT 'active' COMMENT 'وضعیت فایل',
  `description` text DEFAULT NULL COMMENT 'توضیحات فایل',
  `access_level` enum('private','shared','public') NOT NULL DEFAULT 'private' COMMENT 'سطح دسترسی'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci COMMENT='مدیریت فایل‌های آپلود شده گزارشات';

--
-- Dumping data for table `report_files`
--

INSERT INTO `report_files` (`id`, `filename`, `original_name`, `file_path`, `file_size`, `file_type`, `mime_type`, `uploaded_by`, `report_code`, `upload_date`, `last_used`, `status`, `description`, `access_level`) VALUES
(1, '41114_20250802_110309_688dbf3548bcd.docx', '1_764074.docx', '../../upload/guardreport/41114_20250802_110309_688dbf3548bcd.docx', 34662, 'docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '41114', NULL, '2025-08-02 11:03:09', '2025-08-03 09:49:09', 'active', 'آپلود شده از Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'private'),
(2, '41114_20250802_110341_688dbf557f9d1.png', 'Screenshot 2025-07-24 143240.png', '../../upload/guardreport/41114_20250802_110341_688dbf557f9d1.png', 325651, 'png', 'image/png', '41114', NULL, '2025-08-02 11:03:41', '2025-08-03 09:49:06', 'active', 'آپلود شده از Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'private'),
(3, '41114_20250802_145058_688df49a972e1.docx', '3_721532.docx', '/SAHAR/upload/guardreport/41114_20250802_145058_688df49a972e1.docx', 11378, 'docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', '41114', NULL, '2025-08-02 14:50:58', '2025-08-03 09:49:06', 'active', 'آپلود شده از Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Sa', 'private'),
(4, '41114_20250803_115407_688f1ca71a877.png', 'Screenshot 2025-07-24 143240.png', '/SAHAR/upload/guardreport/41114_20250803_115407_688f1ca71a877.png', 325651, 'png', 'image/png', '41114', NULL, '2025-08-03 11:54:07', NULL, 'active', 'آپلود از IP:  مرورگر: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Sa', 'private'),
(5, '41114_20250803_115427_688f1cbbbb6b4.pdf', '1.pdf', '/SAHAR/upload/guardreport/41114_20250803_115427_688f1cbbbb6b4.pdf', 647792, 'pdf', 'application/pdf', '41114', NULL, '2025-08-03 11:54:27', NULL, 'active', 'آپلود از IP:  مرورگر: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Sa', 'private'),
(6, '41114_20250805_103625_6891ad715c50c.png', 'Screenshot 2025-07-24 143240.png', '/SAHAR/upload/guardreport/41114_20250805_103625_6891ad715c50c.png', 325651, 'png', 'image/png', '41114', NULL, '2025-08-05 10:36:25', NULL, 'active', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'private'),
(7, '41114_20250805_105015_6891b0af8f4c0.png', 'Screenshot 2025-07-27 121544.png', '/SAHAR/upload/guardreport/41114_20250805_105015_6891b0af8f4c0.png', 55316, 'png', 'image/png', '41114', NULL, '2025-08-05 10:50:15', NULL, 'active', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'private'),
(8, '41114_20250805_142332_6891e2ac1967c.jpg', 'WIN_20250715_13_24_50_Pro.jpg', '/SAHAR/upload/guardreport/41114_20250805_142332_6891e2ac1967c.jpg', 205049, 'jpg', 'image/jpeg', '41114', NULL, '2025-08-05 14:23:32', NULL, 'active', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36', 'private'),
(9, '41114_20250925_101712_68d4e57059f09.png', 'Screenshot 2025-08-10 201602.png', '../upload/guardreport/41114_20250925_101712_68d4e57059f09.png', 422666, 'png', 'image/png', '41114', NULL, '2025-09-25 10:17:12', NULL, 'active', 'آپلود از TinyMCE - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'private'),
(10, '41114_20250925_103341_68d4e94db9703.png', 'Screenshot 2025-08-11 200954.png', '../upload/guardreport/41114_20250925_103341_68d4e94db9703.png', 16364, 'png', 'image/png', '41114', NULL, '2025-09-25 10:33:41', NULL, 'active', 'آپلود از TinyMCE - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'private'),
(11, '41114_20250925_103657_68d4ea118fc1f.jpg', 'e55c51fb-c70f-476c-81f0-41d26a52bcfe.jpg', 'http://localhost/SAHAR1/upload/guardreport/41114_20250925_103657_68d4ea118fc1f.jpg', 22764, 'jpg', 'image/jpeg', '41114', NULL, '2025-09-25 10:36:57', NULL, 'active', 'آپلود از TinyMCE - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'private'),
(12, '41114_20250925_140247_68d51a4f2b02b.jpg', 'e55c51fb-c70f-476c-81f0-41d26a52bcfe.jpg', 'http://localhost/SAHAR1/upload/guardreport/41114_20250925_140247_68d51a4f2b02b.jpg', 22764, 'jpg', 'image/jpeg', '41114', NULL, '2025-09-25 14:02:47', NULL, 'active', 'آپلود از TinyMCE - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'private'),
(13, '41114_20250928_165835_68d938038ade7.png', '3650b5182557681.652fd19697194.png', 'http://localhost/SAHAR1/upload/guardreport/41114_20250928_165835_68d938038ade7.png', 182739, 'png', 'image/png', '41114', NULL, '2025-09-28 16:58:35', NULL, 'active', 'آپلود از TinyMCE - Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36', 'private');

-- --------------------------------------------------------

--
-- Table structure for table `report_unit_reviews`
--

CREATE TABLE `report_unit_reviews` (
  `id` int(11) NOT NULL,
  `report_code` varchar(255) NOT NULL,
  `unit_type` enum('fire','safety','emergency') NOT NULL,
  `location_code` varchar(255) NOT NULL,
  `status` enum('pending','approved','rejected','needs_info') NOT NULL DEFAULT 'pending',
  `decision_comment` text DEFAULT NULL,
  `decision_by` varchar(255) DEFAULT NULL,
  `decision_at` datetime DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `report_unit_reviews`
--

INSERT INTO `report_unit_reviews` (`id`, `report_code`, `unit_type`, `location_code`, `status`, `decision_comment`, `decision_by`, `decision_at`, `created_at`) VALUES
(14, 'RPT20250908_46664615', 'fire', '100', 'approved', 'گزارش مورد تایید', '41114', '2025-09-15 10:16:30', '2025-09-15 06:46:30'),
(15, 'RPT20250910_E0649BB4', 'fire', '100', 'approved', 'حادثه پیش آمده با توجه به متن گزارش مورد تایید می باشد', '41114', '2025-09-16 08:57:52', '2025-09-16 05:27:52'),
(16, 'RPT20250924_10CFE3D3', 'safety', '100', 'approved', '', '41114', '2025-09-24 09:21:13', '2025-09-24 05:50:57'),
(17, 'RPT20250915_0E042AD8', 'safety', '100', 'approved', 'مورد تایید ایمنی رسید', '41114', '2025-09-24 11:32:14', '2025-09-24 08:02:14'),
(18, 'RPT20250925_68E1819D', 'safety', '100', 'approved', 'مورد تایید می باشد', '41114', '2025-09-25 14:05:48', '2025-09-25 10:35:48'),
(19, 'RPT20250926_BA76A77C', 'emergency', '100', 'approved', 'مورد تایید است', '41114', '2025-09-27 11:08:29', '2025-09-27 07:38:29'),
(20, 'RPT20250908_EFF4DB5E', 'emergency', '100', 'approved', 'aa', '41114', '2025-09-28 20:40:59', '2025-09-28 17:10:49');

-- --------------------------------------------------------

--
-- Table structure for table `section`
--

CREATE TABLE `section` (
  `id` int(11) NOT NULL,
  `number_section` varchar(255) NOT NULL,
  `name_section` varchar(255) NOT NULL,
  `code_location` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

--
-- Dumping data for table `section`
--

INSERT INTO `section` (`id`, `number_section`, `name_section`, `code_location`) VALUES
(1, '100', 'مدیریت', '100'),
(2, '101', 'منابع انسانی', '100'),
(3, '102', 'مالی', '100'),
(4, '103', 'فناوری و اطلاعات', '100'),
(5, '104', 'تحقیق و توسعه', '100'),
(6, '105', 'برنامه ریزی تولید', '100'),
(8, '107', 'مدیر تولید', '100'),
(9, '108', 'آشپزخانه', '100'),
(10, '109', 'تدارکات', '100'),
(11, '110', 'انبار', '100'),
(12, '111', 'نگهداری و تعمیرات', '100'),
(13, '112', 'یونیت توسعه 3', '103'),
(16, '115', 'IT', '104'),
(17, '116', 'مهندسی', '104'),
(19, '118', 'حراست', '100');

-- --------------------------------------------------------

--
-- Stand-in structure for view `vw_reports_with_location`
-- (See below for the actual view)
--
CREATE TABLE `vw_reports_with_location` (
`id` int(11)
,`code_report` varchar(255)
,`number_personal` varchar(255)
,`date_report` varchar(255)
,`time_report` varchar(255)
,`subject_report` varchar(255)
,`text_report` longtext
,`head_shift` varchar(255)
,`priority_report` varchar(255)
,`number_plate` varchar(255)
,`receive_personal` varchar(255)
,`fire_stations` int(11)
,`need_safety_review` tinyint(1)
,`verification` int(11)
,`time_create` date
,`need_emergency_review` tinyint(1)
,`is_confidential` tinyint(1)
,`status` enum('draft','submitted','shift_review','supervisor_review','sec_manager_review','org_manager_review','approved','rejected','closed')
,`current_stage` enum('reporter','shift_leader','supervisor','sec_manager','org_manager','none')
,`locked_for_reporter` tinyint(1)
,`shift_leader_decision` enum('pending','approved','rejected','needs_info')
,`shift_leader_by` varchar(255)
,`shift_leader_at` datetime
,`supervisor_decision` enum('pending','approved','rejected','needs_info')
,`supervisor_by` varchar(255)
,`supervisor_at` datetime
,`sec_manager_decision` enum('pending','approved','rejected','needs_info')
,`sec_manager_by` varchar(255)
,`sec_manager_at` datetime
,`org_manager_decision` enum('pending','approved','rejected','needs_info')
,`org_manager_by` varchar(255)
,`org_manager_at` datetime
,`report_location` varchar(255)
);

-- --------------------------------------------------------

--
-- Structure for view `vw_reports_with_location`
--

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vw_reports_with_location`  AS SELECT `r`.`id` AS `id`, `r`.`code_report` AS `code_report`, `r`.`number_personal` AS `number_personal`, `r`.`date_report` AS `date_report`, `r`.`time_report` AS `time_report`, `r`.`subject_report` AS `subject_report`, `r`.`text_report` AS `text_report`, `r`.`head_shift` AS `head_shift`, `r`.`priority_report` AS `priority_report`, `r`.`number_plate` AS `number_plate`, `r`.`receive_personal` AS `receive_personal`, `r`.`fire_stations` AS `fire_stations`, `r`.`need_safety_review` AS `need_safety_review`, `r`.`verification` AS `verification`, `r`.`time_create` AS `time_create`, `r`.`need_emergency_review` AS `need_emergency_review`, `r`.`is_confidential` AS `is_confidential`, `r`.`status` AS `status`, `r`.`current_stage` AS `current_stage`, `r`.`locked_for_reporter` AS `locked_for_reporter`, `r`.`shift_leader_decision` AS `shift_leader_decision`, `r`.`shift_leader_by` AS `shift_leader_by`, `r`.`shift_leader_at` AS `shift_leader_at`, `r`.`supervisor_decision` AS `supervisor_decision`, `r`.`supervisor_by` AS `supervisor_by`, `r`.`supervisor_at` AS `supervisor_at`, `r`.`sec_manager_decision` AS `sec_manager_decision`, `r`.`sec_manager_by` AS `sec_manager_by`, `r`.`sec_manager_at` AS `sec_manager_at`, `r`.`org_manager_decision` AS `org_manager_decision`, `r`.`org_manager_by` AS `org_manager_by`, `r`.`org_manager_at` AS `org_manager_at`, `p`.`number_location` AS `report_location` FROM (`report` `r` left join `plate` `p` on(`p`.`number_plate` = `r`.`number_plate`)) ;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `location`
--
ALTER TABLE `location`
  ADD PRIMARY KEY (`id`),
  ADD KEY `region_id` (`region_id`);

--
-- Indexes for table `plate`
--
ALTER TABLE `plate`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `platearrang`
--
ALTER TABLE `platearrang`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `rank`
--
ALTER TABLE `rank`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `regions`
--
ALTER TABLE `regions`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `report`
--
ALTER TABLE `report`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_section_id` (`section_id`);

--
-- Indexes for table `report_comments`
--
ALTER TABLE `report_comments`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_report` (`report_code`);

--
-- Indexes for table `report_confidential_access_log`
--
ALTER TABLE `report_confidential_access_log`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_report_access` (`report_code`);

--
-- Indexes for table `report_files`
--
ALTER TABLE `report_files`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_uploaded_by` (`uploaded_by`),
  ADD KEY `idx_report_code` (`report_code`),
  ADD KEY `idx_upload_date` (`upload_date`),
  ADD KEY `idx_status` (`status`);

--
-- Indexes for table `report_unit_reviews`
--
ALTER TABLE `report_unit_reviews`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_report_unit` (`report_code`,`unit_type`),
  ADD KEY `idx_location` (`location_code`);

--
-- Indexes for table `section`
--
ALTER TABLE `section`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `location`
--
ALTER TABLE `location`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=28;

--
-- AUTO_INCREMENT for table `plate`
--
ALTER TABLE `plate`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=73;

--
-- AUTO_INCREMENT for table `platearrang`
--
ALTER TABLE `platearrang`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=70;

--
-- AUTO_INCREMENT for table `rank`
--
ALTER TABLE `rank`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20;

--
-- AUTO_INCREMENT for table `regions`
--
ALTER TABLE `regions`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `report`
--
ALTER TABLE `report`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=126;

--
-- AUTO_INCREMENT for table `report_comments`
--
ALTER TABLE `report_comments`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=52;

--
-- AUTO_INCREMENT for table `report_confidential_access_log`
--
ALTER TABLE `report_confidential_access_log`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `report_files`
--
ALTER TABLE `report_files`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT for table `report_unit_reviews`
--
ALTER TABLE `report_unit_reviews`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;

--
-- AUTO_INCREMENT for table `section`
--
ALTER TABLE `section`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=23;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `location`
--
ALTER TABLE `location`
  ADD CONSTRAINT `location_ibfk_1` FOREIGN KEY (`region_id`) REFERENCES `regions` (`id`);

--
-- Constraints for table `report`
--
ALTER TABLE `report`
  ADD CONSTRAINT `fk_report_section` FOREIGN KEY (`section_id`) REFERENCES `section` (`id`) ON DELETE SET NULL ON UPDATE CASCADE;
COMMIT;

