fix(akquise): Zahl am Menuepunkt Archiv folgte der alten Regel
Die Liste zeigte die zurueckgefallene Bewerbung, der Zaehler am Menue nicht: er filterte weiter auf "nie uebernommen". Genau der Fehler, den zwei Kopien derselben Regel machen. Fristen und Bedingungen stehen jetzt in server/src/acquisitionRules.js und werden von der Liste, den Zaehlern, dem Aufraeumlauf und der Menuezahl gemeinsam benutzt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
c380d05b42
commit
c59115c728
@@ -2,6 +2,13 @@ import express from 'express';
|
||||
import { pool } from '../db.js';
|
||||
import { requireAuth } from '../middleware/auth.js';
|
||||
import { Match } from '../scanner/models/index.js';
|
||||
import {
|
||||
ARCHIVE_AFTER_DAYS,
|
||||
DELETE_AFTER_DAYS,
|
||||
IN_ARCHIVE,
|
||||
IS_OPEN,
|
||||
NOT_DUE,
|
||||
} from '../acquisitionRules.js';
|
||||
|
||||
const router = express.Router();
|
||||
router.use(requireAuth);
|
||||
@@ -19,24 +26,21 @@ router.use(requireAuth);
|
||||
* ohne Zahl ist besser als ein Menue mit Fehlermeldung.
|
||||
*/
|
||||
|
||||
/** Grenze zwischen Eingang und Archiv der Akquise - wie in routes/acquisitions.js. */
|
||||
const ACQUISITION_ARCHIVE_AFTER_DAYS = 14;
|
||||
const ACQUISITION_DELETE_AFTER_DAYS = 90;
|
||||
|
||||
// GET /api/badges
|
||||
router.get('/', async (req, res, next) => {
|
||||
try {
|
||||
const [[counts]] = await pool.query(
|
||||
`SELECT
|
||||
(SELECT COUNT(*) FROM crm_acquisitions
|
||||
WHERE converted_at IS NULL
|
||||
AND found_at < DATE_SUB(CURDATE(), INTERVAL ? DAY)
|
||||
AND found_at >= DATE_SUB(CURDATE(), INTERVAL ? DAY)) AS acquisition_archive,
|
||||
/* Dieselbe Regel wie die Liste - sie steht in acquisitionRules.js,
|
||||
damit Zahl und Liste nicht auseinanderlaufen. */
|
||||
(SELECT COUNT(*) FROM crm_acquisitions a
|
||||
LEFT JOIN crm_opportunities opp ON opp.id = a.opportunity_id
|
||||
WHERE ${IS_OPEN} AND ${IN_ARCHIVE} AND ${NOT_DUE}) AS acquisition_archive,
|
||||
(SELECT COUNT(*) FROM crm_opportunities
|
||||
WHERE deleted_at IS NOT NULL) AS opportunity_trash,
|
||||
(SELECT COUNT(*) FROM crm_mail_messages
|
||||
WHERE crm_deleted_at IS NOT NULL AND crm_purged = 0) AS mail_trash`,
|
||||
[ACQUISITION_ARCHIVE_AFTER_DAYS, ACQUISITION_DELETE_AFTER_DAYS]
|
||||
[ARCHIVE_AFTER_DAYS, DELETE_AFTER_DAYS]
|
||||
);
|
||||
|
||||
let scannerRejected = null;
|
||||
|
||||
Reference in New Issue
Block a user