
CREATE TABLE IF NOT EXISTS  `user_api_war` ( 
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Внутренний ID сектерного ключа API',
	`user_id` INT(10) UNSIGNED NOT NULL COMMENT 'ID пользователя сайта',
	`username` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email пользователя в системе ВебОценщик',
	`pincode` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Пинкод для подключения пользователя',
	`client_id` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Логин для доступа к API',
	`client_secret` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Секретный код для доступа к API',
	`access_token` TEXT NULL DEFAULT NULL COMMENT 'Токен для доступа к данным',
	`refresh_token` TEXT NULL DEFAULT NULL COMMENT 'Токен для обновления авторизационных данных',
	`expires_in` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Срок жизни токена для доступа к данным',
	`token_type` VARCHAR(255) NOT NULL DEFAULT 'Bearer' COMMENT 'Тип токена',
	PRIMARY KEY (`id`), UNIQUE `user_id` (`user_id`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица токенов API для ВебОценщика';

ALTER TABLE `user_api_war` ADD INDEX `client_id` (`client_id`);

CREATE TABLE IF NOT EXISTS  `war_objects` ( 
	`woid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Внутренний ID записи (woid)',
	`api_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор секретного ключа API',
	`object_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор заказа во Внешней системе (externalId)',
	`order_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор заказа (id)',
	`number` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Номер заказа',
	`state` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Статус заказа. Словарь №10',
	`serviceType` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Тип услуги оценки, Словарь №8',
	`objectType` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Тип объекта оценки, Словарь №2',
	`reportUsageType` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Цель оценки, Словарь №9',
	`preliminaryCalculationValue` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Стоимость, полученная в результате расчета',
	`address` TEXT NULL DEFAULT NULL COMMENT 'Адрес объекта оценки',
		`customerName` VARCHAR(255) NULL DEFAULT NULL COMMENT 'ФИО клиента',
		`customerPhone` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Контактный телефон клиента',
		`customerEmail` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email клиента',

		`сontactName` VARCHAR(255) NULL DEFAULT NULL COMMENT 'ФИО контактного лица',
		`сontactPhone` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Номер телефона контактного лица',
		`сontactEmail` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email контактного лица',

		`bankId` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Идентификатор банка в Системе',
		`bankManagerName` VARCHAR(255) NULL DEFAULT NULL COMMENT 'ФИО менеджера банка',
		`bankManagerEmail` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email менеджера банка',
		`managerComment` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Комментарий менеджера',
		`managerEmail` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email менеджера',

		`appraisalCompanyId` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Идентификатор оценочной компании',
		`contractCost` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Стоимость объекта при покупке',
		`calculationId` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Идентификатор автоматического расчета из п.6',

	`requestDate` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата заказа',
	`payed` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Оплачено',
	`reportPrinted` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Отчет распечатан',
	`reportReady` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Отчет готов',
	`deliveryRequired` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Требуется доставка',
	`deliveryAddress` TEXT NULL DEFAULT NULL COMMENT 'Адрес доставки',
	`documentsChecked` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Документы проверены',
	`inspectionRequired` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Требуется осмотр',
	`inspectionConfirmed` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Осмотр согласован',
	`inspectionDate` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата осмотра',

		`inspectionContactName` VARCHAR(255) NULL DEFAULT NULL COMMENT 'ФИО, ответственного за осмотр',
		`inspectionContactPhone` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Контактный телефон, ответственного за осмотр',

	`inspected` TINYINT(1) UNSIGNED NOT NULL COMMENT 'Осмотр проведен',
	`appraisalManagerName` VARCHAR(255) NULL DEFAULT NULL COMMENT 'ФИО менеджера оценочной компании',
	`updateDate` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата обновления информации о заказе',
	PRIMARY KEY (`woid`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Данные о заказаах для ВебОценщика';

ALTER TABLE `war_objects` ADD INDEX `object_id` (`object_id`);
ALTER TABLE `war_objects` ADD INDEX `order_id` (`order_id`);


CREATE TABLE IF NOT EXISTS  `war_msg` (
	`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Внутренний идентификатор',
	`out_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор сообщения в системе ВебОценщик',
	`api_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор секретного ключа API',
	`date` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата обновления статуса',
	`type` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Тип сообщения. Словарь №1',
	`orderId` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор заказа в Системе',
	`fields` TEXT NULL DEFAULT NULL COMMENT 'Дополнительные поля (comment,value,text)',
	PRIMARY KEY (`id`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Сообщений для ВебОценщика';

ALTER TABLE `war_msg` ADD INDEX `orderId` (`orderId`);


CREATE TABLE IF NOT EXISTS  `war_banks` (
	`id` INT(11) UNSIGNED COMMENT 'Идентификатор банка',
	`name` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Название банка',
	`updateDate` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата обновления записи',
	PRIMARY KEY (`id`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица банков для ВебОценщика';

#ALTER TABLE `id` ADD INDEX `id` (`id`);


CREATE TABLE IF NOT EXISTS  `war_files` ( 
	`fid` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID файла',
	`order_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор заказа в оценочной системе',
	`object_id` INT(10) UNSIGNED NOT NULL COMMENT 'Идентификатор объекта в JW',
	`file_path` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Путь к файлу на сервере JW',
	`file_name` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Имя файла',
	`category` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Категория для файлов',
	`manager` VARCHAR(255) NULL DEFAULT NULL COMMENT 'Email менеджера из WAR',
	`owner` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'UID владельца файла',
	`agency` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'UID агенства',
	PRIMARY KEY (`fid`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица файлов для ВебОценщика';

ALTER TABLE `war_files` ADD INDEX `object_id` (`object_id`);
ALTER TABLE `war_files` ADD INDEX `order_id` (`order_id`);
ALTER TABLE `war_files` ADD INDEX `manager` (`manager`);

CREATE TABLE IF NOT EXISTS  `war_users` (
	`uid` INT(11) UNSIGNED COMMENT 'Идентификатор пользователя',
	`api_id` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Идентификатор данных API',
	`updateDate` INT(11) UNSIGNED NULL DEFAULT NULL COMMENT 'Дата обновления записи',
	PRIMARY KEY (`uid`)
	) ENGINE = InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_general_ci COMMENT='Таблица доступов к API ВебОценщика';