Files
crm.twinpol.com/modules/EcmFkVatKinds/import/import-vatkinds.php
2025-05-12 15:44:39 +00:00

252 lines
6.1 KiB
PHP
Executable File

<?php
echo PHP_EOL;
$sql = mysql_connect('localhost', 'root', '1ptimu6');
mysql_select_db('crm');
$namesResult = mysql_query('SET NAMES utf8;');
if(false == $namesResult) {
return;
}
$def = array(
'TYP_REJ',
'KOD_VAT',
'NAZWA',
'TYT_1',
'KOL1_1',
'KOL2_1',
'TYT_2',
'KOL1_2',
'KOL2_2',
'TYT_3',
'KOL1_3',
'KOL2_3',
'TYT_4',
'KOL1_4',
'KOL2_4',
'TYT_5',
'KOL1_5',
'KOL2_5',
'K_SYN',
'K_ANAL',
'S_UPORZ_1',
'S_UPORZ_2',
'S_UPORZ_3',
'S_UPORZ_4',
'S_UPORZ_5',
'KOD_KS',
'ID_DOK',
'S_UPORZ_UE',
'NR1_SKL',
'NR2_SKL',
'TEMP_VAT',
'DRUK_SN_1',
'DRUK_SN_2',
'DRUK_SN_3',
'DRUK_SN_4',
'DRUK_SN_5',
'SPR_DOK',
'DAT_DOK_KP',
);
$acc = array();
function addVat($a, $c = false) {
global $acc, $def;
$now = new DateTime();
// var_export(array_keys($a));
// exit;
$r = array_combine($def, $a);
$arr = array(
'id' => create_guid(),
'deleted' => '0',
'date_entered' => $now->format('Y-m-d'),
// 'date_modified' => '',
'created_by' => 'd9c0007b-1247-5e82-31b6-4f168a01d290',
// 'modified_user_id' => '',
'type' => $r['TYP_REJ'],
'position' => $r['KOD_VAT'],
'name' => $r['NAZWA'],
/*
'title_1' => $r['TYT_1'],
'col_1_1' => $r['KOL1_1'],
'col_2_1' => $r['KOL2_1'],
'title_2' => $r['TYT_2'],
'col_1_2' => $r['KOL1_2'],
'col_2_2' => $r['KOL2_2'],
'title_3' => $r['TYT_3'],
'col_1_3' => $r['KOL1_3'],
'col_2_3' => $r['KOL2_3'],
'title_4' => $r['TYT_4'],
'col_1_4' => $r['KOL1_4'],
'col_2_4' => $r['KOL2_4'],
'title_5' => $r['TYT_5'],
'col_1_5' => $r['KOL1_5'],
'col_2_5' => $r['KOL2_5'],
*/
'acc' => $wn = ($r['K_SYN'] . (($anal = $r['K_ANAL']) ? ('-' . $anal): '')),
/*
'order_1' => $r['S_UPORZ_1'],
'order_2' => $r['S_UPORZ_2'],
'order_3' => $r['S_UPORZ_3'],
'order_4' => $r['S_UPORZ_4'],
'order_5' => $r['S_UPORZ_5'],
*/
'ident_k' => $r['KOD_KS'],
'id_dok' => $r['ID_DOK'],
'order_ue' => $r['S_UPORZ_UE'],
'nr_1' => $r['NR1_SKL'],
'nr_2' => $r['NR2_SKL'],
'temp_vat' => $r['TEMP_VAT'],
/*
'p_1' => $r['DRUK_SN_1'],
'p_2' => $r['DRUK_SN_2'],
'p_3' => $r['DRUK_SN_3'],
'p_4' => $r['DRUK_SN_4'],
'p_5' => $r['DRUK_SN_5'],
*/
'spr_dok' => $r['SPR_DOK'],
'kp_date' => $r['DAT_DOK_KP'],
'orientation' => 'L',
);
/*
*/
if(true == array_key_exists((string) $arr['acc'], $acc) ) {
$arr['acc'] = $acc[$arr['acc']];
} else {
$q = 'select id from ecmbankaccounts where code = \'' . $arr['acc'] . '\' LIMIT 1;';
// echo var_export($q, true) . PHP_EOL;
$res = mysql_fetch_assoc(mysql_query($q));
if(true == is_array($res)) {
$arr['acc'] = $acc[(string) $arr['acc']] = $res['id'];
} else {
$arr['acc'] = null;
}
}
// echo var_export($r, true);
// echo PHP_EOL . PHP_EOL;
// echo var_export($arr, true);
// exit;
for($i = 1, $iCounter = 5; $i <= $iCounter; $i++) {
$arr2 = array(
'id' => create_guid(),
'deleted' => '0',
'date_entered' => $now->format('Y-m-d'),
// 'date_modified' => '',
'created_by' => 'd9c0007b-1247-5e82-31b6-4f168a01d290',
// 'modified_user_id' => '',
'title' => $r['TYT_' . $i],
'ecmfkvatkind_id' => $arr['id'],
'order' => $r['S_UPORZ_' . $i],
'p' => $r['DRUK_SN_' . $i],
);
for($j = 1, $jCounter = 2; $j <= $jCounter; $j++) {
$tmp = $r['KOL' . $j . '_' . $i];
$matches = preg_split('/([ \.:])*\|([ \.:])*/', $tmp, -1, PREG_SPLIT_NO_EMPTY);
// echo PHP_EOL . PHP_EOL;
// echo var_export($matches, true);
// exit;
$arr2['col_' . $j] = base64_encode(serialize($matches));
$arr2['col_' . $j . '_translations'] = base64_encode(serialize($matches));
}
$arr2 = array_filter($arr2, 'strlen');
if(strlen(@$arr2['title']) == 0) {
continue;
}
$in2 = array();
foreach ($arr2 as $k2 => $v2) {
$in2[] = sprintf('`%s` = \'%s\'', $k2, ch($v2));
}
// echo PHP_EOL . PHP_EOL;
// echo var_export($arr2, true);
// exit;
$query2 = 'INSERT INTO `ecmfkvatkinditems` SET ' . implode(', ', $in2) . ';';
// echo PHP_EOL . $query2 . PHP_EOL . PHP_EOL;
// exit;
mysql_query($query2);
// echo PHP_EOL . PHP_EOL;
// echo var_export($arr2, true);
// exit;
}
$arr = array_filter($arr, 'strlen');
$in = array();
foreach ($arr as $k => $v) {
$in[] = sprintf('`%s` = \'%s\'', $k, ch($v));
}
$query = 'INSERT INTO `ecmfkvatkinds` SET ' . implode(', ', $in) . ';';
// echo $query . PHP_EOL;
// exit;
mysql_query($query);
if($e = mysql_error()) {
echo $query;
echo PHP_EOL . PHP_EOL;
echo var_export(mysql_error(), true);
echo PHP_EOL . PHP_EOL;
return false;
}
if(true == $c) {
echo var_export($arr['id'], true);
echo PHP_EOL;
}
return true;
}
include_once('class.dbf.php');
include_once('helper.php');
$created = 0;
$dbfp = new dbf_class('import/rej_vat.dbf');
$num_recp = $dbfp->dbf_num_rec;
$start = microtime(true);
for ($i = 0; $i < $num_recp; $i++) {
$rowp = $dbfp->getRowAssoc($i);
$created += addVat($rowp, true) ? 1 : 0;
}
$stop = microtime(true);
$diff = $stop - $start;
echo 'Podsumowanie:' . PHP_EOL;
echo 'W dbf: ' . $num_recp . PHP_EOL;
echo 'Dodano: ' . $created . PHP_EOL;
echo 'Czas trawania:' . ($diff / 60) . ' minut' . PHP_EOL;
mysql_close($sql);