Files
crm.clientright.ru/modules/Reports/sp_custom_reports/TestReport.inc.php
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00

87 lines
2.9 KiB
PHP

<?php
// This is the SPConfiguration autogenerated custom report method file
class TestReport extends AbstractCustomReportModel {
public function getChartsViewControlData() {
return array(
Reports_CustomReportTypes_Model::TABLE => array(),
Reports_CustomReportTypes_Model::PIE => array(
'group' => array(
'sp_delay_level' => 'Уровень просрочки',
),
'agregate' => array(
'treatments_count' => 'Количество задач'
),
),
Reports_CustomReportTypes_Model::BARCHART => array(
'group' => array(
'sp_delay_level' => 'Уровень просрочки',
),
'agregate' => array(
'treatments_count' => 'Количество задач'
),
),
Reports_CustomReportTypes_Model::LINEAR => array(
'group' => array(
'sp_delay_level' => 'Уровень просрочки',
),
'agregate' => array(
'treatments_count' => 'Количество задач'
),
),
);
}
protected function getCalculationData($outputFormat = 'PDF') {
$sql = $this->getFilterSql();
file_put_contents("log.txt", $sql);
if($this->getViewTypeName() === Reports_CustomReportTypes_Model::TABLE) {
return [
[1,2],
[3,4]
];
} else if($this->getViewTypeName() === Reports_CustomReportTypes_Model::PIE) {
return [
'values' => [5,6,7,8],
'labels' => ['A','B','C','D'],
'data_labels' => ['Q','W', 'E', 'R']
];
} else {
return [
'values' => [[5,6,7,8],[1,2,3,8],[1,2,3,8], [1,2,3,8]],
'labels' => ['A','B','C','D'],
'data_labels' => ['Q','W', 'E', 'R']
];
}
}
protected function getLabels($outputFormat = 'PDF') {
return ["Поле 1", "Поле 2"];
}
protected function getVirtualField() {
$fieldModel = new Vtiger_Field_Model();
$fieldModel->id = -1;
$fieldModel->name = 'sp_current_labor';
$fieldModel->label = 'Текущая трудоемкость(час)';
$fieldModel->table = 'vtiger_treatments';
$fieldModel->column = 'sp_current_labor';
$fieldModel->columntype = 0;
$fieldModel->uitype = 7;
$fieldModel->typeofdata = 'N~O';
$fieldModel->block = Vtiger_Block::getInstance('LBL_CUSTOMER', Vtiger_Module_Model::getInstance('SPTreatments'));
return $fieldModel;
}
}
?>