feat(1c): derive company activity from file-base telemetry
This commit is contained in:
@@ -11,12 +11,32 @@ FROM (
|
||||
concat('document:', doc_type) AS event_type,
|
||||
if(posted = 1, 'low', 'medium') AS severity,
|
||||
if(posted = 1, 5, 20) AS score,
|
||||
doc_id AS ref_id,
|
||||
concat(doc_id, ':', toString(toUnixTimestamp(ts)), ':', doc_type) AS ref_id,
|
||||
concat('Документ ', doc_type, ' №', doc_number, ' статус=', status) AS summary
|
||||
FROM analytics_1c.documents
|
||||
) AS src
|
||||
WHERE src.ref_id NOT IN (SELECT ref_id FROM analytics_1c.entity_timeline);
|
||||
|
||||
INSERT INTO analytics_1c.entity_timeline
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
ts,
|
||||
'counterparty' AS entity_type,
|
||||
counterparty AS entity_id,
|
||||
infobase,
|
||||
author AS actor,
|
||||
'documents' AS source,
|
||||
concat('counterparty:', operation_type) AS event_type,
|
||||
if(status = 'busy', 'medium', 'low') AS severity,
|
||||
greatest(10, toUInt32(round(amount))) AS score,
|
||||
concat('counterparty:', counterparty, ':', doc_id, ':', toString(toUnixTimestamp(ts))) AS ref_id,
|
||||
concat('Активность компании ', counterparty, ': ', doc_type, ' score=', toString(amount), ' status=', status) AS summary
|
||||
FROM analytics_1c.documents
|
||||
WHERE counterparty != ''
|
||||
) AS src
|
||||
WHERE src.ref_id NOT IN (SELECT ref_id FROM analytics_1c.entity_timeline);
|
||||
|
||||
INSERT INTO analytics_1c.entity_timeline
|
||||
SELECT *
|
||||
FROM (
|
||||
|
||||
@@ -19,6 +19,26 @@ FROM (
|
||||
) AS src
|
||||
WHERE src.detection_id NOT IN (SELECT detection_id FROM analytics_1c.detections);
|
||||
|
||||
INSERT INTO analytics_1c.detections
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
generated_at AS ts,
|
||||
concat('company_signal:', signal_id, ':', toString(toUnixTimestamp(generated_at))) AS detection_id,
|
||||
infobase,
|
||||
concat('company_', signal_type) AS rule_id,
|
||||
'Сигнал активности компании' AS rule_title,
|
||||
'counterparty' AS entity_type,
|
||||
counterparty AS entity_id,
|
||||
severity,
|
||||
score,
|
||||
summary,
|
||||
'open' AS status
|
||||
FROM analytics_1c.v_company_health_current
|
||||
WHERE severity IN ('medium', 'high', 'critical')
|
||||
) AS src
|
||||
WHERE src.detection_id NOT IN (SELECT detection_id FROM analytics_1c.detections);
|
||||
|
||||
INSERT INTO analytics_1c.detections
|
||||
SELECT *
|
||||
FROM (
|
||||
|
||||
Reference in New Issue
Block a user