-
Notifications
You must be signed in to change notification settings - Fork 0
/
Meldingsarkiv.php
64 lines (53 loc) · 1.96 KB
/
Meldingsarkiv.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/Altinn.class.php';
require __DIR__ . '/Model.class.php';
require __DIR__ . '/BAM.class.php';
require __DIR__ . '/Database.class.php';
require __DIR__ . '/config.php';
use Curl\Curl;
use Altinn\Altinn;
use Dotenv\Dotenv;
use Model\Message;
use BAM\BAM;
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();
$dotenv->required('ALTINN_API_URL', 'ALTINN_API_KEY', 'ALTINN_API_CLIENT_CERT', 'ALTINN_API_CLIENT_KEY', 'ALTINN_API_CLIENT_KEYPWD', 'ALTINN_API_CLIENT_USER', 'ALTINN_API_CLIENT_PASS')->notEmpty();
// Meldingskoder
$sykepenger ="4751";
$inntektsmeldinger = "4936";
$now = new DateTime();
$now->setTimezone(new \DateTimeZone('Europe/Oslo'));
$time = $now->format("Y-m-d H:i:s");
// Sjekker meldinger fra siste 31 dager
$dateto = $now->modify('+1 day')->format('Y-m-d\TH:i:s');
$datefrom = $now->modify('-31 day')->format('Y-m-d\TH:i:s');
// For manuell førstegangsimport av tidligere år
#$datefrom = "2021-01-01T00:00:00";
#$dateto = "2021-12-31T00:00:00";
$altinn = new Altinn();
$altinn->authenticate();
foreach (ALTINN_ORG_NOS as $orgno) {
// # hent søknader om sykepenger
$skip = 0;
do {
$chk = $skip;
$messages = $altinn->getMessageList($orgno, $sykepenger, $datefrom, $dateto, $skip);
foreach ($messages as $message) {
$altinn->getAttachment($orgno, $message->MessageId);
$skip++;
}
if($skip === $chk) { $skip++; } // I tilfelle det er akkurat 50 meldinger
} while($skip % 50 === 0); // Paging
// # hent inntektsmeldinger
$skip = 0;
do {
$chk = $skip;
$messages2 = $altinn->getMessageList($orgno, $inntektsmeldinger, $datefrom, $dateto, $skip);
foreach ($messages2 as $message2) {
$altinn->getForm($orgno, $message2->MessageId);
$skip++;
}
if($skip === $chk) { $skip++; } // I tilfelle det er akkurat 50 meldinger
} while($skip % 50 === 0); // Paging
}