def get_alerts_details(self, company_name, company_guid):
        """Fetch and process alerts details for a specific company.

        Args:
            company_name (str): The name of the company.
            company_guid (str): The GUID of the company.

        Raises:
            BitSightException: If an error occurs during the process.
        """
        try:
            data_to_post = None
            checkpoint_key = "{}".format(company_guid)
            checkpoint_data = self.checkpoint_obj.get_last_data(self.alerts_state, table_name=ALERTS_DATA_TABLE)
            last_date = self.checkpoint_obj.get_endpoint_last_data(
                checkpoint_data, "alerts_data", company_guid
            )
            if last_date:
                last_date = datetime.strptime(last_date, self.date_format).date()
            query_parameter = {"limit": ALERTS_PAGE_SIZE, "sort": "alert_date"}
            url = self.base_url + self.alerts_details_path.format(company_guid)
            response = self.get_bitsight_data(url, query_parameter)
            if not response:
                return
            next_link = response.get("links").get("next")
            alerts_data = []
            c_data = {}
            query_parameter["offset"] = 0
            while next_link:
                query_parameter["offset"] += query_parameter.get("limit")
                c_data["next1"] = self.get_bitsight_data(url, query_parameter)
                next_link = c_data["next1"].get("links").get("next")
                response.get("results").extend(c_data["next1"].get("results"))
            is_alert_exist = False
            for alert in response["results"]:
                current_date = alert["alert_date"]
                if last_date:
                    if alert["company_name"].lower() == company_name.lower():
                        is_alert_exist = True
                        current_date = datetime.strptime(
                            current_date, self.date_format
                        ).date()
                        if current_date > last_date:
                            data_to_post = alert["alert_date"]
                            alerts_data.append(alert)
                        else:
                            data_to_post = str(last_date)
                else:
                    if alert["company_name"].lower() == company_name.lower():
                        is_alert_exist = True
                        data_to_post = alert["alert_date"]
                        alerts_data.append(alert)
            if alerts_data:
                self.send_data_to_sentinel(
                    alerts_data, ALERTS_DATA_TABLE, company_name, "alerts_data"
                )
            else:
                if is_alert_exist:
                    applogger.info(
                        "{} {} The data of alerts for {} company is already exist.".format(
                            self.logs_starts_with,
                            ALERT_GRAPH_STATISTICS_FUNC_NAME,
                            company_name,
                        )
                    )
                else:
                    applogger.info(
                        "{} {} No alert data found for {} company from BitSight.".format(
                            self.logs_starts_with,
                            ALERT_GRAPH_STATISTICS_FUNC_NAME,
                            company_name,
                        )
                    )
            self.checkpoint_obj.save_checkpoint(
                self.alerts_state,
                checkpoint_data,
                "alerts_data",
                "{}_{}".format(ALERTS_DATA_TABLE, "Checkpoint"),
                checkpoint_key,
                data_to_post,
            )
        except BitSightException:
            raise BitSightException()
        except Exception as err:
            applogger.exception("{} {} Error: {}".format(self.logs_starts_with, ALERT_GRAPH_STATISTICS_FUNC_NAME, err))
            raise BitSightException()
Fetch and process alerts details for a specific company.

        Args:
            company_name (str): The name of the company.
            company_guid (str): The GUID of the company.

        Raises:
            BitSightException: If an error occurs during the process.
        
Solutions/BitSight/Data Connectors/BitSightDataConnector/AlertsGraphStatisticsDetails/bitsight_statistics.py